@ministryofjustice/frontend 2.2.2 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/moj/all.jquery.min.js
CHANGED
|
@@ -59,4 +59,4 @@
|
|
|
59
59
|
<div class="govuk-button-group">
|
|
60
60
|
<button type="button" class="govuk-button moj-js-datepicker-ok">Select</button>
|
|
61
61
|
<button type="button" class="govuk-button govuk-button--secondary moj-js-datepicker-cancel">Close</button>
|
|
62
|
-
</div>`},t.prototype.createCalendarHeaders=function(){this.dayLabels.forEach(t=>{t=`<th scope="col"><span aria-hidden="true">${t.substring(0,3)}</span><span class="govuk-visually-hidden">${t}</span></th>`;const e=this.$dialog.querySelector("thead > tr");e.insertAdjacentHTML("beforeend",t)})},t.prototype.leadingZeros=function(t,e=2){let n=t.toString();for(;n.length<e;)n="0"+n;return n},t.prototype.setOptions=function(){this.setMinAndMaxDatesOnCalendar(),this.setExcludedDates(),this.setExcludedDays(),this.setLeadingZeros(),this.setWeekStartDay()},t.prototype.setMinAndMaxDatesOnCalendar=function(){this.config.minDate&&(this.minDate=this.formattedDateFromString(this.config.minDate,null),this.minDate&&this.currentDate<this.minDate&&(this.currentDate=this.minDate)),this.config.maxDate&&(this.maxDate=this.formattedDateFromString(this.config.maxDate,null),this.maxDate&&this.currentDate>this.maxDate&&(this.currentDate=this.maxDate))},t.prototype.setExcludedDates=function(){this.config.excludedDates&&(this.excludedDates=this.config.excludedDates.replace(/\s+/," ").split(" ").map(t=>{if(!t.includes("-"))return this.formattedDateFromString(t,null);{const[e,n]=t.split("-").map(t=>this.formattedDateFromString(t,null));if(e&&n){const o=new Date(e.getTime()),i=[];for(;o<=n;)i.push(new Date(o)),o.setDate(o.getDate()+1);return i}}}).flat().filter(t=>t))},t.prototype.setExcludedDays=function(){if(this.config.excludedDays){let e=this.dayLabels.map(t=>t.toLowerCase());"monday"===this.config.weekStartDay&&e.unshift(e.pop()),this.excludedDays=this.config.excludedDays.replace(/\s+/," ").toLowerCase().split(" ").map(t=>e.indexOf(t)).filter(t=>-1!==t)}},t.prototype.setLeadingZeros=function(){"boolean"!=typeof this.config.leadingZeros&&("true"===this.config.leadingZeros.toLowerCase()&&(this.config.leadingZeros=!0),"false"===this.config.leadingZeros.toLowerCase()&&(this.config.leadingZeros=!1))},t.prototype.setWeekStartDay=function(){const t=this.config.weekStartDay;"sunday"===t?.toLowerCase()&&(this.config.weekStartDay="sunday",this.dayLabels.unshift(this.dayLabels.pop())),"monday"===t?.toLowerCase()&&(this.config.weekStartDay="monday")},t.prototype.isExcludedDate=function(t){if(this.minDate&&this.minDate>t)return!0;if(this.maxDate&&this.maxDate<t)return!0;for(const e of this.excludedDates)if(t.toDateString()===e.toDateString())return!0;return!!this.excludedDays.includes(t.getDay())},t.prototype.formattedDateFromString=function(t,e=new Date){const n=/(\d{1,2})([-/,. ])(\d{1,2})\2(\d{4})/;if(!n.test(t))return e;var t=t.match(n),o=t[1],i=t[3],t=t[4];return(i=new Date(i+`-${o}-`+t))instanceof Date&&!isNaN(i)?i:e},t.prototype.formattedDateFromDate=function(t){return this.config.leadingZeros?`${this.leadingZeros(t.getDate())}/${this.leadingZeros(t.getMonth()+1)}/`+t.getFullYear():`${t.getDate()}/${t.getMonth()+1}/`+t.getFullYear()},t.prototype.formattedDateHuman=function(t){return`${this.dayLabels[(t.getDay()+6)%7]} ${t.getDate()} ${this.monthLabels[t.getMonth()]} `+t.getFullYear()},t.prototype.backgroundClick=function(t){!this.isOpen()||this.$dialog.contains(t.target)||this.$input.contains(t.target)||this.$calendarButton.contains(t.target)||(t.preventDefault(),this.closeDialog())},t.prototype.firstButtonKeydown=function(t){"Tab"===t.key&&t.shiftKey&&(this.$lastButtonInDialog.focus(),t.preventDefault())},t.prototype.lastButtonKeydown=function(t){"Tab"!==t.key||t.shiftKey||(this.$firstButtonInDialog.focus(),t.preventDefault())},t.prototype.updateCalendar=function(){this.$dialogTitle.innerHTML=this.monthLabels[this.currentDate.getMonth()]+" "+this.currentDate.getFullYear();const e=this.currentDate,t=new Date(e.getFullYear(),e.getMonth(),1);let n;n="monday"===this.config.weekStartDay?0===t.getDay()?6:t.getDay()-1:t.getDay(),t.setDate(t.getDate()-n);const o=new Date(t);for(let t=0;t<this.calendarDays.length;t++){var i=o.getMonth()!==e.getMonth(),r=this.isExcludedDate(o);this.calendarDays[t].update(o,i,r),o.setDate(o.getDate()+1)}},t.prototype.setCurrentDate=function(o=!0){const i=this["currentDate"];if(this.calendarDays.forEach(t=>{t.button.classList.add("moj-datepicker__button"),t.button.classList.add("moj-datepicker__calendar-day"),t.button.setAttribute("tabindex",-1),t.button.classList.remove(this.selectedDayButtonClass);const e=t.date,n=(e.setHours(0,0,0,0),new Date);n.setHours(0,0,0,0),e.getTime()===i.getTime()&&o&&(t.button.setAttribute("tabindex",0),t.button.focus(),t.button.classList.add(this.selectedDayButtonClass)),this.inputDate&&e.getTime()===this.inputDate.getTime()?(t.button.classList.add(this.currentDayButtonClass),t.button.setAttribute("aria-selected",!0)):(t.button.classList.remove(this.currentDayButtonClass),t.button.removeAttribute("aria-selected")),e.getTime()===n.getTime()?t.button.classList.add(this.todayButtonClass):t.button.classList.remove(this.todayButtonClass)}),!o){const t=this.calendarDays.filter(t=>"block"===window.getComputedStyle(t.button).display&&!t.button.disabled);t[0].button.setAttribute("tabindex",0),this.currentDate=t[0].date}},t.prototype.selectDate=function(t){this.isExcludedDate(t)||(this.$calendarButton.querySelector("span").innerText="Choose date. Selected date is "+this.formattedDateHuman(t),this.$input.value=this.formattedDateFromDate(t),t=new Event("change",{bubbles:!0,cancelable:!0}),this.$input.dispatchEvent(t),this.closeDialog())},t.prototype.isOpen=function(){return this.$dialog.classList.contains("moj-datepicker__dialog--open")},t.prototype.toggleDialog=function(t){t.preventDefault(),this.isOpen()?this.closeDialog():(this.setMinAndMaxDatesOnCalendar(),this.openDialog())},t.prototype.openDialog=function(){this.$dialog.classList.add("moj-datepicker__dialog--open"),this.$calendarButton.setAttribute("aria-expanded","true"),this.$input.offsetWidth>this.$dialog.offsetWidth&&(this.$dialog.style.right="0px"),this.$dialog.style.top=this.$input.offsetHeight+3+"px",this.inputDate=this.formattedDateFromString(this.$input.value),this.currentDate=this.inputDate,this.currentDate.setHours(0,0,0,0),this.updateCalendar(),this.setCurrentDate()},t.prototype.closeDialog=function(){this.$dialog.classList.remove("moj-datepicker__dialog--open"),this.$calendarButton.setAttribute("aria-expanded","false"),this.$calendarButton.focus()},t.prototype.goToDate=function(t,e){const n=this.currentDate;this.currentDate=t,n.getMonth()===this.currentDate.getMonth()&&n.getFullYear()===this.currentDate.getFullYear()||this.updateCalendar(),this.setCurrentDate(e)},t.prototype.focusNextDay=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()+1),this.goToDate(t)},t.prototype.focusPreviousDay=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()-1),this.goToDate(t)},t.prototype.focusNextWeek=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()+7),this.goToDate(t)},t.prototype.focusPreviousWeek=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()-7),this.goToDate(t)},t.prototype.focusFirstDayOfWeek=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()-t.getDay()),this.goToDate(t)},t.prototype.focusLastDayOfWeek=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()-t.getDay()+6),this.goToDate(t)},t.prototype.focusNextMonth=function(t,e=!0){t.preventDefault();const n=new Date(this.currentDate);n.setMonth(n.getMonth()+1,1),this.goToDate(n,e)},t.prototype.focusPreviousMonth=function(t,e=!0){t.preventDefault();const n=new Date(this.currentDate);n.setMonth(n.getMonth()-1,1),this.goToDate(n,e)},t.prototype.focusNextYear=function(t,e=!0){t.preventDefault();const n=new Date(this.currentDate);n.setFullYear(n.getFullYear()+1,n.getMonth(),1),this.goToDate(n,e)},t.prototype.focusPreviousYear=function(t,e=!0){t.preventDefault();const n=new Date(this.currentDate);n.setFullYear(n.getFullYear()-1,n.getMonth(),1),this.goToDate(n,e)},t.prototype.parseDataset=function(t,e){const n={};for(var[o,i]of Object.entries(t.properties))o in e&&(n[o]=e[o]);return n},t.prototype.mergeConfigs=function(...t){const e={};for(const i of t)for(const r of Object.keys(i)){var n=e[r],o=i[r];e[r]="object"==typeof n&&"object"==typeof o?this.mergeConfigs(n,o):o}return e},l.prototype.init=function(){this.button.addEventListener("keydown",this.keyPress.bind(this)),this.button.addEventListener("click",this.click.bind(this))},l.prototype.update=function(t,e,n){var o=t.getDate();let i=this.picker.formattedDateHuman(t);n?(this.button.setAttribute("aria-disabled",!0),i="Excluded date, "+i):this.button.removeAttribute("aria-disabled"),this.button.style.display=e?"none":"block",this.button.innerHTML=`<span class="govuk-visually-hidden">${i}</span><span aria-hidden="true">${o}</span>`,this.date=new Date(t)},l.prototype.click=function(t){this.picker.goToDate(this.date),this.picker.selectDate(this.date),t.stopPropagation(),t.preventDefault()},l.prototype.keyPress=function(t){let e=!0;switch(t.key){case"ArrowLeft":this.picker.focusPreviousDay();break;case"ArrowRight":this.picker.focusNextDay();break;case"ArrowUp":this.picker.focusPreviousWeek();break;case"ArrowDown":this.picker.focusNextWeek();break;case"Home":this.picker.focusFirstDayOfWeek();break;case"End":this.picker.focusLastDayOfWeek();break;case"PageUp":t.shiftKey?this.picker.focusPreviousYear(t):this.picker.focusPreviousMonth(t);break;case"PageDown":t.shiftKey?this.picker.focusNextYear(t):this.picker.focusNextMonth(t);break;default:e=!1}e&&(t.preventDefault(),t.stopPropagation())},u.DatePicker=t,u.FilterToggleButton=function(t){this.options=t,this.container=s(this.options.toggleButton.container),this.filterContainer=s(this.options.filter.container),this.createToggleButton(),this.setupResponsiveChecks(),this.filterContainer.attr("tabindex","-1"),this.options.startHidden&&this.hideMenu()},u.FilterToggleButton.prototype.setupResponsiveChecks=function(){this.mq=window.matchMedia(this.options.bigModeMediaQuery),this.mq.addListener(s.proxy(this,"checkMode")),this.checkMode(this.mq)},u.FilterToggleButton.prototype.createToggleButton=function(){this.menuButton=s('<button class="govuk-button '+this.options.toggleButton.classes+'" type="button" aria-haspopup="true" aria-expanded="false">'+this.options.toggleButton.showText+"</button>"),this.menuButton.on("click",s.proxy(this,"onMenuButtonClick")),this.container.append(this.menuButton)},u.FilterToggleButton.prototype.checkMode=function(t){t.matches?this.enableBigMode():this.enableSmallMode()},u.FilterToggleButton.prototype.enableBigMode=function(){this.showMenu(),this.removeCloseButton()},u.FilterToggleButton.prototype.enableSmallMode=function(){this.hideMenu(),this.addCloseButton()},u.FilterToggleButton.prototype.addCloseButton=function(){this.options.closeButton&&(this.closeButton=s('<button class="moj-filter__close" type="button">'+this.options.closeButton.text+"</button>"),this.closeButton.on("click",s.proxy(this,"onCloseClick")),s(this.options.closeButton.container).append(this.closeButton))},u.FilterToggleButton.prototype.onCloseClick=function(){this.hideMenu(),this.menuButton.focus()},u.FilterToggleButton.prototype.removeCloseButton=function(){this.closeButton&&(this.closeButton.remove(),this.closeButton=null)},u.FilterToggleButton.prototype.hideMenu=function(){this.menuButton.attr("aria-expanded","false"),this.filterContainer.addClass("moj-js-hidden"),this.menuButton.text(this.options.toggleButton.showText)},u.FilterToggleButton.prototype.showMenu=function(){this.menuButton.attr("aria-expanded","true"),this.filterContainer.removeClass("moj-js-hidden"),this.menuButton.text(this.options.toggleButton.hideText)},u.FilterToggleButton.prototype.onMenuButtonClick=function(){this.toggle()},u.FilterToggleButton.prototype.toggle=function(){"false"==this.menuButton.attr("aria-expanded")?(this.showMenu(),this.filterContainer.focus()):this.hideMenu()},u.FormValidator=function(t,e){this.form=t,this.errors=[],this.validators=[],s(this.form).on("submit",s.proxy(this,"onSubmit")),this.summary=e&&e.summary?s(e.summary):s(".govuk-error-summary"),this.originalTitle=document.title},u.FormValidator.entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="},u.FormValidator.prototype.escapeHtml=function(t){return String(t).replace(/[&<>"'`=\/]/g,function(t){return u.FormValidator.entityMap[t]})},u.FormValidator.prototype.resetTitle=function(){document.title=this.originalTitle},u.FormValidator.prototype.updateTitle=function(){document.title=this.errors.length+" errors - "+document.title},u.FormValidator.prototype.showSummary=function(){this.summary.html(this.getSummaryHtml()),this.summary.removeClass("moj-hidden"),this.summary.attr("aria-labelledby","errorSummary-heading"),this.summary.focus()},u.FormValidator.prototype.getSummaryHtml=function(){o='<h2 id="error-summary-title" class="govuk-error-summary__title">There is a problem</h2><div class="govuk-error-summary__body"><ul class="govuk-list govuk-error-summary__list">';for(var t=0,e=this.errors.length;t<e;t++)var n=this.errors[t],o=(o=(o=(o+="<li>")+('<a href="#'+this.escapeHtml(n.fieldName)+'">'))+this.escapeHtml(n.message))+"</a>"+"</li>";return o=o+"</ul>"+"</div>"},u.FormValidator.prototype.hideSummary=function(){this.summary.addClass("moj-hidden"),this.summary.removeAttr("aria-labelledby")},u.FormValidator.prototype.onSubmit=function(t){this.removeInlineErrors(),this.hideSummary(),this.resetTitle(),this.validate()||(t.preventDefault(),this.updateTitle(),this.showSummary(),this.showInlineErrors())},u.FormValidator.prototype.showInlineErrors=function(){for(var t=0,e=this.errors.length;t<e;t++)this.showInlineError(this.errors[t])},u.FormValidator.prototype.showInlineError=function(t){var e=t.fieldName+"-error",n='<span class="govuk-error-message" id="'+e+'">'+this.escapeHtml(t.message)+"</span>",t=s("#"+t.fieldName),o=t.parents(".govuk-form-group"),i=o.find("label"),r=o.find("legend"),a=o.find("fieldset");o.addClass("govuk-form-group--error"),r.length?(r.after(n),o.attr("aria-invalid","true"),u.addAttributeValue(a[0],"aria-describedby",e)):(i.after(n),t.attr("aria-invalid","true"),u.addAttributeValue(t[0],"aria-describedby",e))},u.FormValidator.prototype.removeInlineErrors=function(){for(var t=0;t<this.errors.length;t++)this.removeInlineError(this.errors[t])},u.FormValidator.prototype.removeInlineError=function(t){var e=s("#"+t.fieldName).parents(".govuk-form-group"),t=(e.find(".govuk-error-message").remove(),e.removeClass("govuk-form-group--error"),e.find("[aria-invalid]").attr("aria-invalid","false"),t.fieldName+"-error");u.removeAttributeValue(e.find("[aria-describedby]")[0],"aria-describedby",t)},u.FormValidator.prototype.addValidator=function(t,e){this.validators.push({fieldName:t,rules:e,field:this.form.elements[t]})},u.FormValidator.prototype.validate=function(){this.errors=[];for(var t,e,n=null,o=0;o<this.validators.length;o++)for(n=this.validators[o],e=0;e<n.rules.length;e++){if("boolean"==typeof(t=n.rules[e].method(n.field,n.rules[e].params))&&!t){this.errors.push({fieldName:n.fieldName,message:n.rules[e].message});break}if("string"==typeof t){this.errors.push({fieldName:t,message:n.rules[e].message});break}}return 0===this.errors.length},u.dragAndDropSupported()&&u.formDataSupported()&&u.fileApiSupported()&&(u.MultiFileUpload=function(t){this.defaultParams={uploadFileEntryHook:s.noop,uploadFileExitHook:s.noop,uploadFileErrorHook:s.noop,fileDeleteHook:s.noop,uploadStatusText:"Uploading files, please wait",dropzoneHintText:"Drag and drop files here or",dropzoneButtonText:"Choose files"},this.params=s.extend({},this.defaultParams,t),this.container=s(this.params.container),this.container.addClass("moj-multi-file-upload--enhanced"),this.feedbackContainer=this.container.find(".moj-multi-file__uploaded-files"),this.setupFileInput(),this.setupDropzone(),this.setupLabel(),this.setupStatusBox(),this.container.on("click",".moj-multi-file-upload__delete",s.proxy(this,"onFileDeleteClick"))},u.MultiFileUpload.prototype.setupDropzone=function(){this.fileInput.wrap('<div class="moj-multi-file-upload__dropzone" />'),this.dropzone=this.container.find(".moj-multi-file-upload__dropzone"),this.dropzone.on("dragover",s.proxy(this,"onDragOver")),this.dropzone.on("dragleave",s.proxy(this,"onDragLeave")),this.dropzone.on("drop",s.proxy(this,"onDrop"))},u.MultiFileUpload.prototype.setupLabel=function(){this.label=s('<label for="'+this.fileInput[0].id+'" class="govuk-button govuk-button--secondary">'+this.params.dropzoneButtonText+"</label>"),this.dropzone.append('<p class="govuk-body">'+this.params.dropzoneHintText+"</p>"),this.dropzone.append(this.label)},u.MultiFileUpload.prototype.setupFileInput=function(){this.fileInput=this.container.find(".moj-multi-file-upload__input"),this.fileInput.on("change",s.proxy(this,"onFileChange")),this.fileInput.on("focus",s.proxy(this,"onFileFocus")),this.fileInput.on("blur",s.proxy(this,"onFileBlur"))},u.MultiFileUpload.prototype.setupStatusBox=function(){this.status=s('<div aria-live="polite" role="status" class="govuk-visually-hidden" />'),this.dropzone.append(this.status)},u.MultiFileUpload.prototype.onDragOver=function(t){t.preventDefault(),this.dropzone.addClass("moj-multi-file-upload--dragover")},u.MultiFileUpload.prototype.onDragLeave=function(){this.dropzone.removeClass("moj-multi-file-upload--dragover")},u.MultiFileUpload.prototype.onDrop=function(t){t.preventDefault(),this.dropzone.removeClass("moj-multi-file-upload--dragover"),this.feedbackContainer.removeClass("moj-hidden"),this.status.html(this.params.uploadStatusText),this.uploadFiles(t.originalEvent.dataTransfer.files)},u.MultiFileUpload.prototype.uploadFiles=function(t){for(var e=0;e<t.length;e++)this.uploadFile(t[e])},u.MultiFileUpload.prototype.onFileChange=function(t){this.feedbackContainer.removeClass("moj-hidden"),this.status.html(this.params.uploadStatusText),this.uploadFiles(t.currentTarget.files),this.fileInput.replaceWith(s(t.currentTarget).val("").clone(!0)),this.setupFileInput(),this.fileInput.focus()},u.MultiFileUpload.prototype.onFileFocus=function(t){this.label.addClass("moj-multi-file-upload--focused")},u.MultiFileUpload.prototype.onFileBlur=function(t){this.label.removeClass("moj-multi-file-upload--focused")},u.MultiFileUpload.prototype.getSuccessHtml=function(t){return'<span class="moj-multi-file-upload__success"> <svg class="moj-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25"><path d="M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"/></svg> '+t.messageHtml+"</span>"},u.MultiFileUpload.prototype.getErrorHtml=function(t){return'<span class="moj-multi-file-upload__error"> <svg class="moj-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25"><path d="M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"/></svg> '+t.message+"</span>"},u.MultiFileUpload.prototype.getFileRowHtml=function(t){var e="";return(e+='<div class="govuk-summary-list__row moj-multi-file-upload__row">')+' <div class="govuk-summary-list__value moj-multi-file-upload__message">'+('<span class="moj-multi-file-upload__filename">'+t.name+"</span>")+'<span class="moj-multi-file-upload__progress">0%</span>'+" </div>"+' <div class="govuk-summary-list__actions moj-multi-file-upload__actions"></div>'+"</div>"},u.MultiFileUpload.prototype.getDeleteButtonHtml=function(t){var e='<button class="moj-multi-file-upload__delete govuk-button govuk-button--secondary govuk-!-margin-bottom-0" type="button" name="delete" value="'+t.filename+'">';return e+('Delete <span class="govuk-visually-hidden">'+t.originalname+"</span>")+"</button>"},u.MultiFileUpload.prototype.uploadFile=function(o){this.params.uploadFileEntryHook(this,o);var t=new FormData,e=(t.append("documents",o),s(this.getFileRowHtml(o)));this.feedbackContainer.find(".moj-multi-file-upload__list").append(e),s.ajax({url:this.params.uploadUrl,type:"post",data:t,processData:!1,contentType:!1,success:s.proxy(function(t){t.error?(e.find(".moj-multi-file-upload__message").html(this.getErrorHtml(t.error)),this.status.html(t.error.message)):(e.find(".moj-multi-file-upload__message").html(this.getSuccessHtml(t.success)),this.status.html(t.success.messageText)),e.find(".moj-multi-file-upload__actions").append(this.getDeleteButtonHtml(t.file)),this.params.uploadFileExitHook(this,o,t)},this),error:s.proxy(function(t,e,n){this.params.uploadFileErrorHook(this,o,t,e,n)},this),xhr:function(){var t=new XMLHttpRequest;return t.upload.addEventListener("progress",function(t){t.lengthComputable&&(t=t.loaded/t.total,t=parseInt(100*t,10),e.find(".moj-multi-file-upload__progress").text(" "+t+"%"))},!1),t}})},u.MultiFileUpload.prototype.onFileDeleteClick=function(t){t.preventDefault();var e=s(t.currentTarget),t={};t[e[0].name]=e[0].value,s.ajax({url:this.params.deleteUrl,type:"post",dataType:"json",data:t,success:s.proxy(function(t){t.error||(e.parents(".moj-multi-file-upload__row").remove(),0===this.feedbackContainer.find(".moj-multi-file-upload__row").length&&this.feedbackContainer.addClass("moj-hidden")),this.params.fileDeleteHook(this,t)},this)})}),u.MultiSelect=function(t){this.container=s(t.container),this.container.data("moj-multi-select-initialised")||(this.container.data("moj-multi-select-initialised",!0),this.toggle=s(this.getToggleHtml()),this.toggleButton=this.toggle.find("input"),this.toggleButton.on("click",s.proxy(this,"onButtonClick")),this.container.append(this.toggle),this.checkboxes=s(t.checkboxes),this.checkboxes.on("click",s.proxy(this,"onCheckboxClick")),this.checked=t.checked||!1)},u.MultiSelect.prototype.getToggleHtml=function(){return'<div class="govuk-checkboxes__item govuk-checkboxes--small moj-multi-select__checkbox"> <input type="checkbox" class="govuk-checkboxes__input" id="checkboxes-all"> <label class="govuk-label govuk-checkboxes__label moj-multi-select__toggle-label" for="checkboxes-all"> <span class="govuk-visually-hidden">Select all</span> </label></div>'},u.MultiSelect.prototype.onButtonClick=function(t){this.checked?(this.uncheckAll(),this.toggleButton[0].checked=!1):(this.checkAll(),this.toggleButton[0].checked=!0)},u.MultiSelect.prototype.checkAll=function(){this.checkboxes.each(s.proxy(function(t,e){e.checked=!0},this)),this.checked=!0},u.MultiSelect.prototype.uncheckAll=function(){this.checkboxes.each(s.proxy(function(t,e){e.checked=!1},this)),this.checked=!1},u.MultiSelect.prototype.onCheckboxClick=function(t){t.target.checked?this.checkboxes.filter(":checked").length===this.checkboxes.length&&(this.toggleButton[0].checked=!0,this.checked=!0):(this.toggleButton[0].checked=!1,this.checked=!1)},u.PasswordReveal=function(t){this.el=t;t=s(this.el);t.data("moj-password-reveal-initialised")||(t.data("moj-password-reveal-initialised",!0),t.attr("spellcheck","false"),t.wrap('<div class="moj-password-reveal"></div>'),this.container=s(this.el).parent(),this.createButton())},u.PasswordReveal.prototype.createButton=function(){this.button=s('<button type="button" class="govuk-button govuk-button--secondary moj-password-reveal__button">Show <span class="govuk-visually-hidden">password</span></button>'),this.container.append(this.button),this.button.on("click",s.proxy(this,"onButtonClick"))},u.PasswordReveal.prototype.onButtonClick=function(){"password"===this.el.type?(this.el.type="text",this.button.html('Hide <span class="govuk-visually-hidden">password</span>')):(this.el.type="password",this.button.html('Show <span class="govuk-visually-hidden">password</span>'))},"contentEditable"in document.documentElement&&(u.RichTextEditor=function(t){this.options=t,this.options.toolbar=this.options.toolbar||{bold:!1,italic:!1,underline:!1,bullets:!0,numbers:!0},this.textarea=this.options.textarea,this.container=s(this.textarea).parent(),this.container.data("moj-rich-text-editor-initialised")||(this.container.data("moj-rich-text-editor-initialised",!0),this.createToolbar(),this.hideDefault(),this.configureToolbar(),this.keys={left:37,right:39,up:38,down:40},this.container.on("click",".moj-rich-text-editor__toolbar-button",s.proxy(this,"onButtonClick")),this.container.find(".moj-rich-text-editor__content").on("input",s.proxy(this,"onEditorInput")),this.container.find("label").on("click",s.proxy(this,"onLabelClick")),this.toolbar.on("keydown",s.proxy(this,"onToolbarKeydown")))},u.RichTextEditor.prototype.onToolbarKeydown=function(t){switch(t.keyCode){case this.keys.right:case this.keys.down:var e,n=(e=this.toolbar.find("button[tabindex=0]")).next("button");n[0]&&(n.focus(),e.attr("tabindex","-1"),n.attr("tabindex","0"));break;case this.keys.left:case this.keys.up:n=(e=this.toolbar.find("button[tabindex=0]")).prev("button");n[0]&&(n.focus(),e.attr("tabindex","-1"),n.attr("tabindex","0"))}},u.RichTextEditor.prototype.getToolbarHtml=function(){var t="";return t+='<div class="moj-rich-text-editor__toolbar" role="toolbar">',this.options.toolbar.bold&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--bold" type="button" data-command="bold"><span class="govuk-visually-hidden">Bold</span></button>'),this.options.toolbar.italic&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--italic" type="button" data-command="italic"><span class="govuk-visually-hidden">Italic</span></button>'),this.options.toolbar.underline&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--underline" type="button" data-command="underline"><span class="govuk-visually-hidden">Underline</span></button>'),this.options.toolbar.bullets&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--unordered-list" type="button" data-command="insertUnorderedList"><span class="govuk-visually-hidden">Unordered list</span></button>'),this.options.toolbar.numbers&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--ordered-list" type="button" data-command="insertOrderedList"><span class="govuk-visually-hidden">Ordered list</span></button>'),t+="</div>"},u.RichTextEditor.prototype.getEnhancedHtml=function(t){return this.getToolbarHtml()+'<div class="govuk-textarea moj-rich-text-editor__content" contenteditable="true" spellcheck="false"></div>'},u.RichTextEditor.prototype.hideDefault=function(){this.textarea=this.container.find("textarea"),this.textarea.addClass("govuk-visually-hidden"),this.textarea.attr("aria-hidden",!0),this.textarea.attr("tabindex","-1")},u.RichTextEditor.prototype.createToolbar=function(){this.toolbar=document.createElement("div"),this.toolbar.className="moj-rich-text-editor",this.toolbar.innerHTML=this.getEnhancedHtml(),this.container.append(this.toolbar),this.toolbar=this.container.find(".moj-rich-text-editor__toolbar"),this.container.find(".moj-rich-text-editor__content").html(this.textarea.val())},u.RichTextEditor.prototype.configureToolbar=function(){this.buttons=this.container.find(".moj-rich-text-editor__toolbar-button"),this.buttons.prop("tabindex","-1"),this.buttons.first().prop("tabindex","0")},u.RichTextEditor.prototype.onButtonClick=function(t){document.execCommand(s(t.currentTarget).data("command"),!1,null)},u.RichTextEditor.prototype.getContent=function(){return this.container.find(".moj-rich-text-editor__content").html()},u.RichTextEditor.prototype.onEditorInput=function(t){this.updateTextarea()},u.RichTextEditor.prototype.updateTextarea=function(){document.execCommand("defaultParagraphSeparator",!1,"p"),this.textarea.val(this.getContent())},u.RichTextEditor.prototype.onLabelClick=function(t){t.preventDefault(),this.container.find(".moj-rich-text-editor__content").focus()}),u.SearchToggle=function(t){this.options=t,this.container=s(this.options.search.container),this.toggleButtonContainer=s(this.options.toggleButton.container),this.container.data("moj-search-toggle-initialised")||(this.container.data("moj-search-toggle-initialised",!0),this.toggleButton=s('<button class="moj-search-toggle__button" type="button" aria-haspopup="true" aria-expanded="false">'+this.options.toggleButton.text+'<svg viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="moj-search-toggle__button__icon"><path d="M7.433,12.5790048 C6.06762625,12.5808611 4.75763941,12.0392925 3.79217348,11.0738265 C2.82670755,10.1083606 2.28513891,8.79837375 2.28699522,7.433 C2.28513891,6.06762625 2.82670755,4.75763941 3.79217348,3.79217348 C4.75763941,2.82670755 6.06762625,2.28513891 7.433,2.28699522 C8.79837375,2.28513891 10.1083606,2.82670755 11.0738265,3.79217348 C12.0392925,4.75763941 12.5808611,6.06762625 12.5790048,7.433 C12.5808611,8.79837375 12.0392925,10.1083606 11.0738265,11.0738265 C10.1083606,12.0392925 8.79837375,12.5808611 7.433,12.5790048 L7.433,12.5790048 Z M14.293,12.579 L13.391,12.579 L13.071,12.269 C14.2300759,10.9245158 14.8671539,9.20813198 14.866,7.433 C14.866,3.32786745 11.5381325,-1.65045755e-15 7.433,-1.65045755e-15 C3.32786745,-1.65045755e-15 -1.65045755e-15,3.32786745 -1.65045755e-15,7.433 C-1.65045755e-15,11.5381325 3.32786745,14.866 7.433,14.866 C9.208604,14.8671159 10.9253982,14.2296624 12.27,13.07 L12.579,13.39 L12.579,14.294 L18.296,20 L20,18.296 L14.294,12.579 L14.293,12.579 Z"></path></svg></button>'),this.toggleButton.on("click",s.proxy(this,"onToggleButtonClick")),this.toggleButtonContainer.append(this.toggleButton),s(document).on("click",this.onDocumentClick.bind(this)),s(document).on("focusin",this.onDocumentClick.bind(this)))},u.SearchToggle.prototype.showMenu=function(){this.toggleButton.attr("aria-expanded","true"),this.container.removeClass("moj-js-hidden"),this.container.find("input").first().focus()},u.SearchToggle.prototype.hideMenu=function(){this.container.addClass("moj-js-hidden"),this.toggleButton.attr("aria-expanded","false")},u.SearchToggle.prototype.onToggleButtonClick=function(){"false"==this.toggleButton.attr("aria-expanded")?this.showMenu():this.hideMenu()},u.SearchToggle.prototype.onDocumentClick=function(t){s.contains(this.toggleButtonContainer[0],t.target)||s.contains(this.container[0],t.target)||this.hideMenu()},u.SortableTable=function(t){this.table=s(t.table),this.table.data("moj-search-toggle-initialised")||(this.table.data("moj-search-toggle-initialised",!0),this.setupOptions(t),this.body=this.table.find("tbody"),this.createHeadingButtons(),this.createStatusBox(),this.initialiseSortedColumn(),this.table.on("click","th button",s.proxy(this,"onSortButtonClick")))},u.SortableTable.prototype.setupOptions=function(t){this.statusMessage=(t=t||{}).statusMessage||"Sort by %heading% (%direction%)",this.ascendingText=t.ascendingText||"ascending",this.descendingText=t.descendingText||"descending"},u.SortableTable.prototype.createHeadingButtons=function(){for(var t,e=this.table.find("thead th"),n=0;n<e.length;n++)(t=s(e[n])).attr("aria-sort")&&this.createHeadingButton(t,n)},u.SortableTable.prototype.createHeadingButton=function(t,e){var n=t.text(),e=s('<button type="button" data-index="'+e+'">'+n+"</button>");t.text(""),t.append(e)},u.SortableTable.prototype.createStatusBox=function(){this.status=s('<div aria-live="polite" role="status" aria-atomic="true" class="govuk-visually-hidden" />'),this.table.parent().append(this.status)},u.SortableTable.prototype.initialiseSortedColumn=function(){var o=this.getTableRowsArray();this.table.find("th").filter('[aria-sort="ascending"], [aria-sort="descending"]').first().each((t,e)=>{var n=s(e).attr("aria-sort"),e=s(e).find("button").attr("data-index"),e=this.sort(o,e,n);this.addRows(e)})},u.SortableTable.prototype.onSortButtonClick=function(t){var e=t.currentTarget.getAttribute("data-index"),n=s(t.currentTarget).parent().attr("aria-sort"),n="none"===n||"descending"===n?"ascending":"descending",o=this.getTableRowsArray(),o=this.sort(o,e,n);this.addRows(o),this.removeButtonStates(),this.updateButtonState(s(t.currentTarget),n)},u.SortableTable.prototype.updateButtonState=function(t,e){t.parent().attr("aria-sort",e);var n=this.statusMessage;n=(n=n.replace(/%heading%/,t.text())).replace(/%direction%/,this[e+"Text"]),this.status.text(n)},u.SortableTable.prototype.removeButtonStates=function(){this.table.find("thead th").attr("aria-sort","none")},u.SortableTable.prototype.addRows=function(t){for(var e=0;e<t.length;e++)this.body.append(t[e])},u.SortableTable.prototype.getTableRowsArray=function(){for(var t=[],e=this.body.find("tr"),n=0;n<e.length;n++)t.push(e[n]);return t},u.SortableTable.prototype.sort=function(t,o,i){return t.sort(function(t,e){var t=s(t).find("td,th").eq(o),e=s(e).find("td,th").eq(o),n="ascending"===i?this.getCellValue(t):this.getCellValue(e),e="ascending"===i?this.getCellValue(e):this.getCellValue(t);return"string"==typeof n||"string"==typeof e?n.toString().localeCompare(e.toString()):n-e}.bind(this))},u.SortableTable.prototype.getCellValue=function(t){var t=t.attr("data-sort-value")||t.html(),e=parseFloat(t);return isNaN(e)?t:e},u});
|
|
62
|
+
</div>`},t.prototype.createCalendarHeaders=function(){this.dayLabels.forEach(t=>{t=`<th scope="col"><span aria-hidden="true">${t.substring(0,3)}</span><span class="govuk-visually-hidden">${t}</span></th>`;const e=this.$dialog.querySelector("thead > tr");e.insertAdjacentHTML("beforeend",t)})},t.prototype.leadingZeros=function(t,e=2){let n=t.toString();for(;n.length<e;)n="0"+n;return n},t.prototype.setOptions=function(){this.setMinAndMaxDatesOnCalendar(),this.setExcludedDates(),this.setExcludedDays(),this.setLeadingZeros(),this.setWeekStartDay()},t.prototype.setMinAndMaxDatesOnCalendar=function(){this.config.minDate&&(this.minDate=this.formattedDateFromString(this.config.minDate,null),this.minDate&&this.currentDate<this.minDate&&(this.currentDate=this.minDate)),this.config.maxDate&&(this.maxDate=this.formattedDateFromString(this.config.maxDate,null),this.maxDate&&this.currentDate>this.maxDate&&(this.currentDate=this.maxDate))},t.prototype.setExcludedDates=function(){this.config.excludedDates&&(this.excludedDates=this.config.excludedDates.replace(/\s+/," ").split(" ").map(t=>{if(!t.includes("-"))return this.formattedDateFromString(t,null);{const[e,n]=t.split("-").map(t=>this.formattedDateFromString(t,null));if(e&&n){const o=new Date(e.getTime()),i=[];for(;o<=n;)i.push(new Date(o)),o.setDate(o.getDate()+1);return i}}}).flat().filter(t=>t))},t.prototype.setExcludedDays=function(){if(this.config.excludedDays){let e=this.dayLabels.map(t=>t.toLowerCase());"monday"===this.config.weekStartDay&&e.unshift(e.pop()),this.excludedDays=this.config.excludedDays.replace(/\s+/," ").toLowerCase().split(" ").map(t=>e.indexOf(t)).filter(t=>-1!==t)}},t.prototype.setLeadingZeros=function(){"boolean"!=typeof this.config.leadingZeros&&("true"===this.config.leadingZeros.toLowerCase()?this.config.leadingZeros=!0:"false"===this.config.leadingZeros.toLowerCase()&&(this.config.leadingZeros=!1))},t.prototype.setWeekStartDay=function(){const t=this.config.weekStartDay;"sunday"===t?.toLowerCase()&&(this.config.weekStartDay="sunday",this.dayLabels.unshift(this.dayLabels.pop())),"monday"===t?.toLowerCase()&&(this.config.weekStartDay="monday")},t.prototype.isExcludedDate=function(t){if(this.minDate&&this.minDate>t)return!0;if(this.maxDate&&this.maxDate<t)return!0;for(const e of this.excludedDates)if(t.toDateString()===e.toDateString())return!0;return!!this.excludedDays.includes(t.getDay())},t.prototype.formattedDateFromString=function(t,e=new Date){const n=/(\d{1,2})([-/,. ])(\d{1,2})\2(\d{4})/;if(!n.test(t))return e;var t=t.match(n),o=t[1],i=t[3],t=t[4];return(i=new Date(i+`-${o}-`+t))instanceof Date&&!isNaN(i)?i:e},t.prototype.formattedDateFromDate=function(t){return this.config.leadingZeros?`${this.leadingZeros(t.getDate())}/${this.leadingZeros(t.getMonth()+1)}/`+t.getFullYear():`${t.getDate()}/${t.getMonth()+1}/`+t.getFullYear()},t.prototype.formattedDateHuman=function(t){return`${this.dayLabels[(t.getDay()+6)%7]} ${t.getDate()} ${this.monthLabels[t.getMonth()]} `+t.getFullYear()},t.prototype.backgroundClick=function(t){!this.isOpen()||this.$dialog.contains(t.target)||this.$input.contains(t.target)||this.$calendarButton.contains(t.target)||(t.preventDefault(),this.closeDialog())},t.prototype.firstButtonKeydown=function(t){"Tab"===t.key&&t.shiftKey&&(this.$lastButtonInDialog.focus(),t.preventDefault())},t.prototype.lastButtonKeydown=function(t){"Tab"!==t.key||t.shiftKey||(this.$firstButtonInDialog.focus(),t.preventDefault())},t.prototype.updateCalendar=function(){this.$dialogTitle.innerHTML=this.monthLabels[this.currentDate.getMonth()]+" "+this.currentDate.getFullYear();const e=this.currentDate,t=new Date(e.getFullYear(),e.getMonth(),1);let n;n="monday"===this.config.weekStartDay?0===t.getDay()?6:t.getDay()-1:t.getDay(),t.setDate(t.getDate()-n);const o=new Date(t);for(let t=0;t<this.calendarDays.length;t++){var i=o.getMonth()!==e.getMonth(),r=this.isExcludedDate(o);this.calendarDays[t].update(o,i,r),o.setDate(o.getDate()+1)}},t.prototype.setCurrentDate=function(o=!0){const i=this["currentDate"];if(this.calendarDays.forEach(t=>{t.button.classList.add("moj-datepicker__button"),t.button.classList.add("moj-datepicker__calendar-day"),t.button.setAttribute("tabindex",-1),t.button.classList.remove(this.selectedDayButtonClass);const e=t.date,n=(e.setHours(0,0,0,0),new Date);n.setHours(0,0,0,0),e.getTime()===i.getTime()&&o&&(t.button.setAttribute("tabindex",0),t.button.focus(),t.button.classList.add(this.selectedDayButtonClass)),this.inputDate&&e.getTime()===this.inputDate.getTime()?(t.button.classList.add(this.currentDayButtonClass),t.button.setAttribute("aria-selected",!0)):(t.button.classList.remove(this.currentDayButtonClass),t.button.removeAttribute("aria-selected")),e.getTime()===n.getTime()?t.button.classList.add(this.todayButtonClass):t.button.classList.remove(this.todayButtonClass)}),!o){const t=this.calendarDays.filter(t=>"block"===window.getComputedStyle(t.button).display&&!t.button.disabled);t[0].button.setAttribute("tabindex",0),this.currentDate=t[0].date}},t.prototype.selectDate=function(t){this.isExcludedDate(t)||(this.$calendarButton.querySelector("span").innerText="Choose date. Selected date is "+this.formattedDateHuman(t),this.$input.value=this.formattedDateFromDate(t),t=new Event("change",{bubbles:!0,cancelable:!0}),this.$input.dispatchEvent(t),this.closeDialog())},t.prototype.isOpen=function(){return this.$dialog.classList.contains("moj-datepicker__dialog--open")},t.prototype.toggleDialog=function(t){t.preventDefault(),this.isOpen()?this.closeDialog():(this.setMinAndMaxDatesOnCalendar(),this.openDialog())},t.prototype.openDialog=function(){this.$dialog.classList.add("moj-datepicker__dialog--open"),this.$calendarButton.setAttribute("aria-expanded","true"),this.$input.offsetWidth>this.$dialog.offsetWidth&&(this.$dialog.style.right="0px"),this.$dialog.style.top=this.$input.offsetHeight+3+"px",this.inputDate=this.formattedDateFromString(this.$input.value),this.currentDate=this.inputDate,this.currentDate.setHours(0,0,0,0),this.updateCalendar(),this.setCurrentDate()},t.prototype.closeDialog=function(){this.$dialog.classList.remove("moj-datepicker__dialog--open"),this.$calendarButton.setAttribute("aria-expanded","false"),this.$calendarButton.focus()},t.prototype.goToDate=function(t,e){const n=this.currentDate;this.currentDate=t,n.getMonth()===this.currentDate.getMonth()&&n.getFullYear()===this.currentDate.getFullYear()||this.updateCalendar(),this.setCurrentDate(e)},t.prototype.focusNextDay=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()+1),this.goToDate(t)},t.prototype.focusPreviousDay=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()-1),this.goToDate(t)},t.prototype.focusNextWeek=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()+7),this.goToDate(t)},t.prototype.focusPreviousWeek=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()-7),this.goToDate(t)},t.prototype.focusFirstDayOfWeek=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()-t.getDay()),this.goToDate(t)},t.prototype.focusLastDayOfWeek=function(){const t=new Date(this.currentDate);t.setDate(t.getDate()-t.getDay()+6),this.goToDate(t)},t.prototype.focusNextMonth=function(t,e=!0){t.preventDefault();const n=new Date(this.currentDate);n.setMonth(n.getMonth()+1,1),this.goToDate(n,e)},t.prototype.focusPreviousMonth=function(t,e=!0){t.preventDefault();const n=new Date(this.currentDate);n.setMonth(n.getMonth()-1,1),this.goToDate(n,e)},t.prototype.focusNextYear=function(t,e=!0){t.preventDefault();const n=new Date(this.currentDate);n.setFullYear(n.getFullYear()+1,n.getMonth(),1),this.goToDate(n,e)},t.prototype.focusPreviousYear=function(t,e=!0){t.preventDefault();const n=new Date(this.currentDate);n.setFullYear(n.getFullYear()-1,n.getMonth(),1),this.goToDate(n,e)},t.prototype.parseDataset=function(t,e){const n={};for(var[o,i]of Object.entries(t.properties))o in e&&(n[o]=e[o]);return n},t.prototype.mergeConfigs=function(...t){const e={};for(const i of t)for(const r of Object.keys(i)){var n=e[r],o=i[r];e[r]="object"==typeof n&&"object"==typeof o?this.mergeConfigs(n,o):o}return e},l.prototype.init=function(){this.button.addEventListener("keydown",this.keyPress.bind(this)),this.button.addEventListener("click",this.click.bind(this))},l.prototype.update=function(t,e,n){var o=t.getDate();let i=this.picker.formattedDateHuman(t);n?(this.button.setAttribute("aria-disabled",!0),i="Excluded date, "+i):this.button.removeAttribute("aria-disabled"),this.button.style.display=e?"none":"block",this.button.innerHTML=`<span class="govuk-visually-hidden">${i}</span><span aria-hidden="true">${o}</span>`,this.date=new Date(t)},l.prototype.click=function(t){this.picker.goToDate(this.date),this.picker.selectDate(this.date),t.stopPropagation(),t.preventDefault()},l.prototype.keyPress=function(t){let e=!0;switch(t.key){case"ArrowLeft":this.picker.focusPreviousDay();break;case"ArrowRight":this.picker.focusNextDay();break;case"ArrowUp":this.picker.focusPreviousWeek();break;case"ArrowDown":this.picker.focusNextWeek();break;case"Home":this.picker.focusFirstDayOfWeek();break;case"End":this.picker.focusLastDayOfWeek();break;case"PageUp":t.shiftKey?this.picker.focusPreviousYear(t):this.picker.focusPreviousMonth(t);break;case"PageDown":t.shiftKey?this.picker.focusNextYear(t):this.picker.focusNextMonth(t);break;default:e=!1}e&&(t.preventDefault(),t.stopPropagation())},u.DatePicker=t,u.FilterToggleButton=function(t){this.options=t,this.container=s(this.options.toggleButton.container),this.filterContainer=s(this.options.filter.container),this.createToggleButton(),this.setupResponsiveChecks(),this.filterContainer.attr("tabindex","-1"),this.options.startHidden&&this.hideMenu()},u.FilterToggleButton.prototype.setupResponsiveChecks=function(){this.mq=window.matchMedia(this.options.bigModeMediaQuery),this.mq.addListener(s.proxy(this,"checkMode")),this.checkMode(this.mq)},u.FilterToggleButton.prototype.createToggleButton=function(){this.menuButton=s('<button class="govuk-button '+this.options.toggleButton.classes+'" type="button" aria-haspopup="true" aria-expanded="false">'+this.options.toggleButton.showText+"</button>"),this.menuButton.on("click",s.proxy(this,"onMenuButtonClick")),this.container.append(this.menuButton)},u.FilterToggleButton.prototype.checkMode=function(t){t.matches?this.enableBigMode():this.enableSmallMode()},u.FilterToggleButton.prototype.enableBigMode=function(){this.showMenu(),this.removeCloseButton()},u.FilterToggleButton.prototype.enableSmallMode=function(){this.hideMenu(),this.addCloseButton()},u.FilterToggleButton.prototype.addCloseButton=function(){this.options.closeButton&&(this.closeButton=s('<button class="moj-filter__close" type="button">'+this.options.closeButton.text+"</button>"),this.closeButton.on("click",s.proxy(this,"onCloseClick")),s(this.options.closeButton.container).append(this.closeButton))},u.FilterToggleButton.prototype.onCloseClick=function(){this.hideMenu(),this.menuButton.focus()},u.FilterToggleButton.prototype.removeCloseButton=function(){this.closeButton&&(this.closeButton.remove(),this.closeButton=null)},u.FilterToggleButton.prototype.hideMenu=function(){this.menuButton.attr("aria-expanded","false"),this.filterContainer.addClass("moj-js-hidden"),this.menuButton.text(this.options.toggleButton.showText)},u.FilterToggleButton.prototype.showMenu=function(){this.menuButton.attr("aria-expanded","true"),this.filterContainer.removeClass("moj-js-hidden"),this.menuButton.text(this.options.toggleButton.hideText)},u.FilterToggleButton.prototype.onMenuButtonClick=function(){this.toggle()},u.FilterToggleButton.prototype.toggle=function(){"false"==this.menuButton.attr("aria-expanded")?(this.showMenu(),this.filterContainer.focus()):this.hideMenu()},u.FormValidator=function(t,e){this.form=t,this.errors=[],this.validators=[],s(this.form).on("submit",s.proxy(this,"onSubmit")),this.summary=e&&e.summary?s(e.summary):s(".govuk-error-summary"),this.originalTitle=document.title},u.FormValidator.entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="},u.FormValidator.prototype.escapeHtml=function(t){return String(t).replace(/[&<>"'`=\/]/g,function(t){return u.FormValidator.entityMap[t]})},u.FormValidator.prototype.resetTitle=function(){document.title=this.originalTitle},u.FormValidator.prototype.updateTitle=function(){document.title=this.errors.length+" errors - "+document.title},u.FormValidator.prototype.showSummary=function(){this.summary.html(this.getSummaryHtml()),this.summary.removeClass("moj-hidden"),this.summary.attr("aria-labelledby","errorSummary-heading"),this.summary.focus()},u.FormValidator.prototype.getSummaryHtml=function(){o='<h2 id="error-summary-title" class="govuk-error-summary__title">There is a problem</h2><div class="govuk-error-summary__body"><ul class="govuk-list govuk-error-summary__list">';for(var t=0,e=this.errors.length;t<e;t++)var n=this.errors[t],o=(o=(o=(o+="<li>")+('<a href="#'+this.escapeHtml(n.fieldName)+'">'))+this.escapeHtml(n.message))+"</a>"+"</li>";return o=o+"</ul>"+"</div>"},u.FormValidator.prototype.hideSummary=function(){this.summary.addClass("moj-hidden"),this.summary.removeAttr("aria-labelledby")},u.FormValidator.prototype.onSubmit=function(t){this.removeInlineErrors(),this.hideSummary(),this.resetTitle(),this.validate()||(t.preventDefault(),this.updateTitle(),this.showSummary(),this.showInlineErrors())},u.FormValidator.prototype.showInlineErrors=function(){for(var t=0,e=this.errors.length;t<e;t++)this.showInlineError(this.errors[t])},u.FormValidator.prototype.showInlineError=function(t){var e=t.fieldName+"-error",n='<span class="govuk-error-message" id="'+e+'">'+this.escapeHtml(t.message)+"</span>",t=s("#"+t.fieldName),o=t.parents(".govuk-form-group"),i=o.find("label"),r=o.find("legend"),a=o.find("fieldset");o.addClass("govuk-form-group--error"),r.length?(r.after(n),o.attr("aria-invalid","true"),u.addAttributeValue(a[0],"aria-describedby",e)):(i.after(n),t.attr("aria-invalid","true"),u.addAttributeValue(t[0],"aria-describedby",e))},u.FormValidator.prototype.removeInlineErrors=function(){for(var t=0;t<this.errors.length;t++)this.removeInlineError(this.errors[t])},u.FormValidator.prototype.removeInlineError=function(t){var e=s("#"+t.fieldName).parents(".govuk-form-group"),t=(e.find(".govuk-error-message").remove(),e.removeClass("govuk-form-group--error"),e.find("[aria-invalid]").attr("aria-invalid","false"),t.fieldName+"-error");u.removeAttributeValue(e.find("[aria-describedby]")[0],"aria-describedby",t)},u.FormValidator.prototype.addValidator=function(t,e){this.validators.push({fieldName:t,rules:e,field:this.form.elements[t]})},u.FormValidator.prototype.validate=function(){this.errors=[];for(var t,e,n=null,o=0;o<this.validators.length;o++)for(n=this.validators[o],e=0;e<n.rules.length;e++){if("boolean"==typeof(t=n.rules[e].method(n.field,n.rules[e].params))&&!t){this.errors.push({fieldName:n.fieldName,message:n.rules[e].message});break}if("string"==typeof t){this.errors.push({fieldName:t,message:n.rules[e].message});break}}return 0===this.errors.length},u.dragAndDropSupported()&&u.formDataSupported()&&u.fileApiSupported()&&(u.MultiFileUpload=function(t){this.defaultParams={uploadFileEntryHook:s.noop,uploadFileExitHook:s.noop,uploadFileErrorHook:s.noop,fileDeleteHook:s.noop,uploadStatusText:"Uploading files, please wait",dropzoneHintText:"Drag and drop files here or",dropzoneButtonText:"Choose files"},this.params=s.extend({},this.defaultParams,t),this.container=s(this.params.container),this.container.addClass("moj-multi-file-upload--enhanced"),this.feedbackContainer=this.container.find(".moj-multi-file__uploaded-files"),this.setupFileInput(),this.setupDropzone(),this.setupLabel(),this.setupStatusBox(),this.container.on("click",".moj-multi-file-upload__delete",s.proxy(this,"onFileDeleteClick"))},u.MultiFileUpload.prototype.setupDropzone=function(){this.fileInput.wrap('<div class="moj-multi-file-upload__dropzone" />'),this.dropzone=this.container.find(".moj-multi-file-upload__dropzone"),this.dropzone.on("dragover",s.proxy(this,"onDragOver")),this.dropzone.on("dragleave",s.proxy(this,"onDragLeave")),this.dropzone.on("drop",s.proxy(this,"onDrop"))},u.MultiFileUpload.prototype.setupLabel=function(){this.label=s('<label for="'+this.fileInput[0].id+'" class="govuk-button govuk-button--secondary">'+this.params.dropzoneButtonText+"</label>"),this.dropzone.append('<p class="govuk-body">'+this.params.dropzoneHintText+"</p>"),this.dropzone.append(this.label)},u.MultiFileUpload.prototype.setupFileInput=function(){this.fileInput=this.container.find(".moj-multi-file-upload__input"),this.fileInput.on("change",s.proxy(this,"onFileChange")),this.fileInput.on("focus",s.proxy(this,"onFileFocus")),this.fileInput.on("blur",s.proxy(this,"onFileBlur"))},u.MultiFileUpload.prototype.setupStatusBox=function(){this.status=s('<div aria-live="polite" role="status" class="govuk-visually-hidden" />'),this.dropzone.append(this.status)},u.MultiFileUpload.prototype.onDragOver=function(t){t.preventDefault(),this.dropzone.addClass("moj-multi-file-upload--dragover")},u.MultiFileUpload.prototype.onDragLeave=function(){this.dropzone.removeClass("moj-multi-file-upload--dragover")},u.MultiFileUpload.prototype.onDrop=function(t){t.preventDefault(),this.dropzone.removeClass("moj-multi-file-upload--dragover"),this.feedbackContainer.removeClass("moj-hidden"),this.status.html(this.params.uploadStatusText),this.uploadFiles(t.originalEvent.dataTransfer.files)},u.MultiFileUpload.prototype.uploadFiles=function(t){for(var e=0;e<t.length;e++)this.uploadFile(t[e])},u.MultiFileUpload.prototype.onFileChange=function(t){this.feedbackContainer.removeClass("moj-hidden"),this.status.html(this.params.uploadStatusText),this.uploadFiles(t.currentTarget.files),this.fileInput.replaceWith(s(t.currentTarget).val("").clone(!0)),this.setupFileInput(),this.fileInput.focus()},u.MultiFileUpload.prototype.onFileFocus=function(t){this.label.addClass("moj-multi-file-upload--focused")},u.MultiFileUpload.prototype.onFileBlur=function(t){this.label.removeClass("moj-multi-file-upload--focused")},u.MultiFileUpload.prototype.getSuccessHtml=function(t){return'<span class="moj-multi-file-upload__success"> <svg class="moj-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25"><path d="M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"/></svg> '+t.messageHtml+"</span>"},u.MultiFileUpload.prototype.getErrorHtml=function(t){return'<span class="moj-multi-file-upload__error"> <svg class="moj-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25"><path d="M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"/></svg> '+t.message+"</span>"},u.MultiFileUpload.prototype.getFileRowHtml=function(t){var e="";return(e+='<div class="govuk-summary-list__row moj-multi-file-upload__row">')+' <div class="govuk-summary-list__value moj-multi-file-upload__message">'+('<span class="moj-multi-file-upload__filename">'+t.name+"</span>")+'<span class="moj-multi-file-upload__progress">0%</span>'+" </div>"+' <div class="govuk-summary-list__actions moj-multi-file-upload__actions"></div>'+"</div>"},u.MultiFileUpload.prototype.getDeleteButtonHtml=function(t){var e='<button class="moj-multi-file-upload__delete govuk-button govuk-button--secondary govuk-!-margin-bottom-0" type="button" name="delete" value="'+t.filename+'">';return e+('Delete <span class="govuk-visually-hidden">'+t.originalname+"</span>")+"</button>"},u.MultiFileUpload.prototype.uploadFile=function(o){this.params.uploadFileEntryHook(this,o);var t=new FormData,e=(t.append("documents",o),s(this.getFileRowHtml(o)));this.feedbackContainer.find(".moj-multi-file-upload__list").append(e),s.ajax({url:this.params.uploadUrl,type:"post",data:t,processData:!1,contentType:!1,success:s.proxy(function(t){t.error?(e.find(".moj-multi-file-upload__message").html(this.getErrorHtml(t.error)),this.status.html(t.error.message)):(e.find(".moj-multi-file-upload__message").html(this.getSuccessHtml(t.success)),this.status.html(t.success.messageText)),e.find(".moj-multi-file-upload__actions").append(this.getDeleteButtonHtml(t.file)),this.params.uploadFileExitHook(this,o,t)},this),error:s.proxy(function(t,e,n){this.params.uploadFileErrorHook(this,o,t,e,n)},this),xhr:function(){var t=new XMLHttpRequest;return t.upload.addEventListener("progress",function(t){t.lengthComputable&&(t=t.loaded/t.total,t=parseInt(100*t,10),e.find(".moj-multi-file-upload__progress").text(" "+t+"%"))},!1),t}})},u.MultiFileUpload.prototype.onFileDeleteClick=function(t){t.preventDefault();var e=s(t.currentTarget),t={};t[e[0].name]=e[0].value,s.ajax({url:this.params.deleteUrl,type:"post",dataType:"json",data:t,success:s.proxy(function(t){t.error||(e.parents(".moj-multi-file-upload__row").remove(),0===this.feedbackContainer.find(".moj-multi-file-upload__row").length&&this.feedbackContainer.addClass("moj-hidden")),this.params.fileDeleteHook(this,t)},this)})}),u.MultiSelect=function(t){this.container=s(t.container),this.container.data("moj-multi-select-initialised")||(this.container.data("moj-multi-select-initialised",!0),this.toggle=s(this.getToggleHtml()),this.toggleButton=this.toggle.find("input"),this.toggleButton.on("click",s.proxy(this,"onButtonClick")),this.container.append(this.toggle),this.checkboxes=s(t.checkboxes),this.checkboxes.on("click",s.proxy(this,"onCheckboxClick")),this.checked=t.checked||!1)},u.MultiSelect.prototype.getToggleHtml=function(){return'<div class="govuk-checkboxes__item govuk-checkboxes--small moj-multi-select__checkbox"> <input type="checkbox" class="govuk-checkboxes__input" id="checkboxes-all"> <label class="govuk-label govuk-checkboxes__label moj-multi-select__toggle-label" for="checkboxes-all"> <span class="govuk-visually-hidden">Select all</span> </label></div>'},u.MultiSelect.prototype.onButtonClick=function(t){this.checked?(this.uncheckAll(),this.toggleButton[0].checked=!1):(this.checkAll(),this.toggleButton[0].checked=!0)},u.MultiSelect.prototype.checkAll=function(){this.checkboxes.each(s.proxy(function(t,e){e.checked=!0},this)),this.checked=!0},u.MultiSelect.prototype.uncheckAll=function(){this.checkboxes.each(s.proxy(function(t,e){e.checked=!1},this)),this.checked=!1},u.MultiSelect.prototype.onCheckboxClick=function(t){t.target.checked?this.checkboxes.filter(":checked").length===this.checkboxes.length&&(this.toggleButton[0].checked=!0,this.checked=!0):(this.toggleButton[0].checked=!1,this.checked=!1)},u.PasswordReveal=function(t){this.el=t;t=s(this.el);t.data("moj-password-reveal-initialised")||(t.data("moj-password-reveal-initialised",!0),t.attr("spellcheck","false"),t.wrap('<div class="moj-password-reveal"></div>'),this.container=s(this.el).parent(),this.createButton())},u.PasswordReveal.prototype.createButton=function(){this.button=s('<button type="button" class="govuk-button govuk-button--secondary moj-password-reveal__button">Show <span class="govuk-visually-hidden">password</span></button>'),this.container.append(this.button),this.button.on("click",s.proxy(this,"onButtonClick"))},u.PasswordReveal.prototype.onButtonClick=function(){"password"===this.el.type?(this.el.type="text",this.button.html('Hide <span class="govuk-visually-hidden">password</span>')):(this.el.type="password",this.button.html('Show <span class="govuk-visually-hidden">password</span>'))},"contentEditable"in document.documentElement&&(u.RichTextEditor=function(t){this.options=t,this.options.toolbar=this.options.toolbar||{bold:!1,italic:!1,underline:!1,bullets:!0,numbers:!0},this.textarea=this.options.textarea,this.container=s(this.textarea).parent(),this.container.data("moj-rich-text-editor-initialised")||(this.container.data("moj-rich-text-editor-initialised",!0),this.createToolbar(),this.hideDefault(),this.configureToolbar(),this.keys={left:37,right:39,up:38,down:40},this.container.on("click",".moj-rich-text-editor__toolbar-button",s.proxy(this,"onButtonClick")),this.container.find(".moj-rich-text-editor__content").on("input",s.proxy(this,"onEditorInput")),this.container.find("label").on("click",s.proxy(this,"onLabelClick")),this.toolbar.on("keydown",s.proxy(this,"onToolbarKeydown")))},u.RichTextEditor.prototype.onToolbarKeydown=function(t){switch(t.keyCode){case this.keys.right:case this.keys.down:var e,n=(e=this.toolbar.find("button[tabindex=0]")).next("button");n[0]&&(n.focus(),e.attr("tabindex","-1"),n.attr("tabindex","0"));break;case this.keys.left:case this.keys.up:n=(e=this.toolbar.find("button[tabindex=0]")).prev("button");n[0]&&(n.focus(),e.attr("tabindex","-1"),n.attr("tabindex","0"))}},u.RichTextEditor.prototype.getToolbarHtml=function(){var t="";return t+='<div class="moj-rich-text-editor__toolbar" role="toolbar">',this.options.toolbar.bold&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--bold" type="button" data-command="bold"><span class="govuk-visually-hidden">Bold</span></button>'),this.options.toolbar.italic&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--italic" type="button" data-command="italic"><span class="govuk-visually-hidden">Italic</span></button>'),this.options.toolbar.underline&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--underline" type="button" data-command="underline"><span class="govuk-visually-hidden">Underline</span></button>'),this.options.toolbar.bullets&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--unordered-list" type="button" data-command="insertUnorderedList"><span class="govuk-visually-hidden">Unordered list</span></button>'),this.options.toolbar.numbers&&(t+='<button class="moj-rich-text-editor__toolbar-button moj-rich-text-editor__toolbar-button--ordered-list" type="button" data-command="insertOrderedList"><span class="govuk-visually-hidden">Ordered list</span></button>'),t+="</div>"},u.RichTextEditor.prototype.getEnhancedHtml=function(t){return this.getToolbarHtml()+'<div class="govuk-textarea moj-rich-text-editor__content" contenteditable="true" spellcheck="false"></div>'},u.RichTextEditor.prototype.hideDefault=function(){this.textarea=this.container.find("textarea"),this.textarea.addClass("govuk-visually-hidden"),this.textarea.attr("aria-hidden",!0),this.textarea.attr("tabindex","-1")},u.RichTextEditor.prototype.createToolbar=function(){this.toolbar=document.createElement("div"),this.toolbar.className="moj-rich-text-editor",this.toolbar.innerHTML=this.getEnhancedHtml(),this.container.append(this.toolbar),this.toolbar=this.container.find(".moj-rich-text-editor__toolbar"),this.container.find(".moj-rich-text-editor__content").html(this.textarea.val())},u.RichTextEditor.prototype.configureToolbar=function(){this.buttons=this.container.find(".moj-rich-text-editor__toolbar-button"),this.buttons.prop("tabindex","-1"),this.buttons.first().prop("tabindex","0")},u.RichTextEditor.prototype.onButtonClick=function(t){document.execCommand(s(t.currentTarget).data("command"),!1,null)},u.RichTextEditor.prototype.getContent=function(){return this.container.find(".moj-rich-text-editor__content").html()},u.RichTextEditor.prototype.onEditorInput=function(t){this.updateTextarea()},u.RichTextEditor.prototype.updateTextarea=function(){document.execCommand("defaultParagraphSeparator",!1,"p"),this.textarea.val(this.getContent())},u.RichTextEditor.prototype.onLabelClick=function(t){t.preventDefault(),this.container.find(".moj-rich-text-editor__content").focus()}),u.SearchToggle=function(t){this.options=t,this.container=s(this.options.search.container),this.toggleButtonContainer=s(this.options.toggleButton.container),this.container.data("moj-search-toggle-initialised")||(this.container.data("moj-search-toggle-initialised",!0),this.toggleButton=s('<button class="moj-search-toggle__button" type="button" aria-haspopup="true" aria-expanded="false">'+this.options.toggleButton.text+'<svg viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="moj-search-toggle__button__icon"><path d="M7.433,12.5790048 C6.06762625,12.5808611 4.75763941,12.0392925 3.79217348,11.0738265 C2.82670755,10.1083606 2.28513891,8.79837375 2.28699522,7.433 C2.28513891,6.06762625 2.82670755,4.75763941 3.79217348,3.79217348 C4.75763941,2.82670755 6.06762625,2.28513891 7.433,2.28699522 C8.79837375,2.28513891 10.1083606,2.82670755 11.0738265,3.79217348 C12.0392925,4.75763941 12.5808611,6.06762625 12.5790048,7.433 C12.5808611,8.79837375 12.0392925,10.1083606 11.0738265,11.0738265 C10.1083606,12.0392925 8.79837375,12.5808611 7.433,12.5790048 L7.433,12.5790048 Z M14.293,12.579 L13.391,12.579 L13.071,12.269 C14.2300759,10.9245158 14.8671539,9.20813198 14.866,7.433 C14.866,3.32786745 11.5381325,-1.65045755e-15 7.433,-1.65045755e-15 C3.32786745,-1.65045755e-15 -1.65045755e-15,3.32786745 -1.65045755e-15,7.433 C-1.65045755e-15,11.5381325 3.32786745,14.866 7.433,14.866 C9.208604,14.8671159 10.9253982,14.2296624 12.27,13.07 L12.579,13.39 L12.579,14.294 L18.296,20 L20,18.296 L14.294,12.579 L14.293,12.579 Z"></path></svg></button>'),this.toggleButton.on("click",s.proxy(this,"onToggleButtonClick")),this.toggleButtonContainer.append(this.toggleButton),s(document).on("click",this.onDocumentClick.bind(this)),s(document).on("focusin",this.onDocumentClick.bind(this)))},u.SearchToggle.prototype.showMenu=function(){this.toggleButton.attr("aria-expanded","true"),this.container.removeClass("moj-js-hidden"),this.container.find("input").first().focus()},u.SearchToggle.prototype.hideMenu=function(){this.container.addClass("moj-js-hidden"),this.toggleButton.attr("aria-expanded","false")},u.SearchToggle.prototype.onToggleButtonClick=function(){"false"==this.toggleButton.attr("aria-expanded")?this.showMenu():this.hideMenu()},u.SearchToggle.prototype.onDocumentClick=function(t){s.contains(this.toggleButtonContainer[0],t.target)||s.contains(this.container[0],t.target)||this.hideMenu()},u.SortableTable=function(t){this.table=s(t.table),this.table.data("moj-search-toggle-initialised")||(this.table.data("moj-search-toggle-initialised",!0),this.setupOptions(t),this.body=this.table.find("tbody"),this.createHeadingButtons(),this.createStatusBox(),this.initialiseSortedColumn(),this.table.on("click","th button",s.proxy(this,"onSortButtonClick")))},u.SortableTable.prototype.setupOptions=function(t){this.statusMessage=(t=t||{}).statusMessage||"Sort by %heading% (%direction%)",this.ascendingText=t.ascendingText||"ascending",this.descendingText=t.descendingText||"descending"},u.SortableTable.prototype.createHeadingButtons=function(){for(var t,e=this.table.find("thead th"),n=0;n<e.length;n++)(t=s(e[n])).attr("aria-sort")&&this.createHeadingButton(t,n)},u.SortableTable.prototype.createHeadingButton=function(t,e){var n=t.text(),e=s('<button type="button" data-index="'+e+'">'+n+"</button>");t.text(""),t.append(e)},u.SortableTable.prototype.createStatusBox=function(){this.status=s('<div aria-live="polite" role="status" aria-atomic="true" class="govuk-visually-hidden" />'),this.table.parent().append(this.status)},u.SortableTable.prototype.initialiseSortedColumn=function(){var o=this.getTableRowsArray();this.table.find("th").filter('[aria-sort="ascending"], [aria-sort="descending"]').first().each((t,e)=>{var n=s(e).attr("aria-sort"),e=s(e).find("button").attr("data-index"),e=this.sort(o,e,n);this.addRows(e)})},u.SortableTable.prototype.onSortButtonClick=function(t){var e=t.currentTarget.getAttribute("data-index"),n=s(t.currentTarget).parent().attr("aria-sort"),n="none"===n||"descending"===n?"ascending":"descending",o=this.getTableRowsArray(),o=this.sort(o,e,n);this.addRows(o),this.removeButtonStates(),this.updateButtonState(s(t.currentTarget),n)},u.SortableTable.prototype.updateButtonState=function(t,e){t.parent().attr("aria-sort",e);var n=this.statusMessage;n=(n=n.replace(/%heading%/,t.text())).replace(/%direction%/,this[e+"Text"]),this.status.text(n)},u.SortableTable.prototype.removeButtonStates=function(){this.table.find("thead th").attr("aria-sort","none")},u.SortableTable.prototype.addRows=function(t){for(var e=0;e<t.length;e++)this.body.append(t[e])},u.SortableTable.prototype.getTableRowsArray=function(){for(var t=[],e=this.body.find("tr"),n=0;n<e.length;n++)t.push(e[n]);return t},u.SortableTable.prototype.sort=function(t,o,i){return t.sort(function(t,e){var t=s(t).find("td,th").eq(o),e=s(e).find("td,th").eq(o),n="ascending"===i?this.getCellValue(t):this.getCellValue(e),e="ascending"===i?this.getCellValue(e):this.getCellValue(t);return"string"==typeof n||"string"==typeof e?n.toString().localeCompare(e.toString()):n-e}.bind(this))},u.SortableTable.prototype.getCellValue=function(t){var t=t.attr("data-sort-value")||t.html(),e=parseFloat(t);return isNaN(e)?t:e},u});
|
package/moj/all.js
CHANGED
|
@@ -788,9 +788,11 @@ Datepicker.prototype.setLeadingZeros = function () {
|
|
|
788
788
|
if (typeof this.config.leadingZeros !== "boolean") {
|
|
789
789
|
if (this.config.leadingZeros.toLowerCase() === "true") {
|
|
790
790
|
this.config.leadingZeros = true;
|
|
791
|
+
return;
|
|
791
792
|
}
|
|
792
793
|
if (this.config.leadingZeros.toLowerCase() === "false") {
|
|
793
794
|
this.config.leadingZeros = false;
|
|
795
|
+
return;
|
|
794
796
|
}
|
|
795
797
|
}
|
|
796
798
|
};
|
|
@@ -411,9 +411,11 @@ Datepicker.prototype.setLeadingZeros = function () {
|
|
|
411
411
|
if (typeof this.config.leadingZeros !== "boolean") {
|
|
412
412
|
if (this.config.leadingZeros.toLowerCase() === "true") {
|
|
413
413
|
this.config.leadingZeros = true;
|
|
414
|
+
return;
|
|
414
415
|
}
|
|
415
416
|
if (this.config.leadingZeros.toLowerCase() === "false") {
|
|
416
417
|
this.config.leadingZeros = false;
|
|
418
|
+
return;
|
|
417
419
|
}
|
|
418
420
|
}
|
|
419
421
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ministryofjustice/frontend",
|
|
3
3
|
"description": "The MOJ Frontend contains the code you need to start building user interfaces for UK Ministry of Justice government services.",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.3",
|
|
5
5
|
"main": "moj/all.js",
|
|
6
6
|
"sass": "moj/all.scss",
|
|
7
7
|
"engines": {
|