UNPKG

fomantic-ui

Version:

Fomantic empowers designers and developers by creating a shared vocabulary for UI.

11 lines • 400 kB
/* * # Fomantic UI - 2.9.2 * https://github.com/fomantic/Fomantic-UI * https://fomantic-ui.com/ * * Copyright 2023 Contributors * Released under the MIT license * https://opensource.org/licenses/MIT * */ !function(p,h,v){"use strict";h=void 0!==h&&h.Math===Math?h:globalThis,p.fn.site=function(e){var l,i=Date.now(),o=[],t=e,n="string"==typeof t,c=[].slice.call(arguments,1),r=p.isPlainObject(e)?p.extend(!0,{},p.site.settings,e):p.extend({},p.site.settings),a=r.namespace,d=r.error,s="module-"+a,u=p(v),f=this,m=u.data(s),g={initialize:function(){g.instantiate()},instantiate:function(){g.verbose("Storing instance of site",g),m=g,u.data(s,g)},normalize:function(){},fix:{consoleClear:function(){g.debug("Disabling programmatic console clearing"),h.console.clear=function(){}}},moduleExists:function(e){return void 0!==p.fn[e]&&void 0!==p.fn[e].settings},enabled:{modules:function(e){var n=[];return e=e||r.modules,p.each(e,function(e,t){g.moduleExists(t)&&n.push(t)}),n}},disabled:{modules:function(e){var n=[];return e=e||r.modules,p.each(e,function(e,t){g.moduleExists(t)||n.push(t)}),n}},change:{setting:function(i,o,e,a){e="string"==typeof e?"all"===e?r.modules:[e]:e||r.modules,a=void 0===a||a,p.each(e,function(e,t){var n=!g.moduleExists(t)||(p.fn[t].settings.namespace||!1);g.moduleExists(t)&&(g.verbose("Changing default setting",i,o,t),p.fn[t].settings[i]=o,a&&n&&0<(n=p(":data(module-"+n+")")).length&&(g.verbose("Modifying existing settings",n),n[t]("setting",i,o)))})},settings:function(i,e,o){e="string"==typeof e?[e]:e||r.modules,o=void 0===o||o,p.each(e,function(e,t){var n;g.moduleExists(t)&&(g.verbose("Changing default setting",i,t),p.extend(!0,p.fn[t].settings,i),o&&a&&0<(n=p(":data(module-"+a+")")).length&&(g.verbose("Modifying existing settings",n),n[t]("setting",i)))})}},enable:{console:function(){g.console(!0)},debug:function(e,t){e=e||r.modules,g.debug("Enabling debug for modules",e),g.change.setting("debug",!0,e,t)},verbose:function(e,t){e=e||r.modules,g.debug("Enabling verbose debug for modules",e),g.change.setting("verbose",!0,e,t)}},disable:{console:function(){g.console(!1)},debug:function(e,t){e=e||r.modules,g.debug("Disabling debug for modules",e),g.change.setting("debug",!1,e,t)},verbose:function(e,t){e=e||r.modules,g.debug("Disabling verbose debug for modules",e),g.change.setting("verbose",!1,e,t)}},console:function(e){e?void 0===m.cache.console?g.error(d.console):(g.debug("Restoring console function"),h.console=m.cache.console):(g.debug("Disabling console function"),m.cache.console=h.console,h.console={clear:function(){},error:function(){},group:function(){},groupCollapsed:function(){},groupEnd:function(){},info:function(){},log:function(){},table:function(){},warn:function(){}})},destroy:function(){g.verbose("Destroying previous site for",u),u.removeData(s)},cache:{},setting:function(e,t){if(p.isPlainObject(e))p.extend(!0,r,e);else{if(void 0===t)return r[e];r[e]=t}},internal:function(e,t){if(p.isPlainObject(e))p.extend(!0,g,e);else{if(void 0===t)return g[e];g[e]=t}},debug:function(){r.debug&&(r.performance?g.performance.log(arguments):(g.debug=Function.prototype.bind.call(console.info,console,r.name+":"),g.debug.apply(console,arguments)))},verbose:function(){r.verbose&&r.debug&&(r.performance?g.performance.log(arguments):(g.verbose=Function.prototype.bind.call(console.info,console,r.name+":"),g.verbose.apply(console,arguments)))},error:function(){g.error=Function.prototype.bind.call(console.error,console,r.name+":"),g.error.apply(console,arguments)},performance:{log:function(e){var t,n;r.performance&&(n=(t=Date.now())-(i||t),i=t,o.push({Element:f,Name:e[0],Arguments:[].slice.call(e,1)||"","Execution Time":n})),clearTimeout(g.performance.timer),g.performance.timer=setTimeout(g.performance.display,500)},display:function(){var e=r.name+":",n=0;i=!1,clearTimeout(g.performance.timer),p.each(o,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",0<o.length&&(console.groupCollapsed(e),console.table?console.table(o):p.each(o,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),o=[]}},invoke:function(i,e,t){var o,a,n,r,s=m;return e=e||c,t=t||f,"string"==typeof i&&void 0!==s&&(i=i.split(/[ .]/),o=i.length-1,p.each(i,function(e,t){var n=e!==o?t+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(p.isPlainObject(s[n])&&e!==o)s=s[n];else{if(void 0!==s[n])return a=s[n],!1;{if(!p.isPlainObject(s[t])||e===o)return void 0!==s[t]?a=s[t]:g.error(d.method,i),!1;s=s[t]}}})),"function"==typeof(r=a)&&"number"!=typeof r.nodeType?n=a.apply(t,e):void 0!==a&&(n=a),Array.isArray(l)?l.push(n):void 0!==l?l=[l,n]:void 0!==n&&(l=n),a}};return n?(void 0===m&&g.initialize(),g.invoke(t)):(void 0!==m&&g.destroy(),g.initialize()),void 0!==l?l:this},p.site=p.fn.site,p.site.settings={name:"Site",namespace:"site",error:{console:"Console cannot be restored, most likely it was overwritten outside of module",method:"The method you called is not defined."},debug:!1,verbose:!1,performance:!0,modules:["accordion","api","calendar","checkbox","dimmer","dropdown","embed","flyout","form","modal","nag","popup","progress","rating","search","shape","sidebar","slider","state","sticky","tab","toast","transition","visibility"],siteNamespace:"site",namespaceStub:{cache:{},config:{},sections:{},section:{},utilities:{}}},p.extend(p.expr.pseudos,{data:p.expr.createPseudo(function(t){return function(e){return!!p.data(e,t)}})})}(jQuery,window,document),function(R,F,I){"use strict";function j(e){return"function"==typeof e&&"number"!=typeof e.nodeType}F=void 0!==F&&F.Math===Math?F:globalThis,R.fn.form=function(k){var S,T=R(this),D=T.selector||"",A=Date.now(),E=[],O=k,P="string"==typeof O,M=[].slice.call(arguments,1);return T.each(function(){var o,u,e,t,f,l,m,g,p,n,c,i,a,s,d,r=R(this),h=this,v=[],b=!1,y=!1,x=!1,C=["clean","clean"],w={initialize:function(){w.get.settings(),P?(void 0===d&&w.instantiate(),w.invoke(O)):(void 0!==d&&(d.invoke("destroy"),w.refresh()),w.verbose("Initializing form validation",r,f),w.bindEvents(),w.set.defaults(),f.autoCheckRequired&&w.set.autoCheck(),w.instantiate())},instantiate:function(){w.verbose("Storing instance of module",w),d=w,r.data(a,w)},destroy:function(){w.verbose("Destroying previous module",d),w.removeEvents(),r.removeData(a)},refresh:function(){w.verbose("Refreshing selector cache"),o=r.find(g.field),u=r.find(g.group),e=r.find(g.message),r.find(g.prompt),t=r.find(g.submit),r.find(g.clear),r.find(g.reset)},refreshEvents:function(){w.removeEvents(),w.bindEvents()},submit:function(){w.verbose("Submitting form",r),y=!0,r.trigger("submit")},attachEvents:function(e,t){t=t||"submit",R(e).on("click"+s,function(e){w[t](),e.preventDefault()})},bindEvents:function(){w.verbose("Attaching form events"),r.on("submit"+s,w.validate.form).on("blur"+s,g.field,w.event.field.blur).on("click"+s,g.submit,w.submit).on("click"+s,g.reset,w.reset).on("click"+s,g.clear,w.clear),f.keyboardShortcuts&&r.on("keydown"+s,g.field,w.event.field.keydown),o.each(function(e,t){var t=R(t),n=t.prop("type"),n=w.get.changeEvent(n,t);t.on(n+s,w.event.field.change)}),f.preventLeaving&&R(F).on("beforeunload"+s,w.event.beforeUnload),o.on("change click keyup keydown blur",function(e){w.determine.isDirty()}),r.on("dirty"+s,function(e){f.onDirty.call()}),r.on("clean"+s,function(e){f.onClean.call()})},clear:function(){o.each(function(e,t){var t=R(t),n=t.parent(),i=t.closest(u),o=i.find(g.prompt),a=t.closest(g.uiCalendar),r=t.data(m.defaultValue)||"",s=t.is(g.checkbox),l=n.is(g.uiDropdown)&&w.can.useElement("dropdown"),c=0<a.length&&w.can.useElement("calendar");i.hasClass(p.error)&&(w.verbose("Resetting error on field",i),i.removeClass(p.error),o.remove()),l?(w.verbose("Resetting dropdown value",n,r),n.dropdown("clear",!0)):s?t.prop("checked",!1):c?a.calendar("clear"):(w.verbose("Resetting field value",t,r),t.val(""))}),w.remove.states()},reset:function(){o.each(function(e,t){var t=R(t),n=t.parent(),i=t.closest(u),o=t.closest(g.uiCalendar),a=i.find(g.prompt),r=t.data(m.defaultValue),s=t.is(g.checkbox),l=n.is(g.uiDropdown)&&w.can.useElement("dropdown"),c=0<o.length&&w.can.useElement("calendar"),d=i.hasClass(p.error);void 0!==r&&(d&&(w.verbose("Resetting error on field",i),i.removeClass(p.error),a.remove()),l?(w.verbose("Resetting dropdown value",n,r),n.dropdown("restore defaults",!0)):s?(w.verbose("Resetting checkbox value",t,r),t.prop("checked",r)):c?o.calendar("set date",r):(w.verbose("Resetting field value",t,r),t.val(r)))}),w.remove.states()},determine:{isValid:function(){var n=!0;return R.each(l,function(e,t){w.validate.field(t,e,!0)||(n=!1)}),n},isDirty:function(e){var i=!1;o.each(function(e,t){var t=R(t),n=0<t.filter(g.checkbox).length?w.is.checkboxDirty(t):w.is.fieldDirty(t);t.data(f.metadata.isDirty,n),i=i||n}),i?w.set.dirty():w.set.clean()}},is:{bracketedRule:function(e){return e.type&&e.type.match(f.regExp.bracket)},shorthandRules:function(e){return"string"==typeof e||Array.isArray(e)},empty:function(e){return!e||0===e.length||(e.is(g.checkbox)?!e.is(":checked"):w.is.blank(e))},blank:function(e){return""===String(e.val()).trim()},valid:function(e,n){var i=!0;return e?(w.verbose("Checking if field is valid",e),w.validate.field(l[e],e,!!n)):(w.verbose("Checking if form is valid"),R.each(l,function(e,t){w.is.valid(e,n)||(i=!1)}),i)},dirty:function(){return x},clean:function(){return!x},fieldDirty:function(e){var t=e.data(m.defaultValue),e=(null==t?t="":Array.isArray(t)&&(t=t.toString()),e.val()),n=(null==e?e="":Array.isArray(e)&&(e=e.toString()),/^(true|false)$/i);return n.test(t)&&n.test(e)?!new RegExp("^"+t+"$","i").test(e):e!==t},checkboxDirty:function(e){return e.data(m.defaultValue)!==e.is(":checked")},justDirty:function(){return"dirty"===C[0]},justClean:function(){return"clean"===C[0]}},removeEvents:function(){r.off(s),o.off(s),t.off(s)},event:{field:{keydown:function(e){var t=R(this),n=e.which,i=t.is(g.input),o=t.is(g.checkbox),a=0<t.closest(g.uiDropdown).length,r=13;n===27&&(w.verbose("Escape key pressed blurring field"),t[0].blur()),e.ctrlKey||n!==r||!i||a||o||(b||(t.one("keyup"+s,w.event.field.keyup),w.submit(),w.debug("Enter pressed on input submitting form"),e.preventDefault()),b=!0)},keyup:function(){b=!1},blur:function(e){var t=R(this),n=t.closest(u),i=w.get.validation(t);i&&("blur"===f.on||n.hasClass(p.error)&&f.revalidate)&&(w.debug("Revalidating field",t,i),w.validate.field(i),f.inline||w.validate.form(!1,!0))},change:function(e){var t=R(this),n=t.closest(u),i=w.get.validation(t);i&&("change"===f.on||n.hasClass(p.error)&&f.revalidate)&&(clearTimeout(w.timer),w.timer=setTimeout(function(){w.debug("Revalidating field",t,i),w.validate.field(i),f.inline||w.validate.form(!1,!0)},f.delay))}},beforeUnload:function(e){if(w.is.dirty()&&!y)return(e=e||F.event)&&(e.returnValue=f.text.leavingMessage),f.text.leavingMessage}},get:{ancillaryValue:function(e){return!(!e.type||!e.value&&!w.is.bracketedRule(e))&&(void 0!==e.value?e.value:e.type.match(f.regExp.bracket)[1]+"")},ruleName:function(e){return w.is.bracketedRule(e)?e.type.replace(e.type.match(f.regExp.bracket)[0],""):e.type},changeEvent:function(e,t){return"checkbox"===e||"radio"===e||"hidden"===e||t.is("select")?"change":w.get.inputEvent()},inputEvent:function(){return void 0!==I.createElement("input").oninput?"input":void 0!==I.createElement("input").onpropertychange?"propertychange":"keyup"},fieldsFromShorthand:function(e){var i={};return R.each(e,function(n,e){Array.isArray(e)||"object"!=typeof e?("string"==typeof e&&(e=[e]),i[n]={rules:[]},R.each(e,function(e,t){i[n].rules.push({type:t})})):i[n]=e}),i},prompt:function(e,t){var n,i=w.get.ruleName(e),o=w.get.ancillaryValue(e),a=w.get.field(t.identifier),r=a.val(),r=j(e.prompt)?e.prompt(r):e.prompt||f.prompt[i]||f.text.unspecifiedRule,s=-1!==r.search("{value}"),l=-1!==r.search("{name}");return o&&0<=["integer","decimal","number","size"].indexOf(i)&&0<=o.indexOf("..")&&(n=o.split("..",2),e.prompt||"size"===i||(r+=(""===n[0]?f.prompt.maxValue.replace(/{ruleValue}/g,"{max}"):""===n[1]?f.prompt.minValue.replace(/{ruleValue}/g,"{min}"):f.prompt.range).replace(/{name}/g," "+f.text.and)),r=(r=r.replace(/{min}/g,n[0])).replace(/{max}/g,n[1])),o&&0<=["match","different"].indexOf(i)&&(r=r.replace(/{ruleValue}/g,w.get.fieldLabel(o,!0))),s&&(r=r.replace(/{value}/g,a.val())),r=(r=(r=l?r.replace(/{name}/g,w.get.fieldLabel(a)):r).replace(/{identifier}/g,t.identifier)).replace(/{ruleValue}/g,o),e.prompt||w.verbose("Using default validation prompt for type",r,i),r},settings:function(){R.isPlainObject(k)?(k.fields&&(k.fields=w.get.fieldsFromShorthand(k.fields)),f=R.extend(!0,{},R.fn.form.settings,k),l=R.extend(!0,{},R.fn.form.settings.defaults,f.fields),w.verbose("Extending settings",l,f)):(f=R.extend(!0,{},R.fn.form.settings),l=R.extend(!0,{},R.fn.form.settings.defaults),w.verbose("Using default form validation",l,f)),i=f.namespace,m=f.metadata,g=f.selector,p=f.className,n=f.regExp,c=f.error,a="module-"+i,s="."+i,((d=r.data(a))||w).refresh()},field:function(e,t){var n;return w.verbose("Finding field with identifier",e),e=w.escape.string(e),0<(n=o.filter("#"+e)).length||0<(n=o.filter('[name="'+e+'"]')).length||0<(n=o.filter('[name="'+e+'[]"]')).length||0<(n=o.filter("[data-"+m.validate+'="'+e+'"]')).length?n:(w.error(c.noField.replace("{identifier}",e)),t?R():R("<input/>"))},fields:function(e,n){var i=R();return R.each(e,function(e,t){i=i.add(w.get.field(t,n))}),i},fieldLabel:function(e,t){var n="string"==typeof e?w.get.field(e):e,i=n.closest(g.group).find("label").eq(0);return 1===i.length?i.text():n.prop("placeholder")||(t?e:f.text.unspecifiedField)},validation:function(i){var o,a;return!!l&&(R.each(l,function(e,n){a=n.identifier||e,R.each(w.get.field(a),function(e,t){if(t==i[0])return n.identifier=a,o=n,!1})}),o||!1)},value:function(e,t){var n=[];return n.push(e),e=w.get.values.call(h,n,t),0<(n=Object.keys(e)).length?e[n[0]]:void 0},values:function(e,t){var e=Array.isArray(e)&&0<e.length?w.get.fields(e,t):o,u={};return e.each(function(e,t){var t=R(t),n=t.closest(g.uiCalendar),i=t.prop("name"),o=t.val(),a=t.is(g.checkbox),r=t.is(g.radio),s=-1!==i.indexOf("[]"),l=0<n.length&&w.can.useElement("calendar"),t=!!a&&t.is(":checked");if(i)if(s)i=i.replace("[]",""),u[i]||(u[i]=[]),a?t?u[i].push(o||!0):u[i].push(!1):u[i].push(o);else if(r)void 0!==u[i]&&!1!==u[i]||(u[i]=!!t&&(o||!0));else if(a)u[i]=!!t&&(o||!0);else if(l){var c=n.calendar("get date");if(null!==c)switch(f.dateHandling){case"date":u[i]=c;break;case"input":u[i]=n.calendar("get input date");break;case"formatter":var d=n.calendar("setting","type");switch(d){case"date":u[i]=f.formatter.date(c);break;case"datetime":u[i]=f.formatter.datetime(c);break;case"time":u[i]=f.formatter.time(c);break;case"month":u[i]=f.formatter.month(c);break;case"year":u[i]=f.formatter.year(c);break;default:w.debug("Wrong calendar mode",n,d),u[i]=""}}else u[i]=""}else u[i]=o}),u},dirtyFields:function(){return o.filter(function(e,t){return R(t).data(m.isDirty)})}},has:{field:function(e){return w.verbose("Checking for existence of a field with identifier",e),0<w.get.field(e,!0).length}},can:{useElement:function(e){return void 0!==R.fn[e]||(w.error(c.noElement.replace("{element}",e)),!1)}},escape:{string:function(e){return(e=String(e)).replace(n.escape,"\\$&")}},checkErrors:function(e,t){return e&&0!==e.length?!t&&"string"==typeof e?[e]:e:(t||w.error(f.error.noErrorMessage),!1)},add:{rule:function(e,t){w.add.field(e,t)},field:function(n,e){void 0!==l[n]&&void 0!==l[n].rules||(l[n]={rules:[]});var i={rules:[]};w.is.shorthandRules(e)?(e=Array.isArray(e)?e:[e],R.each(e,function(e,t){i.rules.push({type:t})})):i.rules=e.rules,R.each(i.rules,function(e,t){0===R.grep(l[n].rules,function(e){return e.type===t.type}).length&&l[n].rules.push(t)}),w.debug("Adding rules",i.rules,l),w.refreshEvents()},fields:function(e){l=R.extend(!0,{},l,w.get.fieldsFromShorthand(e)),w.refreshEvents()},prompt:function(e,t,n){var i,o,a;!1!==(t=w.checkErrors(t))&&(a=0<(o=(i=w.get.field(e).closest(u)).children(g.prompt)).length,w.verbose("Adding field error state",e),n||i.addClass(p.error),f.inline&&(a||(o=R("<div/>").addClass(p.label)).appendTo(i),o.html(f.templates.prompt(t)),a?w.verbose("Inline errors are disabled, no inline error added",e):f.transition&&w.can.useElement("transition")?(w.verbose("Displaying error with css transition",f.transition),o.transition(f.transition+" in",f.duration)):(w.verbose("Displaying error with fallback javascript animation"),o.fadeIn(f.duration))))},errors:function(t){var i,o;!1!==(t=w.checkErrors(t))&&(w.debug("Adding form error messages",t),w.set.error(),i=[],R.isPlainObject(t)?R.each(Object.keys(t),function(e,n){!1!==w.checkErrors(t[n],!0)&&(f.inline?w.add.prompt(n,t[n]):!1!==(o=w.checkErrors(t[n]))&&R.each(o,function(e,t){i.push(f.prompt.addErrors.replace(/{name}/g,w.get.fieldLabel(n)).replace(/{error}/g,t))}))}):i=t,0<i.length&&e.html(f.templates.error(i)))}},remove:{errors:function(){w.debug("Removing form error messages"),e.empty()},states:function(){r.removeClass(p.error).removeClass(p.success),f.inline||w.remove.errors(),w.determine.isDirty()},rule:function(n,e){var i=Array.isArray(e)?e:[e];if(void 0!==l[n]&&Array.isArray(l[n].rules))return void 0===e?(w.debug("Removed all rules"),void(w.has.field(n)?l[n].rules=[]:delete l[n])):void R.each(l[n].rules,function(e,t){t&&-1!==i.indexOf(t.type)&&(w.debug("Removed rule",t.type),l[n].rules.splice(e,1))})},field:function(e){e=Array.isArray(e)?e:[e];R.each(e,function(e,t){w.remove.rule(t)}),w.refreshEvents()},rules:function(e,n){Array.isArray(e)?R.each(e,function(e,t){w.remove.rule(t,n)}):w.remove.rule(e,n)},fields:function(e){w.remove.field(e)},prompt:function(e){var t=w.get.field(e).closest(u),n=t.children(g.prompt);t.removeClass(p.error),f.inline&&n.is(":visible")&&(w.verbose("Removing prompt for field",e),f.transition&&w.can.useElement("transition")?n.transition(f.transition+" out",f.duration,function(){n.remove()}):n.fadeOut(f.duration,function(){n.remove()}))}},set:{success:function(){r.removeClass(p.error).addClass(p.success)},defaults:function(){o.each(function(e,t){var t=R(t),n=t.parent(),i=0<t.filter(g.checkbox).length,o=(n.is(g.uiDropdown)||t.is(g.uiDropdown))&&w.can.useElement("dropdown"),a=t.closest(g.uiCalendar),r=0<a.length&&w.can.useElement("calendar"),i=i?t.is(":checked"):t.val();o?(n.is(g.uiDropdown)?n:t).dropdown("save defaults"):r&&a.calendar("refresh"),t.data(m.defaultValue,i),t.data(m.isDirty,!1)})},error:function(){r.removeClass(p.success).addClass(p.error)},value:function(e,t){var n={};return n[e]=t,w.set.values.call(h,n)},values:function(e){R.isEmptyObject(e)||R.each(e,function(e,t){var n,i=w.get.field(e),o=i.parent(),e=i.closest(g.uiCalendar),a=Array.isArray(t),r=o.is(g.uiCheckbox)&&w.can.useElement("checkbox"),s=o.is(g.uiDropdown)&&w.can.useElement("dropdown"),l=i.is(g.radio)&&r,c=0<e.length&&w.can.useElement("calendar");0<i.length&&(a&&r?(w.verbose("Selecting multiple",t,i),o.checkbox("uncheck"),R.each(t,function(e,t){n=i.filter('[value="'+t+'"]'),o=n.parent(),0<n.length&&o.checkbox("check")})):l?(w.verbose("Selecting radio value",t,i),i.filter('[value="'+t+'"]').parent(g.uiCheckbox).checkbox("check")):r?(w.verbose("Setting checkbox value",t,o),!0===t||1===t||"on"===t?o.checkbox("check"):o.checkbox("uncheck"),"string"==typeof t&&i.val(t)):s?(w.verbose("Setting dropdown value",t,o),o.dropdown("set selected",t)):c?e.calendar("set date",t):(w.verbose("Setting field value",t,i),i.val(t)))})},dirty:function(){w.verbose("Setting state dirty"),x=!0,C[0]=C[1],C[1]="dirty",w.is.justClean()&&r.trigger("dirty")},clean:function(){w.verbose("Setting state clean"),x=!1,C[0]=C[1],C[1]="clean",w.is.justDirty()&&r.trigger("clean")},asClean:function(){w.set.defaults(),w.set.clean()},asDirty:function(){w.set.defaults(),w.set.dirty()},autoCheck:function(){w.debug("Enabling auto check on required fields"),l&&R.each(l,function(e){w.has.field(e)||(w.verbose("Field not found, removing from validation",e),w.remove.field(e))}),o.each(function(e,t){var t=R(t),n=t.closest(u),i=0<t.filter(g.checkbox).length,o=t.prop("required")||n.hasClass(p.required)||n.parent().hasClass(p.required),n=t.is(":disabled")||n.hasClass(p.disabled)||n.parent().hasClass(p.disabled),a=w.get.validation(t),r=!!a&&0!==R.grep(a.rules,function(e){return"empty"===e.type}),a=a.identifier||t.attr("id")||t.attr("name")||t.data(m.validate);!o||n||r||void 0===a||(i?(w.verbose("Adding 'checked' rule on field",a),w.add.rule(a,"checked")):(w.verbose("Adding 'empty' rule on field",a),w.add.rule(a,"empty")))})},optional:function(n,i){i=!1!==i,R.each(l,function(e,t){n!==e&&n!==t.identifier||(t.optional=i)})}},validate:{form:function(e,t){var n,i=w.get.values();if(b)return!1;if(v=[],w.determine.isValid()){if(w.debug("Form has no validation errors, submitting"),w.set.success(),f.inline||w.remove.errors(),!0!==t)return f.onSuccess.call(h,e,i)}else if(w.debug("Form has errors"),y=!1,w.set.error(),f.inline||w.add.errors(v),e&&void 0!==r.data("moduleApi")&&e.stopImmediatePropagation(),f.errorFocus&&!0!==t&&(e=!0,"string"==typeof f.errorFocus?(e=(n=R(I).find(f.errorFocus)).is("[tabindex]"))||n.attr("tabindex",-1):n=u.filter("."+p.error).first().find(g.field),n.trigger("focus"),e||n.removeAttr("tabindex")),!0!==t)return f.onFailure.call(h,v,i)},field:function(i,e,o){if(o=void 0===o||o,"string"==typeof i&&(w.verbose("Validating field",i),i=l[e=i]),!i)return w.debug("Unable to find field validation. Skipping",e),!0;var a=i.identifier||e,e=w.get.field(a),t=!!i.depends&&w.get.field(i.depends),r=!0,s=[];return i.identifier||(w.debug("Using field name as identifier",a),i.identifier=a),0===e.filter(":not(:disabled)").length?w.debug("Field is disabled. Skipping",a):i.optional&&w.is.blank(e)?w.debug("Field is optional and blank. Skipping",a):i.depends&&w.is.empty(t)?w.debug("Field depends on another value that is not present or empty. Skipping",t):void 0!==i.rules&&(o&&e.closest(u).removeClass(p.error),R.each(i.rules,function(e,t){var n;w.has.field(a)&&0<(n=w.validate.rule(i,t,!0)||[]).length&&(w.debug("Field is invalid",a,t.type),s.push(w.get.prompt(t,i)),r=!1,o&&R(n).closest(u).addClass(p.error))})),r?(o&&(w.remove.prompt(a,s),f.onValid.call(e)),!0):(o&&(v=v.concat(s),w.add.prompt(a,s,!0),f.onInvalid.call(e,s)),!1)},rule:function(e,n,t){function i(e){var t=void 0===(t=(l?R(e).filter(":checked"):R(e)).val())||""===t||null===t?"":f.shouldTrim&&!1!==n.shouldTrim||n.shouldTrim?String(t+"").trim():String(t+"");return r.call(e,t,o,w)}var e=w.get.field(e.identifier),o=w.get.ancillaryValue(n),a=w.get.ruleName(n),r=f.rules[a],s=[],l=e.is(g.checkbox);if(j(r))return l?i(e)||(s=e):R.each(e,function(e,t){i(t)||s.push(t)}),t?s:0===s.length;w.error(c.noRule,a)}},setting:function(e,t){if(R.isPlainObject(e))R.extend(!0,f,e);else{if(void 0===t)return f[e];f[e]=t}},internal:function(e,t){if(R.isPlainObject(e))R.extend(!0,w,e);else{if(void 0===t)return w[e];w[e]=t}},debug:function(){!f.silent&&f.debug&&(f.performance?w.performance.log(arguments):(w.debug=Function.prototype.bind.call(console.info,console,f.name+":"),w.debug.apply(console,arguments)))},verbose:function(){!f.silent&&f.verbose&&f.debug&&(f.performance?w.performance.log(arguments):(w.verbose=Function.prototype.bind.call(console.info,console,f.name+":"),w.verbose.apply(console,arguments)))},error:function(){f.silent||(w.error=Function.prototype.bind.call(console.error,console,f.name+":"),w.error.apply(console,arguments))},performance:{log:function(e){var t,n;f.performance&&(n=(t=Date.now())-(A||t),A=t,E.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:h,"Execution Time":n})),clearTimeout(w.performance.timer),w.performance.timer=setTimeout(w.performance.display,500)},display:function(){var e=f.name+":",n=0;A=!1,clearTimeout(w.performance.timer),R.each(E,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",D&&(e+=" '"+D+"'"),1<T.length&&(e+=" ("+T.length+")"),0<E.length&&(console.groupCollapsed(e),console.table?console.table(E):R.each(E,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),E=[]}},invoke:function(i,e,t){var o,a,n,r=d;return e=e||M,t=t||h,"string"==typeof i&&void 0!==r&&(i=i.split(/[ .]/),o=i.length-1,R.each(i,function(e,t){var n=e!==o?t+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(R.isPlainObject(r[n])&&e!==o)r=r[n];else{if(void 0!==r[n])return a=r[n],!1;{if(!R.isPlainObject(r[t])||e===o)return void 0!==r[t]?a=r[t]:w.error(c.method,i),!1;r=r[t]}}})),j(a)?n=a.apply(t,e):void 0!==a&&(n=a),Array.isArray(S)?S.push(n):void 0!==S?S=[S,n]:void 0!==n&&(S=n),a}};w.initialize()}),void 0!==S?S:this},R.fn.form.settings={name:"Form",namespace:"form",debug:!1,verbose:!1,performance:!0,fields:!1,keyboardShortcuts:!0,on:"submit",inline:!1,delay:200,revalidate:!0,shouldTrim:!0,transition:"scale",duration:200,autoCheckRequired:!1,preventLeaving:!1,errorFocus:!0,dateHandling:"date",onValid:function(){},onInvalid:function(){},onSuccess:function(){return!0},onFailure:function(){return!1},onDirty:function(){},onClean:function(){},metadata:{defaultValue:"default",validate:"validate",isDirty:"isDirty"},regExp:{htmlID:/^[A-Za-z][\w.:-]*$/g,bracket:/\[(.*)]/i,decimal:/^\d+\.?\d*$/,email:/^[\w!#$%&'*+./=?^`{|}~-]+@[\da-z]([\da-z-]*[\da-z])?(\.[\da-z]([\da-z-]*[\da-z])?)*$/i,escape:/[$()*+,./:=?@[\\\]^{|}-]/g,flags:/^\/(.*)\/(.*)?/,integer:/^-?\d+$/,number:/^-?\d*(\.\d+)?$/,url:/(https?:\/\/(?:www\.|(?!www))[^\s.]+\.\S{2,}|www\.\S+\.\S{2,})/i},text:{and:"and",unspecifiedRule:"Please enter a valid value",unspecifiedField:"This field",leavingMessage:"There are unsaved changes on this page which will be discarded if you continue."},prompt:{range:"{name} must be in a range from {min} to {max}",maxValue:"{name} must have a maximum value of {ruleValue}",minValue:"{name} must have a minimum value of {ruleValue}",empty:"{name} must have a value",checked:"{name} must be checked",email:"{name} must be a valid e-mail",url:"{name} must be a valid url",regExp:"{name} is not formatted correctly",integer:"{name} must be an integer",decimal:"{name} must be a decimal number",number:"{name} must be set to a number",is:'{name} must be "{ruleValue}"',isExactly:'{name} must be exactly "{ruleValue}"',not:'{name} cannot be set to "{ruleValue}"',notExactly:'{name} cannot be set to exactly "{ruleValue}"',contain:'{name} must contain "{ruleValue}"',containExactly:'{name} must contain exactly "{ruleValue}"',doesntContain:'{name} cannot contain "{ruleValue}"',doesntContainExactly:'{name} cannot contain exactly "{ruleValue}"',minLength:"{name} must be at least {ruleValue} characters",exactLength:"{name} must be exactly {ruleValue} characters",maxLength:"{name} cannot be longer than {ruleValue} characters",size:"{name} must have a length between {min} and {max} characters",match:"{name} must match {ruleValue} field",different:"{name} must have a different value than {ruleValue} field",creditCard:"{name} must be a valid credit card number",minCount:"{name} must have at least {ruleValue} choices",exactCount:"{name} must have exactly {ruleValue} choices",maxCount:"{name} must have {ruleValue} or less choices",addErrors:"{name}: {error}"},selector:{checkbox:'input[type="checkbox"], input[type="radio"]',clear:".clear",field:'input:not(.search):not([type="file"]):not([type="reset"]):not([type="button"]):not([type="submit"]), textarea, select',group:".field",input:'input:not([type="file"])',message:".error.message",prompt:".prompt.label",radio:'input[type="radio"]',reset:'.reset:not([type="reset"])',submit:'.submit:not([type="submit"])',uiCheckbox:".ui.checkbox",uiDropdown:".ui.dropdown",uiCalendar:".ui.calendar"},className:{error:"error",label:"ui basic red pointing prompt label",pressed:"down",success:"success",required:"required",disabled:"disabled"},error:{method:"The method you called is not defined.",noRule:"There is no rule matching the one you specified",noField:"Field identifier {identifier} not found",noElement:"This module requires ui {element}",noErrorMessage:"No error message provided"},templates:{error:function(e){var n='<ul class="list">';return R.each(e,function(e,t){n+="<li>"+t+"</li>"}),n+="</ul>"},prompt:function(e){if(1===e.length)return e[0];var n='<ul class="ui list">';return R.each(e,function(e,t){n+="<li>"+t+"</li>"}),n+="</ul>"}},formatter:{date:function(e){return Intl.DateTimeFormat("en-GB").format(e)},datetime:function(e){return Intl.DateTimeFormat("en-GB",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(e)},time:function(e){return Intl.DateTimeFormat("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(e)},month:function(e){return Intl.DateTimeFormat("en-GB",{month:"2-digit",year:"numeric"}).format(e)},year:function(e){return Intl.DateTimeFormat("en-GB",{year:"numeric"}).format(e)}},rules:{empty:function(e){return!(void 0===e||""===e||Array.isArray(e)&&0===e.length)},checked:function(){return 0<R(this).filter(":checked").length},email:function(e){return R.fn.form.settings.regExp.email.test(e)},url:function(e){return R.fn.form.settings.regExp.url.test(e)},regExp:function(e,t){if(t instanceof RegExp)return e.match(t);var n,i=t.match(R.fn.form.settings.regExp.flags);return i&&(t=2<=i.length?i[1]:t,n=3<=i.length?i[2]:""),e.match(new RegExp(t,n))},minValue:function(e,t){return R.fn.form.settings.rules.range(e,t+"..","number")},maxValue:function(e,t){return R.fn.form.settings.rules.range(e,".."+t,"number")},integer:function(e,t){return R.fn.form.settings.rules.range(e,t,"integer")},range:function(e,t,n,i){var o,a;return(n="string"==typeof n?R.fn.form.settings.regExp[n]:n)instanceof RegExp||(n=R.fn.form.settings.regExp.integer),t&&-1===["",".."].indexOf(t)&&(-1===t.indexOf("..")?n.test(t)&&(a=o=+t):(t=t.split("..",2),n.test(t[0])&&(o=+t[0]),n.test(t[1])&&(a=+t[1]))),i&&(e=e.length),n.test(e)&&(void 0===o||o<=e)&&(void 0===a||e<=a)},decimal:function(e,t){return R.fn.form.settings.rules.range(e,t,"decimal")},number:function(e,t){return R.fn.form.settings.rules.range(e,t,"number")},is:function(e,t){return t="string"==typeof t?t.toLowerCase():t,(e="string"==typeof e?e.toLowerCase():e)==t},isExactly:function(e,t){return e==t},not:function(e,t){return(e="string"==typeof e?e.toLowerCase():e)!=(t="string"==typeof t?t.toLowerCase():t)},notExactly:function(e,t){return e!=t},contains:function(e,t){return t=t.replace(R.fn.form.settings.regExp.escape,"\\$&"),-1!==e.search(new RegExp(t,"i"))},containsExactly:function(e,t){return t=t.replace(R.fn.form.settings.regExp.escape,"\\$&"),-1!==e.search(new RegExp(t))},doesntContain:function(e,t){return t=t.replace(R.fn.form.settings.regExp.escape,"\\$&"),-1===e.search(new RegExp(t,"i"))},doesntContainExactly:function(e,t){return t=t.replace(R.fn.form.settings.regExp.escape,"\\$&"),-1===e.search(new RegExp(t))},minLength:function(e,t){return R.fn.form.settings.rules.range(e,t+"..","integer",!0)},exactLength:function(e,t){return R.fn.form.settings.rules.range(e,t+".."+t,"integer",!0)},maxLength:function(e,t){return R.fn.form.settings.rules.range(e,".."+t,"integer",!0)},size:function(e,t){return R.fn.form.settings.rules.range(e,t,"integer",!0)},match:function(e,t,n){n=n.get.value(t,!0);return void 0!==n&&e.toString()===n.toString()},different:function(e,t,n){n=n.get.value(t,!0);return void 0!==n&&e.toString()!==n.toString()},creditCard:function(n,e){var i,o={visa:{pattern:/^4/,length:[16]},amex:{pattern:/^3[47]/,length:[15]},mastercard:{pattern:/^5[1-5]/,length:[16]},discover:{pattern:/^(6011|622(12[6-9]|1[3-9]\d|[2-8]\d{2}|9[01]\d|92[0-5]|64[4-9])|65)/,length:[16]},unionPay:{pattern:/^(62|88)/,length:[16,17,18,19]},jcb:{pattern:/^35(2[89]|[3-8]\d)/,length:[16]},maestro:{pattern:/^(5018|5020|5038|6304|6759|676[1-3])/,length:[12,13,14,15,16,17,18,19]},dinersClub:{pattern:/^(30[0-5]|^36)/,length:[14]},laser:{pattern:/^(6304|670[69]|6771)/,length:[16,17,18,19]},visaElectron:{pattern:/^(4026|417500|4508|4844|491(3|7))/,length:[16]}},a=!1,e="string"==typeof e&&e.split(",");if("string"==typeof n&&0!==n.length){if(n=n.replace(/[\s-]/g,""),e&&(R.each(e,function(e,t){(i=o[t])&&0<(i={length:-1!==R.inArray(n.length,i.length),pattern:-1!==n.search(i.pattern)}).length&&i.pattern&&(a=!0)}),!a))return!1;if((e={number:-1!==R.inArray(n.length,o.unionPay.length),pattern:-1!==n.search(o.unionPay.pattern)}).number&&e.pattern)return!0;for(var t=n.length,r=0,s=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],l=0;t--;)l+=s[r][parseInt(n.charAt(t),10)],r^=1;return l%10==0&&0<l}},minCount:function(e,t){return 0===(t=Number(t))||(1===t?""!==e:e.split(",").length>=t)},exactCount:function(e,t){return 0===(t=Number(t))?""===e:1===t?""!==e&&-1===e.search(","):e.split(",").length===t},maxCount:function(e,t){return 0!==(t=Number(t))&&(1===t?-1===e.search(","):e.split(",").length<=t)}}}}(jQuery,window,document),function(k,S){"use strict";S=void 0!==S&&S.Math===Math?S:globalThis,k.fn.accordion=function(p){var h,v=k(this),b=Date.now(),y=[],x=p,C="string"==typeof x,w=[].slice.call(arguments,1);return v.each(function(){var e,a=k.isPlainObject(p)?k.extend(!0,{},k.fn.accordion.settings,p):k.extend({},k.fn.accordion.settings),r=a.className,t=a.namespace,s=a.selector,l=a.error,n="."+t,i="module-"+t,o=v.selector||"",c=k(this),d=c.find(s.title),u=c.find(s.content),f=this,m=c.data(i),g={initialize:function(){g.debug("Initializing",c),g.bind.events(),a.observeChanges&&g.observeChanges(),g.instantiate()},instantiate:function(){m=g,c.data(i,g)},destroy:function(){g.debug("Destroying previous instance",c),c.off(n).removeData(i)},refresh:function(){d=c.find(s.title),u=c.find(s.content)},observeChanges:function(){"MutationObserver"in S&&((e=new MutationObserver(function(e){g.debug("DOM tree modified, updating selector cache"),g.refresh()})).observe(f,{childList:!0,subtree:!0}),g.debug("Setting up mutation observer",e))},bind:{events:function(){g.debug("Binding delegated events"),c.on(a.on+n,s.trigger,g.event.click)}},event:{click:function(e){0===k(e.target).closest(s.ignore).length&&g.toggle.call(this)}},toggle:function(e){var e=void 0!==e?"number"==typeof e?d.eq(e):k(e).closest(s.title):k(this).closest(s.title),t=e.next(u),n=t.hasClass(r.animating),t=t.hasClass(r.active),i=t&&!n,t=!t&&n;g.debug("Toggling visibility of content",e),i||t?a.collapsible?g.close.call(e):g.debug("Cannot close accordion content collapsing is disabled"):g.open.call(e)},open:function(e){var e=void 0!==e?"number"==typeof e?d.eq(e):k(e).closest(s.title):k(this).closest(s.title),t=e.next(u),n=t.hasClass(r.animating);t.hasClass(r.active)||n?g.debug("Accordion already open, skipping",t):(g.debug("Opening accordion content",e),a.onOpening.call(t),a.onChanging.call(t),a.exclusive&&g.closeOthers.call(e),e.addClass(r.active),t.stop(!0,!0).addClass(r.animating),a.animateChildren&&(void 0!==k.fn.transition?t.children().transition({animation:"fade in",queue:!1,useFailSafe:!0,debug:a.debug,verbose:a.verbose,silent:a.silent,duration:a.duration,skipInlineHidden:!0,onComplete:function(){t.children().removeClass(r.transition)}}):t.children().stop(!0,!0).animate({opacity:1},a.duration,g.resetOpacity)),t.slideDown(a.duration,a.easing,function(){t.removeClass(r.animating).addClass(r.active),g.reset.display.call(this),a.onOpen.call(this),a.onChange.call(this)}))},close:function(e){var e=void 0!==e?"number"==typeof e?d.eq(e):k(e).closest(s.title):k(this).closest(s.title),t=e.next(u),n=t.hasClass(r.animating),i=t.hasClass(r.active);!i&&!(!i&&n)||i&&n||(g.debug("Closing accordion content",t),a.onClosing.call(t),a.onChanging.call(t),e.removeClass(r.active),t.stop(!0,!0).addClass(r.animating),a.animateChildren&&(void 0!==k.fn.transition?t.children().transition({animation:"fade out",queue:!1,useFailSafe:!0,debug:a.debug,verbose:a.verbose,silent:a.silent,duration:a.duration,skipInlineHidden:!0}):t.children().stop(!0,!0).animate({opacity:0},a.duration,g.resetOpacity)),t.slideUp(a.duration,a.easing,function(){t.removeClass(r.animating).removeClass(r.active),g.reset.display.call(this),a.onClose.call(this),a.onChange.call(this)}))},closeOthers:function(e){var t,e=void 0!==e?d.eq(e):k(this).closest(s.title),n=e.parents(s.content).prev(s.title),e=e.closest(s.accordion),i=s.title+"."+r.active+":visible",o=s.content+"."+r.active+":visible",o=a.closeNested?(t=e.find(i).not(n)).next(u):(t=e.find(i).not(n),e=e.find(o).find(i).not(n),(t=t.not(e)).next(u));0<t.length&&(g.debug("Exclusive enabled, closing other content",t),t.removeClass(r.active),o.removeClass(r.animating).stop(!0,!0),a.animateChildren&&(void 0!==k.fn.transition?o.children().transition({animation:"fade out",useFailSafe:!0,debug:a.debug,verbose:a.verbose,silent:a.silent,duration:a.duration,skipInlineHidden:!0}):o.children().stop(!0,!0).animate({opacity:0},a.duration,g.resetOpacity)),o.slideUp(a.duration,a.easing,function(){k(this).removeClass(r.active),g.reset.display.call(this)}))},reset:{display:function(){g.verbose("Removing inline display from element",this);var e=k(this);e.css("display",""),""===e.attr("style")&&e.attr("style","").removeAttr("style")},opacity:function(){g.verbose("Removing inline opacity from element",this);var e=k(this);e.css("opacity",""),""===e.attr("style")&&e.attr("style","").removeAttr("style")}},setting:function(e,t){if(g.debug("Changing setting",e,t),k.isPlainObject(e))k.extend(!0,a,e);else{if(void 0===t)return a[e];k.isPlainObject(a[e])?k.extend(!0,a[e],t):a[e]=t}},internal:function(e,t){if(g.debug("Changing internal",e,t),void 0===t)return g[e];k.isPlainObject(e)?k.extend(!0,g,e):g[e]=t},debug:function(){!a.silent&&a.debug&&(a.performance?g.performance.log(arguments):(g.debug=Function.prototype.bind.call(console.info,console,a.name+":"),g.debug.apply(console,arguments)))},verbose:function(){!a.silent&&a.verbose&&a.debug&&(a.performance?g.performance.log(arguments):(g.verbose=Function.prototype.bind.call(console.info,console,a.name+":"),g.verbose.apply(console,arguments)))},error:function(){a.silent||(g.error=Function.prototype.bind.call(console.error,console,a.name+":"),g.error.apply(console,arguments))},performance:{log:function(e){var t,n;a.performance&&(n=(t=Date.now())-(b||t),b=t,y.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:f,"Execution Time":n})),clearTimeout(g.performance.timer),g.performance.timer=setTimeout(g.performance.display,500)},display:function(){var e=a.name+":",n=0;b=!1,clearTimeout(g.performance.timer),k.each(y,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",o&&(e+=" '"+o+"'"),0<y.length&&(console.groupCollapsed(e),console.table?console.table(y):k.each(y,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),y=[]}},invoke:function(i,e,t){var o,a,n,r,s=m;return e=e||w,t=t||f,"string"==typeof i&&void 0!==s&&(i=i.split(/[ .]/),o=i.length-1,k.each(i,function(e,t){var n=e!==o?t+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(k.isPlainObject(s[n])&&e!==o)s=s[n];else{if(void 0!==s[n])return a=s[n],!1;{if(!k.isPlainObject(s[t])||e===o)return void 0!==s[t]?a=s[t]:g.error(l.method,i),!1;s=s[t]}}})),"function"==typeof(r=a)&&"number"!=typeof r.nodeType?n=a.apply(t,e):void 0!==a&&(n=a),Array.isArray(h)?h.push(n):void 0!==h?h=[h,n]:void 0!==n&&(h=n),a}};C?(void 0===m&&g.initialize(),g.invoke(x)):(void 0!==m&&m.invoke("destroy"),g.initialize())}),void 0!==h?h:this},k.fn.accordion.settings={name:"Accordion",namespace:"accordion",silent:!1,debug:!1,verbose:!1,performance:!0,on:"click",observeChanges:!0,exclusive:!0,collapsible:!0,closeNested:!1,animateChildren:!0,duration:350,easing:"easeOutQuad",onOpening:function(){},onClosing:function(){},onChanging:function(){},onOpen:function(){},onClose:function(){},onChange:function(){},error:{method:"The method you called is not defined"},className:{active:"active",animating:"animating",transition:"transition"},selector:{accordion:".accordion",title:".title",trigger:".title",ignore:".ui.dropdown",content:".content"}},k.extend(k.easing,{easeOutQuad:function(e){return 1-(1-e)*(1-e)}})}(jQuery,window,document),function(ae,T,D){"use strict";T=void 0!==T&&T.Math===Math?T:globalThis,ae.fn.calendar=function(p){var h,e=ae(this),v=ae(D),b=e.selector||"",y=Date.now(),x=[],C=p,w="string"==typeof C,k=[].slice.call(arguments,1),S={5:{row:4,column:3},10:{row:3,column:2},15:{row:2,column:2},20:{row:3,column:1},30:{row:2,column:1}},oe=["","one","two","three","four","five","six","seven","eight"];return e.each(function(){var u,e,$=ae.isPlainObject(p)?ae.extend(!0,{},ae.fn.calendar.settings,p):ae.extend({},ae.fn.calendar.settings),G=$.className,n=$.namespace,i=$.selector,J=$.formatter,Z=$.parser,_=$.metadata,ee=S[$.minTimeGap],l=$.error,t="."+n,o="module-"+n,a=ae(this),r=a.find(i.input),s=a.find(i.activator),c=this,d=a.data(o),te=d&&d.popupId?v.find("#"+d.popupId):a.find(i.popup),f=!1,ne=a.hasClass(G.inverted),m=!1,g=!1,ie={initialize:function(){ie.debug("Initializing calendar for",c,a),u=ie.get.isTouch(),ie.setup.config(),ie.setup.popup(),ie.setup.inline(),ie.setup.input(),ie.setup.date(),ie.create.calendar(),ie.bind.events(),ie.observeChanges(),ie.instantiate()},instantiate:function(){ie.verbose("Storing instance of calendar"),d=ie,a.data(o,d)},destroy:function(){ie.verbose("Destroying previous calendar for",c),a.removeData(o),ie.unbind.events(),ie.disconnect.classObserver()},setup:{config:function(){null!==ie.get.minDate()&&ie.set.minDate(a.data(_.minDate)),null!==ie.get.maxDate()&&ie.set.maxDate(a.data(_.maxDate)),ie.setting("type",ie.get.type()),ie.setting("on",$.on||"click")},popup:function(){var e,t;$.inline||0===s.length&&0===(s=a.children().first()).length||(void 0===ae.fn.popup?ie.error(l.popup):((te=0===te.length?$.context?(ie.popupId=n+"_popup_"+(Math.random().toString(16)+"000000000").slice(2,10),ae("<div/>",{id:ie.popupId}).addClass(G.popup).appendTo(v.find($.context))):(e=0<(t=s.parent()).closest(i.append).length?"appendTo":"prependTo",ae("<div/>").addClass(G.popup)[e](t)):te).addClass(G.calendar),ne&&te.addClass(G.inverted),e=function(){return ie.refreshTooltips(),$.onVisible.apply(te,arguments)},0===r.length&&(te.attr("tabindex","0"),e=function(){return ie.refreshTooltips(),ie.focus(),$.onVisible.apply(te,arguments)}),t=ie.setting("on"),t=ae.extend({},$.popupOptions,{popup:te,movePopup:!$.context,on:t,hoverable:"hover"===t,closable:"click"===t,onShow:function(){return ie.set.focusDate(ie.get.date()),ie.set.mode(ie.get.validatedMode($.startMode)),$.onShow.apply(te,arguments)},onVisible:e,onHide:$.onHide,onHidden:function(){return ie.blur(),$.onHidden.apply(te,arguments)}}),ie.popup(t)))},inline:function(){0<s.length&&!$.inline||($.inline=!0,te=ae("<div/>").addClass(G.calendar).appendTo(a),0===r.length&&te.attr("tabindex","0"))},input:function(){$.touchReadonly&&0<r.length&&u&&r.prop("readonly",!0),ie.check.disabled()},date:function(){var e;$.initialDate?e=Z.date($.initialDate,$):void 0!==a.data(_.date)?e=Z.date(a.data(_.date),$):0<r.length&&(e=Z.date(r.val(),$)),ie.set.date(e,$.formatInput,!1),ie.set.mode(ie.get.mode(),!1)}},trigger:{change:function(){var e,t=r[0];t&&(e=D.createEvent("HTMLEvents"),ie.verbose("Triggering native change event"),e.initEvent("change",!0,!1),t.dispatchEvent(e))}},create:{calendar:function(){var e,t,L,n=ie.get.mode(),i=new Date,V=ie.get.date(),o=ie.get.focusDate(),a=ie.helper.dateInRange(o||V||Z.date($.initialDate,$)||i),r=(o||ie.set.focusDate(o=a,!1,!1),"year"===n),s="month"===n,l="day"===n,c="hour"===n,d="minute"===n,N="time"===$.type,q=Math.max($.multiMonth,1),z=l?ie.get.monthOffset():0,u=a.getMinutes(),f=a.getHours(),m=a.getDate(),H=a.getMonth()+z,g=a.getFullYear(),p=l?$.showWeekNumbers?8:7:c?4:ee.column,U=l||c?6:ee.row,h=l?q:1,v=(b=te).hasClass("left")?"right center":"left center";for(b.empty(),1<h&&(L=ae("<div/>").addClass(G.grid).appendTo(b)),t=0;t<h;t++){1<h&&(b=ae("<div/>").addClass(G.column).appendTo(L));var b,y=H+t,B=(new Date(g,y,1).getDay()-$.firstDayOfWeek%7+7)%7,x=(!$.constantHeight&&l&&(x=new Date(g,y+1,0).getDate()+B,U=Math.ceil(x/7)),r?10:s?1:0),C=l?1:0,w=c||d?1:0,k=c||d?m:1,S=new Date(g-x,y-C,k-w,f),C=new Date(g+x,y+C,k+w,f),k=r?new Date(10*Math.ceil(g/10)-9,0,0):s?new Date(g,0,0):l?new Date(g,y,0):new Date(g,y,m,-1),w=r?new Date(10*Math.ceil(g/10)+1,0,1):s?new Date(g+1,0,1):l?new Date(g,y+1,1):new Date(g,y,m+1),T=n,T=(l&&$.showWeekNumbers&&(T+=" andweek"),ae("<table/>").addClass(G.table).addClass(T).addClass(oe[p]+" column").appendTo(b)),W=(ne&&T.addClass(G.inverted),p);if(!N){var Y=ae("<thead/>").appendTo(T),D=ae("<tr/>").appendTo(Y),A=ae("<th/>").attr("colspan",""+p).appendTo(D),E=r||s?new Date(g,0,1):l?new Date(g,y,1):new Date(g,y,m,f,u),O=ae("<span/>").addClass(G.link).appendTo(A),E=(O.text(ie.helper.dateFormat(J[n+"Header"],E)),s?$.disableYear?"day":"year":l?$.disableMonth?"year":"month":"day");if(O.data(_.mode,E),0===t&&((O=ae("<span/>").addClass(G.prev).appendTo(A)).data(_.focusDate,S),O.toggleClass(G.disabledCell,!ie.helper.isDateInRange(k,n)),ae("<i/>").addClass(G.prevIcon).appendTo(O)),t===h-1&&((E=ae("<span/>").addClass(G.next).appendTo(A)).data(_.focusDate,C),E.toggleClass(G.disabledCell,!ie.helper.isDateInRange(w,n)),ae("<i/>").addClass(G.nextIcon).appendTo(E)),l)for(D=ae("<tr/>").appendTo(Y),$.showWeekNumbers&&((A=ae("<th/>").appendTo(D)).text($.text.weekNo),A.addClass(G.weekCell),W--),P=0;P<W;P++)(A=ae("<th/>").appendTo(D)).text(J.dayColumnHeader((P+$.firstDayOfWeek)%7,$))}for(var Q=ae("<tbody/>").appendTo(T),P=r?10*Math.ceil(g/10)-9:l?1-B:0,K=0;K<U;K++)for(D=ae("<tr/>").appendTo(Q),l&&$.showWeekNumbers&&((A=ae("<th/>").appendTo(D)).text(ie.get.weekOfYear(g,y,P+1-$.firstDayOfWeek)),A.addClass(G.weekCell)),e=0;e<W;e++,P++){var M,R=r?new Date(P,y,1,f,u):s?new Date(g,P,1,f,u):l?new Date(g,y,P,f,u):c?new Date(g,y,m,P):new Date(g,y,m,f,P*$.minTimeGap),F=r?P:s?$.text.monthsShort[P]:l?R.getDate():ie.helper.dateFormat(J.cellTime,R),F=((A=ae("<td/>").addClass(G.cell).appendTo(D)).text(F),A.data(_.date,R),l&&R.getMonth()!==(y+12)%12),I=!$.selectAdjacentDays&&F||!ie.helper.isDateInRange(R,n)||$.isDisabled(R,n)||ie.helper.isDisabled(R,n)||!ie.helper.isEnabled(R,n),j=(I?(null!==(j=ie.helper.findDayAsObject(R,n,$.disabledDates))&&j[_.message]&&(A.attr("data-tooltip",j[_.message]),A.attr("data-position",j[_.position]||v),(j[_.inverted]||ne&&void 0===j[_.inverted])&&A.attr("data-inverted",""),j[_.variation]&&A.attr("data-variation",j[_.variation])),"hour"===n&&null!==(j=ie.helper.findHourAsObject(R,n,$.disabledHours))&&j[_.message]&&(A.attr("data-tooltip",j[_.message]),A.attr("data-position",j[_.position]||v),(j[_.inverted]||ne&&void 0===j[_.inverted])&&A.attr("data-inverted",""),j[_.variation]&&A.attr("data-variation",j[_.variation]))):null!==(M=ie.helper.findDayAsObject(R,n,$.eventDates))&&(A.addClass(M[_.class]||$.eventClass),M[_.message]&&(A.attr("data-tooltip",M[_.message]),A.attr("data-position",M[_.position]||v),(M[_.inverted]||ne&&void 0===M[_.inverted])&&A.attr("data-inverted",""),M[_.variation]&&A.attr("data-variation",M[_.variation]))),ie.helper.dateEqual(R,V,n)),X=ie.helper.dateEqual(R,i,n),F=(A.toggleClass(G.adjacentCell,F&&!M),A.toggleClass(G.disabledCell,I),A.toggleClass(G.activeCell,j&&!(F&&I)),c||d||A.toggleClass(G.todayCell,!F&&X),{mode:n,adjacent:F,disabled:I,active:j,today:X});J.cell(A,R,F),ie.helper.dateEqual(R,o,n)&&ie.set.focusDate(R,!1,!1)}$.today&&(S=ae("<tr/>").appendTo(Q),(k=ae("<td/>").attr("colspan",""+p).addClass(G.today).appendTo(S)).text(J.today($)),k.data(_.date,i)),ie.update.focus(!1,T),$.inline&&ie.refreshTooltips()}}},update:{focus:function(e,t){t=t||te;var r=ie.get.mode(),n=ie.get.date(),s=ie.get.focusDate(),l=ie.get.startDate(),c=ie.get.endDate(),d=(e?s:null)||n||(u?null:s);t.find("td").each(function(){var e,t,n,i,o=ae(this),a=o.data(_.date);a&&(e=o.hasClass(G.disabledCell),t=o.hasClass(G.activeCell),n=o.hasClass(G.adjacentCell),i=ie.helper.dateEqual(a,s,r),a=!!d&&(!!l&&ie.helper.isDateInRange(a,r,l,d)||!!c&&ie.helper.isDateInRange(a,r,d,c)),o.toggleClass(G.focusCell,i&&(!u||f)&&(!n||$.selectAdjacentDays&&n)&&!e),ie.helper.isTodayButton(o)||o.toggleClass(G.rangeCell,a&&!t&&!e))})}},refresh:function(){ie.create.calendar()},refreshTooltips:function(){var i=ae(T).width();te.find("td[data-position]").each(function(){var e=ae(this),t=T.getComputedStyle(e[0],"::after").width.replace(/[^\d.]/g,""),n=e.attr("data-position"),t=i-e.width()-(parseInt(t,10)||250)>e.offset().left?"right":"left";-1===n.indexOf(t)&&e.attr("data-position",n.replace(/(left|right)/,t))})},bind:{events:function(){ie.debug("Binding events"),te.on("mousedown"+t,ie.event.mousedown),te.on("touchstart"+t,ie.event.mousedown),te.on("mouseup"+t,ie.event.mouseup),te.on("touchend"+t,ie.event.mouseup),te.on("mouseover"+t,ie.event.mouseover),0<r.length?(r.on("input"+t,ie.event.inputChange),r.on("focus"+t,ie.event.inputFocus),r.on("blur"+t,ie.event.inputBlur),r.on("keydown"+t,ie.event.keydown)):te.on("keydown"+t,ie.event.keydown)}},unbind:{events:function(){ie.debug("Unbinding events"),te.off(t),0<r.length&&r.off(t)}},event:{mouseover:function(e){var t=ae(e.target).data(_.date),e=1===e.buttons;t&&ie.set.focusDate(t,!1,!0,e)},mousedown:function(e){0<r.length&&e.preventDefault(),f=0<=e.type.indexOf("touch");e=ae(e.target).data(_.date);e&&ie.set.focusDate(e,!1,!0,!0)},mouseup:function(e){ie.focus(),e.preventDefault(),e.stopPropagation(),f=!1;var t,n,i,e=ae(e.target);e.hasClass("disabled")||(t=(e=(t=e.parent()).data(_.date)||t.data(_.focusDate)||t.data(_.mode)?t:e).data(_.date),n=e.data(_.focusDate),i=e.data(_.mode),t&&!1!==$.onSelect.call(c,t,ie.get.mode())?(e=e.hasClass(G.today),ie.selectDate(t,e)):n?ie.set.focusDate(n):i&&ie.set.mode(i))},keydown:function(e){var t=e.which;if(9===t&&ie.popup("hide"),ie.popup("is visible")){var n=ie.get.mode();switch(t){case 37:case 38:case 39:case 40:var i="day"===n?7:"hour"===n?4:"minute"===n?ee.column:3,i=37===t?-1:38===t?-i:39===t?1:i,o=(i*="minute"===n?$.minTimeGap:1,ie.get.focusDate()||ie.get.date()||new Date),a=o.getFullYear()+("year"===n?i:0),r=o.getMonth()+("month"===n?i:0),s=o.getDate()+("day"===n?i:0),l=o.getHours()+("hour"===n?i:0),i=o.getMinutes()+("minute"===n?i:0),a=new Date(a,r,s,l,i);"time"===$.type&&(a=ie.helper.mergeDateTi