@adyen/bento-vue2 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +2 -2
  2. package/dist/@types/index.d.ts +114 -82
  3. package/dist/accordion.js +1 -1
  4. package/dist/action-bar.js +1 -1
  5. package/dist/ai-tag.js +1 -1
  6. package/dist/alert.js +1 -1
  7. package/dist/anchor-scroller.js +1 -1
  8. package/dist/assets/accordion-item.css +1 -1
  9. package/dist/assets/action-bar.css +1 -1
  10. package/dist/assets/base-modal.css +1 -1
  11. package/dist/assets/button-actions.css +1 -1
  12. package/dist/assets/button.css +1 -1
  13. package/dist/assets/calendar.css +1 -1
  14. package/dist/assets/card.css +1 -1
  15. package/dist/assets/checkbox.css +1 -1
  16. package/dist/assets/chip.css +1 -1
  17. package/dist/assets/currency.css +1 -1
  18. package/dist/assets/data-grid.css +1 -1
  19. package/dist/assets/date-range-picker.css +1 -1
  20. package/dist/assets/dialog-page.css +1 -1
  21. package/dist/assets/draggable.css +1 -1
  22. package/dist/assets/dropdown.css +1 -1
  23. package/dist/assets/file-uploader.css +1 -1
  24. package/dist/assets/filter-bar.css +1 -1
  25. package/dist/assets/header-with-views.css +1 -1
  26. package/dist/assets/input-field.css +1 -1
  27. package/dist/assets/input-time.css +1 -1
  28. package/dist/assets/inspector.css +1 -1
  29. package/dist/assets/modal-fullscreen.css +1 -1
  30. package/dist/assets/navigation-menu-group.css +1 -1
  31. package/dist/assets/pagination.css +1 -1
  32. package/dist/assets/rich-text-editor.css +1 -1
  33. package/dist/assets/search-bar.css +1 -1
  34. package/dist/assets/secondary-nav.css +1 -1
  35. package/dist/assets/selection-card-group.css +1 -1
  36. package/dist/assets/sidepanel.css +1 -1
  37. package/dist/assets/step.css +1 -1
  38. package/dist/assets/structured-list-item.css +1 -1
  39. package/dist/assets/tab.css +1 -1
  40. package/dist/assets/textarea.css +1 -1
  41. package/dist/assets/toggle.css +1 -1
  42. package/dist/assets/typography.css +1 -1
  43. package/dist/avatar.js +1 -1
  44. package/dist/button.js +3 -3
  45. package/dist/card.js +1 -1
  46. package/dist/checkbox.js +2 -2
  47. package/dist/chip.js +1 -1
  48. package/dist/chunks/{accordion-item.B7lteJBu.js → accordion-item.C158YxId.js} +5 -5
  49. package/dist/chunks/{accordion-item.B7lteJBu.js.map → accordion-item.C158YxId.js.map} +1 -1
  50. package/dist/chunks/{action-bar.BsXW7BI2.js → action-bar.D29UQHoA.js} +15 -15
  51. package/dist/chunks/{action-bar.BsXW7BI2.js.map → action-bar.D29UQHoA.js.map} +1 -1
  52. package/dist/chunks/{ai-button.BnFk5CzK.js → ai-button.qEaHYybv.js} +3 -3
  53. package/dist/chunks/{ai-button.BnFk5CzK.js.map → ai-button.qEaHYybv.js.map} +1 -1
  54. package/dist/chunks/{ai-tag.D2Q0xhFK.js → ai-tag.BLi-Xoh_.js} +3 -3
  55. package/dist/chunks/{ai-tag.D2Q0xhFK.js.map → ai-tag.BLi-Xoh_.js.map} +1 -1
  56. package/dist/chunks/{alert.DJDHwVeR.js → alert.BddJPWMN.js} +3 -3
  57. package/dist/chunks/{alert.DJDHwVeR.js.map → alert.BddJPWMN.js.map} +1 -1
  58. package/dist/chunks/{anchor-scroller.BbvghQxZ.js → anchor-scroller.Clb_9RNz.js} +5 -5
  59. package/dist/chunks/{anchor-scroller.BbvghQxZ.js.map → anchor-scroller.Clb_9RNz.js.map} +1 -1
  60. package/dist/chunks/{avatar.CxPKc8Gy.js → avatar.BN4MI-42.js} +2 -2
  61. package/dist/chunks/{avatar.CxPKc8Gy.js.map → avatar.BN4MI-42.js.map} +1 -1
  62. package/dist/chunks/{base-button.DOhHyU7x.js → base-button.DYroENBg.js} +3 -3
  63. package/dist/chunks/{base-button.DOhHyU7x.js.map → base-button.DYroENBg.js.map} +1 -1
  64. package/dist/chunks/{base-modal.CcmoTJdc.js → base-modal._-Cc6jfi.js} +6 -6
  65. package/dist/chunks/{base-modal.CcmoTJdc.js.map → base-modal._-Cc6jfi.js.map} +1 -1
  66. package/dist/chunks/{button-actions-with-menu.BY394ars.js → button-actions-with-menu.1vZJWN1K.js} +2 -2
  67. package/dist/chunks/{button-actions-with-menu.BY394ars.js.map → button-actions-with-menu.1vZJWN1K.js.map} +1 -1
  68. package/dist/chunks/{button-actions.bkcLUE1G.js → button-actions.CdetBz3J.js} +8 -8
  69. package/dist/chunks/button-actions.CdetBz3J.js.map +1 -0
  70. package/dist/chunks/button-actions.types.BptAXjD8.js.map +1 -1
  71. package/dist/chunks/{button.DII5Ifwa.js → button.tsTeQRcP.js} +3 -3
  72. package/dist/chunks/{button.DII5Ifwa.js.map → button.tsTeQRcP.js.map} +1 -1
  73. package/dist/chunks/{calendar.CXdLEeN4.js → calendar.BalfhApP.js} +293 -290
  74. package/dist/chunks/calendar.BalfhApP.js.map +1 -0
  75. package/dist/chunks/{card.BmpB0VbL.js → card.BhhC01dV.js} +7 -7
  76. package/dist/chunks/{card.BmpB0VbL.js.map → card.BhhC01dV.js.map} +1 -1
  77. package/dist/chunks/{checkbox-group.D1uyc3z3.js → checkbox-group.C-1v4X3c.js} +4 -4
  78. package/dist/chunks/{checkbox-group.D1uyc3z3.js.map → checkbox-group.C-1v4X3c.js.map} +1 -1
  79. package/dist/chunks/{checkbox.D5xZ5Nnh.js → checkbox.CnuIUi4-.js} +6 -6
  80. package/dist/chunks/{checkbox.D5xZ5Nnh.js.map → checkbox.CnuIUi4-.js.map} +1 -1
  81. package/dist/chunks/{chip.DRsJylWl.js → chip.Cc4f2vws.js} +14 -12
  82. package/dist/chunks/{chip.DRsJylWl.js.map → chip.Cc4f2vws.js.map} +1 -1
  83. package/dist/chunks/{code-snippet.CnThWqVb.js → code-snippet.Bkd8R0vf.js} +6 -6
  84. package/dist/chunks/{code-snippet.CnThWqVb.js.map → code-snippet.Bkd8R0vf.js.map} +1 -1
  85. package/dist/chunks/{controls-group.fdGc6epa.js → controls-group.Bku83Fm_.js} +3 -3
  86. package/dist/chunks/{controls-group.fdGc6epa.js.map → controls-group.Bku83Fm_.js.map} +1 -1
  87. package/dist/chunks/{copy.CSk1rCRo.js → copy.B12-P_8A.js} +3 -3
  88. package/dist/chunks/{copy.CSk1rCRo.js.map → copy.B12-P_8A.js.map} +1 -1
  89. package/dist/chunks/{country.UZbwr635.js → country._NpkT-91.js} +2 -2
  90. package/dist/chunks/{country.UZbwr635.js.map → country._NpkT-91.js.map} +1 -1
  91. package/dist/chunks/country.types.BCOrkmVK.js.map +1 -1
  92. package/dist/chunks/{currency.POwX-Trj.js → currency.BXsSGoWa.js} +4 -4
  93. package/dist/chunks/{currency.POwX-Trj.js.map → currency.BXsSGoWa.js.map} +1 -1
  94. package/dist/chunks/{dashboard-section.CYEoNH9Q.js → dashboard-section.yS2FNoIV.js} +3 -3
  95. package/dist/chunks/{dashboard-section.CYEoNH9Q.js.map → dashboard-section.yS2FNoIV.js.map} +1 -1
  96. package/dist/chunks/{dashed-underline.CzKc-fJW.js → dashed-underline.RcRbre03.js} +4 -4
  97. package/dist/chunks/{dashed-underline.CzKc-fJW.js.map → dashed-underline.RcRbre03.js.map} +1 -1
  98. package/dist/chunks/{data-grid-template.DCwzh2G7.js → data-grid-template.B5A9whlD.js} +4 -4
  99. package/dist/chunks/{data-grid-template.DCwzh2G7.js.map → data-grid-template.B5A9whlD.js.map} +1 -1
  100. package/dist/chunks/{data-grid.CMxQpfrY.js → data-grid.Pg5iM8CJ.js} +25 -25
  101. package/dist/chunks/{data-grid.CMxQpfrY.js.map → data-grid.Pg5iM8CJ.js.map} +1 -1
  102. package/dist/chunks/{date-picker.gDsw8bn1.js → date-picker.RFus1MVJ.js} +9 -9
  103. package/dist/chunks/{date-picker.gDsw8bn1.js.map → date-picker.RFus1MVJ.js.map} +1 -1
  104. package/dist/chunks/date-picker.types.Ckt7zxGy.js.map +1 -1
  105. package/dist/chunks/{date-range-picker.CqixIJxG.js → date-range-picker.B2B4hO6R.js} +411 -370
  106. package/dist/chunks/date-range-picker.B2B4hO6R.js.map +1 -0
  107. package/dist/chunks/date-range-picker.types.Ckt7zxGy.js.map +1 -1
  108. package/dist/chunks/{date-time-picker.Bktntun4.js → date-time-picker.DJxDa81N.js} +6 -6
  109. package/dist/chunks/{date-time-picker.Bktntun4.js.map → date-time-picker.DJxDa81N.js.map} +1 -1
  110. package/dist/chunks/{date.CPo8t1n9.js → date.P3Xx7JdV.js} +2 -2
  111. package/dist/chunks/{date.CPo8t1n9.js.map → date.P3Xx7JdV.js.map} +1 -1
  112. package/dist/chunks/{dialog-page.Bct3zOQO.js → dialog-page.DORdXmEm.js} +3 -3
  113. package/dist/chunks/{dialog-page.Bct3zOQO.js.map → dialog-page.DORdXmEm.js.map} +1 -1
  114. package/dist/chunks/{draggable-handle.DgVdGC1V.js → draggable-handle.BM07OVdH.js} +2 -2
  115. package/dist/chunks/{draggable-handle.DgVdGC1V.js.map → draggable-handle.BM07OVdH.js.map} +1 -1
  116. package/dist/chunks/{draggable.DYKdXdbj.js → draggable.BczXedk7.js} +59 -56
  117. package/dist/chunks/draggable.BczXedk7.js.map +1 -0
  118. package/dist/chunks/{dropdown-tag.Dk7SooVv.js → dropdown-tag.BmUNKoNw.js} +7 -7
  119. package/dist/chunks/{dropdown-tag.Dk7SooVv.js.map → dropdown-tag.BmUNKoNw.js.map} +1 -1
  120. package/dist/chunks/{dropdown.Bnq4kP7k.js → dropdown.CpZQYisR.js} +9 -9
  121. package/dist/chunks/{dropdown.Bnq4kP7k.js.map → dropdown.CpZQYisR.js.map} +1 -1
  122. package/dist/chunks/{empty-state.C2wjdE3y.js → empty-state.L3DTfiY7.js} +4 -4
  123. package/dist/chunks/{empty-state.C2wjdE3y.js.map → empty-state.L3DTfiY7.js.map} +1 -1
  124. package/dist/chunks/{error-message.DKnoUezI.js → error-message.B-n8wzFo.js} +2 -2
  125. package/dist/chunks/{error-message.DKnoUezI.js.map → error-message.B-n8wzFo.js.map} +1 -1
  126. package/dist/chunks/es6.yPcTMnSH.js.map +1 -1
  127. package/dist/chunks/{field-label.C7BCsofY.js → field-label.BQaDr37D.js} +3 -3
  128. package/dist/chunks/{field-label.C7BCsofY.js.map → field-label.BQaDr37D.js.map} +1 -1
  129. package/dist/chunks/{file-uploader.DllKBmP8.js → file-uploader.Bo17jWtf.js} +11 -11
  130. package/dist/chunks/{file-uploader.DllKBmP8.js.map → file-uploader.Bo17jWtf.js.map} +1 -1
  131. package/dist/chunks/{filter-bar.D7Lk7wlq.js → filter-bar.Bio9nf9V.js} +28 -27
  132. package/dist/chunks/filter-bar.Bio9nf9V.js.map +1 -0
  133. package/dist/chunks/{fixed-scroller.YC4bZifw.js → fixed-scroller.CHmrgoTQ.js} +2 -2
  134. package/dist/chunks/{fixed-scroller.YC4bZifw.js.map → fixed-scroller.CHmrgoTQ.js.map} +1 -1
  135. package/dist/chunks/{footer-actions.C9STwwcv.js → footer-actions.B8f-gEQV.js} +4 -4
  136. package/dist/chunks/{footer-actions.C9STwwcv.js.map → footer-actions.B8f-gEQV.js.map} +1 -1
  137. package/dist/chunks/{form-layout-group.D4T0Z5xk.js → form-layout-group.BSC2esG8.js} +2 -2
  138. package/dist/chunks/{form-layout-group.D4T0Z5xk.js.map → form-layout-group.BSC2esG8.js.map} +1 -1
  139. package/dist/chunks/{form-layout-title.C0lwzPZz.js → form-layout-title.b2BMYjnl.js} +3 -3
  140. package/dist/chunks/{form-layout-title.C0lwzPZz.js.map → form-layout-title.b2BMYjnl.js.map} +1 -1
  141. package/dist/chunks/{header-with-views.BqobE7IF.js → header-with-views.BJCjvhem.js} +16 -16
  142. package/dist/chunks/{header-with-views.BqobE7IF.js.map → header-with-views.BJCjvhem.js.map} +1 -1
  143. package/dist/chunks/{header.CmyqVXuG.js → header.CDiold9n.js} +5 -5
  144. package/dist/chunks/{header.CmyqVXuG.js.map → header.CDiold9n.js.map} +1 -1
  145. package/dist/chunks/{info-icon-with-popover.BvYyGm4D.js → info-icon-with-popover.BzGVcMqy.js} +3 -3
  146. package/dist/chunks/{info-icon-with-popover.BvYyGm4D.js.map → info-icon-with-popover.BzGVcMqy.js.map} +1 -1
  147. package/dist/chunks/{info-icon.B-FAeceD.js → info-icon.D11usblr.js} +2 -2
  148. package/dist/chunks/{info-icon.B-FAeceD.js.map → info-icon.D11usblr.js.map} +1 -1
  149. package/dist/chunks/{input-field-password.9bWhLud0.js → input-field-password.D4Jn2yCi.js} +6 -6
  150. package/dist/chunks/{input-field-password.9bWhLud0.js.map → input-field-password.D4Jn2yCi.js.map} +1 -1
  151. package/dist/chunks/{input-field-phone-number.CCn1N9St.js → input-field-phone-number.lV7yePoJ.js} +3 -3
  152. package/dist/chunks/{input-field-phone-number.CCn1N9St.js.map → input-field-phone-number.lV7yePoJ.js.map} +1 -1
  153. package/dist/chunks/{input-field.D912rZS_.js → input-field.90DWNO1a.js} +7 -7
  154. package/dist/chunks/{input-field.D912rZS_.js.map → input-field.90DWNO1a.js.map} +1 -1
  155. package/dist/chunks/input-time.D7IsprlH.js +157 -0
  156. package/dist/chunks/input-time.D7IsprlH.js.map +1 -0
  157. package/dist/chunks/{inspector-page.BRC_7uro.js → inspector-page.IoC9naSV.js} +4 -4
  158. package/dist/chunks/{inspector-page.BRC_7uro.js.map → inspector-page.IoC9naSV.js.map} +1 -1
  159. package/dist/chunks/{inspector.IOtNex1r.js → inspector.BwtV4rE9.js} +5 -5
  160. package/dist/chunks/{inspector.IOtNex1r.js.map → inspector.BwtV4rE9.js.map} +1 -1
  161. package/dist/chunks/{layout-row.LBn6aJv4.js → layout-row.DYx7F4cb.js} +2 -2
  162. package/dist/chunks/{layout-row.LBn6aJv4.js.map → layout-row.DYx7F4cb.js.map} +1 -1
  163. package/dist/chunks/{link.Cls8XShm.js → link.iNnolG9W.js} +2 -2
  164. package/dist/chunks/{link.Cls8XShm.js.map → link.iNnolG9W.js.map} +1 -1
  165. package/dist/chunks/{list-item.HjabBEb8.js → list-item.ByyA5h1d.js} +5 -5
  166. package/dist/chunks/{list-item.HjabBEb8.js.map → list-item.ByyA5h1d.js.map} +1 -1
  167. package/dist/chunks/{listbox-option-tag.DhNxvqRO.js → listbox-option-tag.Cp_W_p4z.js} +3 -3
  168. package/dist/chunks/{listbox-option-tag.DhNxvqRO.js.map → listbox-option-tag.Cp_W_p4z.js.map} +1 -1
  169. package/dist/chunks/{modal-fullscreen.Bi1bQs4Z.js → modal-fullscreen.DG8Q-jHL.js} +9 -9
  170. package/dist/chunks/modal-fullscreen.DG8Q-jHL.js.map +1 -0
  171. package/dist/chunks/{modal.B3-pmL5s.js → modal.UkzON4bz.js} +7 -7
  172. package/dist/chunks/{modal.B3-pmL5s.js.map → modal.UkzON4bz.js.map} +1 -1
  173. package/dist/chunks/{navigation-menu-group.BnHdXODQ.js → navigation-menu-group.BzKRuhrd.js} +8 -8
  174. package/dist/chunks/navigation-menu-group.BzKRuhrd.js.map +1 -0
  175. package/dist/chunks/{pagination.cI_pc6oE.js → pagination.DZEVT-CA.js} +8 -7
  176. package/dist/chunks/{pagination.cI_pc6oE.js.map → pagination.DZEVT-CA.js.map} +1 -1
  177. package/dist/chunks/{payment-method.DcAITDcK.js → payment-method.meF6XN_X.js} +2 -2
  178. package/dist/chunks/{payment-method.DcAITDcK.js.map → payment-method.meF6XN_X.js.map} +1 -1
  179. package/dist/chunks/payment-method.types.BqtH7RM2.js.map +1 -1
  180. package/dist/chunks/popover.types.DvIwSAAp.js.map +1 -1
  181. package/dist/chunks/popper-container.Cj3AWXSd.js.map +1 -1
  182. package/dist/chunks/{progress-bar.RlF3a0Gb.js → progress-bar.CaurNYsc.js} +4 -4
  183. package/dist/chunks/{progress-bar.RlF3a0Gb.js.map → progress-bar.CaurNYsc.js.map} +1 -1
  184. package/dist/chunks/{promo-banner.B5szTysj.js → promo-banner.CcYpFY9b.js} +3 -3
  185. package/dist/chunks/{promo-banner.B5szTysj.js.map → promo-banner.CcYpFY9b.js.map} +1 -1
  186. package/dist/chunks/{radio-group.CvsQDlHi.js → radio-group.CLbYlzD7.js} +5 -5
  187. package/dist/chunks/{radio-group.CvsQDlHi.js.map → radio-group.CLbYlzD7.js.map} +1 -1
  188. package/dist/chunks/{rich-text-editor.rXoS7KGY.js → rich-text-editor.5SMm2BbC.js} +11 -11
  189. package/dist/chunks/{rich-text-editor.rXoS7KGY.js.map → rich-text-editor.5SMm2BbC.js.map} +1 -1
  190. package/dist/chunks/{scroll-to-section.DhW8SFy0.js → scroll-to-section.CzeBpNj4.js} +2 -2
  191. package/dist/chunks/{scroll-to-section.DhW8SFy0.js.map → scroll-to-section.CzeBpNj4.js.map} +1 -1
  192. package/dist/chunks/{search-bar.--4KVNkf.js → search-bar.DrIwlAQj.js} +8 -8
  193. package/dist/chunks/{search-bar.--4KVNkf.js.map → search-bar.DrIwlAQj.js.map} +1 -1
  194. package/dist/chunks/{secondary-nav.CgdV0QwZ.js → secondary-nav.DRs5yAve.js} +16 -16
  195. package/dist/chunks/{secondary-nav.CgdV0QwZ.js.map → secondary-nav.DRs5yAve.js.map} +1 -1
  196. package/dist/chunks/{segmented-control.nYpRQTGc.js → segmented-control.CcQoBTfT.js} +3 -3
  197. package/dist/chunks/{segmented-control.nYpRQTGc.js.map → segmented-control.CcQoBTfT.js.map} +1 -1
  198. package/dist/chunks/segmented-control.types.BHRLV8KU.js.map +1 -1
  199. package/dist/chunks/{selection-card-group.CmDuj1c7.js → selection-card-group.BYBAG8ig.js} +49 -48
  200. package/dist/chunks/{selection-card-group.CmDuj1c7.js.map → selection-card-group.BYBAG8ig.js.map} +1 -1
  201. package/dist/chunks/{sidepanel.CntIcmx-.js → sidepanel.CLbVkH7v.js} +14 -14
  202. package/dist/chunks/{sidepanel.CntIcmx-.js.map → sidepanel.CLbVkH7v.js.map} +1 -1
  203. package/dist/chunks/{status.DJ1Dfh5s.js → status.BdWYs5MK.js} +2 -2
  204. package/dist/chunks/{status.DJ1Dfh5s.js.map → status.BdWYs5MK.js.map} +1 -1
  205. package/dist/chunks/status.types.Dx8MDhEH.js.map +1 -1
  206. package/dist/chunks/{step.BCa9IOWB.js → step.SkRHgSxN.js} +5 -5
  207. package/dist/chunks/step.SkRHgSxN.js.map +1 -0
  208. package/dist/chunks/{structured-list-item.Bhe0CH1M.js → structured-list-item.BgcR0XlO.js} +10 -9
  209. package/dist/chunks/structured-list-item.BgcR0XlO.js.map +1 -0
  210. package/dist/chunks/{summary-grid.types.C70ED6WD.js → summary-grid.types.Do2PZQGm.js} +6 -6
  211. package/dist/chunks/{summary-grid.types.C70ED6WD.js.map → summary-grid.types.Do2PZQGm.js.map} +1 -1
  212. package/dist/chunks/{tab.BK1sIJAJ.js → tab.zeRxc-3T.js} +49 -48
  213. package/dist/chunks/tab.zeRxc-3T.js.map +1 -0
  214. package/dist/chunks/{table-of-contents.BTy95Rrs.js → table-of-contents.D4sF13f8.js} +3 -3
  215. package/dist/chunks/{table-of-contents.BTy95Rrs.js.map → table-of-contents.D4sF13f8.js.map} +1 -1
  216. package/dist/chunks/{tag.Dz1FQSZb.js → tag.CgsX8v2m.js} +3 -3
  217. package/dist/chunks/{tag.Dz1FQSZb.js.map → tag.CgsX8v2m.js.map} +1 -1
  218. package/dist/chunks/{textarea.CcV9U3I7.js → textarea.DMBnJaB1.js} +7 -7
  219. package/dist/chunks/textarea.DMBnJaB1.js.map +1 -0
  220. package/dist/chunks/{timeline-item.BG2by0xf.js → timeline-item.CS7TCdoU.js} +10 -10
  221. package/dist/chunks/{timeline-item.BG2by0xf.js.map → timeline-item.CS7TCdoU.js.map} +1 -1
  222. package/dist/chunks/{title-details.ChwPP7C5.js → title-details.BhR2nis-.js} +4 -4
  223. package/dist/chunks/{title-details.ChwPP7C5.js.map → title-details.BhR2nis-.js.map} +1 -1
  224. package/dist/chunks/{toast.CO6ByH3n.js → toast.CjDkuh2x.js} +4 -4
  225. package/dist/chunks/{toast.CO6ByH3n.js.map → toast.CjDkuh2x.js.map} +1 -1
  226. package/dist/chunks/{toggle.Dgh7aw1D.js → toggle.BL_w2xUm.js} +4 -4
  227. package/dist/chunks/{toggle.Dgh7aw1D.js.map → toggle.BL_w2xUm.js.map} +1 -1
  228. package/dist/chunks/{tooltip.DFYc5NKM.js → tooltip.BOe7LOfD.js} +2 -2
  229. package/dist/chunks/{tooltip.DFYc5NKM.js.map → tooltip.BOe7LOfD.js.map} +1 -1
  230. package/dist/chunks/{tutorial.K0aOQWIg.js → tutorial.DSbBx_2h.js} +3 -3
  231. package/dist/chunks/{tutorial.K0aOQWIg.js.map → tutorial.DSbBx_2h.js.map} +1 -1
  232. package/dist/chunks/{typography.D1OZJbEa.js → typography.Cd386LC_.js} +5 -5
  233. package/dist/chunks/{typography.D1OZJbEa.js.map → typography.Cd386LC_.js.map} +1 -1
  234. package/dist/chunks/{use-bento-toast-controller.A5xraVqa.js → use-bento-toast-controller.DMA9d_oD.js} +2 -2
  235. package/dist/chunks/{use-bento-toast-controller.A5xraVqa.js.map → use-bento-toast-controller.DMA9d_oD.js.map} +1 -1
  236. package/dist/chunks/{use-date-input-formatter.MgbFwUqJ.js → use-date-input-formatter.CouOE5tF.js} +2 -2
  237. package/dist/chunks/{use-date-input-formatter.MgbFwUqJ.js.map → use-date-input-formatter.CouOE5tF.js.map} +1 -1
  238. package/dist/chunks/{use-dynamic-date-fns-locale.Bpb2DeYR.js → use-dynamic-date-fns-locale.DGqfz_nF.js} +2 -2
  239. package/dist/chunks/{use-dynamic-date-fns-locale.Bpb2DeYR.js.map → use-dynamic-date-fns-locale.DGqfz_nF.js.map} +1 -1
  240. package/dist/code-snippet.js +1 -1
  241. package/dist/country.js +1 -1
  242. package/dist/currency.js +1 -1
  243. package/dist/dashboard-template.js +1 -1
  244. package/dist/dashed-underline.js +1 -1
  245. package/dist/data-grid-template.js +1 -1
  246. package/dist/data-grid.js +1 -1
  247. package/dist/date-picker.js +2 -2
  248. package/dist/date-range-picker.js +2 -2
  249. package/dist/date-time-picker.js +1 -1
  250. package/dist/date.js +1 -1
  251. package/dist/draggable.js +2 -2
  252. package/dist/dropdown.js +2 -2
  253. package/dist/empty-state.js +1 -1
  254. package/dist/file-uploader.js +1 -1
  255. package/dist/filter-bar.js +1 -1
  256. package/dist/form-layout.js +2 -2
  257. package/dist/header-with-views.js +1 -1
  258. package/dist/header.js +1 -1
  259. package/dist/index.js +177 -152
  260. package/dist/index.js.map +1 -1
  261. package/dist/info-icon.js +1 -1
  262. package/dist/input-field-password.js +1 -1
  263. package/dist/input-field-phone-number.js +1 -1
  264. package/dist/input-field.js +1 -1
  265. package/dist/input-time.js +1 -1
  266. package/dist/inspector.js +2 -2
  267. package/dist/internal.js +14 -14
  268. package/dist/layout.js +1 -1
  269. package/dist/link.js +1 -1
  270. package/dist/list.js +1 -1
  271. package/dist/menu.js +1 -1
  272. package/dist/modal-fullscreen.js +1 -1
  273. package/dist/modal.js +2 -2
  274. package/dist/navigation-menu.js +1 -1
  275. package/dist/pagination.js +1 -1
  276. package/dist/payment-method.js +1 -1
  277. package/dist/popover.js +1 -1
  278. package/dist/progress-bar.js +1 -1
  279. package/dist/promo-banner.js +1 -1
  280. package/dist/radio-group.js +1 -1
  281. package/dist/rich-text-editor.js +1 -1
  282. package/dist/search-bar.js +2 -2
  283. package/dist/secondary-nav.js +1 -1
  284. package/dist/segmented-control.js +1 -1
  285. package/dist/selection-card.js +1 -1
  286. package/dist/sidepanel.js +1 -1
  287. package/dist/status.js +1 -1
  288. package/dist/stepper.js +1 -1
  289. package/dist/structured-list.js +1 -1
  290. package/dist/styles/bento-dark.css +3 -0
  291. package/dist/styles/bento-light.css +3 -0
  292. package/dist/styles/bento.css +3 -0
  293. package/dist/styles/legacy.css +3 -0
  294. package/dist/styles/styleguide.css +3 -0
  295. package/dist/styles/utility.css +9 -0
  296. package/dist/summary-grid.js +1 -1
  297. package/dist/table-of-contents.js +1 -1
  298. package/dist/tabs.js +1 -1
  299. package/dist/tag.js +1 -1
  300. package/dist/textarea.js +1 -1
  301. package/dist/timeline.js +1 -1
  302. package/dist/toast.js +1 -1
  303. package/dist/toggle.js +1 -1
  304. package/dist/tutorial.js +1 -1
  305. package/dist/typography.js +1 -1
  306. package/dist/web-types.json +1278 -46
  307. package/package.json +9 -9
  308. package/dist/chunks/button-actions.bkcLUE1G.js.map +0 -1
  309. package/dist/chunks/calendar.CXdLEeN4.js.map +0 -1
  310. package/dist/chunks/date-range-picker.CqixIJxG.js.map +0 -1
  311. package/dist/chunks/draggable.DYKdXdbj.js.map +0 -1
  312. package/dist/chunks/filter-bar.D7Lk7wlq.js.map +0 -1
  313. package/dist/chunks/input-time.CXMuvF9N.js +0 -105
  314. package/dist/chunks/input-time.CXMuvF9N.js.map +0 -1
  315. package/dist/chunks/modal-fullscreen.Bi1bQs4Z.js.map +0 -1
  316. package/dist/chunks/navigation-menu-group.BnHdXODQ.js.map +0 -1
  317. package/dist/chunks/step.BCa9IOWB.js.map +0 -1
  318. package/dist/chunks/structured-list-item.Bhe0CH1M.js.map +0 -1
  319. package/dist/chunks/tab.BK1sIJAJ.js.map +0 -1
  320. package/dist/chunks/textarea.CcV9U3I7.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"file-uploader.DllKBmP8.js","sources":["../../../ui-assets/icons-16/dist/vue/upload.vue","../../src/components/file-uploader/components/file-uploader-file-card/composables/use-truncated-file-name.ts","../../src/components/file-uploader/utils/format-file-size/format-file-size.ts","../../src/components/file-uploader/file-uploader.internal.types.ts","../../src/components/file-uploader/utils/get-file-type/get-file-type.ts","../../src/components/file-uploader/utils/read-file/read-file.ts","../../../ui-assets/icons-16/dist/vue/attachment.vue","../../../ui-assets/icons-16/dist/vue/collection.vue","../../../ui-assets/icons-16/dist/vue/document-1.vue","../../../ui-assets/icons-16/dist/vue/document-lines.vue","../../../ui-assets/icons-16/dist/vue/folder.vue","../../../ui-assets/icons-16/dist/vue/image.vue","../../../ui-assets/icons-16/dist/vue/play-circle.vue","../../../ui-assets/icons-16/dist/vue/sound.vue","../../../ui-assets/icons-16/dist/vue/table.vue","../../src/components/file-uploader/components/file-uploader-file-card/utils/get-file-icon/get-file-icon.ts","../../src/components/file-uploader/components/file-uploader-file-card/utils/get-file-icon-color/get-file-icon-color.ts","../../src/components/file-uploader/components/file-uploader-file-card/file-uploader-file-card.vue","../../src/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.vue","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/other.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/standard.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/Mime.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/index.js","../../src/components/file-uploader/composables/use-file-type-list/use-file-type-list.ts","../../src/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state.ts","../../src/components/file-uploader/file-uploader.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.75 12C2.75 12.6904 3.30964 13.25 4 13.25H12C12.6904 13.25 13.25 12.6904 13.25 12V10.25H14.75V12C14.75 13.5188 13.5188 14.75 12 14.75H4C2.48122 14.75 1.25 13.5188 1.25 12V10.25H2.75V12Z\"/><path fill=\"#001222\" d=\"M12.0605 5L11 6.06055L8.75 3.81055V11.75H7.25V3.81055L5 6.06055L3.93945 5L8 0.939453L12.0605 5Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","import { type VueInstance } from '@/types/elements';\nimport { onMounted, onUnmounted, ref, type Ref } from 'vue';\n\n/**\n * Verifies if the content defined is being truncated when it is overflowing the container.\n *\n * @param target Element that contains the text to be truncated\n * @param container Scrollable container that defines the boundaries\n * @returns Boolean indicating whether or not the content will be truncated\n */\nexport function useTruncatedFileName(target: Ref<VueInstance>, container: Ref<HTMLElement>) {\n const isContainerTruncating = ref<boolean>(false);\n let observer: IntersectionObserver;\n\n function disconnectObserver() {\n if (observer) {\n observer.disconnect();\n }\n }\n\n onUnmounted(() => {\n disconnectObserver();\n });\n\n onMounted(() => {\n disconnectObserver();\n\n observer = new IntersectionObserver(\n entries => {\n isContainerTruncating.value = !entries[0].isIntersecting;\n },\n {\n root: container.value,\n threshold: 1.0,\n }\n );\n\n observer.observe(target.value.$el);\n });\n\n return isContainerTruncating;\n}\n","const UNITS = ['byte', 'kilobyte', 'megabyte', 'gigabyte', 'terabyte', 'petabyte'];\n\n/**\n * Converts size in bytes to a human readable format using Binary Prefixes IEC standard\n * For example, it transforms \"1024\" to \"1kB\"\n *\n * Source: https://physics.nist.gov/cuu/Units/binary.html\n *\n * @param locale App's set locale (e.g. en, es, pt-BR)\n * @param size Size of file in bytes\n * @returns Size of file using metrics\n */\nexport function formatFileSize(locale: string, size: number) {\n const unitIndex = Math.max(0, Math.min(Math.floor(Math.log(size) / Math.log(1024)), UNITS.length - 1));\n\n return Intl.NumberFormat(locale, {\n style: 'unit',\n unit: UNITS[unitIndex],\n }).format(size / 1024 ** unitIndex);\n}\n","export enum FileState {\n LOADING = 'loading',\n SUCCESS = 'success',\n ERROR = 'error',\n}\n\nexport enum FileErrorType {\n ERROR_SIZE = 'error-size',\n ERROR_LOAD = 'error-load',\n ERROR_DIMENSIONS = 'error-dimensions',\n ERROR_TYPE = 'error-type',\n}\n\nexport enum FileUploaderState {\n DISABLED = 'disabled',\n DRAG_OVER = 'drag-over',\n ERROR = 'error',\n READONLY = 'readonly',\n}\n\nexport enum FileType {\n TABLE = 'table',\n IMAGE = 'image',\n VIDEO = 'video',\n AUDIO = 'audio',\n TEXT = 'text',\n PDF = 'pdf',\n SLIDES = 'slides',\n COMPRESSED = 'compressed',\n GENERIC = 'generic',\n}\n\nexport interface FileMaxSize {\n fileType: HTMLInputElement['accept'];\n maxSize: number;\n}\n\nexport interface FileObject {\n id: string;\n data: File;\n state: FileState;\n errors: Array<FileErrorType>;\n type: FileType;\n progress: number | null;\n dimensions?: { width: number; height: number };\n}\n\nexport type SupportedFileTypes = string;\n","import { FileType } from '@/components/file-uploader/file-uploader.internal.types';\n\nconst textFileExtraTypes = [\n 'application/msword', // .doc\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // .docx\n 'application/rtf', // .rtf\n];\n\nconst tableFileTypes = [\n 'application/vnd.ms-excel', // .xls\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', // .xlsx\n 'application/vnd.oasis.opendocument.spreadsheet', //.ods\n 'application/vnd.apple.numbers', // .numbers\n 'application/x-iwork-numbers-sffnumbers', // .numbers\n 'text/csv', // .csv\n];\n\nconst slidesFileTypes = [\n 'application/vnd.ms-powerpoint', // .ppt\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation', // .pptx\n 'application/vnd.oasis.opendocument.presentation', // .odp\n];\n\nconst compressedFileTypes = [\n 'application/zip', // .zip\n 'application/vnd.rar', // .rar\n 'application/x-7z-compressed', // .7z\n 'application/gzip', // .gz, .tar.gz, .tgz\n 'application/x-tar', // .tar\n 'application/x-bzip2', // .bz2\n 'application/x-xz', // .xz\n 'application/x-lzma', // .lzma\n 'application/x-compress', // .Z\n 'application/vnd.ms-cab-compressed', // .cab\n];\n\n/**\n * Categorizes the type of a file. Maps all types of text, image, video,\n * audio and documents to an specific category such as \"text/*\" or \"image/*\" respectively\n * @param file File to be typed\n * @returns Type category of the file being uploaded\n */\nexport function getFileType(file: File) {\n if (tableFileTypes.includes(file.type)) {\n return FileType.TABLE;\n }\n\n if (file.type.startsWith('text/') || textFileExtraTypes.includes(file.type)) {\n return FileType.TEXT;\n }\n\n if (file.type.startsWith('image/')) {\n return FileType.IMAGE;\n }\n\n if (file.type.startsWith('video/')) {\n return FileType.VIDEO;\n }\n\n if (file.type.startsWith('audio/')) {\n return FileType.AUDIO;\n }\n\n if (file.type === 'application/pdf') {\n return FileType.PDF;\n }\n\n if (slidesFileTypes.includes(file.type)) {\n return FileType.SLIDES;\n }\n\n if (compressedFileTypes.includes(file.type)) {\n return FileType.COMPRESSED;\n }\n\n return FileType.GENERIC;\n}\n","import {\n FileErrorType,\n type FileObject,\n FileState,\n FileType,\n} from '@/components/file-uploader/file-uploader.internal.types';\n\n/**\n * Validates if a File has the correct type accepted for the current instance of\n * BentoFileUploader.\n *\n * @param file File being processed\n * @param accept HTML MIME types valid for the file to be processed\n * @returns Whether or not the file has the right type\n */\nexport function isFileTypeAccepted(file: File, accept?: string) {\n if (!accept) {\n return true;\n }\n\n // Split accept attribute into individual rules (e.g., 'image/*', '.png')\n const acceptPatterns = accept.split(',').map(type => type.trim());\n\n for (const pattern of acceptPatterns) {\n if (pattern.startsWith('.')) {\n // Check for file extension\n if (file.name.endsWith(pattern)) {\n return true;\n }\n } else if (pattern.endsWith('/*')) {\n // Check for type category (e.g., 'image/*')\n const category = pattern.split('/')[0];\n if (file.type.startsWith(category)) {\n return true;\n }\n } else if (pattern.includes('/')) {\n // Check for exact MIME type match\n if (file.type === pattern) {\n return true;\n }\n } else {\n // Check for bare extension without dot (e.g., 'pdf')\n if (file.name.endsWith(`.${pattern}`)) {\n return true;\n }\n }\n }\n\n return false; // No matches found\n}\n\n/**\n * Process a file to verify if it fulfills the accepted type restrictions defined in \"accept\",\n * the dimensions for \"image/*\" types defined by \"maxDimensions\". The state of the \"fileObject\" will\n * be updated according to the restrictions or if it was successfully uploaded.\n *\n * @param fileObject File to be processed\n * @param accept HTML MIME types valid for the file to be processed\n * @param maxDimensions Width and height restrictions for \"image/*\" files\n */\nexport function readFile(\n fileObject: FileObject,\n accept?: string,\n maxDimensions?: { width?: number; height?: number }\n): void {\n const reader = new FileReader();\n // Can't be cloned because the events are async\n const file = fileObject; // avoid ESLint no-param-reassign\n\n // Verify file type - skip the rest if invalid\n if (!isFileTypeAccepted(file.data, accept)) {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_TYPE);\n return;\n }\n\n reader.onload = event => {\n if (maxDimensions && file.type === FileType.IMAGE) {\n const blob = new Blob([event.target.result], { type: file.data.type });\n const url = URL.createObjectURL(blob);\n const img = new Image();\n\n img.onload = function () {\n if (img.width > maxDimensions.width || img.height > maxDimensions.height) {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_DIMENSIONS);\n }\n URL.revokeObjectURL(url);\n };\n\n img.onerror = function () {\n URL.revokeObjectURL(url);\n };\n\n img.src = url;\n }\n };\n\n reader.onprogress = event => {\n if (event.lengthComputable) {\n file.progress = (event.loaded / event.total) * 100;\n }\n };\n\n reader.onloadend = () => {\n if (file.state !== FileState.ERROR) {\n file.state = FileState.SUCCESS;\n }\n\n file.progress = null;\n };\n\n reader.onerror = () => {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_LOAD);\n file.progress = null;\n };\n\n reader.readAsArrayBuffer(file.data);\n}\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-attachment__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M7.10655 3.02949C8.98948 1.14706 12.0441 1.14675 13.9269 3.02949C15.8095 4.91225 15.8093 7.96692 13.9269 9.84981L11.1564 12.6203L10.0958 11.5598L12.8663 8.78926C14.1629 7.49216 14.1631 5.38701 12.8663 4.09004C11.5694 2.79309 9.46424 2.79339 8.1671 4.09004L2.72667 9.53047C1.95976 10.2976 1.95963 11.5427 2.72667 12.3098C3.49372 13.0766 4.7389 13.0766 5.50597 12.3098L10.9464 6.86934C11.183 6.63224 11.1832 6.24693 10.9464 6.00996C10.7094 5.77301 10.3242 5.77331 10.087 6.00996L4.4962 11.6008L3.43565 10.5402L9.02647 4.94942C9.8494 4.12698 11.1842 4.12668 12.0069 4.94942C12.8296 5.77217 12.8293 7.107 12.0069 7.92989L6.56651 13.3703C5.21366 14.723 3.01896 14.723 1.66612 13.3703C0.313294 12.0175 0.313425 9.82283 1.66612 8.46992L7.10655 3.02949Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-attachment__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" fill-rule=\"evenodd\" d=\"M11 0.25C12.5188 0.25 13.75 1.48122 13.75 3V7C13.75 7.85389 13.3607 8.6167 12.75 9.12109V10C12.75 10.8539 12.3607 11.6167 11.75 12.1211V13C11.75 14.5188 10.5188 15.75 9 15.75H7C5.48122 15.75 4.25 14.5188 4.25 13V12.1211C3.63934 11.6167 3.25 10.8539 3.25 10V9.12109C2.63934 8.6167 2.25 7.85389 2.25 7V3C2.25 1.48122 3.48122 0.25 5 0.25H11ZM10 12.75H6C5.91565 12.75 5.83241 12.7438 5.75 12.7363V13C5.75 13.6904 6.30964 14.25 7 14.25H9C9.69036 14.25 10.25 13.6904 10.25 13V12.7363C10.1676 12.7438 10.0843 12.75 10 12.75ZM11 9.75H5C4.91565 9.75 4.83241 9.74376 4.75 9.73633V10C4.75 10.6904 5.30964 11.25 6 11.25H10C10.6904 11.25 11.25 10.6904 11.25 10V9.73633C11.1676 9.74376 11.0843 9.75 11 9.75ZM5 1.75C4.30964 1.75 3.75 2.30964 3.75 3V7C3.75 7.69036 4.30964 8.25 5 8.25H11C11.6904 8.25 12.25 7.69036 12.25 7V3C12.25 2.30964 11.6904 1.75 11 1.75H5Z\" clip-rule=\"evenodd\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.25 0.25V15.75H13.75V4.68934L9.31066 0.25H2.25ZM7.25 1.75V6.75H12.25V14.25H3.75V1.75H7.25ZM12.1893 5.25H8.75V1.81066L12.1893 5.25Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.24609 8.25H10.7461V9.75H5.24609V8.25Z\"/><path fill=\"#001222\" d=\"M10.7461 11.25H5.24609V12.75H10.7461V11.25Z\"/><path fill=\"#001222\" d=\"M2.24609 0.25V15.75H13.7461V4.68934L9.30675 0.25H2.24609ZM7.24609 1.75V6.75H12.2461V14.25H3.74609V1.75H7.24609ZM12.1854 5.25H8.74609V1.81066L12.1854 5.25Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M1.24609 12V5C1.24609 3.48579 2.48188 2.25 3.99609 2.25H7.30664L10.3066 5.25H11.9961C13.5103 5.25 14.7461 6.48579 14.7461 8V12C14.7461 13.5142 13.5103 14.75 11.9961 14.75H3.99609C2.48188 14.75 1.24609 13.5142 1.24609 12ZM2.74609 12C2.74609 12.6858 3.31031 13.25 3.99609 13.25H11.9961C12.6819 13.25 13.2461 12.6858 13.2461 12V8C13.2461 7.31421 12.6819 6.75 11.9961 6.75H9.68555L6.68555 3.75H3.99609C3.31031 3.75 2.74609 4.31421 2.74609 5V12Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M9.74609 3.74805C11.1268 3.74805 12.2461 4.86733 12.2461 6.24805C12.2461 7.62876 11.1268 8.74805 9.74609 8.74805C8.36538 8.74805 7.24609 7.62876 7.24609 6.24805C7.24609 4.86733 8.36538 3.74805 9.74609 3.74805ZM9.74609 5.24805C9.19381 5.24805 8.74609 5.69576 8.74609 6.24805C8.74609 6.80033 9.19381 7.24805 9.74609 7.24805C10.2984 7.24805 10.7461 6.80033 10.7461 6.24805C10.7461 5.69576 10.2984 5.24805 9.74609 5.24805Z\"/><path fill=\"#001222\" d=\"M11.9961 1.24805C13.5149 1.24805 14.7461 2.47926 14.7461 3.99805V11.998C14.7461 13.5168 13.5149 14.748 11.9961 14.748H3.99609C2.47731 14.748 1.24609 13.5168 1.24609 11.998V3.99805C1.24609 2.47926 2.47731 1.24805 3.99609 1.24805H11.9961ZM2.74609 11.3105V11.998C2.74609 12.6884 3.30574 13.248 3.99609 13.248H9.18359L4.99609 9.06055L2.74609 11.3105ZM3.99609 2.74805C3.30574 2.74805 2.74609 3.30769 2.74609 3.99805V9.18945L4.99609 6.93945L11.3047 13.248H11.9961C12.6864 13.248 13.2461 12.6884 13.2461 11.998V3.99805C13.2461 3.30769 12.6865 2.74805 11.9961 2.74805H3.99609Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-play_circle__a' + uuid + ')'\"><path d=\"M10.9722 8.00002L6.62012 5.09863V10.9014L10.9722 8.00002Z\"/><path d=\"M5.0342 0.839937C6.45033 0.253358 8.0086 0.0998821 9.51195 0.398918C11.0153 0.697953 12.3962 1.43607 13.4801 2.51993C14.5639 3.60378 15.3021 4.9847 15.6011 6.48805C15.9001 7.99141 15.7466 9.54967 15.1601 10.9658C14.5735 12.3819 13.5801 13.5923 12.3057 14.4439C11.0312 15.2955 9.53281 15.75 8 15.75C5.94457 15.75 3.97333 14.9335 2.51992 13.4801C1.06652 12.0267 0.25 10.0554 0.25 8C0.25 6.4672 0.704529 4.96881 1.55611 3.69433C2.40769 2.41985 3.61808 1.42652 5.0342 0.839937ZM9.21931 1.8701C8.00693 1.62894 6.75027 1.75271 5.60823 2.22576C4.46619 2.6988 3.49007 3.49988 2.80331 4.52769C2.11656 5.5555 1.75 6.76387 1.75 8C1.75 9.65761 2.40848 11.2473 3.58058 12.4194C4.75268 13.5915 6.3424 14.25 8 14.25C9.23613 14.25 10.4445 13.8834 11.4723 13.1967C12.5001 12.5099 13.3012 11.5338 13.7742 10.3918C14.2473 9.24974 14.3711 7.99307 14.1299 6.78069C13.8887 5.56831 13.2935 4.45466 12.4194 3.58059C11.5453 2.70651 10.4317 2.11125 9.21931 1.8701Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-play_circle__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.68934 2.25H8.75V13.75H5.68934L2.68934 10.75H0.25V5.25H2.68934L5.68934 2.25ZM6.31066 3.75L3.31066 6.75H1.75V9.25H3.31066L6.31066 12.25H7.25V3.75H6.31066Z\"/><path fill=\"#001222\" d=\"M13.0111 4.99174C12.2099 4.19982 11.1294 3.75 10 3.75V2.25C11.53 2.25 12.9888 2.85964 14.0675 3.92684L14.0703 3.92966C15.1527 5.01199 15.75 6.47347 15.75 8C15.75 9.52995 15.1404 10.9888 14.0732 12.0675L14.0703 12.0703C12.988 13.1527 11.5265 13.75 10 13.75V12.25C11.1328 12.25 12.2107 11.8079 13.0082 11.0111C13.8002 10.21 14.25 9.1294 14.25 8C14.25 6.8672 13.8079 5.78927 13.0111 4.99174Z\"/><path fill=\"#001222\" d=\"M10 6.75V5.25C10.7257 5.25 11.4295 5.53694 11.9438 6.06319C12.4593 6.58041 12.75 7.26849 12.75 8C12.75 8.72573 12.4631 9.42951 11.9368 9.94383C11.4196 10.4593 10.7315 10.75 10 10.75V9.25C10.3268 9.25 10.6373 9.12206 10.8797 8.87967L10.8868 8.87265C11.1182 8.64727 11.25 8.33261 11.25 8C11.25 7.67317 11.1221 7.36272 10.8797 7.12033L10.8726 7.11321C10.6473 6.88175 10.3326 6.75 10 6.75Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M12 1.25C13.5188 1.25 14.75 2.48122 14.75 4V12C14.75 13.5188 13.5188 14.75 12 14.75H4C2.48122 14.75 1.25 13.5188 1.25 12V4C1.25 2.48122 2.48122 1.25 4 1.25H12ZM6.75 13.25H12C12.6904 13.25 13.25 12.6904 13.25 12V10.75H6.75V13.25ZM2.75 12C2.75 12.6904 3.30964 13.25 4 13.25H5.25V10.75H2.75V12ZM6.75 9.25H13.25V6.75H6.75V9.25ZM2.75 9.25H5.25V6.75H2.75V9.25ZM6.75 5.25H13.25V4C13.25 3.30964 12.6904 2.75 12 2.75H6.75V5.25ZM4 2.75C3.30964 2.75 2.75 3.30964 2.75 4V5.25H5.25V2.75H4Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","import { type VueNodeElement } from '@/types/elements';\nimport { type FileObject, FileType } from '@/components/file-uploader/file-uploader.internal.types';\n\nimport AttachmentIcon from '@adyen/ui-assets-icons-16/vue/attachment';\nimport CollectionIcon from '@adyen/ui-assets-icons-16/vue/collection';\nimport DocumentIcon from '@adyen/ui-assets-icons-16/vue/document-1';\nimport DocumentLinesIcon from '@adyen/ui-assets-icons-16/vue/document-lines';\nimport FolderIcon from '@adyen/ui-assets-icons-16/vue/folder';\nimport ImageIcon from '@adyen/ui-assets-icons-16/vue/image';\nimport PlayCircleIcon from '@adyen/ui-assets-icons-16/vue/play-circle';\nimport SoundIcon from '@adyen/ui-assets-icons-16/vue/sound';\nimport TableIcon from '@adyen/ui-assets-icons-16/vue/table';\n\nconst FILE_TYPE_ICON_MAP: Record<FileType, VueNodeElement> = {\n [FileType.AUDIO]: SoundIcon,\n [FileType.COMPRESSED]: FolderIcon,\n [FileType.GENERIC]: AttachmentIcon,\n [FileType.IMAGE]: ImageIcon,\n [FileType.PDF]: DocumentIcon,\n [FileType.SLIDES]: CollectionIcon,\n [FileType.TABLE]: TableIcon,\n [FileType.TEXT]: DocumentLinesIcon,\n [FileType.VIDEO]: PlayCircleIcon,\n};\n\n/**\n * Return an icon Vue component that can be used with a given File type @see FileType\n * @param file File object containing a type\n * @returns Icon for the respective type\n */\nexport function getFileIcon(file: FileObject) {\n return FILE_TYPE_ICON_MAP[file.type];\n}\n","import { type FileObject, FileType } from '@/components/file-uploader/file-uploader.internal.types';\n\n/**\n * Returns the color to be used for the icon of a given type.\n *\n * @param file File with a given type\n * @returns Color to be used with their respective file type\n */\nexport function getFileIconColor(file: FileObject) {\n switch (file.type) {\n case FileType.COMPRESSED:\n case FileType.GENERIC:\n return 'grey';\n case FileType.PDF:\n case FileType.SLIDES:\n return 'orange';\n case FileType.TEXT:\n return 'blue';\n default:\n return 'green';\n }\n}\n","<template>\n <div class=\"b-file-uploader-file-card\" :class=\"conditionalClasses\">\n <div class=\"b-file-uploader-file-card__details\">\n <div class=\"b-file-uploader-file-card__info\">\n <file-uploader-file-card-animation\n :name=\"\n isVue2 ? 'b-file-uploader-file-card__animation' : 'b-file-uploader-file-card__animation--vue3'\n \"\n :show-file-icon=\"showFileIcon\"\n >\n <component\n :is=\"fileUploaderIcon\"\n :key=\"JSON.stringify(fileUploaderIcon)\"\n small\n aria-hidden=\"true\"\n class=\"b-file-uploader-file-card__icon\"\n :class=\"conditionalIconClasses\"\n data-testid=\"file-uploader-item-icon\"\n />\n </file-uploader-file-card-animation>\n\n <div ref=\"fileNameContainerRef\" class=\"b-file-uploader-file-card__file-name\">\n <bento-link\n aria-hidden=\"true\"\n tabindex=\"-1\"\n :download=\"file.data.name\"\n :to=\"downloadUrl\"\n disable-typography\n is-not-routing\n variant=\"quiet\"\n >\n <bento-typography\n ref=\"fileNameRef\"\n v-bento-tooltip-directive=\"isFileNameTruncated ? file.data.name : null\"\n stronger\n el=\"span\"\n >\n {{ file.data.name }}\n </bento-typography>\n </bento-link>\n </div>\n\n <bento-typography v-if=\"file.progress\" el=\"span\">{{ progressLabel }}</bento-typography>\n <bento-typography\n v-else-if=\"file.data.size\"\n class=\"b-file-uploader-file-card__file-size\"\n aria-hidden=\"true\"\n el=\"span\"\n >\n {{ sizeLabel }}\n </bento-typography>\n </div>\n\n <div\n v-if=\"hasSizeError || hasDimensionsError || (hasTypeError && supportedFileTypes)\"\n :id=\"fileErrorsSectionId\"\n role=\"alert\"\n >\n <bento-typography v-if=\"hasSizeError\" class=\"b-file-uploader-file-card__error-message\">\n {{ t('fileExceedsSizeLimit') }}\n </bento-typography>\n <bento-typography v-if=\"hasDimensionsError\" class=\"b-file-uploader-file-card__error-message\">\n {{ t('imageDimensionsExceedLimits') }}\n </bento-typography>\n <bento-typography\n v-if=\"hasTypeError && supportedFileTypes\"\n class=\"b-file-uploader-file-card__error-message\"\n >\n {{ t('fileTypeMustBe', { list: supportedFileTypes }) }}\n </bento-typography>\n </div>\n </div>\n\n <div v-if=\"!readonly\" class=\"b-file-uploader-file-card__actions\">\n <bento-button\n v-if=\"hasLoadError\"\n ref=\"retryFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${retryFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('retry')\"\n >\n <template #iconLeft>\n <refresh-icon :id=\"retryFileButtonId\" :svg-title=\"`${t('retry')} - ${file.data.name} `\" />\n </template>\n {{ t('retry') }}\n </bento-button>\n <bento-button\n v-if=\"isLoading || hasError\"\n ref=\"cancelFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${cancelFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('cancel')\"\n >\n <template #iconLeft>\n <cross-icon :id=\"cancelFileButtonId\" :svg-title=\"`${t('cancel')} - ${file.data.name}`\" />\n </template>\n </bento-button>\n <bento-button\n v-else\n ref=\"removeFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${removeFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('remove')\"\n >\n <template #iconLeft>\n <bin-icon :id=\"removeFileButtonId\" :svg-title=\"`${t('remove')} - ${file.data.name}`\" />\n </template>\n </bento-button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, watch } from 'vue';\n import { isVue2 } from 'vue-demi';\n import { FileUploaderFileCardAnimation } from './components';\n import BinIcon from '@adyen/ui-assets-icons-16/vue/bin';\n import CheckmarkCircleFilledIcon from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import WarningFilledIcon from '@adyen/ui-assets-icons-16/vue/warning-filled';\n\n import { BentoTooltipDirective as vBentoTooltipDirective } from '@/directives';\n import { BentoButton } from '@/components/button';\n import { BentoLink } from '@/components/link';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n import { BentoTypography } from '@/components/typography';\n import { useTruncatedFileName } from './composables/use-truncated-file-name';\n import { generateUid } from '@/utils/ts/generate-uid';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { formatFileSize } from '../../utils';\n import { getFileIcon, getFileIconColor } from './utils';\n import { FileErrorType, FileState } from '@/components/file-uploader/file-uploader.internal.types';\n import type { FileUploaderFileCardProps } from './file-uploader-file-card.types';\n import type { VueInstance } from '@/types/elements';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const ICON_TIMER = 1200;\n\n const props = defineProps({\n file: null,\n supportedFileTypes: { default: null },\n readonly: { type: Boolean }\n});\n\n const emit = defineEmits([\"cancel\", \"remove\", \"retry\"]);\n\n const { t, locale } = useI18n<{ message: MessageSchema }>({ messages });\n\n const removeFileButtonRef = ref(null);\n const cancelFileButtonRef = ref(null);\n const retryFileButtonRef = ref(null);\n const fileErrorsSectionId = generateUid('file-errors-section');\n const cancelFileButtonId = generateUid('cancel-file-button');\n const removeFileButtonId = generateUid('remove-file-button');\n const retryFileButtonId = generateUid('retry-file-button');\n\n // If initial state is success, immediately show file icon\n const showFileIcon = ref(props.file.state === FileState.SUCCESS);\n\n const downloadUrl = computed(() => URL.createObjectURL(props.file.data));\n const hasError = computed(() => props.file.state === FileState.ERROR);\n const hasLoadError = computed(() => props.file.errors.includes(FileErrorType.ERROR_LOAD));\n const hasSizeError = computed(() => props.file.errors.includes(FileErrorType.ERROR_SIZE));\n const hasDimensionsError = computed(() => props.file.errors.includes(FileErrorType.ERROR_DIMENSIONS));\n const hasTypeError = computed(() => props.file.errors.includes(FileErrorType.ERROR_TYPE));\n const isLoading = computed(() => props.file.state === FileState.LOADING);\n const progressLabel = computed(() => props.file.progress && `(${props.file.progress.toFixed(0)}%)`);\n const sizeLabel = computed(() => formatFileSize(locale.value, props.file.data.size));\n\n // Truncation tooltip\n const fileNameRef = ref<VueInstance>();\n const fileNameContainerRef = ref<HTMLDivElement>();\n\n const isFileNameTruncated = useTruncatedFileName(fileNameRef, fileNameContainerRef);\n\n const conditionalClasses = computed(() => ({\n 'b-file-uploader-file-card--error': hasError.value,\n }));\n\n const conditionalIconClasses = computed(() => ({\n [`b-file-uploader-file-card__icon--${getFileIconColor(props.file)}`]: showFileIcon.value,\n 'b-file-uploader-file-card__icon--error': hasError.value,\n }));\n\n // Compute the icon to be displayed\n const fileUploaderIcon = computed(() => {\n if (isLoading.value) {\n return BentoLoadingIndicator;\n }\n if (hasError.value) {\n return WarningFilledIcon;\n }\n return showFileIcon.value ? getFileIcon(props.file) : CheckmarkCircleFilledIcon;\n });\n\n // Animation when success icon turns to file icon.\n watch(\n () => props.file.state,\n value => {\n if (value === FileState.SUCCESS && !showFileIcon.value) {\n const changeTimer = setTimeout(() => {\n showFileIcon.value = true;\n clearTimeout(changeTimer);\n }, ICON_TIMER);\n }\n }\n );\n\n /**\n * Places the focus on the button element.\n */\n function focus() {\n if (retryFileButtonRef.value) {\n retryFileButtonRef.value.$el.focus();\n return;\n }\n\n if (removeFileButtonRef.value) {\n removeFileButtonRef.value.$el.focus();\n return;\n }\n\n if (cancelFileButtonRef.value) {\n cancelFileButtonRef.value.$el.focus();\n return;\n }\n }\n\n defineExpose({\n focus,\n });\n</script>\n\n<script lang=\"ts\">\n /**\n *\n * Individual file items that are listed inside \"bento-file-uploader\" that can\n * be retried, removed or canceled as they are being uploaded.\n *\n * @example\n * import { FileUploaderFileCard, FileObject } from './';\n *\n * export default {\n * components: { FileUploaderFileCard },\n * template: `\n * <file-uploader-file-card\n * :file=\"file\"\n * supportedFileTypes=\"video files, image files\"\n * @retry=\"retryFile(file)\"\n * @cancel=\"removeFile(file)\"\n * @remove=\"removeFile(file)\"\n * />\n * `,\n * setup() {\n * const file = ref<FileObject>({\n * id: 'stub-file',\n * type: FileType.AUDIO,\n * data: new File(['blob'], 'File name'),\n * state: FileState.SUCCESS,\n * progress: 99,\n * });\n * }\n * }\n */\n export default {\n name: 'file-uploader-file-card',\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader-file-card.scss\" />\n","<template>\n <div class=\"b-file-uploader-restrictions\" :class=\"conditionalClasses\">\n <bento-typography\n v-if=\"supportedFileTypes\"\n :class=\"setRestrictionErrorClass(supportedFileTypes.error || (isMaxSizeArray && maxSize.error))\"\n >\n {{ t('supportedFileTypes', { list: computedConditionalFiles }) }}\n </bento-typography>\n <bento-typography v-if=\"!isMaxSizeArray && maxSize\" :class=\"setRestrictionErrorClass(maxSize.error)\">\n {{ maxFileSizeLabel }}\n </bento-typography>\n <bento-typography v-if=\"maxDimensions\" :class=\"setRestrictionErrorClass(maxDimensions.error)\">\n {{ maxDimensionsLabel }}\n </bento-typography>\n <bento-typography v-if=\"maxCount\" :class=\"setRestrictionErrorClass(maxCount.error)\">\n {{ tc('maxUpload', maxCount.value, { count: n(maxCount.value) }) }}\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { useI18n } from '@/utils/ts/i18n';\n import { formatFileSize } from '../../utils';\n import type { FileUploaderRestrictionsProps } from './file-uploader-restrictions.types';\n import type { FileMaxSize } from '../../file-uploader.internal.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n condensed: { default: null },\n disabled: { default: null },\n maxCount: { default: null },\n maxDimensions: { default: null },\n maxSize: { default: null },\n supportedFileTypes: { default: null }\n});\n\n const { t, tc, n, locale } = useI18n<{ message: MessageSchema }>({ messages });\n\n const conditionalClasses = computed(() => ({\n ['b-file-uploader-restrictions--condensed']: props.condensed,\n ['b-file-uploader-restrictions--disabled']: props.disabled,\n }));\n\n /**\n * Returns the error class to be set if a restriction has an error\n * @param error Indicates if the restriction has errored\n * @returns Conditional error class\n */\n function setRestrictionErrorClass(error: boolean) {\n return {\n 'b-file-uploader-restrictions--error': error,\n };\n }\n\n const isMaxSizeArray = computed(() => props.maxSize && Array.isArray(props.maxSize.value));\n\n const maxFileSizeLabel = computed(() => {\n if (!props.maxSize || isMaxSizeArray.value) {\n return null;\n }\n\n return t('maxFileSize', { size: formatFileSize(locale.value, props.maxSize.value as number) });\n });\n\n const computedConditionalFiles = computed(() => {\n if (!props.supportedFileTypes) {\n return null;\n }\n\n if (!isMaxSizeArray.value) {\n return props.supportedFileTypes.value;\n }\n\n let list = props.supportedFileTypes.value;\n\n (props.maxSize.value as Array<FileMaxSize>).forEach(entry => {\n const displayName = entry.fileType.toUpperCase();\n const sizeLabel = t('upToSize', { size: formatFileSize(locale.value, entry.maxSize) });\n list = list.replace(displayName, `${displayName} ${sizeLabel}`);\n });\n\n return list;\n });\n\n const maxDimensionsLabel = computed(() => {\n if (!props.maxDimensions) {\n return null;\n }\n\n const {\n value: { width, height },\n } = props.maxDimensions;\n\n if (width && height) {\n return t('maxImageDimensions', { width: n(width), height: n(height) });\n }\n if (width) {\n return t('maxImageWidth', { width: n(width) });\n }\n if (height) {\n return t('maxImageHeight', { height: n(height) });\n }\n return null;\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * List of restrictions defined for \"bento-file-uploader\".\n *\n * @example\n * import { FileUploaderRestrictions } from './';\n *\n * export default {\n * components: { FileUploaderRestrictions },\n * template: `\n * <file-uploader-restrictions\n * :maxCount=\"1\"\n * :maxSize=\"5000\"\n * :maxDimensions=\"{ width: 100, height: 200 }\"\n * supportedFileTypes=\"audio/*,.pdf,.jpg\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader-restrictions.scss\" />\n","const types = {\n 'application/prs.cww': ['cww'],\n 'application/prs.xsf+xml': ['xsf'],\n 'application/vnd.1000minds.decision-model+xml': ['1km'],\n 'application/vnd.3gpp.pic-bw-large': ['plb'],\n 'application/vnd.3gpp.pic-bw-small': ['psb'],\n 'application/vnd.3gpp.pic-bw-var': ['pvb'],\n 'application/vnd.3gpp2.tcap': ['tcap'],\n 'application/vnd.3m.post-it-notes': ['pwn'],\n 'application/vnd.accpac.simply.aso': ['aso'],\n 'application/vnd.accpac.simply.imp': ['imp'],\n 'application/vnd.acucobol': ['acu'],\n 'application/vnd.acucorp': ['atc', 'acutc'],\n 'application/vnd.adobe.air-application-installer-package+zip': ['air'],\n 'application/vnd.adobe.formscentral.fcdt': ['fcdt'],\n 'application/vnd.adobe.fxp': ['fxp', 'fxpl'],\n 'application/vnd.adobe.xdp+xml': ['xdp'],\n 'application/vnd.adobe.xfdf': ['*xfdf'],\n 'application/vnd.age': ['age'],\n 'application/vnd.ahead.space': ['ahead'],\n 'application/vnd.airzip.filesecure.azf': ['azf'],\n 'application/vnd.airzip.filesecure.azs': ['azs'],\n 'application/vnd.amazon.ebook': ['azw'],\n 'application/vnd.americandynamics.acc': ['acc'],\n 'application/vnd.amiga.ami': ['ami'],\n 'application/vnd.android.package-archive': ['apk'],\n 'application/vnd.anser-web-certificate-issue-initiation': ['cii'],\n 'application/vnd.anser-web-funds-transfer-initiation': ['fti'],\n 'application/vnd.antix.game-component': ['atx'],\n 'application/vnd.apple.installer+xml': ['mpkg'],\n 'application/vnd.apple.keynote': ['key'],\n 'application/vnd.apple.mpegurl': ['m3u8'],\n 'application/vnd.apple.numbers': ['numbers'],\n 'application/vnd.apple.pages': ['pages'],\n 'application/vnd.apple.pkpass': ['pkpass'],\n 'application/vnd.aristanetworks.swi': ['swi'],\n 'application/vnd.astraea-software.iota': ['iota'],\n 'application/vnd.audiograph': ['aep'],\n 'application/vnd.balsamiq.bmml+xml': ['bmml'],\n 'application/vnd.blueice.multipass': ['mpm'],\n 'application/vnd.bmi': ['bmi'],\n 'application/vnd.businessobjects': ['rep'],\n 'application/vnd.chemdraw+xml': ['cdxml'],\n 'application/vnd.chipnuts.karaoke-mmd': ['mmd'],\n 'application/vnd.cinderella': ['cdy'],\n 'application/vnd.citationstyles.style+xml': ['csl'],\n 'application/vnd.claymore': ['cla'],\n 'application/vnd.cloanto.rp9': ['rp9'],\n 'application/vnd.clonk.c4group': ['c4g', 'c4d', 'c4f', 'c4p', 'c4u'],\n 'application/vnd.cluetrust.cartomobile-config': ['c11amc'],\n 'application/vnd.cluetrust.cartomobile-config-pkg': ['c11amz'],\n 'application/vnd.commonspace': ['csp'],\n 'application/vnd.contact.cmsg': ['cdbcmsg'],\n 'application/vnd.cosmocaller': ['cmc'],\n 'application/vnd.crick.clicker': ['clkx'],\n 'application/vnd.crick.clicker.keyboard': ['clkk'],\n 'application/vnd.crick.clicker.palette': ['clkp'],\n 'application/vnd.crick.clicker.template': ['clkt'],\n 'application/vnd.crick.clicker.wordbank': ['clkw'],\n 'application/vnd.criticaltools.wbs+xml': ['wbs'],\n 'application/vnd.ctc-posml': ['pml'],\n 'application/vnd.cups-ppd': ['ppd'],\n 'application/vnd.curl.car': ['car'],\n 'application/vnd.curl.pcurl': ['pcurl'],\n 'application/vnd.dart': ['dart'],\n 'application/vnd.data-vision.rdz': ['rdz'],\n 'application/vnd.dbf': ['dbf'],\n 'application/vnd.dece.data': ['uvf', 'uvvf', 'uvd', 'uvvd'],\n 'application/vnd.dece.ttml+xml': ['uvt', 'uvvt'],\n 'application/vnd.dece.unspecified': ['uvx', 'uvvx'],\n 'application/vnd.dece.zip': ['uvz', 'uvvz'],\n 'application/vnd.denovo.fcselayout-link': ['fe_launch'],\n 'application/vnd.dna': ['dna'],\n 'application/vnd.dolby.mlp': ['mlp'],\n 'application/vnd.dpgraph': ['dpg'],\n 'application/vnd.dreamfactory': ['dfac'],\n 'application/vnd.ds-keypoint': ['kpxx'],\n 'application/vnd.dvb.ait': ['ait'],\n 'application/vnd.dvb.service': ['svc'],\n 'application/vnd.dynageo': ['geo'],\n 'application/vnd.ecowin.chart': ['mag'],\n 'application/vnd.enliven': ['nml'],\n 'application/vnd.epson.esf': ['esf'],\n 'application/vnd.epson.msf': ['msf'],\n 'application/vnd.epson.quickanime': ['qam'],\n 'application/vnd.epson.salt': ['slt'],\n 'application/vnd.epson.ssf': ['ssf'],\n 'application/vnd.eszigno3+xml': ['es3', 'et3'],\n 'application/vnd.ezpix-album': ['ez2'],\n 'application/vnd.ezpix-package': ['ez3'],\n 'application/vnd.fdf': ['*fdf'],\n 'application/vnd.fdsn.mseed': ['mseed'],\n 'application/vnd.fdsn.seed': ['seed', 'dataless'],\n 'application/vnd.flographit': ['gph'],\n 'application/vnd.fluxtime.clip': ['ftc'],\n 'application/vnd.framemaker': ['fm', 'frame', 'maker', 'book'],\n 'application/vnd.frogans.fnc': ['fnc'],\n 'application/vnd.frogans.ltf': ['ltf'],\n 'application/vnd.fsc.weblaunch': ['fsc'],\n 'application/vnd.fujitsu.oasys': ['oas'],\n 'application/vnd.fujitsu.oasys2': ['oa2'],\n 'application/vnd.fujitsu.oasys3': ['oa3'],\n 'application/vnd.fujitsu.oasysgp': ['fg5'],\n 'application/vnd.fujitsu.oasysprs': ['bh2'],\n 'application/vnd.fujixerox.ddd': ['ddd'],\n 'application/vnd.fujixerox.docuworks': ['xdw'],\n 'application/vnd.fujixerox.docuworks.binder': ['xbd'],\n 'application/vnd.fuzzysheet': ['fzs'],\n 'application/vnd.genomatix.tuxedo': ['txd'],\n 'application/vnd.geogebra.file': ['ggb'],\n 'application/vnd.geogebra.slides': ['ggs'],\n 'application/vnd.geogebra.tool': ['ggt'],\n 'application/vnd.geometry-explorer': ['gex', 'gre'],\n 'application/vnd.geonext': ['gxt'],\n 'application/vnd.geoplan': ['g2w'],\n 'application/vnd.geospace': ['g3w'],\n 'application/vnd.gmx': ['gmx'],\n 'application/vnd.google-apps.document': ['gdoc'],\n 'application/vnd.google-apps.presentation': ['gslides'],\n 'application/vnd.google-apps.spreadsheet': ['gsheet'],\n 'application/vnd.google-earth.kml+xml': ['kml'],\n 'application/vnd.google-earth.kmz': ['kmz'],\n 'application/vnd.gov.sk.xmldatacontainer+xml': ['xdcf'],\n 'application/vnd.grafeq': ['gqf', 'gqs'],\n 'application/vnd.groove-account': ['gac'],\n 'application/vnd.groove-help': ['ghf'],\n 'application/vnd.groove-identity-message': ['gim'],\n 'application/vnd.groove-injector': ['grv'],\n 'application/vnd.groove-tool-message': ['gtm'],\n 'application/vnd.groove-tool-template': ['tpl'],\n 'application/vnd.groove-vcard': ['vcg'],\n 'application/vnd.hal+xml': ['hal'],\n 'application/vnd.handheld-entertainment+xml': ['zmm'],\n 'application/vnd.hbci': ['hbci'],\n 'application/vnd.hhe.lesson-player': ['les'],\n 'application/vnd.hp-hpgl': ['hpgl'],\n 'application/vnd.hp-hpid': ['hpid'],\n 'application/vnd.hp-hps': ['hps'],\n 'application/vnd.hp-jlyt': ['jlt'],\n 'application/vnd.hp-pcl': ['pcl'],\n 'application/vnd.hp-pclxl': ['pclxl'],\n 'application/vnd.hydrostatix.sof-data': ['sfd-hdstx'],\n 'application/vnd.ibm.minipay': ['mpy'],\n 'application/vnd.ibm.modcap': ['afp', 'listafp', 'list3820'],\n 'application/vnd.ibm.rights-management': ['irm'],\n 'application/vnd.ibm.secure-container': ['sc'],\n 'application/vnd.iccprofile': ['icc', 'icm'],\n 'application/vnd.igloader': ['igl'],\n 'application/vnd.immervision-ivp': ['ivp'],\n 'application/vnd.immervision-ivu': ['ivu'],\n 'application/vnd.insors.igm': ['igm'],\n 'application/vnd.intercon.formnet': ['xpw', 'xpx'],\n 'application/vnd.intergeo': ['i2g'],\n 'application/vnd.intu.qbo': ['qbo'],\n 'application/vnd.intu.qfx': ['qfx'],\n 'application/vnd.ipunplugged.rcprofile': ['rcprofile'],\n 'application/vnd.irepository.package+xml': ['irp'],\n 'application/vnd.is-xpr': ['xpr'],\n 'application/vnd.isac.fcs': ['fcs'],\n 'application/vnd.jam': ['jam'],\n 'application/vnd.jcp.javame.midlet-rms': ['rms'],\n 'application/vnd.jisp': ['jisp'],\n 'application/vnd.joost.joda-archive': ['joda'],\n 'application/vnd.kahootz': ['ktz', 'ktr'],\n 'application/vnd.kde.karbon': ['karbon'],\n 'application/vnd.kde.kchart': ['chrt'],\n 'application/vnd.kde.kformula': ['kfo'],\n 'application/vnd.kde.kivio': ['flw'],\n 'application/vnd.kde.kontour': ['kon'],\n 'application/vnd.kde.kpresenter': ['kpr', 'kpt'],\n 'application/vnd.kde.kspread': ['ksp'],\n 'application/vnd.kde.kword': ['kwd', 'kwt'],\n 'application/vnd.kenameaapp': ['htke'],\n 'application/vnd.kidspiration': ['kia'],\n 'application/vnd.kinar': ['kne', 'knp'],\n 'application/vnd.koan': ['skp', 'skd', 'skt', 'skm'],\n 'application/vnd.kodak-descriptor': ['sse'],\n 'application/vnd.las.las+xml': ['lasxml'],\n 'application/vnd.llamagraphics.life-balance.desktop': ['lbd'],\n 'application/vnd.llamagraphics.life-balance.exchange+xml': ['lbe'],\n 'application/vnd.lotus-1-2-3': ['123'],\n 'application/vnd.lotus-approach': ['apr'],\n 'application/vnd.lotus-freelance': ['pre'],\n 'application/vnd.lotus-notes': ['nsf'],\n 'application/vnd.lotus-organizer': ['org'],\n 'application/vnd.lotus-screencam': ['scm'],\n 'application/vnd.lotus-wordpro': ['lwp'],\n 'application/vnd.macports.portpkg': ['portpkg'],\n 'application/vnd.mapbox-vector-tile': ['mvt'],\n 'application/vnd.mcd': ['mcd'],\n 'application/vnd.medcalcdata': ['mc1'],\n 'application/vnd.mediastation.cdkey': ['cdkey'],\n 'application/vnd.mfer': ['mwf'],\n 'application/vnd.mfmp': ['mfm'],\n 'application/vnd.micrografx.flo': ['flo'],\n 'application/vnd.micrografx.igx': ['igx'],\n 'application/vnd.mif': ['mif'],\n 'application/vnd.mobius.daf': ['daf'],\n 'application/vnd.mobius.dis': ['dis'],\n 'application/vnd.mobius.mbk': ['mbk'],\n 'application/vnd.mobius.mqy': ['mqy'],\n 'application/vnd.mobius.msl': ['msl'],\n 'application/vnd.mobius.plc': ['plc'],\n 'application/vnd.mobius.txf': ['txf'],\n 'application/vnd.mophun.application': ['mpn'],\n 'application/vnd.mophun.certificate': ['mpc'],\n 'application/vnd.mozilla.xul+xml': ['xul'],\n 'application/vnd.ms-artgalry': ['cil'],\n 'application/vnd.ms-cab-compressed': ['cab'],\n 'application/vnd.ms-excel': ['xls', 'xlm', 'xla', 'xlc', 'xlt', 'xlw'],\n 'application/vnd.ms-excel.addin.macroenabled.12': ['xlam'],\n 'application/vnd.ms-excel.sheet.binary.macroenabled.12': ['xlsb'],\n 'application/vnd.ms-excel.sheet.macroenabled.12': ['xlsm'],\n 'application/vnd.ms-excel.template.macroenabled.12': ['xltm'],\n 'application/vnd.ms-fontobject': ['eot'],\n 'application/vnd.ms-htmlhelp': ['chm'],\n 'application/vnd.ms-ims': ['ims'],\n 'application/vnd.ms-lrm': ['lrm'],\n 'application/vnd.ms-officetheme': ['thmx'],\n 'application/vnd.ms-outlook': ['msg'],\n 'application/vnd.ms-pki.seccat': ['cat'],\n 'application/vnd.ms-pki.stl': ['*stl'],\n 'application/vnd.ms-powerpoint': ['ppt', 'pps', 'pot'],\n 'application/vnd.ms-powerpoint.addin.macroenabled.12': ['ppam'],\n 'application/vnd.ms-powerpoint.presentation.macroenabled.12': ['pptm'],\n 'application/vnd.ms-powerpoint.slide.macroenabled.12': ['sldm'],\n 'application/vnd.ms-powerpoint.slideshow.macroenabled.12': ['ppsm'],\n 'application/vnd.ms-powerpoint.template.macroenabled.12': ['potm'],\n 'application/vnd.ms-project': ['*mpp', 'mpt'],\n 'application/vnd.ms-word.document.macroenabled.12': ['docm'],\n 'application/vnd.ms-word.template.macroenabled.12': ['dotm'],\n 'application/vnd.ms-works': ['wps', 'wks', 'wcm', 'wdb'],\n 'application/vnd.ms-wpl': ['wpl'],\n 'application/vnd.ms-xpsdocument': ['xps'],\n 'application/vnd.mseq': ['mseq'],\n 'application/vnd.musician': ['mus'],\n 'application/vnd.muvee.style': ['msty'],\n 'application/vnd.mynfc': ['taglet'],\n 'application/vnd.nato.bindingdataobject+xml': ['bdo'],\n 'application/vnd.neurolanguage.nlu': ['nlu'],\n 'application/vnd.nitf': ['ntf', 'nitf'],\n 'application/vnd.noblenet-directory': ['nnd'],\n 'application/vnd.noblenet-sealer': ['nns'],\n 'application/vnd.noblenet-web': ['nnw'],\n 'application/vnd.nokia.n-gage.ac+xml': ['*ac'],\n 'application/vnd.nokia.n-gage.data': ['ngdat'],\n 'application/vnd.nokia.n-gage.symbian.install': ['n-gage'],\n 'application/vnd.nokia.radio-preset': ['rpst'],\n 'application/vnd.nokia.radio-presets': ['rpss'],\n 'application/vnd.novadigm.edm': ['edm'],\n 'application/vnd.novadigm.edx': ['edx'],\n 'application/vnd.novadigm.ext': ['ext'],\n 'application/vnd.oasis.opendocument.chart': ['odc'],\n 'application/vnd.oasis.opendocument.chart-template': ['otc'],\n 'application/vnd.oasis.opendocument.database': ['odb'],\n 'application/vnd.oasis.opendocument.formula': ['odf'],\n 'application/vnd.oasis.opendocument.formula-template': ['odft'],\n 'application/vnd.oasis.opendocument.graphics': ['odg'],\n 'application/vnd.oasis.opendocument.graphics-template': ['otg'],\n 'application/vnd.oasis.opendocument.image': ['odi'],\n 'application/vnd.oasis.opendocument.image-template': ['oti'],\n 'application/vnd.oasis.opendocument.presentation': ['odp'],\n 'application/vnd.oasis.opendocument.presentation-template': ['otp'],\n 'application/vnd.oasis.opendocument.spreadsheet': ['ods'],\n 'application/vnd.oasis.opendocument.spreadsheet-template': ['ots'],\n 'application/vnd.oasis.opendocument.text': ['odt'],\n 'application/vnd.oasis.opendocument.text-master': ['odm'],\n 'application/vnd.oasis.opendocument.text-template': ['ott'],\n 'application/vnd.oasis.opendocument.text-web': ['oth'],\n 'application/vnd.olpc-sugar': ['xo'],\n 'application/vnd.oma.dd2+xml': ['dd2'],\n 'application/vnd.openblox.game+xml': ['obgx'],\n 'application/vnd.openofficeorg.extension': ['oxt'],\n 'application/vnd.openstreetmap.data+xml': ['osm'],\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': [\n 'pptx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slide': [\n 'sldx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': [\n 'ppsx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.template': [\n 'potx',\n ],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['xlsx'],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': [\n 'xltx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [\n 'docx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': [\n 'dotx',\n ],\n 'application/vnd.osgeo.mapguide.package': ['mgp'],\n 'application/vnd.osgi.dp': ['dp'],\n 'application/vnd.osgi.subsystem': ['esa'],\n 'application/vnd.palm': ['pdb', 'pqa', 'oprc'],\n 'application/vnd.pawaafile': ['paw'],\n 'application/vnd.pg.format': ['str'],\n 'application/vnd.pg.osasli': ['ei6'],\n 'application/vnd.picsel': ['efif'],\n 'application/vnd.pmi.widget': ['wg'],\n 'application/vnd.pocketlearn': ['plf'],\n 'application/vnd.powerbuilder6': ['pbd'],\n 'application/vnd.previewsystems.box': ['box'],\n 'application/vnd.proteus.magazine': ['mgz'],\n 'application/vnd.publishare-delta-tree': ['qps'],\n 'application/vnd.pvi.ptid1': ['ptid'],\n 'application/vnd.pwg-xhtml-print+xml': ['xhtm'],\n 'application/vnd.quark.quarkxpress': [\n 'qxd',\n 'qxt',\n 'qwd',\n 'qwt',\n 'qxl',\n 'qxb',\n ],\n 'application/vnd.rar': ['rar'],\n 'application/vnd.realvnc.bed': ['bed'],\n 'application/vnd.recordare.musicxml': ['mxl'],\n 'application/vnd.recordare.musicxml+xml': ['musicxml'],\n 'application/vnd.rig.cryptonote': ['cryptonote'],\n 'application/vnd.rim.cod': ['cod'],\n 'application/vnd.rn-realmedia': ['rm'],\n 'application/vnd.rn-realmedia-vbr': ['rmvb'],\n 'application/vnd.route66.link66+xml': ['link66'],\n 'application/vnd.sailingtracker.track': ['st'],\n 'application/vnd.seemail': ['see'],\n 'application/vnd.sema': ['sema'],\n 'application/vnd.semd': ['semd'],\n 'application/vnd.semf': ['semf'],\n 'application/vnd.shana.informed.formdata': ['ifm'],\n 'application/vnd.shana.informed.formtemplate': ['itp'],\n 'application/vnd.shana.informed.interchange': ['iif'],\n 'application/vnd.shana.informed.package': ['ipk'],\n 'application/vnd.simtech-mindmapper': ['twd', 'twds'],\n 'application/vnd.smaf': ['mmf'],\n 'application/vnd.smart.teacher': ['teacher'],\n 'application/vnd.software602.filler.form+xml': ['fo'],\n 'application/vnd.solent.sdkm+xml': ['sdkm', 'sdkd'],\n 'application/vnd.spotfire.dxp': ['dxp'],\n 'application/vnd.spotfire.sfs': ['sfs'],\n 'application/vnd.stardivision.calc': ['sdc'],\n 'application/vnd.stardivision.draw': ['sda'],\n 'application/vnd.stardivision.impress': ['sdd'],\n 'application/vnd.stardivision.math': ['smf'],\n 'application/vnd.stardivision.writer': ['sdw', 'vor'],\n 'application/vnd.stardivision.writer-global': ['sgl'],\n 'application/vnd.stepmania.package': ['smzip'],\n 'application/vnd.stepmania.stepchart': ['sm'],\n 'application/vnd.sun.wadl+xml': ['wadl'],\n 'application/vnd.sun.xml.calc': ['sxc'],\n 'application/vnd.sun.xml.calc.template': ['stc'],\n 'application/vnd.sun.xml.draw': ['sxd'],\n 'application/vnd.sun.xml.draw.template': ['std'],\n 'application/vnd.sun.xml.impress': ['sxi'],\n 'application/vnd.sun.xml.impress.template': ['sti'],\n 'application/vnd.sun.xml.math': ['sxm'],\n 'application/vnd.sun.xml.writer': ['sxw'],\n 'application/vnd.sun.xml.writer.global': ['sxg'],\n 'application/vnd.sun.xml.writer.template': ['stw'],\n 'application/vnd.sus-calendar': ['sus', 'susp'],\n 'application/vnd.svd': ['svd'],\n 'application/vnd.symbian.install': ['sis', 'sisx'],\n 'application/vnd.syncml+xml': ['xsm'],\n 'application/vnd.syncml.dm+wbxml': ['bdm'],\n 'application/vnd.syncml.dm+xml': ['xdm'],\n 'application/vnd.syncml.dmddf+xml': ['ddf'],\n 'application/vnd.tao.intent-module-archive': ['tao'],\n 'application/vnd.tcpdump.pcap': ['pcap', 'cap', 'dmp'],\n 'application/vnd.tmobile-livetv': ['tmo'],\n 'application/vnd.trid.tpt': ['tpt'],\n 'application/vnd.triscape.mxs': ['mxs'],\n 'application/vnd.trueapp': ['tra'],\n 'application/vnd.ufdl': ['ufd', 'ufdl'],\n 'application/vnd.uiq.theme': ['utz'],\n 'application/vnd.umajin': ['umj'],\n 'application/vnd.unity': ['unityweb'],\n 'application/vnd.uoml+xml': ['uoml', 'uo'],\n 'application/vnd.vcx': ['vcx'],\n 'application/vnd.visio': ['vsd', 'vst', 'vss', 'vsw'],\n 'application/vnd.visionary': ['vis'],\n 'application/vnd.vsf': ['vsf'],\n 'application/vnd.wap.wbxml': ['wbxml'],\n 'application/vnd.wap.wmlc': ['wmlc'],\n 'application/vnd.wap.wmlscriptc': ['wmlsc'],\n 'application/vnd.webturbo': ['wtb'],\n 'application/vnd.wolfram.player': ['nbp'],\n 'application/vnd.wordperfect': ['wpd'],\n 'application/vnd.wqd': ['wqd'],\n 'application/vnd.wt.stf': ['stf'],\n 'application/vnd.xara': ['xar'],\n 'application/vnd.xfdl': ['xfdl'],\n 'application/vnd.yamaha.hv-dic': ['hvd'],\n 'application/vnd.yamaha.hv-script': ['hvs'],\n 'application/vnd.yamaha.hv-voice': ['hvp'],\n 'application/vnd.yamaha.openscoreformat': ['osf'],\n 'application/vnd.yamaha.openscoreformat.osfpvg+xml': ['osfpvg'],\n 'application/vnd.yamaha.smaf-audio': ['saf'],\n 'application/vnd.yamaha.smaf-phrase': ['spf'],\n 'application/vnd.yellowriver-custom-menu': ['cmp'],\n 'application/vnd.zul': ['zir', 'zirz'],\n 'application/vnd.zzazz.deck+xml': ['zaz'],\n 'application/x-7z-compressed': ['7z'],\n 'application/x-abiword': ['abw'],\n 'application/x-ace-compressed': ['ace'],\n 'application/x-apple-diskimage': ['*dmg'],\n 'application/x-arj': ['arj'],\n 'application/x-authorware-bin': ['aab', 'x32', 'u32', 'vox'],\n 'application/x-authorware-map': ['aam'],\n 'application/x-authorware-seg': ['aas'],\n 'application/x-bcpio': ['bcpio'],\n 'application/x-bdoc': ['*bdoc'],\n 'application/x-bittorrent': ['torrent'],\n 'application/x-blorb': ['blb', 'blorb'],\n 'application/x-bzip': ['bz'],\n 'application/x-bzip2': ['bz2', 'boz'],\n 'application/x-cbr': ['cbr', 'cba', 'cbt', 'cbz', 'cb7'],\n 'application/x-cdlink': ['vcd'],\n 'application/x-cfs-compressed': ['cfs'],\n 'application/x-chat': ['chat'],\n 'application/x-chess-pgn': ['pgn'],\n 'application/x-chrome-extension': ['crx'],\n 'application/x-cocoa': ['cco'],\n 'application/x-conference': ['nsc'],\n 'application/x-cpio': ['cpio'],\n 'application/x-csh': ['csh'],\n 'application/x-debian-package': ['*deb', 'udeb'],\n 'application/x-dgc-compressed': ['dgc'],\n 'application/x-director': [\n 'dir',\n 'dcr',\n 'dxr',\n 'cst',\n 'cct',\n 'cxt',\n 'w3d',\n 'fgd',\n 'swa',\n ],\n 'application/x-doom': ['wad'],\n 'application/x-dtbncx+xml': ['ncx'],\n 'application/x-dtbook+xml': ['dtb'],\n 'application/x-dtbresource+xml': ['res'],\n 'application/x-dvi': ['dvi'],\n 'application/x-envoy': ['evy'],\n 'application/x-eva': ['eva'],\n 'application/x-font-bdf': ['bdf'],\n 'application/x-font-ghostscript': ['gsf'],\n 'application/x-font-linux-psf': ['psf'],\n 'application/x-font-pcf': ['pcf'],\n 'application/x-font-snf': ['snf'],\n 'application/x-font-type1': ['pfa', 'pfb', 'pfm', 'afm'],\n 'application/x-freearc': ['arc'],\n 'application/x-futuresplash': ['spl'],\n 'application/x-gca-compressed': ['gca'],\n 'application/x-glulx': ['ulx'],\n 'application/x-gnumeric': ['gnumeric'],\n 'application/x-gramps-xml': ['gramps'],\n 'application/x-gtar': ['gtar'],\n 'application/x-hdf': ['hdf'],\n 'application/x-httpd-php': ['php'],\n 'application/x-install-instructions': ['install'],\n 'application/x-iso9660-image': ['*iso'],\n 'application/x-iwork-keynote-sffkey': ['*key'],\n 'application/x-iwork-numbers-sffnumbers': ['*numbers'],\n 'application/x-iwork-pages-sffpages': ['*pages'],\n 'application/x-java-archive-diff': ['jardiff'],\n 'application/x-java-jnlp-file': ['jnlp'],\n 'application/x-keepass2': ['kdbx'],\n 'application/x-latex': ['latex'],\n 'application/x-lua-bytecode': ['luac'],\n 'application/x-lzh-compressed': ['lzh', 'lha'],\n 'application/x-makeself': ['run'],\n 'application/x-mie': ['mie'],\n 'application/x-mobipocket-ebook': ['*prc', 'mobi'],\n 'application/x-ms-application': ['application'],\n 'application/x-ms-shortcut': ['lnk'],\n 'application/x-ms-wmd': ['wmd'],\n 'application/x-ms-wmz': ['wmz'],\n 'application/x-ms-xbap': ['xbap'],\n 'application/x-msaccess': ['mdb'],\n 'application/x-msbinder': ['obd'],\n 'application/x-mscardfile': ['crd'],\n 'application/x-msclip': ['clp'],\n 'application/x-msdos-program': ['*exe'],\n 'application/x-msdownload': ['*exe', '*dll', 'com', 'bat', '*msi'],\n 'application/x-msmediaview': ['mvb', 'm13', 'm14'],\n 'application/x-msmetafile': ['*wmf', '*wmz', '*emf', 'emz'],\n 'application/x-msmoney': ['mny'],\n 'application/x-mspublisher': ['pub'],\n 'application/x-msschedule': ['scd'],\n 'application/x-msterminal': ['trm'],\n 'application/x-mswrite': ['wri'],\n 'application/x-netcdf': ['nc', 'cdf'],\n 'application/x-ns-proxy-autoconfig': ['pac'],\n 'application/x-nzb': ['nzb'],\n 'application/x-perl': ['pl', 'pm'],\n 'application/x-pilot': ['*prc', '*pdb'],\n 'application/x-pkcs12': ['p12', 'pfx'],\n 'application/x-pkcs7-certificates': ['p7b', 'spc'],\n 'application/x-pkcs7-certreqresp': ['p7r'],\n 'application/x-rar-compressed': ['*rar'],\n 'application/x-redhat-package-manager': ['rpm'],\n 'application/x-research-info-systems': ['ris'],\n 'application/x-sea': ['sea'],\n 'application/x-sh': ['sh'],\n 'application/x-shar': ['shar'],\n 'application/x-shockwave-flash': ['swf'],\n 'application/x-silverlight-app': ['xap'],\n 'application/x-sql': ['*sql'],\n 'application/x-stuffit': ['sit'],\n 'application/x-stuffitx': ['sitx'],\n 'application/x-subrip': ['srt'],\n 'application/x-sv4cpio': ['sv4cpio'],\n 'application/x-sv4crc': ['sv4crc'],\n 'application/x-t3vm-image': ['t3'],\n 'application/x-tads': ['gam'],\n 'application/x-tar': ['tar'],\n 'application/x-tcl': ['tcl', 'tk'],\n 'application/x-tex': ['tex'],\n 'application/x-tex-tfm': ['tfm'],\n 'application/x-texinfo': ['texinfo', 'texi'],\n 'application/x-tgif': ['*obj'],\n 'application/x-ustar': ['ustar'],\n 'application/x-virtualbox-hdd': ['hdd'],\n 'application/x-virtualbox-ova': ['ova'],\n 'application/x-virtualbox-ovf': ['ovf'],\n 'application/x-virtualbox-vbox': ['vbox'],\n 'application/x-virtualbox-vbox-extpack': ['vbox-extpack'],\n 'application/x-virtualbox-vdi': ['vdi'],\n 'application/x-virtualbox-vhd': ['vhd'],\n 'application/x-virtualbox-vmdk': ['vmdk'],\n 'application/x-wais-source': ['src'],\n 'application/x-web-app-manifest+json': ['webapp'],\n 'application/x-x509-ca-cert': ['der', 'crt', 'pem'],\n 'application/x-xfig': ['fig'],\n 'application/x-xliff+xml': ['*xlf'],\n 'application/x-xpinstall': ['xpi'],\n 'application/x-xz': ['xz'],\n 'application/x-zmachine': ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'],\n 'audio/vnd.dece.audio': ['uva', 'uvva'],\n 'audio/vnd.digital-winds': ['eol'],\n 'audio/vnd.dra': ['dra'],\n 'audio/vnd.dts': ['dts'],\n 'audio/vnd.dts.hd': ['dtshd'],\n 'audio/vnd.lucent.voice': ['lvp'],\n 'audio/vnd.ms-playready.media.pya': ['pya'],\n 'audio/vnd.nuera.ecelp4800': ['ecelp4800'],\n 'audio/vnd.nuera.ecelp7470': ['ecelp7470'],\n 'audio/vnd.nuera.ecelp9600': ['ecelp9600'],\n 'audio/vnd.rip': ['rip'],\n 'audio/x-aac': ['*aac'],\n 'audio/x-aiff': ['aif', 'aiff', 'aifc'],\n 'audio/x-caf': ['caf'],\n 'audio/x-flac': ['flac'],\n 'audio/x-m4a': ['*m4a'],\n 'audio/x-matroska': ['mka'],\n 'audio/x-mpegurl': ['m3u'],\n 'audio/x-ms-wax': ['wax'],\n 'audio/x-ms-wma': ['wma'],\n 'audio/x-pn-realaudio': ['ram', 'ra'],\n 'audio/x-pn-realaudio-plugin': ['rmp'],\n 'audio/x-realaudio': ['*ra'],\n 'audio/x-wav': ['*wav'],\n 'chemical/x-cdx': ['cdx'],\n 'chemical/x-cif': ['cif'],\n 'chemical/x-cmdf': ['cmdf'],\n 'chemical/x-cml': ['cml'],\n 'chemical/x-csml': ['csml'],\n 'chemical/x-xyz': ['xyz'],\n 'image/prs.btif': ['btif', 'btf'],\n 'image/prs.pti': ['pti'],\n 'image/vnd.adobe.photoshop': ['psd'],\n 'image/vnd.airzip.accelerator.azv': ['azv'],\n 'image/vnd.dece.graphic': ['uvi', 'uvvi', 'uvg', 'uvvg'],\n 'image/vnd.djvu': ['djvu', 'djv'],\n 'image/vnd.dvb.subtitle': ['*sub'],\n 'image/vnd.dwg': ['dwg'],\n 'image/vnd.dxf': ['dxf'],\n 'image/vnd.fastbidsheet': ['fbs'],\n 'image/vnd.fpx': ['fpx'],\n 'image/vnd.fst': ['fst'],\n 'image/vnd.fujixerox.edmics-mmr': ['mmr'],\n 'image/vnd.fujixerox.edmics-rlc': ['rlc'],\n 'image/vnd.microsoft.icon': ['ico'],\n 'image/vnd.ms-dds': ['dds'],\n 'image/vnd.ms-modi': ['mdi'],\n 'image/vnd.ms-photo': ['wdp'],\n 'image/vnd.net-fpx': ['npx'],\n 'image/vnd.pco.b16': ['b16'],\n 'image/vnd.tencent.tap': ['tap'],\n 'image/vnd.valve.source.texture': ['vtf'],\n 'image/vnd.wap.wbmp': ['wbmp'],\n 'image/vnd.xiff': ['xif'],\n 'image/vnd.zbrush.pcx': ['pcx'],\n 'image/x-3ds': ['3ds'],\n 'image/x-cmu-raster': ['ras'],\n 'image/x-cmx': ['cmx'],\n 'image/x-freehand': ['fh', 'fhc', 'fh4', 'fh5', 'fh7'],\n 'image/x-icon': ['*ico'],\n 'image/x-jng': ['jng'],\n 'image/x-mrsid-image': ['sid'],\n 'image/x-ms-bmp': ['*bmp'],\n 'image/x-pcx': ['*pcx'],\n 'image/x-pict': ['pic', 'pct'],\n 'image/x-portable-anymap': ['pnm'],\n 'image/x-portable-bitmap': ['pbm'],\n 'image/x-portable-graymap': ['pgm'],\n 'image/x-portable-pixmap': ['ppm'],\n 'image/x-rgb': ['rgb'],\n 'image/x-tga': ['tga'],\n 'image/x-xbitmap': ['xbm'],\n 'image/x-xpixmap': ['xpm'],\n 'image/x-xwindowdump': ['xwd'],\n 'message/vnd.wfa.wsc': ['wsc'],\n 'model/vnd.bary': ['bary'],\n 'model/vnd.cld': ['cld'],\n 'model/vnd.collada+xml': ['dae'],\n 'model/vnd.dwf': ['dwf'],\n 'model/vnd.gdl': ['gdl'],\n 'model/vnd.gtw': ['gtw'],\n 'model/vnd.mts': ['*mts'],\n 'model/vnd.opengex': ['ogex'],\n 'model/vnd.parasolid.transmit.binary': ['x_b'],\n 'model/vnd.parasolid.transmit.text': ['x_t'],\n 'model/vnd.pytha.pyox': ['pyo', 'pyox'],\n 'model/vnd.sap.vds': ['vds'],\n 'model/vnd.usda': ['usda'],\n 'model/vnd.usdz+zip': ['usdz'],\n 'model/vnd.valve.source.compiled-map': ['bsp'],\n 'model/vnd.vtu': ['vtu'],\n 'text/prs.lines.tag': ['dsc'],\n 'text/vnd.curl': ['curl'],\n 'text/vnd.curl.dcurl': ['dcurl'],\n 'text/vnd.curl.mcurl': ['mcurl'],\n 'text/vnd.curl.scurl': ['scurl'],\n 'text/vnd.dvb.subtitle': ['sub'],\n 'text/vnd.familysearch.gedcom': ['ged'],\n 'text/vnd.fly': ['fly'],\n 'text/vnd.fmi.flexstor': ['flx'],\n 'text/vnd.graphviz': ['gv'],\n 'text/vnd.in3d.3dml': ['3dml'],\n 'text/vnd.in3d.spot': ['spot'],\n 'text/vnd.sun.j2me.app-descriptor': ['jad'],\n 'text/vnd.wap.wml': ['wml'],\n 'text/vnd.wap.wmlscript': ['wmls'],\n 'text/x-asm': ['s', 'asm'],\n 'text/x-c': ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'],\n 'text/x-component': ['htc'],\n 'text/x-fortran': ['f', 'for', 'f77', 'f90'],\n 'text/x-handlebars-template': ['hbs'],\n 'text/x-java-source': ['java'],\n 'text/x-lua': ['lua'],\n 'text/x-markdown': ['mkd'],\n 'text/x-nfo': ['nfo'],\n 'text/x-opml': ['opml'],\n 'text/x-org': ['*org'],\n 'text/x-pascal': ['p', 'pas'],\n 'text/x-processing': ['pde'],\n 'text/x-sass': ['sass'],\n 'text/x-scss': ['scss'],\n 'text/x-setext': ['etx'],\n 'text/x-sfv': ['sfv'],\n 'text/x-suse-ymp': ['ymp'],\n 'text/x-uuencode': ['uu'],\n 'text/x-vcalendar': ['vcs'],\n 'text/x-vcard': ['vcf'],\n 'video/vnd.dece.hd': ['uvh', 'uvvh'],\n 'video/vnd.dece.mobile': ['uvm', 'uvvm'],\n 'video/vnd.dece.pd': ['uvp', 'uvvp'],\n 'video/vnd.dece.sd': ['uvs', 'uvvs'],\n 'video/vnd.dece.video': ['uvv', 'uvvv'],\n 'video/vnd.dvb.file': ['dvb'],\n 'video/vnd.fvt': ['fvt'],\n 'video/vnd.mpegurl': ['mxu', 'm4u'],\n 'video/vnd.ms-playready.media.pyv': ['pyv'],\n 'video/vnd.uvvu.mp4': ['uvu', 'uvvu'],\n 'video/vnd.vivo': ['viv'],\n 'video/x-f4v': ['f4v'],\n 'video/x-fli': ['fli'],\n 'video/x-flv': ['flv'],\n 'video/x-m4v': ['m4v'],\n 'video/x-matroska': ['mkv', 'mk3d', 'mks'],\n 'video/x-mng': ['mng'],\n 'video/x-ms-asf': ['asf', 'asx'],\n 'video/x-ms-vob': ['vob'],\n 'video/x-ms-wm': ['wm'],\n 'video/x-ms-wmv': ['wmv'],\n 'video/x-ms-wmx': ['wmx'],\n 'video/x-ms-wvx': ['wvx'],\n 'video/x-msvideo': ['avi'],\n 'video/x-sgi-movie': ['movie'],\n 'video/x-smv': ['smv'],\n 'x-conference/x-cooltalk': ['ice'],\n};\nObject.freeze(types);\nexport default types;\n","const types = {\n 'application/andrew-inset': ['ez'],\n 'application/appinstaller': ['appinstaller'],\n 'application/applixware': ['aw'],\n 'application/appx': ['appx'],\n 'application/appxbundle': ['appxbundle'],\n 'application/atom+xml': ['atom'],\n 'application/atomcat+xml': ['atomcat'],\n 'application/atomdeleted+xml': ['atomdeleted'],\n 'application/atomsvc+xml': ['atomsvc'],\n 'application/atsc-dwd+xml': ['dwd'],\n 'application/atsc-held+xml': ['held'],\n 'application/atsc-rsat+xml': ['rsat'],\n 'application/automationml-aml+xml': ['aml'],\n 'application/automationml-amlx+zip': ['amlx'],\n 'application/bdoc': ['bdoc'],\n 'application/calendar+xml': ['xcs'],\n 'application/ccxml+xml': ['ccxml'],\n 'application/cdfx+xml': ['cdfx'],\n 'application/cdmi-capability': ['cdmia'],\n 'application/cdmi-container': ['cdmic'],\n 'application/cdmi-domain': ['cdmid'],\n 'application/cdmi-object': ['cdmio'],\n 'application/cdmi-queue': ['cdmiq'],\n 'application/cpl+xml': ['cpl'],\n 'application/cu-seeme': ['cu'],\n 'application/cwl': ['cwl'],\n 'application/dash+xml': ['mpd'],\n 'application/dash-patch+xml': ['mpp'],\n 'application/davmount+xml': ['davmount'],\n 'application/docbook+xml': ['dbk'],\n 'application/dssc+der': ['dssc'],\n 'application/dssc+xml': ['xdssc'],\n 'application/ecmascript': ['ecma'],\n 'application/emma+xml': ['emma'],\n 'application/emotionml+xml': ['emotionml'],\n 'application/epub+zip': ['epub'],\n 'application/exi': ['exi'],\n 'application/express': ['exp'],\n 'application/fdf': ['fdf'],\n 'application/fdt+xml': ['fdt'],\n 'application/font-tdpfr': ['pfr'],\n 'application/geo+json': ['geojson'],\n 'application/gml+xml': ['gml'],\n 'application/gpx+xml': ['gpx'],\n 'application/gxf': ['gxf'],\n 'application/gzip': ['gz'],\n 'application/hjson': ['hjson'],\n 'application/hyperstudio': ['stk'],\n 'application/inkml+xml': ['ink', 'inkml'],\n 'application/ipfix': ['ipfix'],\n 'application/its+xml': ['its'],\n 'application/java-archive': ['jar', 'war', 'ear'],\n 'application/java-serialized-object': ['ser'],\n 'application/java-vm': ['class'],\n 'application/javascript': ['*js'],\n 'application/json': ['json', 'map'],\n 'application/json5': ['json5'],\n 'application/jsonml+json': ['jsonml'],\n 'application/ld+json': ['jsonld'],\n 'application/lgr+xml': ['lgr'],\n 'application/lost+xml': ['lostxml'],\n 'application/mac-binhex40': ['hqx'],\n 'application/mac-compactpro': ['cpt'],\n 'application/mads+xml': ['mads'],\n 'application/manifest+json': ['webmanifest'],\n 'application/marc': ['mrc'],\n 'application/marcxml+xml': ['mrcx'],\n 'application/mathematica': ['ma', 'nb', 'mb'],\n 'application/mathml+xml': ['mathml'],\n 'application/mbox': ['mbox'],\n 'application/media-policy-dataset+xml': ['mpf'],\n 'application/mediaservercontrol+xml': ['mscml'],\n 'application/metalink+xml': ['metalink'],\n 'application/metalink4+xml': ['meta4'],\n 'application/mets+xml': ['mets'],\n 'application/mmt-aei+xml': ['maei'],\n 'application/mmt-usd+xml': ['musd'],\n 'application/mods+xml': ['mods'],\n 'application/mp21': ['m21', 'mp21'],\n 'application/mp4': ['*mp4', '*mpg4', 'mp4s', 'm4p'],\n 'application/msix': ['msix'],\n 'application/msixbundle': ['msixbundle'],\n 'application/msword': ['doc', 'dot'],\n 'application/mxf': ['mxf'],\n 'application/n-quads': ['nq'],\n 'application/n-triples': ['nt'],\n 'application/node': ['cjs'],\n 'application/octet-stream': [\n 'bin',\n 'dms',\n 'lrf',\n 'mar',\n 'so',\n 'dist',\n 'distz',\n 'pkg',\n 'bpk',\n 'dump',\n 'elc',\n 'deploy',\n 'exe',\n 'dll',\n 'deb',\n 'dmg',\n 'iso',\n 'img',\n 'msi',\n 'msp',\n 'msm',\n 'buffer',\n ],\n 'application/oda': ['oda'],\n 'application/oebps-package+xml': ['opf'],\n 'application/ogg': ['ogx'],\n 'application/omdoc+xml': ['omdoc'],\n 'application/onenote': ['onetoc', 'onetoc2', 'onetmp', 'onepkg'],\n 'application/oxps': ['oxps'],\n 'application/p2p-overlay+xml': ['relo'],\n 'application/patch-ops-error+xml': ['xer'],\n 'application/pdf': ['pdf'],\n 'application/pgp-encrypted': ['pgp'],\n 'application/pgp-keys': ['asc'],\n 'application/pgp-signature': ['sig', '*asc'],\n 'application/pics-rules': ['prf'],\n 'application/pkcs10': ['p10'],\n 'application/pkcs7-mime': ['p7m', 'p7c'],\n 'application/pkcs7-signature': ['p7s'],\n 'application/pkcs8': ['p8'],\n 'application/pkix-attr-cert': ['ac'],\n 'application/pkix-cert': ['cer'],\n 'application/pkix-crl': ['crl'],\n 'application/pkix-pkipath': ['pkipath'],\n 'application/pkixcmp': ['pki'],\n 'application/pls+xml': ['pls'],\n 'application/postscript': ['ai', 'eps', 'ps'],\n 'application/provenance+xml': ['provx'],\n 'application/pskc+xml': ['pskcxml'],\n 'application/raml+yaml': ['raml'],\n 'application/rdf+xml': ['rdf', 'owl'],\n 'application/reginfo+xml': ['rif'],\n 'application/relax-ng-compact-syntax': ['rnc'],\n 'application/resource-lists+xml': ['rl'],\n 'application/resource-lists-diff+xml': ['rld'],\n 'application/rls-services+xml': ['rs'],\n 'application/route-apd+xml': ['rapd'],\n 'application/route-s-tsid+xml': ['sls'],\n 'application/route-usd+xml': ['rusd'],\n 'application/rpki-ghostbusters': ['gbr'],\n 'application/rpki-manifest': ['mft'],\n 'application/rpki-roa': ['roa'],\n 'application/rsd+xml': ['rsd'],\n 'application/rss+xml': ['rss'],\n 'application/rtf': ['rtf'],\n 'application/sbml+xml': ['sbml'],\n 'application/scvp-cv-request': ['scq'],\n 'application/scvp-cv-response': ['scs'],\n 'application/scvp-vp-request': ['spq'],\n 'application/scvp-vp-response': ['spp'],\n 'application/sdp': ['sdp'],\n 'application/senml+xml': ['senmlx'],\n 'application/sensml+xml': ['sensmlx'],\n 'application/set-payment-initiation': ['setpay'],\n 'application/set-registration-initiation': ['setreg'],\n 'application/shf+xml': ['shf'],\n 'application/sieve': ['siv', 'sieve'],\n 'application/smil+xml': ['smi', 'smil'],\n 'application/sparql-query': ['rq'],\n 'application/sparql-results+xml': ['srx'],\n 'application/sql': ['sql'],\n 'application/srgs': ['gram'],\n 'application/srgs+xml': ['grxml'],\n 'application/sru+xml': ['sru'],\n 'application/ssdl+xml': ['ssdl'],\n 'application/ssml+xml': ['ssml'],\n 'application/swid+xml': ['swidtag'],\n 'application/tei+xml': ['tei', 'teicorpus'],\n 'application/thraud+xml': ['tfi'],\n 'application/timestamped-data': ['tsd'],\n 'application/toml': ['toml'],\n 'application/trig': ['trig'],\n 'application/ttml+xml': ['ttml'],\n 'application/ubjson': ['ubj'],\n 'application/urc-ressheet+xml': ['rsheet'],\n 'application/urc-targetdesc+xml': ['td'],\n 'application/voicexml+xml': ['vxml'],\n 'application/wasm': ['wasm'],\n 'application/watcherinfo+xml': ['wif'],\n 'application/widget': ['wgt'],\n 'application/winhlp': ['hlp'],\n 'application/wsdl+xml': ['wsdl'],\n 'application/wspolicy+xml': ['wspolicy'],\n 'application/xaml+xml': ['xaml'],\n 'application/xcap-att+xml': ['xav'],\n 'application/xcap-caps+xml': ['xca'],\n 'application/xcap-diff+xml': ['xdf'],\n 'application/xcap-el+xml': ['xel'],\n 'application/xcap-ns+xml': ['xns'],\n 'application/xenc+xml': ['xenc'],\n 'application/xfdf': ['xfdf'],\n 'application/xhtml+xml': ['xhtml', 'xht'],\n 'application/xliff+xml': ['xlf'],\n 'application/xml': ['xml', 'xsl', 'xsd', 'rng'],\n 'application/xml-dtd': ['dtd'],\n 'application/xop+xml': ['xop'],\n 'application/xproc+xml': ['xpl'],\n 'application/xslt+xml': ['*xsl', 'xslt'],\n 'application/xspf+xml': ['xspf'],\n 'application/xv+xml': ['mxml', 'xhvml', 'xvml', 'xvm'],\n 'application/yang': ['yang'],\n 'application/yin+xml': ['yin'],\n 'application/zip': ['zip'],\n 'audio/3gpp': ['*3gpp'],\n 'audio/aac': ['adts', 'aac'],\n 'audio/adpcm': ['adp'],\n 'audio/amr': ['amr'],\n 'audio/basic': ['au', 'snd'],\n 'audio/midi': ['mid', 'midi', 'kar', 'rmi'],\n 'audio/mobile-xmf': ['mxmf'],\n 'audio/mp3': ['*mp3'],\n 'audio/mp4': ['m4a', 'mp4a'],\n 'audio/mpeg': ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],\n 'audio/ogg': ['oga', 'ogg', 'spx', 'opus'],\n 'audio/s3m': ['s3m'],\n 'audio/silk': ['sil'],\n 'audio/wav': ['wav'],\n 'audio/wave': ['*wav'],\n 'audio/webm': ['weba'],\n 'audio/xm': ['xm'],\n 'font/collection': ['ttc'],\n 'font/otf': ['otf'],\n 'font/ttf': ['ttf'],\n 'font/woff': ['woff'],\n 'font/woff2': ['woff2'],\n 'image/aces': ['exr'],\n 'image/apng': ['apng'],\n 'image/avci': ['avci'],\n 'image/avcs': ['avcs'],\n 'image/avif': ['avif'],\n 'image/bmp': ['bmp', 'dib'],\n 'image/cgm': ['cgm'],\n 'image/dicom-rle': ['drle'],\n 'image/dpx': ['dpx'],\n 'image/emf': ['emf'],\n 'image/fits': ['fits'],\n 'image/g3fax': ['g3'],\n 'image/gif': ['gif'],\n 'image/heic': ['heic'],\n 'image/heic-sequence': ['heics'],\n 'image/heif': ['heif'],\n 'image/heif-sequence': ['heifs'],\n 'image/hej2k': ['hej2'],\n 'image/hsj2': ['hsj2'],\n 'image/ief': ['ief'],\n 'image/jls': ['jls'],\n 'image/jp2': ['jp2', 'jpg2'],\n 'image/jpeg': ['jpeg', 'jpg', 'jpe'],\n 'image/jph': ['jph'],\n 'image/jphc': ['jhc'],\n 'image/jpm': ['jpm', 'jpgm'],\n 'image/jpx': ['jpx', 'jpf'],\n 'image/jxl': ['jxl'],\n 'image/jxr': ['jxr'],\n 'image/jxra': ['jxra'],\n 'image/jxrs': ['jxrs'],\n 'image/jxs': ['jxs'],\n 'image/jxsc': ['jxsc'],\n 'image/jxsi': ['jxsi'],\n 'image/jxss': ['jxss'],\n 'image/ktx': ['ktx'],\n 'image/ktx2': ['ktx2'],\n 'image/png': ['png'],\n 'image/sgi': ['sgi'],\n 'image/svg+xml': ['svg', 'svgz'],\n 'image/t38': ['t38'],\n 'image/tiff': ['tif', 'tiff'],\n 'image/tiff-fx': ['tfx'],\n 'image/webp': ['webp'],\n 'image/wmf': ['wmf'],\n 'message/disposition-notification': ['disposition-notification'],\n 'message/global': ['u8msg'],\n 'message/global-delivery-status': ['u8dsn'],\n 'message/global-disposition-notification': ['u8mdn'],\n 'message/global-headers': ['u8hdr'],\n 'message/rfc822': ['eml', 'mime'],\n 'model/3mf': ['3mf'],\n 'model/gltf+json': ['gltf'],\n 'model/gltf-binary': ['glb'],\n 'model/iges': ['igs', 'iges'],\n 'model/jt': ['jt'],\n 'model/mesh': ['msh', 'mesh', 'silo'],\n 'model/mtl': ['mtl'],\n 'model/obj': ['obj'],\n 'model/prc': ['prc'],\n 'model/step+xml': ['stpx'],\n 'model/step+zip': ['stpz'],\n 'model/step-xml+zip': ['stpxz'],\n 'model/stl': ['stl'],\n 'model/u3d': ['u3d'],\n 'model/vrml': ['wrl', 'vrml'],\n 'model/x3d+binary': ['*x3db', 'x3dbz'],\n 'model/x3d+fastinfoset': ['x3db'],\n 'model/x3d+vrml': ['*x3dv', 'x3dvz'],\n 'model/x3d+xml': ['x3d', 'x3dz'],\n 'model/x3d-vrml': ['x3dv'],\n 'text/cache-manifest': ['appcache', 'manifest'],\n 'text/calendar': ['ics', 'ifb'],\n 'text/coffeescript': ['coffee', 'litcoffee'],\n 'text/css': ['css'],\n 'text/csv': ['csv'],\n 'text/html': ['html', 'htm', 'shtml'],\n 'text/jade': ['jade'],\n 'text/javascript': ['js', 'mjs'],\n 'text/jsx': ['jsx'],\n 'text/less': ['less'],\n 'text/markdown': ['md', 'markdown'],\n 'text/mathml': ['mml'],\n 'text/mdx': ['mdx'],\n 'text/n3': ['n3'],\n 'text/plain': ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'ini'],\n 'text/richtext': ['rtx'],\n 'text/rtf': ['*rtf'],\n 'text/sgml': ['sgml', 'sgm'],\n 'text/shex': ['shex'],\n 'text/slim': ['slim', 'slm'],\n 'text/spdx': ['spdx'],\n 'text/stylus': ['stylus', 'styl'],\n 'text/tab-separated-values': ['tsv'],\n 'text/troff': ['t', 'tr', 'roff', 'man', 'me', 'ms'],\n 'text/turtle': ['ttl'],\n 'text/uri-list': ['uri', 'uris', 'urls'],\n 'text/vcard': ['vcard'],\n 'text/vtt': ['vtt'],\n 'text/wgsl': ['wgsl'],\n 'text/xml': ['*xml'],\n 'text/yaml': ['yaml', 'yml'],\n 'video/3gpp': ['3gp', '3gpp'],\n 'video/3gpp2': ['3g2'],\n 'video/h261': ['h261'],\n 'video/h263': ['h263'],\n 'video/h264': ['h264'],\n 'video/iso.segment': ['m4s'],\n 'video/jpeg': ['jpgv'],\n 'video/jpm': ['*jpm', '*jpgm'],\n 'video/mj2': ['mj2', 'mjp2'],\n 'video/mp2t': ['ts', 'm2t', 'm2ts', 'mts'],\n 'video/mp4': ['mp4', 'mp4v', 'mpg4'],\n 'video/mpeg': ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],\n 'video/ogg': ['ogv'],\n 'video/quicktime': ['qt', 'mov'],\n 'video/webm': ['webm'],\n};\nObject.freeze(types);\nexport default types;\n","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Mime_extensionToType, _Mime_typeToExtension, _Mime_typeToExtensions;\nclass Mime {\n constructor(...args) {\n _Mime_extensionToType.set(this, new Map());\n _Mime_typeToExtension.set(this, new Map());\n _Mime_typeToExtensions.set(this, new Map());\n for (const arg of args) {\n this.define(arg);\n }\n }\n define(typeMap, force = false) {\n for (let [type, extensions] of Object.entries(typeMap)) {\n type = type.toLowerCase();\n extensions = extensions.map((ext) => ext.toLowerCase());\n if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").has(type)) {\n __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").set(type, new Set());\n }\n const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type);\n let first = true;\n for (let extension of extensions) {\n const starred = extension.startsWith('*');\n extension = starred ? extension.slice(1) : extension;\n allExtensions?.add(extension);\n if (first) {\n __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").set(type, extension);\n }\n first = false;\n if (starred)\n continue;\n const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(extension);\n if (currentType && currentType != type && !force) {\n throw new Error(`\"${type} -> ${extension}\" conflicts with \"${currentType} -> ${extension}\". Pass \\`force=true\\` to override this definition.`);\n }\n __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").set(extension, type);\n }\n }\n return this;\n }\n getType(path) {\n if (typeof path !== 'string')\n return null;\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n const ext = last.replace(/^.*\\./, '').toLowerCase();\n const hasPath = last.length < path.length;\n const hasDot = ext.length < last.length - 1;\n if (!hasDot && hasPath)\n return null;\n return __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(ext) ?? null;\n }\n getExtension(type) {\n if (typeof type !== 'string')\n return null;\n type = type?.split?.(';')[0];\n return ((type && __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").get(type.trim().toLowerCase())) ?? null);\n }\n getAllExtensions(type) {\n if (typeof type !== 'string')\n return null;\n return __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type.toLowerCase()) ?? null;\n }\n _freeze() {\n this.define = () => {\n throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');\n };\n Object.freeze(this);\n for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").values()) {\n Object.freeze(extensions);\n }\n return this;\n }\n _getTestState() {\n return {\n types: __classPrivateFieldGet(this, _Mime_extensionToType, \"f\"),\n extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\"),\n };\n }\n}\n_Mime_extensionToType = new WeakMap(), _Mime_typeToExtension = new WeakMap(), _Mime_typeToExtensions = new WeakMap();\nexport default Mime;\n","import otherTypes from '../types/other.js';\nimport standardTypes from '../types/standard.js';\nimport Mime from './Mime.js';\nexport { default as Mime } from './Mime.js';\nexport default new Mime(standardTypes, otherTypes)._freeze();\n","import { computed, type Ref } from 'vue';\nimport { useI18n } from '@/utils/ts/i18n';\nimport mime from 'mime';\nimport messages from '../../messages.json';\n\ntype MessageSchema = (typeof messages)['en-US'];\n\n/**\n * Transforms a file extension to uppercase or a MIME type to an uppercase\n * extension prefixed by a dot:\n *\n * .jpeg -> .JPEG\n * application/pdf -> .PDF\n *\n * @param type Extension or Mime type string\n * @returns Extension\n */\nfunction getExtension(type: string) {\n // Is mimetype\n if (type.includes('/')) {\n return `.${mime.getExtension(type).toUpperCase()}`;\n }\n\n // Is extension\n return type.toUpperCase();\n}\n\n/**\n * Transforms a list of accepted file types or MIME types @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept}\n * into a human readable list of file extentions.\n *\n * .jpeg -> .JPEG\n * application/pdf -> .PDF\n *\n * @param accept String containing a list of unique file type specifiers.\n * @returns String with types transformed to human readable text\n */\nexport function useFileTypeList(accept?: Ref<string>) {\n const { locale, t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const supportedFileTypeList = computed<string>(() => {\n const formatter = new Intl.ListFormat(locale.value, { style: 'short', type: 'unit' });\n\n return accept?.value\n ? formatter.format(\n accept.value.split(',').map(type => {\n const value = type.trim();\n switch (value) {\n case 'audio/*':\n return t('audioFiles');\n case 'image/*':\n return t('imageFiles');\n case 'video/*':\n return t('videoFiles');\n default:\n return getExtension(type);\n }\n })\n )\n : null;\n });\n\n return { supportedFileTypeList };\n}\n","import { computed, reactive } from 'vue';\nimport mime from 'mime';\nimport { type useDragDropStateProps } from './use-drag-drop-state.types';\n\n/**\n * Transforms a file extension to MIME type.\n * @param type Type or extension to be transformed\n * @returns Extension transformed into MIME type\n */\nfunction transformExtensionToMimeType(type: string) {\n // When getType is \"null\" the value is a mime type\n return mime.getType(type) ?? type;\n}\n\n/**\n * Provides a set of states for the Drag and drop component as well as a set of errors calculated\n * during the \"dragenter\" event.\n *\n * The errors prevent the files from being dropped.\n * The state helps indicating what's the current state of the component.\n *\n * @param options Properties used to validate files when they are dragged inside the file uploader\n * @returns Drag state and errors calculated during the validation perfomed on the Drag event\n */\nexport function useDragDropState({ maxCount, accept }: useDragDropStateProps) {\n const dragErrors = reactive({\n invalidTypes: false,\n partiallyInvalidTypes: false,\n maxCountOverflow: false,\n });\n\n const dragState = reactive({\n dragging: false,\n error: false,\n });\n\n // Convert all extensions to MIME types\n const acceptMimeTypes = computed<Array<string>>(() => {\n if (!accept.value) {\n return undefined;\n }\n\n const types = accept.value\n .split(',') // Split all comma values\n .map(type => transformExtensionToMimeType(type.trim().toLocaleLowerCase()));\n return types;\n });\n\n /**\n * Resets to default the states provided by the composable\n */\n function resetDragState() {\n dragState.dragging = false;\n dragState.error = false;\n dragErrors.invalidTypes = false;\n dragErrors.partiallyInvalidTypes = false;\n dragErrors.maxCountOverflow = false;\n }\n\n /**\n * Validates if the files being dragged into the component meet all\n * restrictions applied by the MIME type through the \"action\" and\n * with the \"maxCount\" props\n *\n * @param totalFilesCount Total amount of files currently uploded\n * @param event Event triggered by the \"onenter\" action\n */\n function onDragEnterValidations(totalFilesCount: number, event: DragEvent) {\n // Enable dragging\n dragState.dragging = true;\n\n // Show error when the amount of files being dragged is higher than \"maxCount\"\n if (!event.dataTransfer.types.includes('Files') || totalFilesCount > maxCount.value) {\n dragErrors.maxCountOverflow = true;\n dragState.error = true;\n }\n\n // Do nothing if no file type/extension restrictions are set\n if (!acceptMimeTypes.value) {\n return;\n }\n\n let countValidFiles = 0;\n\n for (const file of event.dataTransfer.items) {\n if (acceptMimeTypes.value.includes(file.type)) {\n countValidFiles++;\n }\n }\n\n if (countValidFiles === 0) {\n dragState.error = true;\n dragErrors.invalidTypes = true;\n return;\n }\n\n // If some files have non-accepted types\n if (!dragErrors.invalidTypes && countValidFiles !== event.dataTransfer.items.length) {\n dragState.error = true;\n dragErrors.partiallyInvalidTypes = true;\n }\n }\n\n return {\n dragState,\n dragErrors,\n resetDragState,\n onDragEnterValidations,\n };\n}\n","<template>\n <div class=\"b-file-uploader\" :class=\"conditionalClasses\">\n <field-label\n :id=\"fieldLabelId\"\n class=\"b-file-uploader__label\"\n :for=\"inputFieldId\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :tooltip-text=\"tooltipText\"\n />\n\n <input\n :id=\"inputFieldId\"\n ref=\"inputRef\"\n :aria-required=\"required\"\n type=\"file\"\n tabindex=\"-1\"\n data-testid=\"input\"\n class=\"b-file-uploader__input\"\n :accept=\"accept\"\n :disabled=\"disabled\"\n :multiple=\"isMultiple\"\n @change=\"onInputChange\"\n @click=\"onInputClick\"\n @invalid.prevent\n />\n\n <!-- Used to separate the a11y text with breaks for the reader. Hidden to users -->\n <span :id=\"commaTextId\" aria-hidden=\"true\" class=\"b-file-uploader__invisible-comma\"> , </span>\n\n <div\n v-if=\"!hideArea\"\n ref=\"dropAreaRef\"\n :aria-labelledby=\"fileUploadAriaLabelledBy\"\n class=\"b-file-uploader__area\"\n role=\"button\"\n :aria-disabled=\"disabled\"\n :tabindex=\"disabled ? -1 : 0\"\n @click=\"inputRef.click()\"\n @dragenter.stop.prevent=\"onDragEnter\"\n @dragleave.stop.prevent=\"onDragLeave\"\n @drop.stop.prevent=\"onDrop\"\n @dragover=\"onDragOver\"\n @keydown.enter.prevent.capture=\"inputRef.click()\"\n @keydown.space.prevent.capture=\"inputRef.click()\"\n >\n <div class=\"b-file-uploader__icon\" aria-hidden=\"true\">\n <warning-filled-icon v-if=\"hasError\" />\n <upload-icon v-else />\n </div>\n\n <template v-if=\"!condensed\">\n <bento-typography :id=\"dropFilesTextId\" el=\"span\" strongest class=\"b-file-uploader__title\">\n {{ tc('dropFiles', maxCount) }}\n </bento-typography>\n\n <bento-typography v-if=\"description\" :id=\"customTextId\" el=\"span\" class=\"b-file-uploader__description\">\n {{ description }}\n </bento-typography>\n\n <file-uploader-restrictions v-bind=\"fileUploadRestrictionsProps\" :id=\"fileUploaderRestrictionsId\" />\n </template>\n\n <bento-typography :id=\"browseFilesButtonId\" stronger class=\"b-file-uploader__button\">\n {{ t('browseFiles') }}\n </bento-typography>\n </div>\n\n <error-message\n v-if=\"hasError && errorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-file-uploader__error-message\"\n />\n\n <bento-typography\n v-if=\"condensed && description\"\n :id=\"customTextId\"\n aria-hidden=\"true\"\n el=\"span\"\n class=\"b-file-uploader__description b-file-uploader__description--condensed\"\n >\n {{ description }}\n </bento-typography>\n\n <file-uploader-restrictions\n v-if=\"condensed\"\n v-bind=\"fileUploadRestrictionsProps\"\n :id=\"fileUploaderRestrictionsId\"\n />\n\n <bento-alert v-if=\"maxFileCountError\" type=\"critical\">\n {{ t('tooManyFiles') }}\n <template #description>\n {{ t('youHaveExceededTheMaximum', { count: n(props.maxCount) }) }}\n </template>\n </bento-alert>\n\n <div v-show=\"files?.length\" class=\"b-file-uploader__files\">\n <file-uploader-file-card\n v-for=\"(file, index) in files\"\n :ref=\"registerFileCardRef(index)\"\n :key=\"file.id\"\n :file=\"file\"\n :supported-file-types=\"supportedFileTypeList\"\n :readonly=\"readonly\"\n @cancel=\"removeFile(file)\"\n @remove=\"removeFile(file)\"\n />\n </div>\n <bento-typography v-if=\"!files?.length && readonly\" class=\"b-file-uploader__no-files\" wide>{{\n t('noFilesUploaded')\n }}</bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\n import UploadIcon from '@adyen/ui-assets-icons-16/vue/upload';\n import WarningFilledIcon from '@adyen/ui-assets-icons-16/vue/warning-filled';\n\n import { BentoAlert } from '@/components/alert';\n import { BentoTypography } from '@/components/typography';\n import { ErrorMessage, FieldLabel } from '@/internal';\n import { FileUploaderFileCard } from './components/file-uploader-file-card';\n import { FileUploaderRestrictions } from './components/file-uploader-restrictions';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/utils/ts/generate-uid';\n import { getFileType, isFileTypeAccepted, readFile } from './utils';\n import { useFileTypeList } from './composables';\n import { useDragDropState } from '@/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useFormFieldEmits } from '@/utils/ts/form-field/form-field';\n\n import {\n FileErrorType,\n type FileMaxSize,\n type FileObject,\n FileState,\n FileUploaderState,\n } from './file-uploader.internal.types';\n import { type BentoFileUploaderProps, type BentoFileUploaderValue } from './file-uploader.types';\n import type { FileUploaderRestrictionsProps } from '@/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t, tc, n } = useI18n<{ message: MessageSchema }>({ messages });\n\n const emit = defineEmits([\"change\", \"update:model-value\", \"error:upload\"]);\n\n const props = defineProps({\n description: { default: null },\n disabled: { type: Boolean, default: false },\n errorMessage: { default: null },\n label: { default: null },\n optional: { type: Boolean, default: false },\n placeholder: null,\n readonly: { type: Boolean },\n required: { type: Boolean, default: false },\n tooltipText: { default: null },\n accept: { default: null },\n condensed: { type: Boolean, default: false },\n maxCount: { default: 1 },\n maxDimensions: { default: null },\n maxSize: { default: null },\n modelValue: { default: null }\n});\n\n const { emitValue } = useFormFieldEmits<BentoFileUploaderValue>(emit);\n\n /**\n * Model value checks\n * Filter out type string, array and file as FileList is the only type un-deprecated for modelValue\n * */\n\n /**\n * Type guard to check if the value is a FileList.\n * @param files The value to check.\n */\n function isFileList(files: BentoFileUploaderValue): files is FileList {\n return (\n !!files && typeof (files as FileList).length === 'number' && typeof (files as FileList).item === 'function'\n );\n }\n\n /**\n * Used as vitest recognizes FileList as an Array of Files which then\n * causes any tests with pre-uploaded files to fail as isFileList will fail.\n * */\n onMounted(() => {\n // Model is not a FileList\n if (!isFileList(props.modelValue)) {\n deprecate(\n 'BentoFileUploaderValue types: string | Array<string> | File | Array<File>',\n 'Use FileList instead.',\n '2.0.0'\n );\n }\n });\n\n const { supportedFileTypeList } = useFileTypeList(toRef(props, 'accept'));\n\n const browseFilesButtonId = generateUid('browse-button');\n const customTextId = generateUid('custom-text');\n const dropFilesTextId = generateUid('drop-files-text');\n const commaTextId = generateUid('comma-text');\n const fileUploaderRestrictionsId = generateUid('file-uploader-restrictions');\n const fieldLabelId = generateUid('field-label');\n\n const files = ref<Array<FileObject>>(null);\n const fileCardRefs = ref<Array<InstanceType<typeof FileUploaderFileCard>>>([]);\n const inputRef = ref<HTMLInputElement>(null);\n const dropAreaRef = ref<HTMLDivElement>(null);\n const inputFieldId = generateUid('input');\n const errorId = generateUid('input-error');\n\n const fileUploadAriaLabelledBy = computed(() => {\n const formattedFieldLabelId = props.label ? `${fieldLabelId} ${commaTextId}` : '';\n const formattedDropFileTextId = !props.condensed ? `${dropFilesTextId} ${commaTextId}` : '';\n const formattedCustomTextId = props.description ? `${customTextId} ${commaTextId}` : '';\n const formattedFileUploaderRestrictionsId = `${fileUploaderRestrictionsId} ${commaTextId}`;\n return `${formattedFieldLabelId} ${formattedDropFileTextId} ${formattedCustomTextId} ${formattedFileUploaderRestrictionsId} ${browseFilesButtonId}`;\n });\n\n const { dragState, dragErrors, resetDragState, onDragEnterValidations } = useDragDropState({\n accept: toRef(props, 'accept'),\n maxCount: toRef(props, 'maxCount'),\n });\n\n const fileUploadRestrictionsProps = computed<FileUploaderRestrictionsProps>(() => ({\n condensed: props.condensed,\n disabled: props.disabled,\n maxCount: isMultiple.value\n ? {\n value: props.maxCount,\n error: dragErrors.maxCountOverflow || maxFileCountError.value,\n }\n : null,\n maxDimensions: props.maxDimensions\n ? {\n value: props.maxDimensions,\n error: files.value?.some(file => file.errors.includes(FileErrorType.ERROR_DIMENSIONS)),\n }\n : null,\n maxSize: props.maxSize\n ? {\n value: props.maxSize,\n error: files.value?.some(file => file.errors.includes(FileErrorType.ERROR_SIZE)),\n }\n : null,\n supportedFileTypes: supportedFileTypeList.value\n ? {\n value: supportedFileTypeList.value,\n error:\n dragErrors.invalidTypes ||\n dragErrors.partiallyInvalidTypes ||\n files.value?.some(file => file.errors.includes(FileErrorType.ERROR_TYPE)),\n }\n : null,\n }));\n // Prevents triggering \"dragleave\" events on children elements\n const enterTarget = ref<EventTarget>();\n\n const conditionalClasses = computed(() => ({\n [`b-file-uploader--${FileUploaderState.DISABLED}`]: props.disabled,\n [`b-file-uploader--${FileUploaderState.DRAG_OVER}`]: dragState.dragging,\n [`b-file-uploader--${FileUploaderState.ERROR}`]: hasError.value,\n [`b-file-uploader--condensed`]: props.condensed,\n }));\n const isMultiple = computed(() => props.maxCount > 1);\n const hideArea = computed(() => (props.maxCount && files.value?.length >= props.maxCount) || props.readonly);\n const loadingStateExists = computed(() => files.value?.some(file => file.state === 'loading'));\n\n const registerFileCardRef = (cardIndex: number) => fileCardRef => {\n fileCardRefs.value[cardIndex] = fileCardRef;\n };\n\n /**\n * Verifies the new list of files and emits the `change` and `update:modelValue` events.\n * @param newList The new list of files to process and emit.\n */\n function emitUpdate(newList: Array<FileObject>) {\n if (newList) {\n verifyFileCount(newList);\n verifyFileSize(newList);\n\n const value = convertToFileList(newList);\n\n emit('change', value);\n emitValue(value);\n } else {\n emit('change', undefined);\n emitValue(undefined);\n }\n }\n\n /** Errors */\n const hasError = computed(() => !!props.errorMessage || dragState.error);\n const maxFileCountError = computed(() => files.value?.length > props.maxCount);\n const maxFileError = ref(false);\n const hasRestrictionError = computed(() => files.value?.some(file => file.state === 'error'));\n\n watch(hasRestrictionError, newValue => {\n // Without this, when files are initially uploaded the component\n // will immediately and unnecessarily emit 'false' and then\n // emit 'true' once processing has done, if errors exists.\n if (loadingStateExists.value) {\n return;\n }\n\n emit('error:upload', newValue);\n });\n\n /**\n * Places the focus to the \"drop area\" after adding or removing a file.\n * If more files can be added, the focus is moved to the \"drop area\".\n * If no more files can be added, the focus is moved to the first file card.\n */\n async function resetFocus() {\n await nextTick();\n\n if (files.value.length === props.maxCount) {\n fileCardRefs.value[0]?.focus();\n return;\n }\n\n dropAreaRef.value.focus();\n }\n\n /**\n * Removes the file from the list of files when the\n * \"remove\" or \"cancel\" events are triggered from\n * the file card component\n * @param file File to be removed\n */\n async function removeFile(file: FileObject) {\n files.value = files.value.filter(({ id }) => id !== file.id);\n\n await resetFocus();\n emitUpdate(files.value);\n }\n\n /** Drag n Drop functions */\n\n /**\n * Creates a FileObject from a native File and tracks its client-load progress.\n * @param file The native File object.\n * @returns A FileObject.\n */\n function processFile(file: File) {\n const fileObject = reactive<FileObject>({\n id: generateUid('file'),\n data: file,\n errors: [],\n progress: null,\n state: FileState.LOADING,\n type: getFileType(file),\n });\n readFile(fileObject, props.accept, props.maxDimensions);\n return fileObject;\n }\n\n /**\n * Prevent opening the file browser when no\n * more files can be added (until one file is removed).\n * @param event Triggered event\n */\n function onInputClick(event: MouseEvent) {\n if (files.value?.length === props.maxCount) {\n event.preventDefault();\n }\n }\n\n /**\n * Sets the file/files to track their progress while being processed\n * @param fileList File or list of files to be processed.\n */\n async function onFileInput(fileList: FileList) {\n // Prevent adding many files if maxCount is 1\n if (props.maxCount === 1 && fileList.length > props.maxCount) {\n resetEnterTarget();\n resetDragState();\n return;\n }\n\n if (isMultiple.value) {\n // Add the new files to the file selection.\n // Removing files should be done by interacting with the file list below the area.\n files.value = [...(files.value || []), ...Array.from(fileList).map(file => processFile(file))];\n } else {\n files.value = [processFile(fileList[0])];\n await resetFocus();\n }\n\n emitUpdate(files.value);\n }\n\n /**\n * Handles the \"dragenter\" event, triggered when the mouse enters the draggable area.\n * Enables the dragging state and sets the dragging error to true to\n * prevent dropping files from being added if there's a general error.\n * @param event Drag event\n */\n function onDragEnter(event: DragEvent) {\n // Prevent changing state if disabled\n if (props.disabled) {\n return;\n }\n\n /**\n * Allows internal components as part of the dragable area.\n * Prevents trigerring \"dragleave\" events on children elements.\n * Set the \"dragarea\" as target\n */\n enterTarget.value = event.target;\n\n const totalFilesCount = (event.dataTransfer.items?.length ?? 0) + (files.value?.length ?? 0);\n onDragEnterValidations(totalFilesCount, event);\n }\n\n /**\n * Resets the reference to the target.\n * This helps preventing loosing the state when dragging over children\n */\n function resetEnterTarget() {\n enterTarget.value = null;\n }\n\n /**\n * Handles the \"dragleave\" event, triggered when the mouse leaves the draggable area.\n * Maintains the dragging state while dragging over children.\n * Resets the states when the mouse leaves the draggable area\n * @param event Drag event\n */\n function onDragLeave(event: DragEvent) {\n // If target enter and leave are the same it means the drag has left the \"dragarea\"\n if (enterTarget.value === event.target) {\n resetEnterTarget();\n resetDragState();\n }\n }\n\n /**\n * Handles the \"dragover\" event, triggered when the mouse moves over the draggable area.\n * Disables the cursor when the component is disabled.\n * @param event Drag event\n */\n function onDragOver(event: DragEvent) {\n event.preventDefault();\n\n // Disable drag n drop and change the cursor if disabled\n if (props.disabled) {\n // eslint-disable-next-line no-param-reassign\n event.dataTransfer.dropEffect = 'none';\n }\n }\n\n /**\n * Hadles the \"drop\" event, triggered when files are dropped inside the draggable area.\n * Processes the files that are dropped.\n * @param event Drag event\n */\n async function onDrop(event: DragEvent) {\n // Prevent events when the input is disabled\n if (props.disabled) {\n return;\n }\n\n if (!dragErrors.invalidTypes && event.dataTransfer.files?.length) {\n onFileInput(event.dataTransfer.files);\n }\n resetEnterTarget();\n resetDragState();\n }\n\n /**\n * Handles the \"change\" event over the \"input\" element.\n * Processes the files that are selected through the browser's file explorer.\n */\n async function onInputChange() {\n if (inputRef.value.files?.length) {\n onFileInput(inputRef.value.files);\n }\n\n // Reset input value\n inputRef.value.value = '';\n await resetFocus();\n }\n\n /** End of drag and drop functions */\n\n /**\n * Watches the modelValue and if set\n * and the type is not deprecated, it processes the files\n * but doesn't emit them as the user already has those files.\n */\n watch(\n () => props.modelValue,\n (newValue: BentoFileUploaderValue) => {\n // Sets the new value if it is a `FileList`. This ignores deprecated value types.\n if (newValue && isFileList(newValue)) {\n const fileList = newValue as FileList;\n\n const fileListArray: Array<File> = Array.from(fileList);\n\n files.value = fileListArray.map(file => processFile(file));\n } else if (!newValue && files.value) {\n // Clear the file list when the value is programmatically unset.\n files.value = null;\n }\n },\n { immediate: true }\n );\n\n function verifyFileCount(fileList: Array<FileObject>) {\n const isValid = props.maxCount && fileList.length <= props.maxCount;\n maxFileError.value = !isValid;\n }\n\n function verifyFileSize(fileList: Array<FileObject>) {\n if (!props.maxSize) {\n return;\n }\n\n fileList.forEach(file => {\n const item = file;\n let maxSizeLimit: number | undefined;\n\n if (Array.isArray(props.maxSize)) {\n const matchingEntry = (props.maxSize as Array<FileMaxSize>).find(entry =>\n isFileTypeAccepted(item.data, entry.fileType)\n );\n maxSizeLimit = matchingEntry?.maxSize;\n } else {\n maxSizeLimit = props.maxSize as number;\n }\n\n if (maxSizeLimit && item.data.size > maxSizeLimit) {\n item.state = FileState.ERROR;\n\n if (!item.errors.includes(FileErrorType.ERROR_SIZE)) {\n item.errors.push(FileErrorType.ERROR_SIZE);\n }\n }\n });\n }\n\n function convertToFileList(fileList: Array<FileObject>) {\n // Filter out files with errors\n const validFiles = fileList.filter(\n ({ errors }) => !errors.includes(FileErrorType.ERROR_LOAD) && !errors.includes(FileErrorType.ERROR_SIZE)\n );\n\n if (validFiles.length) {\n const dataTransfer = new DataTransfer();\n validFiles.forEach(({ data, id }) => {\n dataTransfer.items.add(data);\n });\n return dataTransfer.files;\n }\n return undefined;\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * The file uploader component enables users to upload one or multiple files from their device to our system.\n *\n * @example\n * import { BentoFileUploader, type BentoFileValue } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoFileUploader },\n * template: `\n * <bento-file-uploader\n * accept=\"image/*,video/*,.pdf,.png\"\n * condensed\n * description=\"Custom supporting text\"\n * disabled\n * errorMessage=\"Custom error message\"\n * label=\"Bento file uploader\"\n * :maxCount=\"1\"\n * :maxDimensions=\"{ width: 200, height: 100 }\"\n * :maxSize=\"1000\"\n * v-model=\"files\"\n * :optional=\"false\"\n * required\n * tooltipText=\"Useful information\"\n * />\n * `,\n * setup() {\n * const files = ref<BentoFileValue>()\n * }\n * }\n */\n export default {\n model: { prop: 'modelValue', event: 'update:model-value' },\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader.scss\" />\n"],"names":["instance","getCurrentInstance","uuid","useTruncatedFileName","target","container","isContainerTruncating","ref","observer","disconnectObserver","onUnmounted","onMounted","entries","UNITS","formatFileSize","locale","size","unitIndex","FileState","FileState2","FileErrorType","FileErrorType2","FileUploaderState","FileUploaderState2","FileType","FileType2","textFileExtraTypes","tableFileTypes","slidesFileTypes","compressedFileTypes","getFileType","file","isFileTypeAccepted","accept","acceptPatterns","type","pattern","category","readFile","fileObject","maxDimensions","reader","event","blob","url","img","FILE_TYPE_ICON_MAP","SoundIcon","FolderIcon","AttachmentIcon","ImageIcon","DocumentIcon","CollectionIcon","TableIcon","DocumentLinesIcon","PlayCircleIcon","getFileIcon","getFileIconColor","__default__$2","messages$2","ICON_TIMER","t","useI18n","removeFileButtonRef","cancelFileButtonRef","retryFileButtonRef","fileErrorsSectionId","generateUid","cancelFileButtonId","removeFileButtonId","retryFileButtonId","showFileIcon","props","downloadUrl","computed","hasError","hasLoadError","hasSizeError","hasDimensionsError","hasTypeError","isLoading","progressLabel","sizeLabel","fileNameRef","fileNameContainerRef","isFileNameTruncated","conditionalClasses","conditionalIconClasses","fileUploaderIcon","BentoLoadingIndicator","WarningFilledIcon","CheckmarkCircleFillIcon","watch","value","changeTimer","focus","expose","__default__$1","messages$1","tc","setRestrictionErrorClass","error","isMaxSizeArray","maxFileSizeLabel","computedConditionalFiles","list","entry","displayName","maxDimensionsLabel","width","height","types$1","types","__classPrivateFieldGet","receiver","state","kind","f","_Mime_extensionToType","_Mime_typeToExtension","_Mime_typeToExtensions","Mime","args","arg","typeMap","force","extensions","ext","allExtensions","first","extension","starred","currentType","path","last","hasPath","mime","getExtension","useFileTypeList","formatter","transformExtensionToMimeType","useDragDropState","maxCount","dragErrors","reactive","dragState","acceptMimeTypes","resetDragState","onDragEnterValidations","totalFilesCount","countValidFiles","__default__","messages","n","emitValue","useFormFieldEmits","emit","isFileList","files2","deprecate","supportedFileTypeList","toRef","browseFilesButtonId","customTextId","dropFilesTextId","commaTextId","fileUploaderRestrictionsId","fieldLabelId","files","fileCardRefs","inputRef","dropAreaRef","inputFieldId","errorId","fileUploadAriaLabelledBy","formattedFieldLabelId","formattedDropFileTextId","formattedCustomTextId","formattedFileUploaderRestrictionsId","fileUploadRestrictionsProps","isMultiple","maxFileCountError","enterTarget","hideArea","loadingStateExists","registerFileCardRef","cardIndex","fileCardRef","emitUpdate","newList","verifyFileCount","verifyFileSize","convertToFileList","maxFileError","hasRestrictionError","newValue","resetFocus","nextTick","removeFile","id","processFile","onInputClick","onFileInput","fileList","resetEnterTarget","onDragEnter","onDragLeave","onDragOver","onDrop","onInputChange","fileListArray","isValid","item","maxSizeLimit","validFiles","errors","dataTransfer","data"],"mappings":"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","x_google_ignoreList":[19,20,21,22]}
1
+ {"version":3,"file":"file-uploader.Bo17jWtf.js","sources":["../../../ui-assets/icons-16/dist/vue/upload.vue","../../src/components/file-uploader/components/file-uploader-file-card/composables/use-truncated-file-name.ts","../../src/components/file-uploader/utils/format-file-size/format-file-size.ts","../../src/components/file-uploader/file-uploader.internal.types.ts","../../src/components/file-uploader/utils/get-file-type/get-file-type.ts","../../src/components/file-uploader/utils/read-file/read-file.ts","../../../ui-assets/icons-16/dist/vue/attachment.vue","../../../ui-assets/icons-16/dist/vue/collection.vue","../../../ui-assets/icons-16/dist/vue/document-1.vue","../../../ui-assets/icons-16/dist/vue/document-lines.vue","../../../ui-assets/icons-16/dist/vue/folder.vue","../../../ui-assets/icons-16/dist/vue/image.vue","../../../ui-assets/icons-16/dist/vue/play-circle.vue","../../../ui-assets/icons-16/dist/vue/sound.vue","../../../ui-assets/icons-16/dist/vue/table.vue","../../src/components/file-uploader/components/file-uploader-file-card/utils/get-file-icon/get-file-icon.ts","../../src/components/file-uploader/components/file-uploader-file-card/utils/get-file-icon-color/get-file-icon-color.ts","../../src/components/file-uploader/components/file-uploader-file-card/file-uploader-file-card.vue","../../src/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.vue","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/other.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/standard.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/Mime.js","../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/index.js","../../src/components/file-uploader/composables/use-file-type-list/use-file-type-list.ts","../../src/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state.ts","../../src/components/file-uploader/file-uploader.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.75 12C2.75 12.6904 3.30964 13.25 4 13.25H12C12.6904 13.25 13.25 12.6904 13.25 12V10.25H14.75V12C14.75 13.5188 13.5188 14.75 12 14.75H4C2.48122 14.75 1.25 13.5188 1.25 12V10.25H2.75V12Z\"/><path fill=\"#001222\" d=\"M12.0605 5L11 6.06055L8.75 3.81055V11.75H7.25V3.81055L5 6.06055L3.93945 5L8 0.939453L12.0605 5Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","import { type VueInstance } from '@/types/elements';\nimport { onMounted, onUnmounted, ref, type Ref } from 'vue';\n\n/**\n * Verifies if the content defined is being truncated when it is overflowing the container.\n *\n * @param target Element that contains the text to be truncated\n * @param container Scrollable container that defines the boundaries\n * @returns Boolean indicating whether or not the content will be truncated\n */\nexport function useTruncatedFileName(target: Ref<VueInstance>, container: Ref<HTMLElement>) {\n const isContainerTruncating = ref<boolean>(false);\n let observer: IntersectionObserver;\n\n function disconnectObserver() {\n if (observer) {\n observer.disconnect();\n }\n }\n\n onUnmounted(() => {\n disconnectObserver();\n });\n\n onMounted(() => {\n disconnectObserver();\n\n observer = new IntersectionObserver(\n entries => {\n isContainerTruncating.value = !entries[0].isIntersecting;\n },\n {\n root: container.value,\n threshold: 1.0,\n }\n );\n\n observer.observe(target.value.$el);\n });\n\n return isContainerTruncating;\n}\n","const UNITS = ['byte', 'kilobyte', 'megabyte', 'gigabyte', 'terabyte', 'petabyte'];\n\n/**\n * Converts size in bytes to a human readable format using Binary Prefixes IEC standard\n * For example, it transforms \"1024\" to \"1kB\"\n *\n * Source: https://physics.nist.gov/cuu/Units/binary.html\n *\n * @param locale App's set locale (e.g. en, es, pt-BR)\n * @param size Size of file in bytes\n * @returns Size of file using metrics\n */\nexport function formatFileSize(locale: string, size: number) {\n const unitIndex = Math.max(0, Math.min(Math.floor(Math.log(size) / Math.log(1024)), UNITS.length - 1));\n\n return Intl.NumberFormat(locale, {\n style: 'unit',\n unit: UNITS[unitIndex],\n }).format(size / 1024 ** unitIndex);\n}\n","export enum FileState {\n LOADING = 'loading',\n SUCCESS = 'success',\n ERROR = 'error',\n}\n\nexport enum FileErrorType {\n ERROR_SIZE = 'error-size',\n ERROR_LOAD = 'error-load',\n ERROR_DIMENSIONS = 'error-dimensions',\n ERROR_TYPE = 'error-type',\n}\n\nexport enum FileUploaderState {\n DISABLED = 'disabled',\n DRAG_OVER = 'drag-over',\n ERROR = 'error',\n READONLY = 'readonly',\n}\n\nexport enum FileType {\n TABLE = 'table',\n IMAGE = 'image',\n VIDEO = 'video',\n AUDIO = 'audio',\n TEXT = 'text',\n PDF = 'pdf',\n SLIDES = 'slides',\n COMPRESSED = 'compressed',\n GENERIC = 'generic',\n}\n\nexport interface FileMaxSize {\n fileType: HTMLInputElement['accept'];\n maxSize: number;\n}\n\nexport interface FileObject {\n id: string;\n data: File;\n state: FileState;\n errors: Array<FileErrorType>;\n type: FileType;\n progress: number | null;\n dimensions?: { width: number; height: number };\n}\n\nexport type SupportedFileTypes = string;\n","import { FileType } from '@/components/file-uploader/file-uploader.internal.types';\n\nconst textFileExtraTypes = [\n 'application/msword', // .doc\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', // .docx\n 'application/rtf', // .rtf\n];\n\nconst tableFileTypes = [\n 'application/vnd.ms-excel', // .xls\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', // .xlsx\n 'application/vnd.oasis.opendocument.spreadsheet', //.ods\n 'application/vnd.apple.numbers', // .numbers\n 'application/x-iwork-numbers-sffnumbers', // .numbers\n 'text/csv', // .csv\n];\n\nconst slidesFileTypes = [\n 'application/vnd.ms-powerpoint', // .ppt\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation', // .pptx\n 'application/vnd.oasis.opendocument.presentation', // .odp\n];\n\nconst compressedFileTypes = [\n 'application/zip', // .zip\n 'application/vnd.rar', // .rar\n 'application/x-7z-compressed', // .7z\n 'application/gzip', // .gz, .tar.gz, .tgz\n 'application/x-tar', // .tar\n 'application/x-bzip2', // .bz2\n 'application/x-xz', // .xz\n 'application/x-lzma', // .lzma\n 'application/x-compress', // .Z\n 'application/vnd.ms-cab-compressed', // .cab\n];\n\n/**\n * Categorizes the type of a file. Maps all types of text, image, video,\n * audio and documents to an specific category such as \"text/*\" or \"image/*\" respectively\n * @param file File to be typed\n * @returns Type category of the file being uploaded\n */\nexport function getFileType(file: File) {\n if (tableFileTypes.includes(file.type)) {\n return FileType.TABLE;\n }\n\n if (file.type.startsWith('text/') || textFileExtraTypes.includes(file.type)) {\n return FileType.TEXT;\n }\n\n if (file.type.startsWith('image/')) {\n return FileType.IMAGE;\n }\n\n if (file.type.startsWith('video/')) {\n return FileType.VIDEO;\n }\n\n if (file.type.startsWith('audio/')) {\n return FileType.AUDIO;\n }\n\n if (file.type === 'application/pdf') {\n return FileType.PDF;\n }\n\n if (slidesFileTypes.includes(file.type)) {\n return FileType.SLIDES;\n }\n\n if (compressedFileTypes.includes(file.type)) {\n return FileType.COMPRESSED;\n }\n\n return FileType.GENERIC;\n}\n","import {\n FileErrorType,\n type FileObject,\n FileState,\n FileType,\n} from '@/components/file-uploader/file-uploader.internal.types';\n\n/**\n * Validates if a File has the correct type accepted for the current instance of\n * BentoFileUploader.\n *\n * @param file File being processed\n * @param accept HTML MIME types valid for the file to be processed\n * @returns Whether or not the file has the right type\n */\nexport function isFileTypeAccepted(file: File, accept?: string) {\n if (!accept) {\n return true;\n }\n\n // Split accept attribute into individual rules (e.g., 'image/*', '.png')\n const acceptPatterns = accept.split(',').map(type => type.trim());\n\n for (const pattern of acceptPatterns) {\n if (pattern.startsWith('.')) {\n // Check for file extension\n if (file.name.endsWith(pattern)) {\n return true;\n }\n } else if (pattern.endsWith('/*')) {\n // Check for type category (e.g., 'image/*')\n const category = pattern.split('/')[0];\n if (file.type.startsWith(category)) {\n return true;\n }\n } else if (pattern.includes('/')) {\n // Check for exact MIME type match\n if (file.type === pattern) {\n return true;\n }\n } else {\n // Check for bare extension without dot (e.g., 'pdf')\n if (file.name.endsWith(`.${pattern}`)) {\n return true;\n }\n }\n }\n\n return false; // No matches found\n}\n\n/**\n * Process a file to verify if it fulfills the accepted type restrictions defined in \"accept\",\n * the dimensions for \"image/*\" types defined by \"maxDimensions\". The state of the \"fileObject\" will\n * be updated according to the restrictions or if it was successfully uploaded.\n *\n * @param fileObject File to be processed\n * @param accept HTML MIME types valid for the file to be processed\n * @param maxDimensions Width and height restrictions for \"image/*\" files\n */\nexport function readFile(\n fileObject: FileObject,\n accept?: string,\n maxDimensions?: { width?: number; height?: number }\n): void {\n const reader = new FileReader();\n // Can't be cloned because the events are async\n const file = fileObject; // avoid ESLint no-param-reassign\n\n // Verify file type - skip the rest if invalid\n if (!isFileTypeAccepted(file.data, accept)) {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_TYPE);\n return;\n }\n\n reader.onload = event => {\n if (maxDimensions && file.type === FileType.IMAGE) {\n const blob = new Blob([event.target.result], { type: file.data.type });\n const url = URL.createObjectURL(blob);\n const img = new Image();\n\n img.onload = function () {\n if (img.width > maxDimensions.width || img.height > maxDimensions.height) {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_DIMENSIONS);\n }\n URL.revokeObjectURL(url);\n };\n\n img.onerror = function () {\n URL.revokeObjectURL(url);\n };\n\n img.src = url;\n }\n };\n\n reader.onprogress = event => {\n if (event.lengthComputable) {\n file.progress = (event.loaded / event.total) * 100;\n }\n };\n\n reader.onloadend = () => {\n if (file.state !== FileState.ERROR) {\n file.state = FileState.SUCCESS;\n }\n\n file.progress = null;\n };\n\n reader.onerror = () => {\n file.state = FileState.ERROR;\n file.errors.push(FileErrorType.ERROR_LOAD);\n file.progress = null;\n };\n\n reader.readAsArrayBuffer(file.data);\n}\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g :clip-path=\"'url(#uia-ui-assets/icons-16-attachment__a' + uuid + ')'\"><path fill=\"#001222\" d=\"M7.10655 3.02949C8.98948 1.14706 12.0441 1.14675 13.9269 3.02949C15.8095 4.91225 15.8093 7.96692 13.9269 9.84981L11.1564 12.6203L10.0958 11.5598L12.8663 8.78926C14.1629 7.49216 14.1631 5.38701 12.8663 4.09004C11.5694 2.79309 9.46424 2.79339 8.1671 4.09004L2.72667 9.53047C1.95976 10.2976 1.95963 11.5427 2.72667 12.3098C3.49372 13.0766 4.7389 13.0766 5.50597 12.3098L10.9464 6.86934C11.183 6.63224 11.1832 6.24693 10.9464 6.00996C10.7094 5.77301 10.3242 5.77331 10.087 6.00996L4.4962 11.6008L3.43565 10.5402L9.02647 4.94942C9.8494 4.12698 11.1842 4.12668 12.0069 4.94942C12.8296 5.77217 12.8293 7.107 12.0069 7.92989L6.56651 13.3703C5.21366 14.723 3.01896 14.723 1.66612 13.3703C0.313294 12.0175 0.313425 9.82283 1.66612 8.46992L7.10655 3.02949Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-attachment__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" fill-rule=\"evenodd\" d=\"M11 0.25C12.5188 0.25 13.75 1.48122 13.75 3V7C13.75 7.85389 13.3607 8.6167 12.75 9.12109V10C12.75 10.8539 12.3607 11.6167 11.75 12.1211V13C11.75 14.5188 10.5188 15.75 9 15.75H7C5.48122 15.75 4.25 14.5188 4.25 13V12.1211C3.63934 11.6167 3.25 10.8539 3.25 10V9.12109C2.63934 8.6167 2.25 7.85389 2.25 7V3C2.25 1.48122 3.48122 0.25 5 0.25H11ZM10 12.75H6C5.91565 12.75 5.83241 12.7438 5.75 12.7363V13C5.75 13.6904 6.30964 14.25 7 14.25H9C9.69036 14.25 10.25 13.6904 10.25 13V12.7363C10.1676 12.7438 10.0843 12.75 10 12.75ZM11 9.75H5C4.91565 9.75 4.83241 9.74376 4.75 9.73633V10C4.75 10.6904 5.30964 11.25 6 11.25H10C10.6904 11.25 11.25 10.6904 11.25 10V9.73633C11.1676 9.74376 11.0843 9.75 11 9.75ZM5 1.75C4.30964 1.75 3.75 2.30964 3.75 3V7C3.75 7.69036 4.30964 8.25 5 8.25H11C11.6904 8.25 12.25 7.69036 12.25 7V3C12.25 2.30964 11.6904 1.75 11 1.75H5Z\" clip-rule=\"evenodd\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M2.25 0.25V15.75H13.75V4.68934L9.31066 0.25H2.25ZM7.25 1.75V6.75H12.25V14.25H3.75V1.75H7.25ZM12.1893 5.25H8.75V1.81066L12.1893 5.25Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.24609 8.25H10.7461V9.75H5.24609V8.25Z\"/><path fill=\"#001222\" d=\"M10.7461 11.25H5.24609V12.75H10.7461V11.25Z\"/><path fill=\"#001222\" d=\"M2.24609 0.25V15.75H13.7461V4.68934L9.30675 0.25H2.24609ZM7.24609 1.75V6.75H12.2461V14.25H3.74609V1.75H7.24609ZM12.1854 5.25H8.74609V1.81066L12.1854 5.25Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M1.24609 12V5C1.24609 3.48579 2.48188 2.25 3.99609 2.25H7.30664L10.3066 5.25H11.9961C13.5103 5.25 14.7461 6.48579 14.7461 8V12C14.7461 13.5142 13.5103 14.75 11.9961 14.75H3.99609C2.48188 14.75 1.24609 13.5142 1.24609 12ZM2.74609 12C2.74609 12.6858 3.31031 13.25 3.99609 13.25H11.9961C12.6819 13.25 13.2461 12.6858 13.2461 12V8C13.2461 7.31421 12.6819 6.75 11.9961 6.75H9.68555L6.68555 3.75H3.99609C3.31031 3.75 2.74609 4.31421 2.74609 5V12Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M9.74609 3.74805C11.1268 3.74805 12.2461 4.86733 12.2461 6.24805C12.2461 7.62876 11.1268 8.74805 9.74609 8.74805C8.36538 8.74805 7.24609 7.62876 7.24609 6.24805C7.24609 4.86733 8.36538 3.74805 9.74609 3.74805ZM9.74609 5.24805C9.19381 5.24805 8.74609 5.69576 8.74609 6.24805C8.74609 6.80033 9.19381 7.24805 9.74609 7.24805C10.2984 7.24805 10.7461 6.80033 10.7461 6.24805C10.7461 5.69576 10.2984 5.24805 9.74609 5.24805Z\"/><path fill=\"#001222\" d=\"M11.9961 1.24805C13.5149 1.24805 14.7461 2.47926 14.7461 3.99805V11.998C14.7461 13.5168 13.5149 14.748 11.9961 14.748H3.99609C2.47731 14.748 1.24609 13.5168 1.24609 11.998V3.99805C1.24609 2.47926 2.47731 1.24805 3.99609 1.24805H11.9961ZM2.74609 11.3105V11.998C2.74609 12.6884 3.30574 13.248 3.99609 13.248H9.18359L4.99609 9.06055L2.74609 11.3105ZM3.99609 2.74805C3.30574 2.74805 2.74609 3.30769 2.74609 3.99805V9.18945L4.99609 6.93945L11.3047 13.248H11.9961C12.6864 13.248 13.2461 12.6884 13.2461 11.998V3.99805C13.2461 3.30769 12.6865 2.74805 11.9961 2.74805H3.99609Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><g fill=\"#001222\" :clip-path=\"'url(#uia-ui-assets/icons-16-play_circle__a' + uuid + ')'\"><path d=\"M10.9722 8.00002L6.62012 5.09863V10.9014L10.9722 8.00002Z\"/><path d=\"M5.0342 0.839937C6.45033 0.253358 8.0086 0.0998821 9.51195 0.398918C11.0153 0.697953 12.3962 1.43607 13.4801 2.51993C14.5639 3.60378 15.3021 4.9847 15.6011 6.48805C15.9001 7.99141 15.7466 9.54967 15.1601 10.9658C14.5735 12.3819 13.5801 13.5923 12.3057 14.4439C11.0312 15.2955 9.53281 15.75 8 15.75C5.94457 15.75 3.97333 14.9335 2.51992 13.4801C1.06652 12.0267 0.25 10.0554 0.25 8C0.25 6.4672 0.704529 4.96881 1.55611 3.69433C2.40769 2.41985 3.61808 1.42652 5.0342 0.839937ZM9.21931 1.8701C8.00693 1.62894 6.75027 1.75271 5.60823 2.22576C4.46619 2.6988 3.49007 3.49988 2.80331 4.52769C2.11656 5.5555 1.75 6.76387 1.75 8C1.75 9.65761 2.40848 11.2473 3.58058 12.4194C4.75268 13.5915 6.3424 14.25 8 14.25C9.23613 14.25 10.4445 13.8834 11.4723 13.1967C12.5001 12.5099 13.3012 11.5338 13.7742 10.3918C14.2473 9.24974 14.3711 7.99307 14.1299 6.78069C13.8887 5.56831 13.2935 4.45466 12.4194 3.58059C11.5453 2.70651 10.4317 2.11125 9.21931 1.8701Z\"/></g><defs><clipPath :id=\"'uia-ui-assets/icons-16-play_circle__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M5.68934 2.25H8.75V13.75H5.68934L2.68934 10.75H0.25V5.25H2.68934L5.68934 2.25ZM6.31066 3.75L3.31066 6.75H1.75V9.25H3.31066L6.31066 12.25H7.25V3.75H6.31066Z\"/><path fill=\"#001222\" d=\"M13.0111 4.99174C12.2099 4.19982 11.1294 3.75 10 3.75V2.25C11.53 2.25 12.9888 2.85964 14.0675 3.92684L14.0703 3.92966C15.1527 5.01199 15.75 6.47347 15.75 8C15.75 9.52995 15.1404 10.9888 14.0732 12.0675L14.0703 12.0703C12.988 13.1527 11.5265 13.75 10 13.75V12.25C11.1328 12.25 12.2107 11.8079 13.0082 11.0111C13.8002 10.21 14.25 9.1294 14.25 8C14.25 6.8672 13.8079 5.78927 13.0111 4.99174Z\"/><path fill=\"#001222\" d=\"M10 6.75V5.25C10.7257 5.25 11.4295 5.53694 11.9438 6.06319C12.4593 6.58041 12.75 7.26849 12.75 8C12.75 8.72573 12.4631 9.42951 11.9368 9.94383C11.4196 10.4593 10.7315 10.75 10 10.75V9.25C10.3268 9.25 10.6373 9.12206 10.8797 8.87967L10.8868 8.87265C11.1182 8.64727 11.25 8.33261 11.25 8C11.25 7.67317 11.1221 7.36272 10.8797 7.12033L10.8726 7.11321C10.6473 6.88175 10.3326 6.75 10 6.75Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#001222\" d=\"M12 1.25C13.5188 1.25 14.75 2.48122 14.75 4V12C14.75 13.5188 13.5188 14.75 12 14.75H4C2.48122 14.75 1.25 13.5188 1.25 12V4C1.25 2.48122 2.48122 1.25 4 1.25H12ZM6.75 13.25H12C12.6904 13.25 13.25 12.6904 13.25 12V10.75H6.75V13.25ZM2.75 12C2.75 12.6904 3.30964 13.25 4 13.25H5.25V10.75H2.75V12ZM6.75 9.25H13.25V6.75H6.75V9.25ZM2.75 9.25H5.25V6.75H2.75V9.25ZM6.75 5.25H13.25V4C13.25 3.30964 12.6904 2.75 12 2.75H6.75V5.25ZM4 2.75C3.30964 2.75 2.75 3.30964 2.75 4V5.25H5.25V2.75H4Z\"/></svg>\n</template>\n<script setup>\n import { getCurrentInstance } from 'vue';\n import '../css/main.css';\n\n const instance = getCurrentInstance();\n const uuid = String(instance?.uid ?? instance?.proxy?._uid);\n</script>\n","import { type VueNodeElement } from '@/types/elements';\nimport { type FileObject, FileType } from '@/components/file-uploader/file-uploader.internal.types';\n\nimport AttachmentIcon from '@adyen/ui-assets-icons-16/vue/attachment';\nimport CollectionIcon from '@adyen/ui-assets-icons-16/vue/collection';\nimport DocumentIcon from '@adyen/ui-assets-icons-16/vue/document-1';\nimport DocumentLinesIcon from '@adyen/ui-assets-icons-16/vue/document-lines';\nimport FolderIcon from '@adyen/ui-assets-icons-16/vue/folder';\nimport ImageIcon from '@adyen/ui-assets-icons-16/vue/image';\nimport PlayCircleIcon from '@adyen/ui-assets-icons-16/vue/play-circle';\nimport SoundIcon from '@adyen/ui-assets-icons-16/vue/sound';\nimport TableIcon from '@adyen/ui-assets-icons-16/vue/table';\n\nconst FILE_TYPE_ICON_MAP: Record<FileType, VueNodeElement> = {\n [FileType.AUDIO]: SoundIcon,\n [FileType.COMPRESSED]: FolderIcon,\n [FileType.GENERIC]: AttachmentIcon,\n [FileType.IMAGE]: ImageIcon,\n [FileType.PDF]: DocumentIcon,\n [FileType.SLIDES]: CollectionIcon,\n [FileType.TABLE]: TableIcon,\n [FileType.TEXT]: DocumentLinesIcon,\n [FileType.VIDEO]: PlayCircleIcon,\n};\n\n/**\n * Return an icon Vue component that can be used with a given File type @see FileType\n * @param file File object containing a type\n * @returns Icon for the respective type\n */\nexport function getFileIcon(file: FileObject) {\n return FILE_TYPE_ICON_MAP[file.type];\n}\n","import { type FileObject, FileType } from '@/components/file-uploader/file-uploader.internal.types';\n\n/**\n * Returns the color to be used for the icon of a given type.\n *\n * @param file File with a given type\n * @returns Color to be used with their respective file type\n */\nexport function getFileIconColor(file: FileObject) {\n switch (file.type) {\n case FileType.COMPRESSED:\n case FileType.GENERIC:\n return 'grey';\n case FileType.PDF:\n case FileType.SLIDES:\n return 'orange';\n case FileType.TEXT:\n return 'blue';\n default:\n return 'green';\n }\n}\n","<template>\n <div class=\"b-file-uploader-file-card\" :class=\"conditionalClasses\">\n <div class=\"b-file-uploader-file-card__details\">\n <div class=\"b-file-uploader-file-card__info\">\n <file-uploader-file-card-animation\n :name=\"\n isVue2 ? 'b-file-uploader-file-card__animation' : 'b-file-uploader-file-card__animation--vue3'\n \"\n :show-file-icon=\"showFileIcon\"\n >\n <component\n :is=\"fileUploaderIcon\"\n :key=\"JSON.stringify(fileUploaderIcon)\"\n small\n aria-hidden=\"true\"\n class=\"b-file-uploader-file-card__icon\"\n :class=\"conditionalIconClasses\"\n data-testid=\"file-uploader-item-icon\"\n />\n </file-uploader-file-card-animation>\n\n <div ref=\"fileNameContainerRef\" class=\"b-file-uploader-file-card__file-name\">\n <bento-link\n aria-hidden=\"true\"\n tabindex=\"-1\"\n :download=\"file.data.name\"\n :to=\"downloadUrl\"\n disable-typography\n is-not-routing\n variant=\"quiet\"\n >\n <bento-typography\n ref=\"fileNameRef\"\n v-bento-tooltip-directive=\"isFileNameTruncated ? file.data.name : null\"\n stronger\n el=\"span\"\n >\n {{ file.data.name }}\n </bento-typography>\n </bento-link>\n </div>\n\n <bento-typography v-if=\"file.progress\" el=\"span\">{{ progressLabel }}</bento-typography>\n <bento-typography\n v-else-if=\"file.data.size\"\n class=\"b-file-uploader-file-card__file-size\"\n aria-hidden=\"true\"\n el=\"span\"\n >\n {{ sizeLabel }}\n </bento-typography>\n </div>\n\n <div\n v-if=\"hasSizeError || hasDimensionsError || (hasTypeError && supportedFileTypes)\"\n :id=\"fileErrorsSectionId\"\n role=\"alert\"\n >\n <bento-typography v-if=\"hasSizeError\" class=\"b-file-uploader-file-card__error-message\">\n {{ t('fileExceedsSizeLimit') }}\n </bento-typography>\n <bento-typography v-if=\"hasDimensionsError\" class=\"b-file-uploader-file-card__error-message\">\n {{ t('imageDimensionsExceedLimits') }}\n </bento-typography>\n <bento-typography\n v-if=\"hasTypeError && supportedFileTypes\"\n class=\"b-file-uploader-file-card__error-message\"\n >\n {{ t('fileTypeMustBe', { list: supportedFileTypes }) }}\n </bento-typography>\n </div>\n </div>\n\n <div v-if=\"!readonly\" class=\"b-file-uploader-file-card__actions\">\n <bento-button\n v-if=\"hasLoadError\"\n ref=\"retryFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${retryFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('retry')\"\n >\n <template #iconLeft>\n <refresh-icon :id=\"retryFileButtonId\" :svg-title=\"`${t('retry')} - ${file.data.name} `\" />\n </template>\n {{ t('retry') }}\n </bento-button>\n <bento-button\n v-if=\"isLoading || hasError\"\n ref=\"cancelFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${cancelFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('cancel')\"\n >\n <template #iconLeft>\n <cross-icon :id=\"cancelFileButtonId\" :svg-title=\"`${t('cancel')} - ${file.data.name}`\" />\n </template>\n </bento-button>\n <bento-button\n v-else\n ref=\"removeFileButtonRef\"\n :aria-labelledby=\"`${fileErrorsSectionId} ${removeFileButtonId}`\"\n variant=\"tertiary\"\n @click=\"emit('remove')\"\n >\n <template #iconLeft>\n <bin-icon :id=\"removeFileButtonId\" :svg-title=\"`${t('remove')} - ${file.data.name}`\" />\n </template>\n </bento-button>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, watch } from 'vue';\n import { isVue2 } from 'vue-demi';\n import { FileUploaderFileCardAnimation } from './components';\n import BinIcon from '@adyen/ui-assets-icons-16/vue/bin';\n import CheckmarkCircleFilledIcon from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import WarningFilledIcon from '@adyen/ui-assets-icons-16/vue/warning-filled';\n\n import { BentoTooltipDirective as vBentoTooltipDirective } from '@/directives';\n import { BentoButton } from '@/components/button';\n import { BentoLink } from '@/components/link';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n import { BentoTypography } from '@/components/typography';\n import { useTruncatedFileName } from './composables/use-truncated-file-name';\n import { generateUid } from '@/utils/ts/generate-uid';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { formatFileSize } from '../../utils';\n import { getFileIcon, getFileIconColor } from './utils';\n import { FileErrorType, FileState } from '@/components/file-uploader/file-uploader.internal.types';\n import type { FileUploaderFileCardProps } from './file-uploader-file-card.types';\n import type { VueInstance } from '@/types/elements';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const ICON_TIMER = 1200;\n\n const props = defineProps({\n file: null,\n supportedFileTypes: { default: null },\n readonly: { type: Boolean }\n});\n\n const emit = defineEmits([\"cancel\", \"remove\", \"retry\"]);\n\n const { t, locale } = useI18n<{ message: MessageSchema }>({ messages });\n\n const removeFileButtonRef = ref(null);\n const cancelFileButtonRef = ref(null);\n const retryFileButtonRef = ref(null);\n const fileErrorsSectionId = generateUid('file-errors-section');\n const cancelFileButtonId = generateUid('cancel-file-button');\n const removeFileButtonId = generateUid('remove-file-button');\n const retryFileButtonId = generateUid('retry-file-button');\n\n // If initial state is success, immediately show file icon\n const showFileIcon = ref(props.file.state === FileState.SUCCESS);\n\n const downloadUrl = computed(() => URL.createObjectURL(props.file.data));\n const hasError = computed(() => props.file.state === FileState.ERROR);\n const hasLoadError = computed(() => props.file.errors.includes(FileErrorType.ERROR_LOAD));\n const hasSizeError = computed(() => props.file.errors.includes(FileErrorType.ERROR_SIZE));\n const hasDimensionsError = computed(() => props.file.errors.includes(FileErrorType.ERROR_DIMENSIONS));\n const hasTypeError = computed(() => props.file.errors.includes(FileErrorType.ERROR_TYPE));\n const isLoading = computed(() => props.file.state === FileState.LOADING);\n const progressLabel = computed(() => props.file.progress && `(${props.file.progress.toFixed(0)}%)`);\n const sizeLabel = computed(() => formatFileSize(locale.value, props.file.data.size));\n\n // Truncation tooltip\n const fileNameRef = ref<VueInstance>();\n const fileNameContainerRef = ref<HTMLDivElement>();\n\n const isFileNameTruncated = useTruncatedFileName(fileNameRef, fileNameContainerRef);\n\n const conditionalClasses = computed(() => ({\n 'b-file-uploader-file-card--error': hasError.value,\n }));\n\n const conditionalIconClasses = computed(() => ({\n [`b-file-uploader-file-card__icon--${getFileIconColor(props.file)}`]: showFileIcon.value,\n 'b-file-uploader-file-card__icon--error': hasError.value,\n }));\n\n // Compute the icon to be displayed\n const fileUploaderIcon = computed(() => {\n if (isLoading.value) {\n return BentoLoadingIndicator;\n }\n if (hasError.value) {\n return WarningFilledIcon;\n }\n return showFileIcon.value ? getFileIcon(props.file) : CheckmarkCircleFilledIcon;\n });\n\n // Animation when success icon turns to file icon.\n watch(\n () => props.file.state,\n value => {\n if (value === FileState.SUCCESS && !showFileIcon.value) {\n const changeTimer = setTimeout(() => {\n showFileIcon.value = true;\n clearTimeout(changeTimer);\n }, ICON_TIMER);\n }\n }\n );\n\n /**\n * Places the focus on the button element.\n */\n function focus() {\n if (retryFileButtonRef.value) {\n retryFileButtonRef.value.$el.focus();\n return;\n }\n\n if (removeFileButtonRef.value) {\n removeFileButtonRef.value.$el.focus();\n return;\n }\n\n if (cancelFileButtonRef.value) {\n cancelFileButtonRef.value.$el.focus();\n return;\n }\n }\n\n defineExpose({\n focus,\n });\n</script>\n\n<script lang=\"ts\">\n /**\n *\n * Individual file items that are listed inside \"bento-file-uploader\" that can\n * be retried, removed or canceled as they are being uploaded.\n *\n * @example\n * import { FileUploaderFileCard, FileObject } from './';\n *\n * export default {\n * components: { FileUploaderFileCard },\n * template: `\n * <file-uploader-file-card\n * :file=\"file\"\n * supportedFileTypes=\"video files, image files\"\n * @retry=\"retryFile(file)\"\n * @cancel=\"removeFile(file)\"\n * @remove=\"removeFile(file)\"\n * />\n * `,\n * setup() {\n * const file = ref<FileObject>({\n * id: 'stub-file',\n * type: FileType.AUDIO,\n * data: new File(['blob'], 'File name'),\n * state: FileState.SUCCESS,\n * progress: 99,\n * });\n * }\n * }\n */\n export default {\n name: 'file-uploader-file-card',\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader-file-card.scss\" />\n","<template>\n <div class=\"b-file-uploader-restrictions\" :class=\"conditionalClasses\">\n <bento-typography\n v-if=\"supportedFileTypes\"\n :class=\"setRestrictionErrorClass(supportedFileTypes.error || (isMaxSizeArray && maxSize.error))\"\n >\n {{ t('supportedFileTypes', { list: computedConditionalFiles }) }}\n </bento-typography>\n <bento-typography v-if=\"!isMaxSizeArray && maxSize\" :class=\"setRestrictionErrorClass(maxSize.error)\">\n {{ maxFileSizeLabel }}\n </bento-typography>\n <bento-typography v-if=\"maxDimensions\" :class=\"setRestrictionErrorClass(maxDimensions.error)\">\n {{ maxDimensionsLabel }}\n </bento-typography>\n <bento-typography v-if=\"maxCount\" :class=\"setRestrictionErrorClass(maxCount.error)\">\n {{ tc('maxUpload', maxCount.value, { count: n(maxCount.value) }) }}\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed } from 'vue';\n import { BentoTypography } from '@/components/typography';\n import { useI18n } from '@/utils/ts/i18n';\n import { formatFileSize } from '../../utils';\n import type { FileUploaderRestrictionsProps } from './file-uploader-restrictions.types';\n import type { FileMaxSize } from '../../file-uploader.internal.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n condensed: { default: null },\n disabled: { default: null },\n maxCount: { default: null },\n maxDimensions: { default: null },\n maxSize: { default: null },\n supportedFileTypes: { default: null }\n});\n\n const { t, tc, n, locale } = useI18n<{ message: MessageSchema }>({ messages });\n\n const conditionalClasses = computed(() => ({\n ['b-file-uploader-restrictions--condensed']: props.condensed,\n ['b-file-uploader-restrictions--disabled']: props.disabled,\n }));\n\n /**\n * Returns the error class to be set if a restriction has an error\n * @param error Indicates if the restriction has errored\n * @returns Conditional error class\n */\n function setRestrictionErrorClass(error: boolean) {\n return {\n 'b-file-uploader-restrictions--error': error,\n };\n }\n\n const isMaxSizeArray = computed(() => props.maxSize && Array.isArray(props.maxSize.value));\n\n const maxFileSizeLabel = computed(() => {\n if (!props.maxSize || isMaxSizeArray.value) {\n return null;\n }\n\n return t('maxFileSize', { size: formatFileSize(locale.value, props.maxSize.value as number) });\n });\n\n const computedConditionalFiles = computed(() => {\n if (!props.supportedFileTypes) {\n return null;\n }\n\n if (!isMaxSizeArray.value) {\n return props.supportedFileTypes.value;\n }\n\n let list = props.supportedFileTypes.value;\n\n (props.maxSize.value as Array<FileMaxSize>).forEach(entry => {\n const displayName = entry.fileType.toUpperCase();\n const sizeLabel = t('upToSize', { size: formatFileSize(locale.value, entry.maxSize) });\n list = list.replace(displayName, `${displayName} ${sizeLabel}`);\n });\n\n return list;\n });\n\n const maxDimensionsLabel = computed(() => {\n if (!props.maxDimensions) {\n return null;\n }\n\n const {\n value: { width, height },\n } = props.maxDimensions;\n\n if (width && height) {\n return t('maxImageDimensions', { width: n(width), height: n(height) });\n }\n if (width) {\n return t('maxImageWidth', { width: n(width) });\n }\n if (height) {\n return t('maxImageHeight', { height: n(height) });\n }\n return null;\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * List of restrictions defined for \"bento-file-uploader\".\n *\n * @example\n * import { FileUploaderRestrictions } from './';\n *\n * export default {\n * components: { FileUploaderRestrictions },\n * template: `\n * <file-uploader-restrictions\n * :maxCount=\"1\"\n * :maxSize=\"5000\"\n * :maxDimensions=\"{ width: 100, height: 200 }\"\n * supportedFileTypes=\"audio/*,.pdf,.jpg\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader-restrictions.scss\" />\n","const types = {\n 'application/prs.cww': ['cww'],\n 'application/prs.xsf+xml': ['xsf'],\n 'application/vnd.1000minds.decision-model+xml': ['1km'],\n 'application/vnd.3gpp.pic-bw-large': ['plb'],\n 'application/vnd.3gpp.pic-bw-small': ['psb'],\n 'application/vnd.3gpp.pic-bw-var': ['pvb'],\n 'application/vnd.3gpp2.tcap': ['tcap'],\n 'application/vnd.3m.post-it-notes': ['pwn'],\n 'application/vnd.accpac.simply.aso': ['aso'],\n 'application/vnd.accpac.simply.imp': ['imp'],\n 'application/vnd.acucobol': ['acu'],\n 'application/vnd.acucorp': ['atc', 'acutc'],\n 'application/vnd.adobe.air-application-installer-package+zip': ['air'],\n 'application/vnd.adobe.formscentral.fcdt': ['fcdt'],\n 'application/vnd.adobe.fxp': ['fxp', 'fxpl'],\n 'application/vnd.adobe.xdp+xml': ['xdp'],\n 'application/vnd.adobe.xfdf': ['*xfdf'],\n 'application/vnd.age': ['age'],\n 'application/vnd.ahead.space': ['ahead'],\n 'application/vnd.airzip.filesecure.azf': ['azf'],\n 'application/vnd.airzip.filesecure.azs': ['azs'],\n 'application/vnd.amazon.ebook': ['azw'],\n 'application/vnd.americandynamics.acc': ['acc'],\n 'application/vnd.amiga.ami': ['ami'],\n 'application/vnd.android.package-archive': ['apk'],\n 'application/vnd.anser-web-certificate-issue-initiation': ['cii'],\n 'application/vnd.anser-web-funds-transfer-initiation': ['fti'],\n 'application/vnd.antix.game-component': ['atx'],\n 'application/vnd.apple.installer+xml': ['mpkg'],\n 'application/vnd.apple.keynote': ['key'],\n 'application/vnd.apple.mpegurl': ['m3u8'],\n 'application/vnd.apple.numbers': ['numbers'],\n 'application/vnd.apple.pages': ['pages'],\n 'application/vnd.apple.pkpass': ['pkpass'],\n 'application/vnd.aristanetworks.swi': ['swi'],\n 'application/vnd.astraea-software.iota': ['iota'],\n 'application/vnd.audiograph': ['aep'],\n 'application/vnd.balsamiq.bmml+xml': ['bmml'],\n 'application/vnd.blueice.multipass': ['mpm'],\n 'application/vnd.bmi': ['bmi'],\n 'application/vnd.businessobjects': ['rep'],\n 'application/vnd.chemdraw+xml': ['cdxml'],\n 'application/vnd.chipnuts.karaoke-mmd': ['mmd'],\n 'application/vnd.cinderella': ['cdy'],\n 'application/vnd.citationstyles.style+xml': ['csl'],\n 'application/vnd.claymore': ['cla'],\n 'application/vnd.cloanto.rp9': ['rp9'],\n 'application/vnd.clonk.c4group': ['c4g', 'c4d', 'c4f', 'c4p', 'c4u'],\n 'application/vnd.cluetrust.cartomobile-config': ['c11amc'],\n 'application/vnd.cluetrust.cartomobile-config-pkg': ['c11amz'],\n 'application/vnd.commonspace': ['csp'],\n 'application/vnd.contact.cmsg': ['cdbcmsg'],\n 'application/vnd.cosmocaller': ['cmc'],\n 'application/vnd.crick.clicker': ['clkx'],\n 'application/vnd.crick.clicker.keyboard': ['clkk'],\n 'application/vnd.crick.clicker.palette': ['clkp'],\n 'application/vnd.crick.clicker.template': ['clkt'],\n 'application/vnd.crick.clicker.wordbank': ['clkw'],\n 'application/vnd.criticaltools.wbs+xml': ['wbs'],\n 'application/vnd.ctc-posml': ['pml'],\n 'application/vnd.cups-ppd': ['ppd'],\n 'application/vnd.curl.car': ['car'],\n 'application/vnd.curl.pcurl': ['pcurl'],\n 'application/vnd.dart': ['dart'],\n 'application/vnd.data-vision.rdz': ['rdz'],\n 'application/vnd.dbf': ['dbf'],\n 'application/vnd.dece.data': ['uvf', 'uvvf', 'uvd', 'uvvd'],\n 'application/vnd.dece.ttml+xml': ['uvt', 'uvvt'],\n 'application/vnd.dece.unspecified': ['uvx', 'uvvx'],\n 'application/vnd.dece.zip': ['uvz', 'uvvz'],\n 'application/vnd.denovo.fcselayout-link': ['fe_launch'],\n 'application/vnd.dna': ['dna'],\n 'application/vnd.dolby.mlp': ['mlp'],\n 'application/vnd.dpgraph': ['dpg'],\n 'application/vnd.dreamfactory': ['dfac'],\n 'application/vnd.ds-keypoint': ['kpxx'],\n 'application/vnd.dvb.ait': ['ait'],\n 'application/vnd.dvb.service': ['svc'],\n 'application/vnd.dynageo': ['geo'],\n 'application/vnd.ecowin.chart': ['mag'],\n 'application/vnd.enliven': ['nml'],\n 'application/vnd.epson.esf': ['esf'],\n 'application/vnd.epson.msf': ['msf'],\n 'application/vnd.epson.quickanime': ['qam'],\n 'application/vnd.epson.salt': ['slt'],\n 'application/vnd.epson.ssf': ['ssf'],\n 'application/vnd.eszigno3+xml': ['es3', 'et3'],\n 'application/vnd.ezpix-album': ['ez2'],\n 'application/vnd.ezpix-package': ['ez3'],\n 'application/vnd.fdf': ['*fdf'],\n 'application/vnd.fdsn.mseed': ['mseed'],\n 'application/vnd.fdsn.seed': ['seed', 'dataless'],\n 'application/vnd.flographit': ['gph'],\n 'application/vnd.fluxtime.clip': ['ftc'],\n 'application/vnd.framemaker': ['fm', 'frame', 'maker', 'book'],\n 'application/vnd.frogans.fnc': ['fnc'],\n 'application/vnd.frogans.ltf': ['ltf'],\n 'application/vnd.fsc.weblaunch': ['fsc'],\n 'application/vnd.fujitsu.oasys': ['oas'],\n 'application/vnd.fujitsu.oasys2': ['oa2'],\n 'application/vnd.fujitsu.oasys3': ['oa3'],\n 'application/vnd.fujitsu.oasysgp': ['fg5'],\n 'application/vnd.fujitsu.oasysprs': ['bh2'],\n 'application/vnd.fujixerox.ddd': ['ddd'],\n 'application/vnd.fujixerox.docuworks': ['xdw'],\n 'application/vnd.fujixerox.docuworks.binder': ['xbd'],\n 'application/vnd.fuzzysheet': ['fzs'],\n 'application/vnd.genomatix.tuxedo': ['txd'],\n 'application/vnd.geogebra.file': ['ggb'],\n 'application/vnd.geogebra.slides': ['ggs'],\n 'application/vnd.geogebra.tool': ['ggt'],\n 'application/vnd.geometry-explorer': ['gex', 'gre'],\n 'application/vnd.geonext': ['gxt'],\n 'application/vnd.geoplan': ['g2w'],\n 'application/vnd.geospace': ['g3w'],\n 'application/vnd.gmx': ['gmx'],\n 'application/vnd.google-apps.document': ['gdoc'],\n 'application/vnd.google-apps.presentation': ['gslides'],\n 'application/vnd.google-apps.spreadsheet': ['gsheet'],\n 'application/vnd.google-earth.kml+xml': ['kml'],\n 'application/vnd.google-earth.kmz': ['kmz'],\n 'application/vnd.gov.sk.xmldatacontainer+xml': ['xdcf'],\n 'application/vnd.grafeq': ['gqf', 'gqs'],\n 'application/vnd.groove-account': ['gac'],\n 'application/vnd.groove-help': ['ghf'],\n 'application/vnd.groove-identity-message': ['gim'],\n 'application/vnd.groove-injector': ['grv'],\n 'application/vnd.groove-tool-message': ['gtm'],\n 'application/vnd.groove-tool-template': ['tpl'],\n 'application/vnd.groove-vcard': ['vcg'],\n 'application/vnd.hal+xml': ['hal'],\n 'application/vnd.handheld-entertainment+xml': ['zmm'],\n 'application/vnd.hbci': ['hbci'],\n 'application/vnd.hhe.lesson-player': ['les'],\n 'application/vnd.hp-hpgl': ['hpgl'],\n 'application/vnd.hp-hpid': ['hpid'],\n 'application/vnd.hp-hps': ['hps'],\n 'application/vnd.hp-jlyt': ['jlt'],\n 'application/vnd.hp-pcl': ['pcl'],\n 'application/vnd.hp-pclxl': ['pclxl'],\n 'application/vnd.hydrostatix.sof-data': ['sfd-hdstx'],\n 'application/vnd.ibm.minipay': ['mpy'],\n 'application/vnd.ibm.modcap': ['afp', 'listafp', 'list3820'],\n 'application/vnd.ibm.rights-management': ['irm'],\n 'application/vnd.ibm.secure-container': ['sc'],\n 'application/vnd.iccprofile': ['icc', 'icm'],\n 'application/vnd.igloader': ['igl'],\n 'application/vnd.immervision-ivp': ['ivp'],\n 'application/vnd.immervision-ivu': ['ivu'],\n 'application/vnd.insors.igm': ['igm'],\n 'application/vnd.intercon.formnet': ['xpw', 'xpx'],\n 'application/vnd.intergeo': ['i2g'],\n 'application/vnd.intu.qbo': ['qbo'],\n 'application/vnd.intu.qfx': ['qfx'],\n 'application/vnd.ipunplugged.rcprofile': ['rcprofile'],\n 'application/vnd.irepository.package+xml': ['irp'],\n 'application/vnd.is-xpr': ['xpr'],\n 'application/vnd.isac.fcs': ['fcs'],\n 'application/vnd.jam': ['jam'],\n 'application/vnd.jcp.javame.midlet-rms': ['rms'],\n 'application/vnd.jisp': ['jisp'],\n 'application/vnd.joost.joda-archive': ['joda'],\n 'application/vnd.kahootz': ['ktz', 'ktr'],\n 'application/vnd.kde.karbon': ['karbon'],\n 'application/vnd.kde.kchart': ['chrt'],\n 'application/vnd.kde.kformula': ['kfo'],\n 'application/vnd.kde.kivio': ['flw'],\n 'application/vnd.kde.kontour': ['kon'],\n 'application/vnd.kde.kpresenter': ['kpr', 'kpt'],\n 'application/vnd.kde.kspread': ['ksp'],\n 'application/vnd.kde.kword': ['kwd', 'kwt'],\n 'application/vnd.kenameaapp': ['htke'],\n 'application/vnd.kidspiration': ['kia'],\n 'application/vnd.kinar': ['kne', 'knp'],\n 'application/vnd.koan': ['skp', 'skd', 'skt', 'skm'],\n 'application/vnd.kodak-descriptor': ['sse'],\n 'application/vnd.las.las+xml': ['lasxml'],\n 'application/vnd.llamagraphics.life-balance.desktop': ['lbd'],\n 'application/vnd.llamagraphics.life-balance.exchange+xml': ['lbe'],\n 'application/vnd.lotus-1-2-3': ['123'],\n 'application/vnd.lotus-approach': ['apr'],\n 'application/vnd.lotus-freelance': ['pre'],\n 'application/vnd.lotus-notes': ['nsf'],\n 'application/vnd.lotus-organizer': ['org'],\n 'application/vnd.lotus-screencam': ['scm'],\n 'application/vnd.lotus-wordpro': ['lwp'],\n 'application/vnd.macports.portpkg': ['portpkg'],\n 'application/vnd.mapbox-vector-tile': ['mvt'],\n 'application/vnd.mcd': ['mcd'],\n 'application/vnd.medcalcdata': ['mc1'],\n 'application/vnd.mediastation.cdkey': ['cdkey'],\n 'application/vnd.mfer': ['mwf'],\n 'application/vnd.mfmp': ['mfm'],\n 'application/vnd.micrografx.flo': ['flo'],\n 'application/vnd.micrografx.igx': ['igx'],\n 'application/vnd.mif': ['mif'],\n 'application/vnd.mobius.daf': ['daf'],\n 'application/vnd.mobius.dis': ['dis'],\n 'application/vnd.mobius.mbk': ['mbk'],\n 'application/vnd.mobius.mqy': ['mqy'],\n 'application/vnd.mobius.msl': ['msl'],\n 'application/vnd.mobius.plc': ['plc'],\n 'application/vnd.mobius.txf': ['txf'],\n 'application/vnd.mophun.application': ['mpn'],\n 'application/vnd.mophun.certificate': ['mpc'],\n 'application/vnd.mozilla.xul+xml': ['xul'],\n 'application/vnd.ms-artgalry': ['cil'],\n 'application/vnd.ms-cab-compressed': ['cab'],\n 'application/vnd.ms-excel': ['xls', 'xlm', 'xla', 'xlc', 'xlt', 'xlw'],\n 'application/vnd.ms-excel.addin.macroenabled.12': ['xlam'],\n 'application/vnd.ms-excel.sheet.binary.macroenabled.12': ['xlsb'],\n 'application/vnd.ms-excel.sheet.macroenabled.12': ['xlsm'],\n 'application/vnd.ms-excel.template.macroenabled.12': ['xltm'],\n 'application/vnd.ms-fontobject': ['eot'],\n 'application/vnd.ms-htmlhelp': ['chm'],\n 'application/vnd.ms-ims': ['ims'],\n 'application/vnd.ms-lrm': ['lrm'],\n 'application/vnd.ms-officetheme': ['thmx'],\n 'application/vnd.ms-outlook': ['msg'],\n 'application/vnd.ms-pki.seccat': ['cat'],\n 'application/vnd.ms-pki.stl': ['*stl'],\n 'application/vnd.ms-powerpoint': ['ppt', 'pps', 'pot'],\n 'application/vnd.ms-powerpoint.addin.macroenabled.12': ['ppam'],\n 'application/vnd.ms-powerpoint.presentation.macroenabled.12': ['pptm'],\n 'application/vnd.ms-powerpoint.slide.macroenabled.12': ['sldm'],\n 'application/vnd.ms-powerpoint.slideshow.macroenabled.12': ['ppsm'],\n 'application/vnd.ms-powerpoint.template.macroenabled.12': ['potm'],\n 'application/vnd.ms-project': ['*mpp', 'mpt'],\n 'application/vnd.ms-word.document.macroenabled.12': ['docm'],\n 'application/vnd.ms-word.template.macroenabled.12': ['dotm'],\n 'application/vnd.ms-works': ['wps', 'wks', 'wcm', 'wdb'],\n 'application/vnd.ms-wpl': ['wpl'],\n 'application/vnd.ms-xpsdocument': ['xps'],\n 'application/vnd.mseq': ['mseq'],\n 'application/vnd.musician': ['mus'],\n 'application/vnd.muvee.style': ['msty'],\n 'application/vnd.mynfc': ['taglet'],\n 'application/vnd.nato.bindingdataobject+xml': ['bdo'],\n 'application/vnd.neurolanguage.nlu': ['nlu'],\n 'application/vnd.nitf': ['ntf', 'nitf'],\n 'application/vnd.noblenet-directory': ['nnd'],\n 'application/vnd.noblenet-sealer': ['nns'],\n 'application/vnd.noblenet-web': ['nnw'],\n 'application/vnd.nokia.n-gage.ac+xml': ['*ac'],\n 'application/vnd.nokia.n-gage.data': ['ngdat'],\n 'application/vnd.nokia.n-gage.symbian.install': ['n-gage'],\n 'application/vnd.nokia.radio-preset': ['rpst'],\n 'application/vnd.nokia.radio-presets': ['rpss'],\n 'application/vnd.novadigm.edm': ['edm'],\n 'application/vnd.novadigm.edx': ['edx'],\n 'application/vnd.novadigm.ext': ['ext'],\n 'application/vnd.oasis.opendocument.chart': ['odc'],\n 'application/vnd.oasis.opendocument.chart-template': ['otc'],\n 'application/vnd.oasis.opendocument.database': ['odb'],\n 'application/vnd.oasis.opendocument.formula': ['odf'],\n 'application/vnd.oasis.opendocument.formula-template': ['odft'],\n 'application/vnd.oasis.opendocument.graphics': ['odg'],\n 'application/vnd.oasis.opendocument.graphics-template': ['otg'],\n 'application/vnd.oasis.opendocument.image': ['odi'],\n 'application/vnd.oasis.opendocument.image-template': ['oti'],\n 'application/vnd.oasis.opendocument.presentation': ['odp'],\n 'application/vnd.oasis.opendocument.presentation-template': ['otp'],\n 'application/vnd.oasis.opendocument.spreadsheet': ['ods'],\n 'application/vnd.oasis.opendocument.spreadsheet-template': ['ots'],\n 'application/vnd.oasis.opendocument.text': ['odt'],\n 'application/vnd.oasis.opendocument.text-master': ['odm'],\n 'application/vnd.oasis.opendocument.text-template': ['ott'],\n 'application/vnd.oasis.opendocument.text-web': ['oth'],\n 'application/vnd.olpc-sugar': ['xo'],\n 'application/vnd.oma.dd2+xml': ['dd2'],\n 'application/vnd.openblox.game+xml': ['obgx'],\n 'application/vnd.openofficeorg.extension': ['oxt'],\n 'application/vnd.openstreetmap.data+xml': ['osm'],\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': [\n 'pptx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slide': [\n 'sldx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': [\n 'ppsx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.template': [\n 'potx',\n ],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['xlsx'],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': [\n 'xltx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [\n 'docx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': [\n 'dotx',\n ],\n 'application/vnd.osgeo.mapguide.package': ['mgp'],\n 'application/vnd.osgi.dp': ['dp'],\n 'application/vnd.osgi.subsystem': ['esa'],\n 'application/vnd.palm': ['pdb', 'pqa', 'oprc'],\n 'application/vnd.pawaafile': ['paw'],\n 'application/vnd.pg.format': ['str'],\n 'application/vnd.pg.osasli': ['ei6'],\n 'application/vnd.picsel': ['efif'],\n 'application/vnd.pmi.widget': ['wg'],\n 'application/vnd.pocketlearn': ['plf'],\n 'application/vnd.powerbuilder6': ['pbd'],\n 'application/vnd.previewsystems.box': ['box'],\n 'application/vnd.proteus.magazine': ['mgz'],\n 'application/vnd.publishare-delta-tree': ['qps'],\n 'application/vnd.pvi.ptid1': ['ptid'],\n 'application/vnd.pwg-xhtml-print+xml': ['xhtm'],\n 'application/vnd.quark.quarkxpress': [\n 'qxd',\n 'qxt',\n 'qwd',\n 'qwt',\n 'qxl',\n 'qxb',\n ],\n 'application/vnd.rar': ['rar'],\n 'application/vnd.realvnc.bed': ['bed'],\n 'application/vnd.recordare.musicxml': ['mxl'],\n 'application/vnd.recordare.musicxml+xml': ['musicxml'],\n 'application/vnd.rig.cryptonote': ['cryptonote'],\n 'application/vnd.rim.cod': ['cod'],\n 'application/vnd.rn-realmedia': ['rm'],\n 'application/vnd.rn-realmedia-vbr': ['rmvb'],\n 'application/vnd.route66.link66+xml': ['link66'],\n 'application/vnd.sailingtracker.track': ['st'],\n 'application/vnd.seemail': ['see'],\n 'application/vnd.sema': ['sema'],\n 'application/vnd.semd': ['semd'],\n 'application/vnd.semf': ['semf'],\n 'application/vnd.shana.informed.formdata': ['ifm'],\n 'application/vnd.shana.informed.formtemplate': ['itp'],\n 'application/vnd.shana.informed.interchange': ['iif'],\n 'application/vnd.shana.informed.package': ['ipk'],\n 'application/vnd.simtech-mindmapper': ['twd', 'twds'],\n 'application/vnd.smaf': ['mmf'],\n 'application/vnd.smart.teacher': ['teacher'],\n 'application/vnd.software602.filler.form+xml': ['fo'],\n 'application/vnd.solent.sdkm+xml': ['sdkm', 'sdkd'],\n 'application/vnd.spotfire.dxp': ['dxp'],\n 'application/vnd.spotfire.sfs': ['sfs'],\n 'application/vnd.stardivision.calc': ['sdc'],\n 'application/vnd.stardivision.draw': ['sda'],\n 'application/vnd.stardivision.impress': ['sdd'],\n 'application/vnd.stardivision.math': ['smf'],\n 'application/vnd.stardivision.writer': ['sdw', 'vor'],\n 'application/vnd.stardivision.writer-global': ['sgl'],\n 'application/vnd.stepmania.package': ['smzip'],\n 'application/vnd.stepmania.stepchart': ['sm'],\n 'application/vnd.sun.wadl+xml': ['wadl'],\n 'application/vnd.sun.xml.calc': ['sxc'],\n 'application/vnd.sun.xml.calc.template': ['stc'],\n 'application/vnd.sun.xml.draw': ['sxd'],\n 'application/vnd.sun.xml.draw.template': ['std'],\n 'application/vnd.sun.xml.impress': ['sxi'],\n 'application/vnd.sun.xml.impress.template': ['sti'],\n 'application/vnd.sun.xml.math': ['sxm'],\n 'application/vnd.sun.xml.writer': ['sxw'],\n 'application/vnd.sun.xml.writer.global': ['sxg'],\n 'application/vnd.sun.xml.writer.template': ['stw'],\n 'application/vnd.sus-calendar': ['sus', 'susp'],\n 'application/vnd.svd': ['svd'],\n 'application/vnd.symbian.install': ['sis', 'sisx'],\n 'application/vnd.syncml+xml': ['xsm'],\n 'application/vnd.syncml.dm+wbxml': ['bdm'],\n 'application/vnd.syncml.dm+xml': ['xdm'],\n 'application/vnd.syncml.dmddf+xml': ['ddf'],\n 'application/vnd.tao.intent-module-archive': ['tao'],\n 'application/vnd.tcpdump.pcap': ['pcap', 'cap', 'dmp'],\n 'application/vnd.tmobile-livetv': ['tmo'],\n 'application/vnd.trid.tpt': ['tpt'],\n 'application/vnd.triscape.mxs': ['mxs'],\n 'application/vnd.trueapp': ['tra'],\n 'application/vnd.ufdl': ['ufd', 'ufdl'],\n 'application/vnd.uiq.theme': ['utz'],\n 'application/vnd.umajin': ['umj'],\n 'application/vnd.unity': ['unityweb'],\n 'application/vnd.uoml+xml': ['uoml', 'uo'],\n 'application/vnd.vcx': ['vcx'],\n 'application/vnd.visio': ['vsd', 'vst', 'vss', 'vsw'],\n 'application/vnd.visionary': ['vis'],\n 'application/vnd.vsf': ['vsf'],\n 'application/vnd.wap.wbxml': ['wbxml'],\n 'application/vnd.wap.wmlc': ['wmlc'],\n 'application/vnd.wap.wmlscriptc': ['wmlsc'],\n 'application/vnd.webturbo': ['wtb'],\n 'application/vnd.wolfram.player': ['nbp'],\n 'application/vnd.wordperfect': ['wpd'],\n 'application/vnd.wqd': ['wqd'],\n 'application/vnd.wt.stf': ['stf'],\n 'application/vnd.xara': ['xar'],\n 'application/vnd.xfdl': ['xfdl'],\n 'application/vnd.yamaha.hv-dic': ['hvd'],\n 'application/vnd.yamaha.hv-script': ['hvs'],\n 'application/vnd.yamaha.hv-voice': ['hvp'],\n 'application/vnd.yamaha.openscoreformat': ['osf'],\n 'application/vnd.yamaha.openscoreformat.osfpvg+xml': ['osfpvg'],\n 'application/vnd.yamaha.smaf-audio': ['saf'],\n 'application/vnd.yamaha.smaf-phrase': ['spf'],\n 'application/vnd.yellowriver-custom-menu': ['cmp'],\n 'application/vnd.zul': ['zir', 'zirz'],\n 'application/vnd.zzazz.deck+xml': ['zaz'],\n 'application/x-7z-compressed': ['7z'],\n 'application/x-abiword': ['abw'],\n 'application/x-ace-compressed': ['ace'],\n 'application/x-apple-diskimage': ['*dmg'],\n 'application/x-arj': ['arj'],\n 'application/x-authorware-bin': ['aab', 'x32', 'u32', 'vox'],\n 'application/x-authorware-map': ['aam'],\n 'application/x-authorware-seg': ['aas'],\n 'application/x-bcpio': ['bcpio'],\n 'application/x-bdoc': ['*bdoc'],\n 'application/x-bittorrent': ['torrent'],\n 'application/x-blorb': ['blb', 'blorb'],\n 'application/x-bzip': ['bz'],\n 'application/x-bzip2': ['bz2', 'boz'],\n 'application/x-cbr': ['cbr', 'cba', 'cbt', 'cbz', 'cb7'],\n 'application/x-cdlink': ['vcd'],\n 'application/x-cfs-compressed': ['cfs'],\n 'application/x-chat': ['chat'],\n 'application/x-chess-pgn': ['pgn'],\n 'application/x-chrome-extension': ['crx'],\n 'application/x-cocoa': ['cco'],\n 'application/x-conference': ['nsc'],\n 'application/x-cpio': ['cpio'],\n 'application/x-csh': ['csh'],\n 'application/x-debian-package': ['*deb', 'udeb'],\n 'application/x-dgc-compressed': ['dgc'],\n 'application/x-director': [\n 'dir',\n 'dcr',\n 'dxr',\n 'cst',\n 'cct',\n 'cxt',\n 'w3d',\n 'fgd',\n 'swa',\n ],\n 'application/x-doom': ['wad'],\n 'application/x-dtbncx+xml': ['ncx'],\n 'application/x-dtbook+xml': ['dtb'],\n 'application/x-dtbresource+xml': ['res'],\n 'application/x-dvi': ['dvi'],\n 'application/x-envoy': ['evy'],\n 'application/x-eva': ['eva'],\n 'application/x-font-bdf': ['bdf'],\n 'application/x-font-ghostscript': ['gsf'],\n 'application/x-font-linux-psf': ['psf'],\n 'application/x-font-pcf': ['pcf'],\n 'application/x-font-snf': ['snf'],\n 'application/x-font-type1': ['pfa', 'pfb', 'pfm', 'afm'],\n 'application/x-freearc': ['arc'],\n 'application/x-futuresplash': ['spl'],\n 'application/x-gca-compressed': ['gca'],\n 'application/x-glulx': ['ulx'],\n 'application/x-gnumeric': ['gnumeric'],\n 'application/x-gramps-xml': ['gramps'],\n 'application/x-gtar': ['gtar'],\n 'application/x-hdf': ['hdf'],\n 'application/x-httpd-php': ['php'],\n 'application/x-install-instructions': ['install'],\n 'application/x-iso9660-image': ['*iso'],\n 'application/x-iwork-keynote-sffkey': ['*key'],\n 'application/x-iwork-numbers-sffnumbers': ['*numbers'],\n 'application/x-iwork-pages-sffpages': ['*pages'],\n 'application/x-java-archive-diff': ['jardiff'],\n 'application/x-java-jnlp-file': ['jnlp'],\n 'application/x-keepass2': ['kdbx'],\n 'application/x-latex': ['latex'],\n 'application/x-lua-bytecode': ['luac'],\n 'application/x-lzh-compressed': ['lzh', 'lha'],\n 'application/x-makeself': ['run'],\n 'application/x-mie': ['mie'],\n 'application/x-mobipocket-ebook': ['*prc', 'mobi'],\n 'application/x-ms-application': ['application'],\n 'application/x-ms-shortcut': ['lnk'],\n 'application/x-ms-wmd': ['wmd'],\n 'application/x-ms-wmz': ['wmz'],\n 'application/x-ms-xbap': ['xbap'],\n 'application/x-msaccess': ['mdb'],\n 'application/x-msbinder': ['obd'],\n 'application/x-mscardfile': ['crd'],\n 'application/x-msclip': ['clp'],\n 'application/x-msdos-program': ['*exe'],\n 'application/x-msdownload': ['*exe', '*dll', 'com', 'bat', '*msi'],\n 'application/x-msmediaview': ['mvb', 'm13', 'm14'],\n 'application/x-msmetafile': ['*wmf', '*wmz', '*emf', 'emz'],\n 'application/x-msmoney': ['mny'],\n 'application/x-mspublisher': ['pub'],\n 'application/x-msschedule': ['scd'],\n 'application/x-msterminal': ['trm'],\n 'application/x-mswrite': ['wri'],\n 'application/x-netcdf': ['nc', 'cdf'],\n 'application/x-ns-proxy-autoconfig': ['pac'],\n 'application/x-nzb': ['nzb'],\n 'application/x-perl': ['pl', 'pm'],\n 'application/x-pilot': ['*prc', '*pdb'],\n 'application/x-pkcs12': ['p12', 'pfx'],\n 'application/x-pkcs7-certificates': ['p7b', 'spc'],\n 'application/x-pkcs7-certreqresp': ['p7r'],\n 'application/x-rar-compressed': ['*rar'],\n 'application/x-redhat-package-manager': ['rpm'],\n 'application/x-research-info-systems': ['ris'],\n 'application/x-sea': ['sea'],\n 'application/x-sh': ['sh'],\n 'application/x-shar': ['shar'],\n 'application/x-shockwave-flash': ['swf'],\n 'application/x-silverlight-app': ['xap'],\n 'application/x-sql': ['*sql'],\n 'application/x-stuffit': ['sit'],\n 'application/x-stuffitx': ['sitx'],\n 'application/x-subrip': ['srt'],\n 'application/x-sv4cpio': ['sv4cpio'],\n 'application/x-sv4crc': ['sv4crc'],\n 'application/x-t3vm-image': ['t3'],\n 'application/x-tads': ['gam'],\n 'application/x-tar': ['tar'],\n 'application/x-tcl': ['tcl', 'tk'],\n 'application/x-tex': ['tex'],\n 'application/x-tex-tfm': ['tfm'],\n 'application/x-texinfo': ['texinfo', 'texi'],\n 'application/x-tgif': ['*obj'],\n 'application/x-ustar': ['ustar'],\n 'application/x-virtualbox-hdd': ['hdd'],\n 'application/x-virtualbox-ova': ['ova'],\n 'application/x-virtualbox-ovf': ['ovf'],\n 'application/x-virtualbox-vbox': ['vbox'],\n 'application/x-virtualbox-vbox-extpack': ['vbox-extpack'],\n 'application/x-virtualbox-vdi': ['vdi'],\n 'application/x-virtualbox-vhd': ['vhd'],\n 'application/x-virtualbox-vmdk': ['vmdk'],\n 'application/x-wais-source': ['src'],\n 'application/x-web-app-manifest+json': ['webapp'],\n 'application/x-x509-ca-cert': ['der', 'crt', 'pem'],\n 'application/x-xfig': ['fig'],\n 'application/x-xliff+xml': ['*xlf'],\n 'application/x-xpinstall': ['xpi'],\n 'application/x-xz': ['xz'],\n 'application/x-zmachine': ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'],\n 'audio/vnd.dece.audio': ['uva', 'uvva'],\n 'audio/vnd.digital-winds': ['eol'],\n 'audio/vnd.dra': ['dra'],\n 'audio/vnd.dts': ['dts'],\n 'audio/vnd.dts.hd': ['dtshd'],\n 'audio/vnd.lucent.voice': ['lvp'],\n 'audio/vnd.ms-playready.media.pya': ['pya'],\n 'audio/vnd.nuera.ecelp4800': ['ecelp4800'],\n 'audio/vnd.nuera.ecelp7470': ['ecelp7470'],\n 'audio/vnd.nuera.ecelp9600': ['ecelp9600'],\n 'audio/vnd.rip': ['rip'],\n 'audio/x-aac': ['*aac'],\n 'audio/x-aiff': ['aif', 'aiff', 'aifc'],\n 'audio/x-caf': ['caf'],\n 'audio/x-flac': ['flac'],\n 'audio/x-m4a': ['*m4a'],\n 'audio/x-matroska': ['mka'],\n 'audio/x-mpegurl': ['m3u'],\n 'audio/x-ms-wax': ['wax'],\n 'audio/x-ms-wma': ['wma'],\n 'audio/x-pn-realaudio': ['ram', 'ra'],\n 'audio/x-pn-realaudio-plugin': ['rmp'],\n 'audio/x-realaudio': ['*ra'],\n 'audio/x-wav': ['*wav'],\n 'chemical/x-cdx': ['cdx'],\n 'chemical/x-cif': ['cif'],\n 'chemical/x-cmdf': ['cmdf'],\n 'chemical/x-cml': ['cml'],\n 'chemical/x-csml': ['csml'],\n 'chemical/x-xyz': ['xyz'],\n 'image/prs.btif': ['btif', 'btf'],\n 'image/prs.pti': ['pti'],\n 'image/vnd.adobe.photoshop': ['psd'],\n 'image/vnd.airzip.accelerator.azv': ['azv'],\n 'image/vnd.dece.graphic': ['uvi', 'uvvi', 'uvg', 'uvvg'],\n 'image/vnd.djvu': ['djvu', 'djv'],\n 'image/vnd.dvb.subtitle': ['*sub'],\n 'image/vnd.dwg': ['dwg'],\n 'image/vnd.dxf': ['dxf'],\n 'image/vnd.fastbidsheet': ['fbs'],\n 'image/vnd.fpx': ['fpx'],\n 'image/vnd.fst': ['fst'],\n 'image/vnd.fujixerox.edmics-mmr': ['mmr'],\n 'image/vnd.fujixerox.edmics-rlc': ['rlc'],\n 'image/vnd.microsoft.icon': ['ico'],\n 'image/vnd.ms-dds': ['dds'],\n 'image/vnd.ms-modi': ['mdi'],\n 'image/vnd.ms-photo': ['wdp'],\n 'image/vnd.net-fpx': ['npx'],\n 'image/vnd.pco.b16': ['b16'],\n 'image/vnd.tencent.tap': ['tap'],\n 'image/vnd.valve.source.texture': ['vtf'],\n 'image/vnd.wap.wbmp': ['wbmp'],\n 'image/vnd.xiff': ['xif'],\n 'image/vnd.zbrush.pcx': ['pcx'],\n 'image/x-3ds': ['3ds'],\n 'image/x-cmu-raster': ['ras'],\n 'image/x-cmx': ['cmx'],\n 'image/x-freehand': ['fh', 'fhc', 'fh4', 'fh5', 'fh7'],\n 'image/x-icon': ['*ico'],\n 'image/x-jng': ['jng'],\n 'image/x-mrsid-image': ['sid'],\n 'image/x-ms-bmp': ['*bmp'],\n 'image/x-pcx': ['*pcx'],\n 'image/x-pict': ['pic', 'pct'],\n 'image/x-portable-anymap': ['pnm'],\n 'image/x-portable-bitmap': ['pbm'],\n 'image/x-portable-graymap': ['pgm'],\n 'image/x-portable-pixmap': ['ppm'],\n 'image/x-rgb': ['rgb'],\n 'image/x-tga': ['tga'],\n 'image/x-xbitmap': ['xbm'],\n 'image/x-xpixmap': ['xpm'],\n 'image/x-xwindowdump': ['xwd'],\n 'message/vnd.wfa.wsc': ['wsc'],\n 'model/vnd.bary': ['bary'],\n 'model/vnd.cld': ['cld'],\n 'model/vnd.collada+xml': ['dae'],\n 'model/vnd.dwf': ['dwf'],\n 'model/vnd.gdl': ['gdl'],\n 'model/vnd.gtw': ['gtw'],\n 'model/vnd.mts': ['*mts'],\n 'model/vnd.opengex': ['ogex'],\n 'model/vnd.parasolid.transmit.binary': ['x_b'],\n 'model/vnd.parasolid.transmit.text': ['x_t'],\n 'model/vnd.pytha.pyox': ['pyo', 'pyox'],\n 'model/vnd.sap.vds': ['vds'],\n 'model/vnd.usda': ['usda'],\n 'model/vnd.usdz+zip': ['usdz'],\n 'model/vnd.valve.source.compiled-map': ['bsp'],\n 'model/vnd.vtu': ['vtu'],\n 'text/prs.lines.tag': ['dsc'],\n 'text/vnd.curl': ['curl'],\n 'text/vnd.curl.dcurl': ['dcurl'],\n 'text/vnd.curl.mcurl': ['mcurl'],\n 'text/vnd.curl.scurl': ['scurl'],\n 'text/vnd.dvb.subtitle': ['sub'],\n 'text/vnd.familysearch.gedcom': ['ged'],\n 'text/vnd.fly': ['fly'],\n 'text/vnd.fmi.flexstor': ['flx'],\n 'text/vnd.graphviz': ['gv'],\n 'text/vnd.in3d.3dml': ['3dml'],\n 'text/vnd.in3d.spot': ['spot'],\n 'text/vnd.sun.j2me.app-descriptor': ['jad'],\n 'text/vnd.wap.wml': ['wml'],\n 'text/vnd.wap.wmlscript': ['wmls'],\n 'text/x-asm': ['s', 'asm'],\n 'text/x-c': ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'],\n 'text/x-component': ['htc'],\n 'text/x-fortran': ['f', 'for', 'f77', 'f90'],\n 'text/x-handlebars-template': ['hbs'],\n 'text/x-java-source': ['java'],\n 'text/x-lua': ['lua'],\n 'text/x-markdown': ['mkd'],\n 'text/x-nfo': ['nfo'],\n 'text/x-opml': ['opml'],\n 'text/x-org': ['*org'],\n 'text/x-pascal': ['p', 'pas'],\n 'text/x-processing': ['pde'],\n 'text/x-sass': ['sass'],\n 'text/x-scss': ['scss'],\n 'text/x-setext': ['etx'],\n 'text/x-sfv': ['sfv'],\n 'text/x-suse-ymp': ['ymp'],\n 'text/x-uuencode': ['uu'],\n 'text/x-vcalendar': ['vcs'],\n 'text/x-vcard': ['vcf'],\n 'video/vnd.dece.hd': ['uvh', 'uvvh'],\n 'video/vnd.dece.mobile': ['uvm', 'uvvm'],\n 'video/vnd.dece.pd': ['uvp', 'uvvp'],\n 'video/vnd.dece.sd': ['uvs', 'uvvs'],\n 'video/vnd.dece.video': ['uvv', 'uvvv'],\n 'video/vnd.dvb.file': ['dvb'],\n 'video/vnd.fvt': ['fvt'],\n 'video/vnd.mpegurl': ['mxu', 'm4u'],\n 'video/vnd.ms-playready.media.pyv': ['pyv'],\n 'video/vnd.uvvu.mp4': ['uvu', 'uvvu'],\n 'video/vnd.vivo': ['viv'],\n 'video/x-f4v': ['f4v'],\n 'video/x-fli': ['fli'],\n 'video/x-flv': ['flv'],\n 'video/x-m4v': ['m4v'],\n 'video/x-matroska': ['mkv', 'mk3d', 'mks'],\n 'video/x-mng': ['mng'],\n 'video/x-ms-asf': ['asf', 'asx'],\n 'video/x-ms-vob': ['vob'],\n 'video/x-ms-wm': ['wm'],\n 'video/x-ms-wmv': ['wmv'],\n 'video/x-ms-wmx': ['wmx'],\n 'video/x-ms-wvx': ['wvx'],\n 'video/x-msvideo': ['avi'],\n 'video/x-sgi-movie': ['movie'],\n 'video/x-smv': ['smv'],\n 'x-conference/x-cooltalk': ['ice'],\n};\nObject.freeze(types);\nexport default types;\n","const types = {\n 'application/andrew-inset': ['ez'],\n 'application/appinstaller': ['appinstaller'],\n 'application/applixware': ['aw'],\n 'application/appx': ['appx'],\n 'application/appxbundle': ['appxbundle'],\n 'application/atom+xml': ['atom'],\n 'application/atomcat+xml': ['atomcat'],\n 'application/atomdeleted+xml': ['atomdeleted'],\n 'application/atomsvc+xml': ['atomsvc'],\n 'application/atsc-dwd+xml': ['dwd'],\n 'application/atsc-held+xml': ['held'],\n 'application/atsc-rsat+xml': ['rsat'],\n 'application/automationml-aml+xml': ['aml'],\n 'application/automationml-amlx+zip': ['amlx'],\n 'application/bdoc': ['bdoc'],\n 'application/calendar+xml': ['xcs'],\n 'application/ccxml+xml': ['ccxml'],\n 'application/cdfx+xml': ['cdfx'],\n 'application/cdmi-capability': ['cdmia'],\n 'application/cdmi-container': ['cdmic'],\n 'application/cdmi-domain': ['cdmid'],\n 'application/cdmi-object': ['cdmio'],\n 'application/cdmi-queue': ['cdmiq'],\n 'application/cpl+xml': ['cpl'],\n 'application/cu-seeme': ['cu'],\n 'application/cwl': ['cwl'],\n 'application/dash+xml': ['mpd'],\n 'application/dash-patch+xml': ['mpp'],\n 'application/davmount+xml': ['davmount'],\n 'application/docbook+xml': ['dbk'],\n 'application/dssc+der': ['dssc'],\n 'application/dssc+xml': ['xdssc'],\n 'application/ecmascript': ['ecma'],\n 'application/emma+xml': ['emma'],\n 'application/emotionml+xml': ['emotionml'],\n 'application/epub+zip': ['epub'],\n 'application/exi': ['exi'],\n 'application/express': ['exp'],\n 'application/fdf': ['fdf'],\n 'application/fdt+xml': ['fdt'],\n 'application/font-tdpfr': ['pfr'],\n 'application/geo+json': ['geojson'],\n 'application/gml+xml': ['gml'],\n 'application/gpx+xml': ['gpx'],\n 'application/gxf': ['gxf'],\n 'application/gzip': ['gz'],\n 'application/hjson': ['hjson'],\n 'application/hyperstudio': ['stk'],\n 'application/inkml+xml': ['ink', 'inkml'],\n 'application/ipfix': ['ipfix'],\n 'application/its+xml': ['its'],\n 'application/java-archive': ['jar', 'war', 'ear'],\n 'application/java-serialized-object': ['ser'],\n 'application/java-vm': ['class'],\n 'application/javascript': ['*js'],\n 'application/json': ['json', 'map'],\n 'application/json5': ['json5'],\n 'application/jsonml+json': ['jsonml'],\n 'application/ld+json': ['jsonld'],\n 'application/lgr+xml': ['lgr'],\n 'application/lost+xml': ['lostxml'],\n 'application/mac-binhex40': ['hqx'],\n 'application/mac-compactpro': ['cpt'],\n 'application/mads+xml': ['mads'],\n 'application/manifest+json': ['webmanifest'],\n 'application/marc': ['mrc'],\n 'application/marcxml+xml': ['mrcx'],\n 'application/mathematica': ['ma', 'nb', 'mb'],\n 'application/mathml+xml': ['mathml'],\n 'application/mbox': ['mbox'],\n 'application/media-policy-dataset+xml': ['mpf'],\n 'application/mediaservercontrol+xml': ['mscml'],\n 'application/metalink+xml': ['metalink'],\n 'application/metalink4+xml': ['meta4'],\n 'application/mets+xml': ['mets'],\n 'application/mmt-aei+xml': ['maei'],\n 'application/mmt-usd+xml': ['musd'],\n 'application/mods+xml': ['mods'],\n 'application/mp21': ['m21', 'mp21'],\n 'application/mp4': ['*mp4', '*mpg4', 'mp4s', 'm4p'],\n 'application/msix': ['msix'],\n 'application/msixbundle': ['msixbundle'],\n 'application/msword': ['doc', 'dot'],\n 'application/mxf': ['mxf'],\n 'application/n-quads': ['nq'],\n 'application/n-triples': ['nt'],\n 'application/node': ['cjs'],\n 'application/octet-stream': [\n 'bin',\n 'dms',\n 'lrf',\n 'mar',\n 'so',\n 'dist',\n 'distz',\n 'pkg',\n 'bpk',\n 'dump',\n 'elc',\n 'deploy',\n 'exe',\n 'dll',\n 'deb',\n 'dmg',\n 'iso',\n 'img',\n 'msi',\n 'msp',\n 'msm',\n 'buffer',\n ],\n 'application/oda': ['oda'],\n 'application/oebps-package+xml': ['opf'],\n 'application/ogg': ['ogx'],\n 'application/omdoc+xml': ['omdoc'],\n 'application/onenote': ['onetoc', 'onetoc2', 'onetmp', 'onepkg'],\n 'application/oxps': ['oxps'],\n 'application/p2p-overlay+xml': ['relo'],\n 'application/patch-ops-error+xml': ['xer'],\n 'application/pdf': ['pdf'],\n 'application/pgp-encrypted': ['pgp'],\n 'application/pgp-keys': ['asc'],\n 'application/pgp-signature': ['sig', '*asc'],\n 'application/pics-rules': ['prf'],\n 'application/pkcs10': ['p10'],\n 'application/pkcs7-mime': ['p7m', 'p7c'],\n 'application/pkcs7-signature': ['p7s'],\n 'application/pkcs8': ['p8'],\n 'application/pkix-attr-cert': ['ac'],\n 'application/pkix-cert': ['cer'],\n 'application/pkix-crl': ['crl'],\n 'application/pkix-pkipath': ['pkipath'],\n 'application/pkixcmp': ['pki'],\n 'application/pls+xml': ['pls'],\n 'application/postscript': ['ai', 'eps', 'ps'],\n 'application/provenance+xml': ['provx'],\n 'application/pskc+xml': ['pskcxml'],\n 'application/raml+yaml': ['raml'],\n 'application/rdf+xml': ['rdf', 'owl'],\n 'application/reginfo+xml': ['rif'],\n 'application/relax-ng-compact-syntax': ['rnc'],\n 'application/resource-lists+xml': ['rl'],\n 'application/resource-lists-diff+xml': ['rld'],\n 'application/rls-services+xml': ['rs'],\n 'application/route-apd+xml': ['rapd'],\n 'application/route-s-tsid+xml': ['sls'],\n 'application/route-usd+xml': ['rusd'],\n 'application/rpki-ghostbusters': ['gbr'],\n 'application/rpki-manifest': ['mft'],\n 'application/rpki-roa': ['roa'],\n 'application/rsd+xml': ['rsd'],\n 'application/rss+xml': ['rss'],\n 'application/rtf': ['rtf'],\n 'application/sbml+xml': ['sbml'],\n 'application/scvp-cv-request': ['scq'],\n 'application/scvp-cv-response': ['scs'],\n 'application/scvp-vp-request': ['spq'],\n 'application/scvp-vp-response': ['spp'],\n 'application/sdp': ['sdp'],\n 'application/senml+xml': ['senmlx'],\n 'application/sensml+xml': ['sensmlx'],\n 'application/set-payment-initiation': ['setpay'],\n 'application/set-registration-initiation': ['setreg'],\n 'application/shf+xml': ['shf'],\n 'application/sieve': ['siv', 'sieve'],\n 'application/smil+xml': ['smi', 'smil'],\n 'application/sparql-query': ['rq'],\n 'application/sparql-results+xml': ['srx'],\n 'application/sql': ['sql'],\n 'application/srgs': ['gram'],\n 'application/srgs+xml': ['grxml'],\n 'application/sru+xml': ['sru'],\n 'application/ssdl+xml': ['ssdl'],\n 'application/ssml+xml': ['ssml'],\n 'application/swid+xml': ['swidtag'],\n 'application/tei+xml': ['tei', 'teicorpus'],\n 'application/thraud+xml': ['tfi'],\n 'application/timestamped-data': ['tsd'],\n 'application/toml': ['toml'],\n 'application/trig': ['trig'],\n 'application/ttml+xml': ['ttml'],\n 'application/ubjson': ['ubj'],\n 'application/urc-ressheet+xml': ['rsheet'],\n 'application/urc-targetdesc+xml': ['td'],\n 'application/voicexml+xml': ['vxml'],\n 'application/wasm': ['wasm'],\n 'application/watcherinfo+xml': ['wif'],\n 'application/widget': ['wgt'],\n 'application/winhlp': ['hlp'],\n 'application/wsdl+xml': ['wsdl'],\n 'application/wspolicy+xml': ['wspolicy'],\n 'application/xaml+xml': ['xaml'],\n 'application/xcap-att+xml': ['xav'],\n 'application/xcap-caps+xml': ['xca'],\n 'application/xcap-diff+xml': ['xdf'],\n 'application/xcap-el+xml': ['xel'],\n 'application/xcap-ns+xml': ['xns'],\n 'application/xenc+xml': ['xenc'],\n 'application/xfdf': ['xfdf'],\n 'application/xhtml+xml': ['xhtml', 'xht'],\n 'application/xliff+xml': ['xlf'],\n 'application/xml': ['xml', 'xsl', 'xsd', 'rng'],\n 'application/xml-dtd': ['dtd'],\n 'application/xop+xml': ['xop'],\n 'application/xproc+xml': ['xpl'],\n 'application/xslt+xml': ['*xsl', 'xslt'],\n 'application/xspf+xml': ['xspf'],\n 'application/xv+xml': ['mxml', 'xhvml', 'xvml', 'xvm'],\n 'application/yang': ['yang'],\n 'application/yin+xml': ['yin'],\n 'application/zip': ['zip'],\n 'audio/3gpp': ['*3gpp'],\n 'audio/aac': ['adts', 'aac'],\n 'audio/adpcm': ['adp'],\n 'audio/amr': ['amr'],\n 'audio/basic': ['au', 'snd'],\n 'audio/midi': ['mid', 'midi', 'kar', 'rmi'],\n 'audio/mobile-xmf': ['mxmf'],\n 'audio/mp3': ['*mp3'],\n 'audio/mp4': ['m4a', 'mp4a'],\n 'audio/mpeg': ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],\n 'audio/ogg': ['oga', 'ogg', 'spx', 'opus'],\n 'audio/s3m': ['s3m'],\n 'audio/silk': ['sil'],\n 'audio/wav': ['wav'],\n 'audio/wave': ['*wav'],\n 'audio/webm': ['weba'],\n 'audio/xm': ['xm'],\n 'font/collection': ['ttc'],\n 'font/otf': ['otf'],\n 'font/ttf': ['ttf'],\n 'font/woff': ['woff'],\n 'font/woff2': ['woff2'],\n 'image/aces': ['exr'],\n 'image/apng': ['apng'],\n 'image/avci': ['avci'],\n 'image/avcs': ['avcs'],\n 'image/avif': ['avif'],\n 'image/bmp': ['bmp', 'dib'],\n 'image/cgm': ['cgm'],\n 'image/dicom-rle': ['drle'],\n 'image/dpx': ['dpx'],\n 'image/emf': ['emf'],\n 'image/fits': ['fits'],\n 'image/g3fax': ['g3'],\n 'image/gif': ['gif'],\n 'image/heic': ['heic'],\n 'image/heic-sequence': ['heics'],\n 'image/heif': ['heif'],\n 'image/heif-sequence': ['heifs'],\n 'image/hej2k': ['hej2'],\n 'image/hsj2': ['hsj2'],\n 'image/ief': ['ief'],\n 'image/jls': ['jls'],\n 'image/jp2': ['jp2', 'jpg2'],\n 'image/jpeg': ['jpeg', 'jpg', 'jpe'],\n 'image/jph': ['jph'],\n 'image/jphc': ['jhc'],\n 'image/jpm': ['jpm', 'jpgm'],\n 'image/jpx': ['jpx', 'jpf'],\n 'image/jxl': ['jxl'],\n 'image/jxr': ['jxr'],\n 'image/jxra': ['jxra'],\n 'image/jxrs': ['jxrs'],\n 'image/jxs': ['jxs'],\n 'image/jxsc': ['jxsc'],\n 'image/jxsi': ['jxsi'],\n 'image/jxss': ['jxss'],\n 'image/ktx': ['ktx'],\n 'image/ktx2': ['ktx2'],\n 'image/png': ['png'],\n 'image/sgi': ['sgi'],\n 'image/svg+xml': ['svg', 'svgz'],\n 'image/t38': ['t38'],\n 'image/tiff': ['tif', 'tiff'],\n 'image/tiff-fx': ['tfx'],\n 'image/webp': ['webp'],\n 'image/wmf': ['wmf'],\n 'message/disposition-notification': ['disposition-notification'],\n 'message/global': ['u8msg'],\n 'message/global-delivery-status': ['u8dsn'],\n 'message/global-disposition-notification': ['u8mdn'],\n 'message/global-headers': ['u8hdr'],\n 'message/rfc822': ['eml', 'mime'],\n 'model/3mf': ['3mf'],\n 'model/gltf+json': ['gltf'],\n 'model/gltf-binary': ['glb'],\n 'model/iges': ['igs', 'iges'],\n 'model/jt': ['jt'],\n 'model/mesh': ['msh', 'mesh', 'silo'],\n 'model/mtl': ['mtl'],\n 'model/obj': ['obj'],\n 'model/prc': ['prc'],\n 'model/step+xml': ['stpx'],\n 'model/step+zip': ['stpz'],\n 'model/step-xml+zip': ['stpxz'],\n 'model/stl': ['stl'],\n 'model/u3d': ['u3d'],\n 'model/vrml': ['wrl', 'vrml'],\n 'model/x3d+binary': ['*x3db', 'x3dbz'],\n 'model/x3d+fastinfoset': ['x3db'],\n 'model/x3d+vrml': ['*x3dv', 'x3dvz'],\n 'model/x3d+xml': ['x3d', 'x3dz'],\n 'model/x3d-vrml': ['x3dv'],\n 'text/cache-manifest': ['appcache', 'manifest'],\n 'text/calendar': ['ics', 'ifb'],\n 'text/coffeescript': ['coffee', 'litcoffee'],\n 'text/css': ['css'],\n 'text/csv': ['csv'],\n 'text/html': ['html', 'htm', 'shtml'],\n 'text/jade': ['jade'],\n 'text/javascript': ['js', 'mjs'],\n 'text/jsx': ['jsx'],\n 'text/less': ['less'],\n 'text/markdown': ['md', 'markdown'],\n 'text/mathml': ['mml'],\n 'text/mdx': ['mdx'],\n 'text/n3': ['n3'],\n 'text/plain': ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'ini'],\n 'text/richtext': ['rtx'],\n 'text/rtf': ['*rtf'],\n 'text/sgml': ['sgml', 'sgm'],\n 'text/shex': ['shex'],\n 'text/slim': ['slim', 'slm'],\n 'text/spdx': ['spdx'],\n 'text/stylus': ['stylus', 'styl'],\n 'text/tab-separated-values': ['tsv'],\n 'text/troff': ['t', 'tr', 'roff', 'man', 'me', 'ms'],\n 'text/turtle': ['ttl'],\n 'text/uri-list': ['uri', 'uris', 'urls'],\n 'text/vcard': ['vcard'],\n 'text/vtt': ['vtt'],\n 'text/wgsl': ['wgsl'],\n 'text/xml': ['*xml'],\n 'text/yaml': ['yaml', 'yml'],\n 'video/3gpp': ['3gp', '3gpp'],\n 'video/3gpp2': ['3g2'],\n 'video/h261': ['h261'],\n 'video/h263': ['h263'],\n 'video/h264': ['h264'],\n 'video/iso.segment': ['m4s'],\n 'video/jpeg': ['jpgv'],\n 'video/jpm': ['*jpm', '*jpgm'],\n 'video/mj2': ['mj2', 'mjp2'],\n 'video/mp2t': ['ts', 'm2t', 'm2ts', 'mts'],\n 'video/mp4': ['mp4', 'mp4v', 'mpg4'],\n 'video/mpeg': ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],\n 'video/ogg': ['ogv'],\n 'video/quicktime': ['qt', 'mov'],\n 'video/webm': ['webm'],\n};\nObject.freeze(types);\nexport default types;\n","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Mime_extensionToType, _Mime_typeToExtension, _Mime_typeToExtensions;\nclass Mime {\n constructor(...args) {\n _Mime_extensionToType.set(this, new Map());\n _Mime_typeToExtension.set(this, new Map());\n _Mime_typeToExtensions.set(this, new Map());\n for (const arg of args) {\n this.define(arg);\n }\n }\n define(typeMap, force = false) {\n for (let [type, extensions] of Object.entries(typeMap)) {\n type = type.toLowerCase();\n extensions = extensions.map((ext) => ext.toLowerCase());\n if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").has(type)) {\n __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").set(type, new Set());\n }\n const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type);\n let first = true;\n for (let extension of extensions) {\n const starred = extension.startsWith('*');\n extension = starred ? extension.slice(1) : extension;\n allExtensions?.add(extension);\n if (first) {\n __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").set(type, extension);\n }\n first = false;\n if (starred)\n continue;\n const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(extension);\n if (currentType && currentType != type && !force) {\n throw new Error(`\"${type} -> ${extension}\" conflicts with \"${currentType} -> ${extension}\". Pass \\`force=true\\` to override this definition.`);\n }\n __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").set(extension, type);\n }\n }\n return this;\n }\n getType(path) {\n if (typeof path !== 'string')\n return null;\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n const ext = last.replace(/^.*\\./, '').toLowerCase();\n const hasPath = last.length < path.length;\n const hasDot = ext.length < last.length - 1;\n if (!hasDot && hasPath)\n return null;\n return __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(ext) ?? null;\n }\n getExtension(type) {\n if (typeof type !== 'string')\n return null;\n type = type?.split?.(';')[0];\n return ((type && __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").get(type.trim().toLowerCase())) ?? null);\n }\n getAllExtensions(type) {\n if (typeof type !== 'string')\n return null;\n return __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type.toLowerCase()) ?? null;\n }\n _freeze() {\n this.define = () => {\n throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');\n };\n Object.freeze(this);\n for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").values()) {\n Object.freeze(extensions);\n }\n return this;\n }\n _getTestState() {\n return {\n types: __classPrivateFieldGet(this, _Mime_extensionToType, \"f\"),\n extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\"),\n };\n }\n}\n_Mime_extensionToType = new WeakMap(), _Mime_typeToExtension = new WeakMap(), _Mime_typeToExtensions = new WeakMap();\nexport default Mime;\n","import otherTypes from '../types/other.js';\nimport standardTypes from '../types/standard.js';\nimport Mime from './Mime.js';\nexport { default as Mime } from './Mime.js';\nexport default new Mime(standardTypes, otherTypes)._freeze();\n","import { computed, type Ref } from 'vue';\nimport { useI18n } from '@/utils/ts/i18n';\nimport mime from 'mime';\nimport messages from '../../messages.json';\n\ntype MessageSchema = (typeof messages)['en-US'];\n\n/**\n * Transforms a file extension to uppercase or a MIME type to an uppercase\n * extension prefixed by a dot:\n *\n * .jpeg -> .JPEG\n * application/pdf -> .PDF\n *\n * @param type Extension or Mime type string\n * @returns Extension\n */\nfunction getExtension(type: string) {\n // Is mimetype\n if (type.includes('/')) {\n return `.${mime.getExtension(type).toUpperCase()}`;\n }\n\n // Is extension\n return type.toUpperCase();\n}\n\n/**\n * Transforms a list of accepted file types or MIME types @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept}\n * into a human readable list of file extentions.\n *\n * .jpeg -> .JPEG\n * application/pdf -> .PDF\n *\n * @param accept String containing a list of unique file type specifiers.\n * @returns String with types transformed to human readable text\n */\nexport function useFileTypeList(accept?: Ref<string>) {\n const { locale, t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const supportedFileTypeList = computed<string>(() => {\n const formatter = new Intl.ListFormat(locale.value, { style: 'short', type: 'unit' });\n\n return accept?.value\n ? formatter.format(\n accept.value.split(',').map(type => {\n const value = type.trim();\n switch (value) {\n case 'audio/*':\n return t('audioFiles');\n case 'image/*':\n return t('imageFiles');\n case 'video/*':\n return t('videoFiles');\n default:\n return getExtension(type);\n }\n })\n )\n : null;\n });\n\n return { supportedFileTypeList };\n}\n","import { computed, reactive } from 'vue';\nimport mime from 'mime';\nimport { type useDragDropStateProps } from './use-drag-drop-state.types';\n\n/**\n * Transforms a file extension to MIME type.\n * @param type Type or extension to be transformed\n * @returns Extension transformed into MIME type\n */\nfunction transformExtensionToMimeType(type: string) {\n // When getType is \"null\" the value is a mime type\n return mime.getType(type) ?? type;\n}\n\n/**\n * Provides a set of states for the Drag and drop component as well as a set of errors calculated\n * during the \"dragenter\" event.\n *\n * The errors prevent the files from being dropped.\n * The state helps indicating what's the current state of the component.\n *\n * @param options Properties used to validate files when they are dragged inside the file uploader\n * @returns Drag state and errors calculated during the validation perfomed on the Drag event\n */\nexport function useDragDropState({ maxCount, accept }: useDragDropStateProps) {\n const dragErrors = reactive({\n invalidTypes: false,\n partiallyInvalidTypes: false,\n maxCountOverflow: false,\n });\n\n const dragState = reactive({\n dragging: false,\n error: false,\n });\n\n // Convert all extensions to MIME types\n const acceptMimeTypes = computed<Array<string>>(() => {\n if (!accept.value) {\n return undefined;\n }\n\n const types = accept.value\n .split(',') // Split all comma values\n .map(type => transformExtensionToMimeType(type.trim().toLocaleLowerCase()));\n return types;\n });\n\n /**\n * Resets to default the states provided by the composable\n */\n function resetDragState() {\n dragState.dragging = false;\n dragState.error = false;\n dragErrors.invalidTypes = false;\n dragErrors.partiallyInvalidTypes = false;\n dragErrors.maxCountOverflow = false;\n }\n\n /**\n * Validates if the files being dragged into the component meet all\n * restrictions applied by the MIME type through the \"action\" and\n * with the \"maxCount\" props\n *\n * @param totalFilesCount Total amount of files currently uploded\n * @param event Event triggered by the \"onenter\" action\n */\n function onDragEnterValidations(totalFilesCount: number, event: DragEvent) {\n // Enable dragging\n dragState.dragging = true;\n\n // Show error when the amount of files being dragged is higher than \"maxCount\"\n if (!event.dataTransfer.types.includes('Files') || totalFilesCount > maxCount.value) {\n dragErrors.maxCountOverflow = true;\n dragState.error = true;\n }\n\n // Do nothing if no file type/extension restrictions are set\n if (!acceptMimeTypes.value) {\n return;\n }\n\n let countValidFiles = 0;\n\n for (const file of event.dataTransfer.items) {\n if (acceptMimeTypes.value.includes(file.type)) {\n countValidFiles++;\n }\n }\n\n if (countValidFiles === 0) {\n dragState.error = true;\n dragErrors.invalidTypes = true;\n return;\n }\n\n // If some files have non-accepted types\n if (!dragErrors.invalidTypes && countValidFiles !== event.dataTransfer.items.length) {\n dragState.error = true;\n dragErrors.partiallyInvalidTypes = true;\n }\n }\n\n return {\n dragState,\n dragErrors,\n resetDragState,\n onDragEnterValidations,\n };\n}\n","<template>\n <div class=\"b-file-uploader\" :class=\"conditionalClasses\">\n <field-label\n :id=\"fieldLabelId\"\n class=\"b-file-uploader__label\"\n :for=\"inputFieldId\"\n :label=\"label\"\n :optional=\"optional\"\n :required=\"required\"\n :tooltip-text=\"tooltipText\"\n />\n\n <input\n :id=\"inputFieldId\"\n ref=\"inputRef\"\n :aria-required=\"required\"\n type=\"file\"\n tabindex=\"-1\"\n data-testid=\"input\"\n class=\"b-file-uploader__input\"\n :accept=\"accept\"\n :disabled=\"disabled\"\n :multiple=\"isMultiple\"\n @change=\"onInputChange\"\n @click=\"onInputClick\"\n @invalid.prevent\n />\n\n <!-- Used to separate the a11y text with breaks for the reader. Hidden to users -->\n <span :id=\"commaTextId\" aria-hidden=\"true\" class=\"b-file-uploader__invisible-comma\"> , </span>\n\n <div\n v-if=\"!hideArea\"\n ref=\"dropAreaRef\"\n :aria-labelledby=\"fileUploadAriaLabelledBy\"\n class=\"b-file-uploader__area\"\n role=\"button\"\n :aria-disabled=\"disabled\"\n :tabindex=\"disabled ? -1 : 0\"\n @click=\"inputRef.click()\"\n @dragenter.stop.prevent=\"onDragEnter\"\n @dragleave.stop.prevent=\"onDragLeave\"\n @drop.stop.prevent=\"onDrop\"\n @dragover=\"onDragOver\"\n @keydown.enter.prevent.capture=\"inputRef.click()\"\n @keydown.space.prevent.capture=\"inputRef.click()\"\n >\n <div class=\"b-file-uploader__icon\" aria-hidden=\"true\">\n <warning-filled-icon v-if=\"hasError\" />\n <upload-icon v-else />\n </div>\n\n <template v-if=\"!condensed\">\n <bento-typography :id=\"dropFilesTextId\" el=\"span\" strongest class=\"b-file-uploader__title\">\n {{ tc('dropFiles', maxCount) }}\n </bento-typography>\n\n <bento-typography v-if=\"description\" :id=\"customTextId\" el=\"span\" class=\"b-file-uploader__description\">\n {{ description }}\n </bento-typography>\n\n <file-uploader-restrictions v-bind=\"fileUploadRestrictionsProps\" :id=\"fileUploaderRestrictionsId\" />\n </template>\n\n <bento-typography :id=\"browseFilesButtonId\" stronger class=\"b-file-uploader__button\">\n {{ t('browseFiles') }}\n </bento-typography>\n </div>\n\n <error-message\n v-if=\"hasError && errorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-file-uploader__error-message\"\n />\n\n <bento-typography\n v-if=\"condensed && description\"\n :id=\"customTextId\"\n aria-hidden=\"true\"\n el=\"span\"\n class=\"b-file-uploader__description b-file-uploader__description--condensed\"\n >\n {{ description }}\n </bento-typography>\n\n <file-uploader-restrictions\n v-if=\"condensed\"\n v-bind=\"fileUploadRestrictionsProps\"\n :id=\"fileUploaderRestrictionsId\"\n />\n\n <bento-alert v-if=\"maxFileCountError\" type=\"critical\">\n {{ t('tooManyFiles') }}\n <template #description>\n {{ t('youHaveExceededTheMaximum', { count: n(props.maxCount) }) }}\n </template>\n </bento-alert>\n\n <div v-show=\"files?.length\" class=\"b-file-uploader__files\">\n <file-uploader-file-card\n v-for=\"(file, index) in files\"\n :ref=\"registerFileCardRef(index)\"\n :key=\"file.id\"\n :file=\"file\"\n :supported-file-types=\"supportedFileTypeList\"\n :readonly=\"readonly\"\n @cancel=\"removeFile(file)\"\n @remove=\"removeFile(file)\"\n />\n </div>\n <bento-typography v-if=\"!files?.length && readonly\" class=\"b-file-uploader__no-files\" wide>{{\n t('noFilesUploaded')\n }}</bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\n import UploadIcon from '@adyen/ui-assets-icons-16/vue/upload';\n import WarningFilledIcon from '@adyen/ui-assets-icons-16/vue/warning-filled';\n\n import { BentoAlert } from '@/components/alert';\n import { BentoTypography } from '@/components/typography';\n import { ErrorMessage, FieldLabel } from '@/internal';\n import { FileUploaderFileCard } from './components/file-uploader-file-card';\n import { FileUploaderRestrictions } from './components/file-uploader-restrictions';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/utils/ts/generate-uid';\n import { getFileType, isFileTypeAccepted, readFile } from './utils';\n import { useFileTypeList } from './composables';\n import { useDragDropState } from '@/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state';\n import { deprecate } from '@/utils/ts/deprecate';\n import { useFormFieldEmits } from '@/utils/ts/form-field/form-field';\n\n import {\n FileErrorType,\n type FileMaxSize,\n type FileObject,\n FileState,\n FileUploaderState,\n } from './file-uploader.internal.types';\n import { type BentoFileUploaderProps, type BentoFileUploaderValue } from './file-uploader.types';\n import type { FileUploaderRestrictionsProps } from '@/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t, tc, n } = useI18n<{ message: MessageSchema }>({ messages });\n\n const emit = defineEmits([\"change\", \"update:model-value\", \"error:upload\"]);\n\n const props = defineProps({\n description: { default: null },\n disabled: { type: Boolean, default: false },\n errorMessage: { default: null },\n label: { default: null },\n optional: { type: Boolean, default: false },\n placeholder: null,\n readonly: { type: Boolean },\n required: { type: Boolean, default: false },\n tooltipText: { default: null },\n accept: { default: null },\n condensed: { type: Boolean, default: false },\n maxCount: { default: 1 },\n maxDimensions: { default: null },\n maxSize: { default: null },\n modelValue: { default: null }\n});\n\n const { emitValue } = useFormFieldEmits<BentoFileUploaderValue>(emit);\n\n /**\n * Model value checks\n * Filter out type string, array and file as FileList is the only type un-deprecated for modelValue\n * */\n\n /**\n * Type guard to check if the value is a FileList.\n * @param files The value to check.\n */\n function isFileList(files: BentoFileUploaderValue): files is FileList {\n return (\n !!files && typeof (files as FileList).length === 'number' && typeof (files as FileList).item === 'function'\n );\n }\n\n /**\n * Used as vitest recognizes FileList as an Array of Files which then\n * causes any tests with pre-uploaded files to fail as isFileList will fail.\n * */\n onMounted(() => {\n // Model is not a FileList\n if (!isFileList(props.modelValue)) {\n deprecate(\n 'BentoFileUploaderValue types: string | Array<string> | File | Array<File>',\n 'Use FileList instead.',\n '3.0.0'\n );\n }\n });\n\n const { supportedFileTypeList } = useFileTypeList(toRef(props, 'accept'));\n\n const browseFilesButtonId = generateUid('browse-button');\n const customTextId = generateUid('custom-text');\n const dropFilesTextId = generateUid('drop-files-text');\n const commaTextId = generateUid('comma-text');\n const fileUploaderRestrictionsId = generateUid('file-uploader-restrictions');\n const fieldLabelId = generateUid('field-label');\n\n const files = ref<Array<FileObject>>(null);\n const fileCardRefs = ref<Array<InstanceType<typeof FileUploaderFileCard>>>([]);\n const inputRef = ref<HTMLInputElement>(null);\n const dropAreaRef = ref<HTMLDivElement>(null);\n const inputFieldId = generateUid('input');\n const errorId = generateUid('input-error');\n\n const fileUploadAriaLabelledBy = computed(() => {\n const formattedFieldLabelId = props.label ? `${fieldLabelId} ${commaTextId}` : '';\n const formattedDropFileTextId = !props.condensed ? `${dropFilesTextId} ${commaTextId}` : '';\n const formattedCustomTextId = props.description ? `${customTextId} ${commaTextId}` : '';\n const formattedFileUploaderRestrictionsId = `${fileUploaderRestrictionsId} ${commaTextId}`;\n return `${formattedFieldLabelId} ${formattedDropFileTextId} ${formattedCustomTextId} ${formattedFileUploaderRestrictionsId} ${browseFilesButtonId}`;\n });\n\n const { dragState, dragErrors, resetDragState, onDragEnterValidations } = useDragDropState({\n accept: toRef(props, 'accept'),\n maxCount: toRef(props, 'maxCount'),\n });\n\n const fileUploadRestrictionsProps = computed<FileUploaderRestrictionsProps>(() => ({\n condensed: props.condensed,\n disabled: props.disabled,\n maxCount: isMultiple.value\n ? {\n value: props.maxCount,\n error: dragErrors.maxCountOverflow || maxFileCountError.value,\n }\n : null,\n maxDimensions: props.maxDimensions\n ? {\n value: props.maxDimensions,\n error: files.value?.some(file => file.errors.includes(FileErrorType.ERROR_DIMENSIONS)),\n }\n : null,\n maxSize: props.maxSize\n ? {\n value: props.maxSize,\n error: files.value?.some(file => file.errors.includes(FileErrorType.ERROR_SIZE)),\n }\n : null,\n supportedFileTypes: supportedFileTypeList.value\n ? {\n value: supportedFileTypeList.value,\n error:\n dragErrors.invalidTypes ||\n dragErrors.partiallyInvalidTypes ||\n files.value?.some(file => file.errors.includes(FileErrorType.ERROR_TYPE)),\n }\n : null,\n }));\n // Prevents triggering \"dragleave\" events on children elements\n const enterTarget = ref<EventTarget>();\n\n const conditionalClasses = computed(() => ({\n [`b-file-uploader--${FileUploaderState.DISABLED}`]: props.disabled,\n [`b-file-uploader--${FileUploaderState.DRAG_OVER}`]: dragState.dragging,\n [`b-file-uploader--${FileUploaderState.ERROR}`]: hasError.value,\n [`b-file-uploader--condensed`]: props.condensed,\n }));\n const isMultiple = computed(() => props.maxCount > 1);\n const hideArea = computed(() => (props.maxCount && files.value?.length >= props.maxCount) || props.readonly);\n const loadingStateExists = computed(() => files.value?.some(file => file.state === 'loading'));\n\n const registerFileCardRef = (cardIndex: number) => fileCardRef => {\n fileCardRefs.value[cardIndex] = fileCardRef;\n };\n\n /**\n * Verifies the new list of files and emits the `change` and `update:modelValue` events.\n * @param newList The new list of files to process and emit.\n */\n function emitUpdate(newList: Array<FileObject>) {\n if (newList) {\n verifyFileCount(newList);\n verifyFileSize(newList);\n\n const value = convertToFileList(newList);\n\n emit('change', value);\n emitValue(value);\n } else {\n emit('change', undefined);\n emitValue(undefined);\n }\n }\n\n /** Errors */\n const hasError = computed(() => !!props.errorMessage || dragState.error);\n const maxFileCountError = computed(() => files.value?.length > props.maxCount);\n const maxFileError = ref(false);\n const hasRestrictionError = computed(() => files.value?.some(file => file.state === 'error'));\n\n watch(hasRestrictionError, newValue => {\n // Without this, when files are initially uploaded the component\n // will immediately and unnecessarily emit 'false' and then\n // emit 'true' once processing has done, if errors exists.\n if (loadingStateExists.value) {\n return;\n }\n\n emit('error:upload', newValue);\n });\n\n /**\n * Places the focus to the \"drop area\" after adding or removing a file.\n * If more files can be added, the focus is moved to the \"drop area\".\n * If no more files can be added, the focus is moved to the first file card.\n */\n async function resetFocus() {\n await nextTick();\n\n if (files.value.length === props.maxCount) {\n fileCardRefs.value[0]?.focus();\n return;\n }\n\n dropAreaRef.value.focus();\n }\n\n /**\n * Removes the file from the list of files when the\n * \"remove\" or \"cancel\" events are triggered from\n * the file card component\n * @param file File to be removed\n */\n async function removeFile(file: FileObject) {\n files.value = files.value.filter(({ id }) => id !== file.id);\n\n await resetFocus();\n emitUpdate(files.value);\n }\n\n /** Drag n Drop functions */\n\n /**\n * Creates a FileObject from a native File and tracks its client-load progress.\n * @param file The native File object.\n * @returns A FileObject.\n */\n function processFile(file: File) {\n const fileObject = reactive<FileObject>({\n id: generateUid('file'),\n data: file,\n errors: [],\n progress: null,\n state: FileState.LOADING,\n type: getFileType(file),\n });\n readFile(fileObject, props.accept, props.maxDimensions);\n return fileObject;\n }\n\n /**\n * Prevent opening the file browser when no\n * more files can be added (until one file is removed).\n * @param event Triggered event\n */\n function onInputClick(event: MouseEvent) {\n if (files.value?.length === props.maxCount) {\n event.preventDefault();\n }\n }\n\n /**\n * Sets the file/files to track their progress while being processed\n * @param fileList File or list of files to be processed.\n */\n async function onFileInput(fileList: FileList) {\n // Prevent adding many files if maxCount is 1\n if (props.maxCount === 1 && fileList.length > props.maxCount) {\n resetEnterTarget();\n resetDragState();\n return;\n }\n\n if (isMultiple.value) {\n // Add the new files to the file selection.\n // Removing files should be done by interacting with the file list below the area.\n files.value = [...(files.value || []), ...Array.from(fileList).map(file => processFile(file))];\n } else {\n files.value = [processFile(fileList[0])];\n await resetFocus();\n }\n\n emitUpdate(files.value);\n }\n\n /**\n * Handles the \"dragenter\" event, triggered when the mouse enters the draggable area.\n * Enables the dragging state and sets the dragging error to true to\n * prevent dropping files from being added if there's a general error.\n * @param event Drag event\n */\n function onDragEnter(event: DragEvent) {\n // Prevent changing state if disabled\n if (props.disabled) {\n return;\n }\n\n /**\n * Allows internal components as part of the dragable area.\n * Prevents trigerring \"dragleave\" events on children elements.\n * Set the \"dragarea\" as target\n */\n enterTarget.value = event.target;\n\n const totalFilesCount = (event.dataTransfer.items?.length ?? 0) + (files.value?.length ?? 0);\n onDragEnterValidations(totalFilesCount, event);\n }\n\n /**\n * Resets the reference to the target.\n * This helps preventing loosing the state when dragging over children\n */\n function resetEnterTarget() {\n enterTarget.value = null;\n }\n\n /**\n * Handles the \"dragleave\" event, triggered when the mouse leaves the draggable area.\n * Maintains the dragging state while dragging over children.\n * Resets the states when the mouse leaves the draggable area\n * @param event Drag event\n */\n function onDragLeave(event: DragEvent) {\n // If target enter and leave are the same it means the drag has left the \"dragarea\"\n if (enterTarget.value === event.target) {\n resetEnterTarget();\n resetDragState();\n }\n }\n\n /**\n * Handles the \"dragover\" event, triggered when the mouse moves over the draggable area.\n * Disables the cursor when the component is disabled.\n * @param event Drag event\n */\n function onDragOver(event: DragEvent) {\n event.preventDefault();\n\n // Disable drag n drop and change the cursor if disabled\n if (props.disabled) {\n // eslint-disable-next-line no-param-reassign\n event.dataTransfer.dropEffect = 'none';\n }\n }\n\n /**\n * Hadles the \"drop\" event, triggered when files are dropped inside the draggable area.\n * Processes the files that are dropped.\n * @param event Drag event\n */\n async function onDrop(event: DragEvent) {\n // Prevent events when the input is disabled\n if (props.disabled) {\n return;\n }\n\n if (!dragErrors.invalidTypes && event.dataTransfer.files?.length) {\n onFileInput(event.dataTransfer.files);\n }\n resetEnterTarget();\n resetDragState();\n }\n\n /**\n * Handles the \"change\" event over the \"input\" element.\n * Processes the files that are selected through the browser's file explorer.\n */\n async function onInputChange() {\n if (inputRef.value.files?.length) {\n onFileInput(inputRef.value.files);\n }\n\n // Reset input value\n inputRef.value.value = '';\n await resetFocus();\n }\n\n /** End of drag and drop functions */\n\n /**\n * Watches the modelValue and if set\n * and the type is not deprecated, it processes the files\n * but doesn't emit them as the user already has those files.\n */\n watch(\n () => props.modelValue,\n (newValue: BentoFileUploaderValue) => {\n // Sets the new value if it is a `FileList`. This ignores deprecated value types.\n if (newValue && isFileList(newValue)) {\n const fileList = newValue as FileList;\n\n const fileListArray: Array<File> = Array.from(fileList);\n\n files.value = fileListArray.map(file => processFile(file));\n } else if (!newValue && files.value) {\n // Clear the file list when the value is programmatically unset.\n files.value = null;\n }\n },\n { immediate: true }\n );\n\n function verifyFileCount(fileList: Array<FileObject>) {\n const isValid = props.maxCount && fileList.length <= props.maxCount;\n maxFileError.value = !isValid;\n }\n\n function verifyFileSize(fileList: Array<FileObject>) {\n if (!props.maxSize) {\n return;\n }\n\n fileList.forEach(file => {\n const item = file;\n let maxSizeLimit: number | undefined;\n\n if (Array.isArray(props.maxSize)) {\n const matchingEntry = (props.maxSize as Array<FileMaxSize>).find(entry =>\n isFileTypeAccepted(item.data, entry.fileType)\n );\n maxSizeLimit = matchingEntry?.maxSize;\n } else {\n maxSizeLimit = props.maxSize as number;\n }\n\n if (maxSizeLimit && item.data.size > maxSizeLimit) {\n item.state = FileState.ERROR;\n\n if (!item.errors.includes(FileErrorType.ERROR_SIZE)) {\n item.errors.push(FileErrorType.ERROR_SIZE);\n }\n }\n });\n }\n\n function convertToFileList(fileList: Array<FileObject>) {\n // Filter out files with errors\n const validFiles = fileList.filter(\n ({ errors }) => !errors.includes(FileErrorType.ERROR_LOAD) && !errors.includes(FileErrorType.ERROR_SIZE)\n );\n\n if (validFiles.length) {\n const dataTransfer = new DataTransfer();\n validFiles.forEach(({ data, id }) => {\n dataTransfer.items.add(data);\n });\n return dataTransfer.files;\n }\n return undefined;\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * The file uploader component enables users to upload one or multiple files from their device to our system.\n *\n * @example\n * import { BentoFileUploader, type BentoFileValue } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoFileUploader },\n * template: `\n * <bento-file-uploader\n * accept=\"image/*,video/*,.pdf,.png\"\n * condensed\n * description=\"Custom supporting text\"\n * disabled\n * errorMessage=\"Custom error message\"\n * label=\"Bento file uploader\"\n * :maxCount=\"1\"\n * :maxDimensions=\"{ width: 200, height: 100 }\"\n * :maxSize=\"1000\"\n * v-model=\"files\"\n * :optional=\"false\"\n * required\n * tooltipText=\"Useful information\"\n * />\n * `,\n * setup() {\n * const files = ref<BentoFileValue>()\n * }\n * }\n */\n export default {\n name: 'bento-file-uploader',\n model: { prop: 'modelValue', event: 'update:model-value' },\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./file-uploader.scss\" />\n"],"names":["instance","getCurrentInstance","uuid","useTruncatedFileName","target","container","isContainerTruncating","ref","observer","disconnectObserver","onUnmounted","onMounted","entries","UNITS","formatFileSize","locale","size","unitIndex","FileState","FileState2","FileErrorType","FileErrorType2","FileUploaderState","FileUploaderState2","FileType","FileType2","textFileExtraTypes","tableFileTypes","slidesFileTypes","compressedFileTypes","getFileType","file","isFileTypeAccepted","accept","acceptPatterns","type","pattern","category","readFile","fileObject","maxDimensions","reader","event","blob","url","img","FILE_TYPE_ICON_MAP","SoundIcon","FolderIcon","AttachmentIcon","ImageIcon","DocumentIcon","CollectionIcon","TableIcon","DocumentLinesIcon","PlayCircleIcon","getFileIcon","getFileIconColor","__default__$2","messages$2","ICON_TIMER","t","useI18n","removeFileButtonRef","cancelFileButtonRef","retryFileButtonRef","fileErrorsSectionId","generateUid","cancelFileButtonId","removeFileButtonId","retryFileButtonId","showFileIcon","props","downloadUrl","computed","hasError","hasLoadError","hasSizeError","hasDimensionsError","hasTypeError","isLoading","progressLabel","sizeLabel","fileNameRef","fileNameContainerRef","isFileNameTruncated","conditionalClasses","conditionalIconClasses","fileUploaderIcon","BentoLoadingIndicator","WarningFilledIcon","CheckmarkCircleFillIcon","watch","value","changeTimer","focus","expose","__default__$1","messages$1","tc","setRestrictionErrorClass","error","isMaxSizeArray","maxFileSizeLabel","computedConditionalFiles","list","entry","displayName","maxDimensionsLabel","width","height","types$1","types","__classPrivateFieldGet","receiver","state","kind","f","_Mime_extensionToType","_Mime_typeToExtension","_Mime_typeToExtensions","Mime","args","arg","typeMap","force","extensions","ext","allExtensions","first","extension","starred","currentType","path","last","hasPath","mime","getExtension","useFileTypeList","formatter","transformExtensionToMimeType","useDragDropState","maxCount","dragErrors","reactive","dragState","acceptMimeTypes","resetDragState","onDragEnterValidations","totalFilesCount","countValidFiles","__default__","messages","n","emitValue","useFormFieldEmits","emit","isFileList","files2","deprecate","supportedFileTypeList","toRef","browseFilesButtonId","customTextId","dropFilesTextId","commaTextId","fileUploaderRestrictionsId","fieldLabelId","files","fileCardRefs","inputRef","dropAreaRef","inputFieldId","errorId","fileUploadAriaLabelledBy","formattedFieldLabelId","formattedDropFileTextId","formattedCustomTextId","formattedFileUploaderRestrictionsId","fileUploadRestrictionsProps","isMultiple","maxFileCountError","enterTarget","hideArea","loadingStateExists","registerFileCardRef","cardIndex","fileCardRef","emitUpdate","newList","verifyFileCount","verifyFileSize","convertToFileList","maxFileError","hasRestrictionError","newValue","resetFocus","nextTick","removeFile","id","processFile","onInputClick","onFileInput","fileList","resetEnterTarget","onDragEnter","onDragLeave","onDragOver","onDrop","onInputChange","fileListArray","isValid","item","maxSizeLimit","validFiles","errors","dataTransfer","data"],"mappings":"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","x_google_ignoreList":[19,20,21,22]}