$(document).ready(function(){$(".umbraco-forms-page").each(function(){var o=$(this);let t=o.find('input[type="file"].msInput');0<t.length&&t.each(function(t,e){let n=$(e);var e=o.find('input[name="'+n.attr("data-field")+'"]'),i=n.closest(".ms").find(".msItemsSelected"),s=n.closest(".ms").find(".msSelectFrontEnd"),l=n.closest(".umbraco-forms-field");({$msInput:n,$actualInput:e,$msSelectFrontEnd:s,$uploadFieldDiv:l,$outputDom:i,init:function(){var t=this;t.$msSelectFrontEnd.click(function(){t.$msInput.trigger("click")}),t.$msInput.on("change",function(){var i=t.getFiles(t.$msInput[0]);let s=t.getFiles(t.$actualInput[0]);for(let n=0;n<i.length;n++){let e=!1;for(let t=0;t<s.length;t++)s[t].name==i[n].name&&s[t].size==i[n].size&&(e=!0);e||s.push(i[n])}t.$actualInput[0].files=t.buildFiles(s),t.setOutput(s);t.$msInput[0].files=t.buildFiles([]),t.removeError()})},getFiles:function(e){const n=new Array(e.files.length);for(let t=0;t<e.files.length;t++)n[t]=e.files.item(t);return n},buildFiles:function(t){const e=new DataTransfer;for(const n of t)e.items.add(n);return e.files},setOutput:function(e){let n="";for(let t=0;t<e.length;t++)n+='<div class="fileItem"><span class="text">'+e[t].name+'</span><button type="button" class="btn remove" data-index="'+t+'"><span class="icon"></span><span class="text">Remove</span></button></div>';this.$outputDom.html(n),this.bindRemoveFile()},bindRemoveFile:function(){var n=this;n.$outputDom.find("button.remove").click(function(){var t=+$(this).attr("data-index");let e=n.getFiles(n.$actualInput[0]);e.splice(t,1),n.$actualInput[0].files=n.buildFiles(e),n.setOutput(e)})},removeError:function(){this.$uploadFieldDiv.removeClass("has-error"),this.$uploadFieldDiv.find(".field-validation-error").text("")}}).init()})})});