fomantic-ui 2.9.3-beta.2 → 2.9.3-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dist/components/accordion.css +1 -1
  2. package/dist/components/accordion.js +1 -1
  3. package/dist/components/accordion.min.css +1 -1
  4. package/dist/components/accordion.min.js +1 -1
  5. package/dist/components/ad.css +1 -1
  6. package/dist/components/ad.min.css +1 -1
  7. package/dist/components/api.js +1 -1
  8. package/dist/components/api.min.js +1 -1
  9. package/dist/components/breadcrumb.css +1 -1
  10. package/dist/components/breadcrumb.min.css +1 -1
  11. package/dist/components/button.css +1 -1
  12. package/dist/components/button.min.css +1 -1
  13. package/dist/components/calendar.css +6 -6
  14. package/dist/components/calendar.js +1 -1
  15. package/dist/components/calendar.min.css +2 -2
  16. package/dist/components/calendar.min.js +1 -1
  17. package/dist/components/card.css +1 -1
  18. package/dist/components/card.min.css +1 -1
  19. package/dist/components/checkbox.css +1 -1
  20. package/dist/components/checkbox.js +1 -1
  21. package/dist/components/checkbox.min.css +1 -1
  22. package/dist/components/checkbox.min.js +1 -1
  23. package/dist/components/comment.css +1 -1
  24. package/dist/components/comment.min.css +1 -1
  25. package/dist/components/container.css +1 -1
  26. package/dist/components/container.min.css +1 -1
  27. package/dist/components/dimmer.css +1 -1
  28. package/dist/components/dimmer.js +1 -1
  29. package/dist/components/dimmer.min.css +1 -1
  30. package/dist/components/dimmer.min.js +1 -1
  31. package/dist/components/divider.css +1 -1
  32. package/dist/components/divider.min.css +1 -1
  33. package/dist/components/dropdown.css +1 -1
  34. package/dist/components/dropdown.js +11 -4
  35. package/dist/components/dropdown.min.css +1 -1
  36. package/dist/components/dropdown.min.js +2 -2
  37. package/dist/components/embed.css +1 -1
  38. package/dist/components/embed.js +1 -1
  39. package/dist/components/embed.min.css +1 -1
  40. package/dist/components/embed.min.js +1 -1
  41. package/dist/components/emoji.css +1 -1
  42. package/dist/components/emoji.min.css +1 -1
  43. package/dist/components/feed.css +1 -1
  44. package/dist/components/feed.min.css +1 -1
  45. package/dist/components/flag.css +1 -1
  46. package/dist/components/flag.min.css +1 -1
  47. package/dist/components/flyout.css +1 -1
  48. package/dist/components/flyout.js +24 -20
  49. package/dist/components/flyout.min.css +1 -1
  50. package/dist/components/flyout.min.js +2 -2
  51. package/dist/components/form.css +1 -1
  52. package/dist/components/form.js +26 -18
  53. package/dist/components/form.min.css +1 -1
  54. package/dist/components/form.min.js +2 -2
  55. package/dist/components/grid.css +1 -1
  56. package/dist/components/grid.min.css +1 -1
  57. package/dist/components/header.css +1 -1
  58. package/dist/components/header.min.css +1 -1
  59. package/dist/components/icon.css +1 -1
  60. package/dist/components/icon.min.css +1 -1
  61. package/dist/components/image.css +1 -1
  62. package/dist/components/image.min.css +1 -1
  63. package/dist/components/input.css +1 -1
  64. package/dist/components/input.min.css +1 -1
  65. package/dist/components/item.css +1 -1
  66. package/dist/components/item.min.css +1 -1
  67. package/dist/components/label.css +1 -1
  68. package/dist/components/label.min.css +1 -1
  69. package/dist/components/list.css +1 -1
  70. package/dist/components/list.min.css +1 -1
  71. package/dist/components/loader.css +1 -1
  72. package/dist/components/loader.min.css +1 -1
  73. package/dist/components/menu.css +1 -1
  74. package/dist/components/menu.min.css +1 -1
  75. package/dist/components/message.css +1 -1
  76. package/dist/components/message.min.css +1 -1
  77. package/dist/components/modal.css +1 -1
  78. package/dist/components/modal.js +25 -20
  79. package/dist/components/modal.min.css +1 -1
  80. package/dist/components/modal.min.js +2 -2
  81. package/dist/components/nag.css +1 -1
  82. package/dist/components/nag.js +1 -1
  83. package/dist/components/nag.min.css +1 -1
  84. package/dist/components/nag.min.js +1 -1
  85. package/dist/components/placeholder.css +1 -1
  86. package/dist/components/placeholder.min.css +1 -1
  87. package/dist/components/popup.css +1 -1
  88. package/dist/components/popup.js +1 -1
  89. package/dist/components/popup.min.css +1 -1
  90. package/dist/components/popup.min.js +1 -1
  91. package/dist/components/progress.css +1 -1
  92. package/dist/components/progress.js +1 -1
  93. package/dist/components/progress.min.css +1 -1
  94. package/dist/components/progress.min.js +1 -1
  95. package/dist/components/rail.css +1 -1
  96. package/dist/components/rail.min.css +1 -1
  97. package/dist/components/rating.css +1 -1
  98. package/dist/components/rating.js +1 -1
  99. package/dist/components/rating.min.css +1 -1
  100. package/dist/components/rating.min.js +1 -1
  101. package/dist/components/reset.css +1 -1
  102. package/dist/components/reset.min.css +1 -1
  103. package/dist/components/reveal.css +1 -1
  104. package/dist/components/reveal.min.css +1 -1
  105. package/dist/components/search.css +1 -1
  106. package/dist/components/search.js +1 -1
  107. package/dist/components/search.min.css +1 -1
  108. package/dist/components/search.min.js +1 -1
  109. package/dist/components/segment.css +1 -1
  110. package/dist/components/segment.min.css +1 -1
  111. package/dist/components/shape.css +1 -1
  112. package/dist/components/shape.js +1 -1
  113. package/dist/components/shape.min.css +1 -1
  114. package/dist/components/shape.min.js +1 -1
  115. package/dist/components/sidebar.css +1 -1
  116. package/dist/components/sidebar.js +1 -1
  117. package/dist/components/sidebar.min.css +1 -1
  118. package/dist/components/sidebar.min.js +1 -1
  119. package/dist/components/site.css +1 -1
  120. package/dist/components/site.js +1 -1
  121. package/dist/components/site.min.css +1 -1
  122. package/dist/components/site.min.js +1 -1
  123. package/dist/components/slider.css +1 -1
  124. package/dist/components/slider.js +1 -1
  125. package/dist/components/slider.min.css +1 -1
  126. package/dist/components/slider.min.js +1 -1
  127. package/dist/components/state.js +1 -1
  128. package/dist/components/state.min.js +1 -1
  129. package/dist/components/statistic.css +1 -1
  130. package/dist/components/statistic.min.css +1 -1
  131. package/dist/components/step.css +1 -1
  132. package/dist/components/step.min.css +1 -1
  133. package/dist/components/sticky.css +1 -1
  134. package/dist/components/sticky.js +1 -1
  135. package/dist/components/sticky.min.css +1 -1
  136. package/dist/components/sticky.min.js +1 -1
  137. package/dist/components/tab.css +1 -1
  138. package/dist/components/tab.js +1 -1
  139. package/dist/components/tab.min.css +1 -1
  140. package/dist/components/tab.min.js +1 -1
  141. package/dist/components/table.css +1 -1
  142. package/dist/components/table.min.css +1 -1
  143. package/dist/components/text.css +1 -1
  144. package/dist/components/text.min.css +1 -1
  145. package/dist/components/toast.css +1 -1
  146. package/dist/components/toast.js +2 -2
  147. package/dist/components/toast.min.css +1 -1
  148. package/dist/components/toast.min.js +2 -2
  149. package/dist/components/transition.css +1 -1
  150. package/dist/components/transition.js +1 -1
  151. package/dist/components/transition.min.css +1 -1
  152. package/dist/components/transition.min.js +1 -1
  153. package/dist/components/visibility.js +1 -1
  154. package/dist/components/visibility.min.js +1 -1
  155. package/dist/semantic.css +58 -58
  156. package/dist/semantic.js +109 -85
  157. package/dist/semantic.min.css +2 -2
  158. package/dist/semantic.min.js +2 -2
  159. package/package.json +1 -1
  160. package/src/definitions/behaviors/form.js +25 -17
  161. package/src/definitions/modules/calendar.less +1 -1
  162. package/src/definitions/modules/dropdown.js +10 -3
  163. package/src/definitions/modules/flyout.js +23 -19
  164. package/src/definitions/modules/modal.js +24 -19
  165. package/src/definitions/modules/toast.js +1 -1
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.3-beta.2+824a375
2
+ * # Fomantic UI - 2.9.3-beta.3+880333c
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * https://fomantic-ui.com/
5
5
  *
@@ -8,4 +8,4 @@
8
8
  * https://opensource.org/licenses/MIT
9
9
  *
10
10
  */
11
- !function(Q,W,U){"use strict";function X(e){return"function"==typeof e&&"number"!=typeof e.nodeType}W=void 0!==W&&W.Math===Math?W:globalThis,Q.fn.flyout=function(M){var O,e=Q(this),D=Q(W),N=Q(U),L=Q("html"),B=Q("head"),z=Q("body"),I=Date.now(),j=[],R=M,q="string"==typeof R,K=[].slice.call(arguments,1),V=function(e,t){var n;return 0<=[W,U].indexOf(e)?n=z:0===(n=Q(t.document).find(e)).length&&(n=t.frameElement?V(e,t.parent):z),n};return e.each(function(){var n,e,o,s,t,i,r,a=Q.isPlainObject(M)?Q.extend(!0,{},Q.fn.flyout.settings,M):Q.extend({},Q.fn.flyout.settings),l=a.selector,c=a.className,u=a.namespace,d=a.fields,f=a.regExp,h=a.error,g="."+u,p="module-"+u,v=Q(this),b=V(a.context,W),m=v.find(l.close),y=v.children(l.flyout),k=b.children(l.pusher),x=v.hasClass("flyout"),S=this,A=x?v.data(p):void 0,C=!1,w=b[0]===z[0],T="",F="",H=!1,P=!1,E={initialize:function(){var s;E.debug("Initializing flyout",M),E.create.id(),x||(E.create.flyout(),X(a.onHidden)||(a.onHidden=function(){E.destroy(),v.remove()}),a.autoShow||(a.autoShow=!0)),v.addClass(a.class),""!==a.title&&v.find(l.header).html(E.helpers.escape(a.title,a.preserveHTML)).addClass(a.classTitle),""!==a.content&&v.find(l.content).html(E.helpers.escape(a.content,a.preserveHTML)).addClass(a.classContent),E.has.configActions()&&(0===(s=v.find(l.actions).addClass(a.classActions)).length?s=Q("<div/>",{class:c.actions+" "+(a.classActions||"")}).appendTo(v):s.empty(),a.actions.forEach(function(e){var t=e[d.icon]?"<i "+(e[d.text]?'aria-hidden="true"':"")+' class="'+E.helpers.deQuote(e[d.icon])+' icon"></i>':"",n=E.helpers.escape(e[d.text]||"",a.preserveHTML),i=E.helpers.deQuote(e[d.class]||""),o=e[d.click]&&X(e[d.click])?e[d.click]:function(){};s.append(Q("<button/>",{html:t+n,"aria-label":(e[d.text]||e[d.icon]||"").replace(/<[^>]+(>|$)/g,""),class:c.button+" "+i,on:{click:function(){!1!==o.call(S,v)&&E.hide()}}}))})),a.delaySetup?requestAnimationFrame(E.setup.layout):E.setup.layout(),requestAnimationFrame(function(){E.setup.cache()}),"left"!==E.get.direction()&&"right"!==E.get.direction()||(E.setup.heights(),E.bind.resize()),E.bind.events(),E.observeChanges(),E.instantiate(),a.autoShow&&E.show()},instantiate:function(){E.verbose("Storing instance of module",E),A=E,v.data(p,A)},create:{flyout:function(){var e;E.verbose("Programmaticaly create flyout",b),v=Q("<div/>",{class:c.flyout,role:"dialog","aria-modal":a.dimPage}),a.closeIcon&&(m=Q("<i/>",{class:c.close,role:"button",tabindex:0,"aria-label":a.text.close}),v.append(m)),""!==a.title&&(e="_"+E.get.id()+"title",v.attr("aria-labelledby",e),Q("<div/>",{class:c.header,id:e}).appendTo(v)),""!==a.content&&(e="_"+E.get.id()+"desc",v.attr("aria-describedby",e),Q("<div/>",{class:c.content,id:e}).appendTo(v)),E.has.configActions()&&Q("<div/>",{class:c.actions}).appendTo(v),v.prependTo(b),S=v[0]},id:function(){t=(Math.random().toString(16)+"000000000").slice(2,10),s="."+t,E.verbose("Creating unique id for element",t)}},destroy:function(){i&&i.disconnect(),E.verbose("Destroying previous module for",v),v.off(g).removeData(p),E.is.ios()&&E.remove.ios(),m.off(s),n&&n.off(s),b.off(s),D.off(s),N.off(s)},event:{keyboard:function(e){e.which===a.keys.escape&&(a.closable?(E.debug("Escape key pressed hiding flyout"),E.hide()):E.debug("Escape key pressed, but closable is set to false"),e.preventDefault())},resize:function(){E.setup.heights()},focus:function(){E.is.visible()&&a.autofocus&&a.dimPage&&requestAnimationFrame(E.set.autofocus)},clickaway:function(e){var t;a.closable&&(t=0<k.find(e.target).length||k.is(e.target),e=b.is(e.target),t&&(E.verbose("User clicked on dimmed page"),E.hide()),e&&(E.verbose("User clicked on dimmable context (scaled out page)"),E.hide()))},close:function(e){E.hide()},closeKeyUp:function(e){e=e.which;e!==a.keys.enter&&e!==a.keys.space||E.hide()},inputKeyDown:{first:function(e){e.which===a.keys.tab&&e.shiftKey&&(n.last().trigger("focus"),e.preventDefault())},last:function(e){e.which!==a.keys.tab||e.shiftKey||(n.first().trigger("focus"),e.preventDefault())}},approve:function(e){C||!1===a.onApprove.call(E.element,Q(this))?E.verbose("Approve callback returned false cancelling close"):(C=!0,E.hide(function(){C=!1}))},deny:function(e){C||!1===a.onDeny.call(E.element,Q(this))?E.verbose("Deny callback returned false cancelling close"):(C=!0,E.hide(function(){C=!1}))},touch:function(e){},containScroll:function(e){S.scrollTop<=0&&(S.scrollTop=1),S.scrollTop+S.offsetHeight>=S.scrollHeight&&(S.scrollTop=S.scrollHeight-S.offsetHeight-1)},scroll:function(e){0===Q(e.target).closest(l.flyout).length&&e.preventDefault()}},bind:{resize:function(){E.verbose("Adding resize event to window",D),D.on("resize"+s,E.event.resize)},events:function(){E.verbose("Attaching events"),v.on("click"+g,l.close,E.event.close).on("click"+g,l.approve,E.event.approve).on("click"+g,l.deny,E.event.deny),m.on("keyup"+s,E.event.closeKeyUp),D.on("focus"+s,E.event.focus)},clickaway:function(){E.verbose("Adding clickaway events to context",b),b.on("click"+s,E.event.clickaway).on("touchend"+s,E.event.clickaway)},scrollLock:function(){a.scrollLock&&(E.debug("Disabling page scroll"),(H=E.has.scrollbar())&&(E.save.bodyMargin(),E.set.bodyMargin()),b.addClass(c.locked)),E.verbose("Adding events to contain flyout scroll"),N.on("touchmove"+s,E.event.touch),v.on("scroll"+g,E.event.containScroll)}},unbind:{clickaway:function(){E.verbose("Removing clickaway events from context",b),b.off(s)},scrollLock:function(){E.verbose("Removing scroll lock from page"),H&&E.restore.bodyMargin(),b.removeClass(c.locked),N.off(s),v.off("scroll"+g)}},add:{inlineCSS:function(){var e=E.cache.width||v.outerWidth(),t=E.cache.height||v.outerHeight(),n=E.is.rtl(),i=E.get.direction(),t={left:e,right:-e,top:t,bottom:-t};n&&(E.verbose("RTL detected, flipping widths"),t.left=-e,t.right=e),n="<style>","left"===i||"right"===i?(E.debug("Adding CSS rules for animation distance",e),n+=" .ui.visible."+i+".flyout ~ .fixed, .ui.visible."+i+".flyout ~ .pusher { transform: translate3d("+t[i]+"px, 0, 0); }"):"top"!==i&&"bottom"!==i||(n+=" .ui.visible."+i+".flyout ~ .fixed, .ui.visible."+i+".flyout ~ .pusher { transform: translate3d(0, "+t[i]+"px, 0); }"),E.is.ie()&&("left"===i||"right"===i?(E.debug("Adding CSS rules for animation distance",e),n+=" body.pushable > .ui.visible."+i+".flyout ~ .pusher::after { transform: translate3d("+t[i]+"px, 0, 0); }"):"top"!==i&&"bottom"!==i||(n+=" body.pushable > .ui.visible."+i+".flyout ~ .pusher::after { transform: translate3d(0, "+t[i]+"px, 0); }"),n+=" body.pushable > .ui.visible.left.flyout ~ .ui.visible.right.flyout ~ .pusher::after, body.pushable > .ui.visible.right.flyout ~ .ui.visible.left.flyout ~ .pusher::after { transform: translate3d(0, 0, 0); }"),o=Q(n+="</style>").appendTo(B),E.debug("Adding sizing css to head",o)},keyboardShortcuts:function(){E.verbose("Adding keyboard shortcuts"),N.on("keydown"+g,E.event.keyboard)}},observeChanges:function(){"MutationObserver"in W&&((i=new MutationObserver(function(e){function o(e){for(var t=[],n=0,i=e.length;n<i;n++)Array.prototype.push.apply(t,o(e[n].childNodes)),t.push(e[n]);return t}var n=!1;e.every(function(e){var t;return"attributes"===e.type?P&&("disabled"===e.attributeName||0<Q(e.target).find(":input").addBack(":input").length)&&(n=!0):(t=Q(o(e.addedNodes)).filter("a[href], [tabindex], :input:enabled").filter(":visible"),e=Q(o(e.removedNodes)).filter("a[href], [tabindex], :input"),(0<t.length||0<e.length)&&(n=!0)),!n}),n&&E.refreshInputs()})).observe(S,{attributeFilter:["class","disabled"],attributes:!0,childList:!0,subtree:!0}),E.debug("Setting up mutation observer",i))},refresh:function(){E.verbose("Refreshing selector cache"),b=V(a.context,W),E.refreshFlyouts(),k=b.children(l.pusher),E.clear.cache()},refreshFlyouts:function(){E.verbose("Refreshing other flyouts"),y=b.children(l.flyout)},refreshInputs:function(){n&&n.off("keydown"+s),a.dimPage&&(0===(n=v.find("a[href], [tabindex], :input:enabled").filter(":visible").filter(function(){return 0===Q(this).closest(".disabled").length})).length?(n=v).attr("tabindex",-1):v.removeAttr("tabindex"),n.first().on("keydown"+s,E.event.inputKeyDown.first),n.last().on("keydown"+s,E.event.inputKeyDown.last),a.autofocus&&0===n.filter(":focus").length&&E.set.autofocus())},setup:{cache:function(){E.cache={width:v.outerWidth(),height:v.outerHeight()}},layout:function(){0===b.children(l.pusher).length&&(E.debug("Adding wrapper element for flyout"),E.error(h.pusher),k=Q('<div class="pusher" />'),b.children().not(l.omitted).not(y).wrapAll(k),E.refresh()),0!==v.nextAll(l.pusher).length&&v.nextAll(l.pusher)[0]===k[0]||(E.debug("Moved flyout to correct parent element"),E.error(h.movedFlyout,S),v.detach().prependTo(b),E.refresh()),E.is.mobile()&&v.addClass(c.fullscreen),E.clear.cache(),E.set.pushable(),E.set.direction()},heights:function(){E.debug("Setting up heights",v);var e=v.children(l.header),t=v.children(l.content),n=v.children(l.actions),e=(b.height()||0)-(e.outerHeight()||0)-(n.outerHeight()||0);0<e&&t.css("min-height",String(e)+"px")}},attachEvents:function(e,t){var n=Q(e);t=X(E[t])?E[t]:E.toggle,0<n.length?(E.debug("Attaching flyout events to element",e,t),n.on("click"+g,t)):E.error(h.notFound,e)},show:function(e){e=X(e)?e:function(){},E.is.hidden()?!1===a.onShow.call(S)?E.verbose("Show callback returned false cancelling show"):(E.refresh(),E.othersActive()&&(E.debug("Other flyouts currently visible"),a.exclusive?E.hideOthers():C=!1),E.set.dimmerStyles(),E.set.observeAttributes(!1),E.pushPage(function(){e.call(S),a.onVisible.call(S),a.keyboardShortcuts&&E.add.keyboardShortcuts(),E.save.focus(),E.refreshInputs(),requestAnimationFrame(E.set.observeAttributes)}),a.onChange.call(S)):E.debug("Flyout is already visible")},hide:function(e){if(e=X(e)?e:function(){},!1===a.onHide.call(S,Q(this)))return E.verbose("Hide callback returned false cancelling hide"),C=!1;(E.is.visible()||E.is.animating())&&(E.debug("Hiding flyout",e),E.refreshFlyouts(),E.set.observeAttributes(!1),E.pullPage(function(){e.call(S),X(a.onHidden)&&a.onHidden.call(S),E.restore.focus()}),a.onChange.call(S))},othersAnimating:function(){return 0<y.not(v).filter("."+c.animating).length},othersVisible:function(){return 0<y.not(v).filter("."+c.visible).length},othersActive:function(){return E.othersVisible()||E.othersAnimating()},hideOthers:function(e){var t=y.not(v).filter("."+c.visible),n=t.length,i=0;e=e||function(){},t.flyout("hide",function(){++i===n&&e()})},toggle:function(){E.verbose("Determining toggled direction"),E.is.hidden()?E.show():E.hide()},pushPage:function(t){var e,n,i;t=X(t)?t:function(){},E.set.overlay(),a.returnScroll&&(r=(w?D:b).scrollTop()),E.bind.scrollLock(),e=function(){E.bind.clickaway(),E.add.inlineCSS(),E.set.animating(),E.set.visible()},n=function(){E.set.dimmed()},i=function(e){e.target===v[0]&&(v.off("transitionend"+s,i),E.remove.animating(),t.call(S))},v.off("transitionend"+s),v.on("transitionend"+s,i),requestAnimationFrame(e),a.dimPage&&!E.othersVisible()&&requestAnimationFrame(n)},pullPage:function(t){var e,n;t=X(t)?t:function(){},E.verbose("Removing context push state",E.get.direction()),E.unbind.clickaway(),E.othersActive()||(E.unbind.scrollLock(),a.keyboardShortcuts&&E.remove.keyboardShortcuts()),e=function(){E.set.overlay(),E.set.animating(),a.dimPage&&!E.othersVisible()&&E.set.closing(),E.remove.visible()},n=function(e){e.target===v[0]&&(v.off("transitionend"+s,n),E.remove.animating(),E.remove.closing(),E.remove.overlay(),E.remove.inlineCSS(),a.returnScroll&&E.scrollBack(),a.dimPage&&!E.othersVisible()&&k.removeClass(c.dimmed),t.call(S))},v.off("transitionend"+s),v.on("transitionend"+s,n),requestAnimationFrame(e)},scrollToTop:function(){E.verbose("Scrolling to top of page to avoid animation issues"),v.scrollTop(0),(w?D:b)[0].scrollTo(0,0)},scrollBack:function(){E.verbose("Scrolling back to original page position"),(w?D:b)[0].scrollTo(0,r)},clear:{cache:function(){E.verbose("Clearing cached dimensions"),E.cache={}}},set:{observeAttributes:function(e){P=!1!==e},autofocus:function(){var e=n.filter("[autofocus]"),t=n.filter(":input"),e=(0<e.length?e:0<t.length?t:n.filter(":not(i.close)")).first();0<(e=0===e.length&&0<n.length?n.first():e).length&&e.trigger("focus")},dimmerStyles:function(){a.blurring?k.addClass(c.blurring):k.removeClass(c.blurring)},bodyMargin:function(){var n=E.can.leftBodyScrollbar()?"left":"right";b.css((w?"margin-":"padding-")+n,F+"px"),b.find(l.bodyFixed.replace("right",n)).each(function(){var e=Q(this),t="fixed"===e.css("position")?"padding-"+n:n;e.css(t,"calc("+e.css(t)+" + "+F+"px)")})},ios:function(){L.addClass(c.ios)},pushed:function(){b.addClass(c.pushed)},pushable:function(){b.addClass(c.pushable)},dimmed:function(){k.addClass(c.dimmed)},active:function(){v.addClass(c.active)},animating:function(){v.addClass(c.animating)},closing:function(){k.addClass(c.closing)},direction:function(e){e=e||E.get.direction(),v.addClass(c[e])},visible:function(){v.addClass(c.visible)},overlay:function(){v.addClass(c.overlay)}},remove:{inlineCSS:function(){E.debug("Removing inline css styles",o),o&&0<o.length&&o.remove()},keyboardShortcuts:function(){E.verbose("Removing keyboard shortcuts"),N.off("keydown"+g)},ios:function(){L.removeClass(c.ios)},pushed:function(){b.removeClass(c.pushed)},pushable:function(){b.removeClass(c.pushable)},active:function(){v.removeClass(c.active)},animating:function(){v.removeClass(c.animating)},closing:function(){k.removeClass(c.closing)},direction:function(e){e=e||E.get.direction(),v.removeClass(c[e])},visible:function(){v.removeClass(c.visible)},overlay:function(){v.removeClass(c.overlay)}},get:{direction:function(){return v.hasClass(c.top)?c.top:v.hasClass(c.right)?c.right:v.hasClass(c.bottom)?c.bottom:c.left},id:function(){return t},element:function(){return v},settings:function(){return a}},can:{leftBodyScrollbar:function(){return void 0===E.cache.leftBodyScrollbar&&(E.cache.leftBodyScrollbar=E.is.rtl()&&(E.is.iframe&&!E.is.firefox()||E.is.safari()||E.is.edge()||E.is.ie())),E.cache.leftBodyScrollbar}},save:{focus:function(){0<Q(U.activeElement).closest(v).length||(e=Q(U.activeElement).trigger("blur"))},bodyMargin:function(){T=b.css((w?"margin-":"padding-")+(E.can.leftBodyScrollbar()?"left":"right"));var e=parseInt(T.replace(/[^\d.]/g,""),10),t=w?W.innerWidth-U.documentElement.clientWidth:b[0].offsetWidth-b[0].clientWidth;F=e+t}},is:{safari:function(){return void 0===E.cache.isSafari&&(E.cache.isSafari=/constructor/i.test(W.HTMLElement)||!!W.ApplePaySession),E.cache.isSafari},edge:function(){return void 0===E.cache.isEdge&&(E.cache.isEdge=!!W.setImmediate&&!E.is.ie()),E.cache.isEdge},firefox:function(){return void 0===E.cache.isFirefox&&(E.cache.isFirefox=!!W.InstallTrigger),E.cache.isFirefox},iframe:function(){return!(self===top)},ie:function(){var e,t;return void 0===E.cache.isIE&&(e=!W.ActiveXObject&&"ActiveXObject"in W,t="ActiveXObject"in W,E.cache.isIE=e||t),E.cache.isIE},ios:function(){var e=navigator.userAgent,t=e.match(f.ios),n=e.match(f.mobileChrome);return!(!t||n)&&(E.verbose("Browser was found to be iOS",e),!0)},mobile:function(){var e=navigator.userAgent;return e.match(f.mobile)?(E.verbose("Browser was found to be mobile",e),!0):(E.verbose("Browser is not mobile, using regular transition",e),!1)},hidden:function(){return!E.is.visible()},visible:function(){return v.hasClass(c.visible)},animating:function(){return b.hasClass(c.animating)},rtl:function(){return void 0===E.cache.isRTL&&(E.cache.isRTL="rtl"===v.attr("dir")||"rtl"===v.css("direction")||"rtl"===z.attr("dir")||"rtl"===z.css("direction")||"rtl"===b.attr("dir")||"rtl"===b.css("direction")),E.cache.isRTL}},has:{configActions:function(){return Array.isArray(a.actions)&&0<a.actions.length},scrollbar:function(){return w||"hidden"!==b.css("overflow-y")}},restore:{focus:function(){e&&0<e.length&&a.restoreFocus&&e.trigger("focus")},bodyMargin:function(){var n=E.can.leftBodyScrollbar()?"left":"right";b.css((w?"margin-":"padding-")+n,T),b.find(l.bodyFixed.replace("right",n)).each(function(){var e=Q(this),t="fixed"===e.css("position")?"padding-"+n:n;e.css(t,"")})}},helpers:{deQuote:function(e){return String(e).replace(/"/g,"")},escape:function(e,t){if(t)return e;var n={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};return/["&'<>`]/.test(e)?(e=e.replace(/&(?![\d#a-z]{1,12};)/gi,"&amp;")).replace(/["'<>`]/g,function(e){return n[e]}):e}},setting:function(e,t){if(E.debug("Changing setting",e,t),Q.isPlainObject(e))Q.extend(!0,a,e);else{if(void 0===t)return a[e];Q.isPlainObject(a[e])?Q.extend(!0,a[e],t):a[e]=t}},internal:function(e,t){if(Q.isPlainObject(e))Q.extend(!0,E,e);else{if(void 0===t)return E[e];E[e]=t}},debug:function(){!a.silent&&a.debug&&(a.performance?E.performance.log(arguments):(E.debug=Function.prototype.bind.call(console.info,console,a.name+":"),E.debug.apply(console,arguments)))},verbose:function(){!a.silent&&a.verbose&&a.debug&&(a.performance?E.performance.log(arguments):(E.verbose=Function.prototype.bind.call(console.info,console,a.name+":"),E.verbose.apply(console,arguments)))},error:function(){a.silent||(E.error=Function.prototype.bind.call(console.error,console,a.name+":"),E.error.apply(console,arguments))},performance:{log:function(e){var t,n;a.performance&&(n=(t=Date.now())-(I||t),I=t,j.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:S,"Execution Time":n})),clearTimeout(E.performance.timer),E.performance.timer=setTimeout(E.performance.display,500)},display:function(){var e=a.name+":",n=0;I=!1,clearTimeout(E.performance.timer),Q.each(j,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",0<j.length&&(console.groupCollapsed(e),console.table?console.table(j):Q.each(j,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),j=[]}},invoke:function(i,e,t){var o,s,n,r=A;return e=e||K,t=S||t,"string"==typeof i&&void 0!==r&&(i=i.split(/[ .]/),o=i.length-1,Q.each(i,function(e,t){var n=e!==o?t+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(Q.isPlainObject(r[n])&&e!==o)r=r[n];else{if(void 0!==r[n])return s=r[n],!1;{if(!Q.isPlainObject(r[t])||e===o)return void 0!==r[t]?s=r[t]:E.error(h.method,i),!1;r=r[t]}}})),X(s)?n=s.apply(t,e):void 0!==s&&(n=s),Array.isArray(O)?O.push(n):void 0!==O?O=[O,n]:void 0!==n&&(O=n),s}};q?(void 0===A&&(X(a.templates[R])&&(a.autoShow=!0,a.className.flyout=a.className.template,a=Q.extend(!0,{},a,a.templates[R].apply(E,K)),c=a.className,a.namespace,d=a.fields,h=a.error),E.initialize()),X(a.templates[R])||E.invoke(R)):(void 0!==A&&A.invoke("destroy"),E.initialize(),O=v)}),void 0!==O?O:this},Q.flyout=Q.fn.flyout,Q.fn.flyout.settings={name:"Flyout",namespace:"flyout",silent:!1,debug:!1,verbose:!1,performance:!0,context:"body",exclusive:!1,closable:!0,autofocus:!0,restoreFocus:!0,dimPage:!0,scrollLock:!1,returnScroll:!1,delaySetup:!1,autoShow:!1,keyboardShortcuts:!0,title:"",content:"",class:"",classTitle:"",classContent:"",classActions:"",closeIcon:!1,actions:!1,preserveHTML:!0,fields:{class:"class",text:"text",icon:"icon",click:"click"},onChange:function(){},onShow:function(){},onHide:function(){return!0},onHidden:!1,onVisible:function(){},onApprove:function(){},onDeny:function(){},keys:{space:32,enter:13,escape:27,tab:9},className:{flyout:"ui flyout",close:"close icon",header:"ui header",content:"content",actions:"actions",active:"active",animating:"animating",blurring:"blurring",closing:"closing",dimmed:"dimmed",ios:"ios",locked:"locked",pushable:"pushable",pushed:"pushed",right:"right",top:"top",left:"left",bottom:"bottom",visible:"visible",overlay:"overlay",fullscreen:"fullscreen",template:"ui flyout",button:"ui button",ok:"positive",cancel:"negative",prompt:"ui fluid input"},selector:{bodyFixed:"> .ui.fixed.menu, > .ui.right.toast-container, > .ui.right.sidebar, > .ui.right.flyout, > .ui.fixed.nag, > .ui.fixed.nag > .close",fixed:".fixed",omitted:"script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed",pusher:".pusher",flyout:".ui.flyout",header:".ui.header",content:".content",actions:".actions",close:".close",approve:".actions .positive, .actions .approve, .actions .ok",deny:".actions .negative, .actions .deny, .actions .cancel"},regExp:{ios:/(iPad|iPhone|iPod)/g,mobileChrome:/(CriOS)/g,mobile:/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g},error:{method:"The method you called is not defined.",pusher:"Had to add pusher element. For optimal performance make sure body content is inside a pusher element",movedFlyout:"Had to move flyout. For optimal performance make sure flyout and pusher are direct children of your body tag",notFound:"There were no elements that matched the specified selector"},text:{ok:"Ok",cancel:"Cancel",close:"Close"}},Q.fn.flyout.settings.templates={getArguments:function(e){e=[].slice.call(e);return Q.isPlainObject(e[0])?Q.extend({handler:function(){},content:"",title:""},e[0]):(X(e[e.length-1])||e.push(function(){}),{handler:e.pop(),content:e.pop()||"",title:e.pop()||""})},alert:function(){var e=this.get.settings(),t=e.templates.getArguments(arguments);return{title:t.title,content:t.content,actions:[{text:e.text.ok,class:e.className.ok,click:t.handler}]}},confirm:function(){var e=this.get.settings(),t=e.templates.getArguments(arguments);return{title:t.title,content:t.content,actions:[{text:e.text.ok,class:e.className.ok,click:function(){t.handler(!0)}},{text:e.text.cancel,class:e.className.cancel,click:function(){t.handler(!1)}}]}},prompt:function(){var t=this,e=this.get.settings(),n=e.templates.getArguments(arguments);return 0===Q(Q.parseHTML(n.content)).filter(".ui.input").length&&(n.content+='<p><div class="'+e.className.prompt+'"><input placeholder="'+this.helpers.deQuote(n.placeholder||"")+'" type="text" value="'+this.helpers.deQuote(n.defaultValue||"")+'"></div></p>'),{title:n.title,content:n.content,actions:[{text:e.text.ok,class:e.className.ok,click:function(){var e=t.get.settings(),e=t.get.element().find(e.selector.prompt)[0];n.handler(Q(e).val())}},{text:e.text.cancel,class:e.className.cancel,click:function(){n.handler(null)}}]}}}}(jQuery,window,document);
11
+ !function(W,U,X){"use strict";function _(e){return"function"==typeof e&&"number"!=typeof e.nodeType}U=void 0!==U&&U.Math===Math?U:globalThis,W.fn.flyout=function(O){var D,e=W(this),N=W(U),L=W(X),B=W("html"),z=W("head"),I=W("body"),j=Date.now(),R=[],q=O,K="string"==typeof q,V=[].slice.call(arguments,1),Q=function(e,t){var n;return 0<=[U,X].indexOf(e)?n=I:0===(n=W(t.document).find(e)).length&&(n=t.frameElement?Q(e,t.parent):I),n};return e.each(function(){var n,e,o,s,t,i,r,a=W.isPlainObject(O)?W.extend(!0,{},W.fn.flyout.settings,O):W.extend({},W.fn.flyout.settings),c=a.selector,l=a.className,u=a.namespace,d=a.fields,f=a.regExp,h=a.error,g="."+u,p="module-"+u,v=W(this),b=Q(a.context,U),m=v.find(c.close),y=v.children(c.flyout),k=b.children(c.pusher),x=v.hasClass("flyout"),S=this,A=x?v.data(p):void 0,C=!1,w=b[0]===I[0],T="",F="",E=!1,H=!1,P=!1,M={initialize:function(){var s;M.debug("Initializing flyout",O),M.create.id(),x||(M.create.flyout(),_(a.onHidden)||(a.onHidden=function(){M.destroy(),v.remove()}),a.autoShow||(a.autoShow=!0)),v.addClass(a.class),""!==a.title&&v.find(c.header).html(M.helpers.escape(a.title,a.preserveHTML)).addClass(a.classTitle),""!==a.content&&v.find(c.content).html(M.helpers.escape(a.content,a.preserveHTML)).addClass(a.classContent),M.has.configActions()&&(0===(s=v.find(c.actions).addClass(a.classActions)).length?s=W("<div/>",{class:l.actions+" "+(a.classActions||"")}).appendTo(v):s.empty(),a.actions.forEach(function(e){var t=e[d.icon]?"<i "+(e[d.text]?'aria-hidden="true"':"")+' class="'+M.helpers.deQuote(e[d.icon])+' icon"></i>':"",n=M.helpers.escape(e[d.text]||"",a.preserveHTML),i=M.helpers.deQuote(e[d.class]||""),o=e[d.click]&&_(e[d.click])?e[d.click]:function(){};s.append(W("<button/>",{html:t+n,"aria-label":(e[d.text]||e[d.icon]||"").replace(/<[^>]+(>|$)/g,""),class:l.button+" "+i,on:{click:function(){!1!==o.call(S,v)&&M.hide()}}}))})),a.delaySetup?requestAnimationFrame(M.setup.layout):M.setup.layout(),requestAnimationFrame(function(){M.setup.cache()}),"left"!==M.get.direction()&&"right"!==M.get.direction()||(M.setup.heights(),M.bind.resize()),M.bind.events(),M.observeChanges(),M.instantiate(),a.autoShow&&M.show()},instantiate:function(){M.verbose("Storing instance of module",M),A=M,v.data(p,A)},create:{flyout:function(){var e;M.verbose("Programmaticaly create flyout",b),v=W("<div/>",{class:l.flyout,role:"dialog","aria-modal":a.dimPage}),a.closeIcon&&(m=W("<i/>",{class:l.close,role:"button",tabindex:0,"aria-label":a.text.close}),v.append(m)),""!==a.title&&(e="_"+M.get.id()+"title",v.attr("aria-labelledby",e),W("<div/>",{class:l.header,id:e}).appendTo(v)),""!==a.content&&(e="_"+M.get.id()+"desc",v.attr("aria-describedby",e),W("<div/>",{class:l.content,id:e}).appendTo(v)),M.has.configActions()&&W("<div/>",{class:l.actions}).appendTo(v),v.prependTo(b),S=v[0]},id:function(){t=(Math.random().toString(16)+"000000000").slice(2,10),s="."+t,M.verbose("Creating unique id for element",t)}},destroy:function(){i&&i.disconnect(),M.verbose("Destroying previous module for",v),v.off(g).removeData(p),M.is.ios()&&M.remove.ios(),m.off(s),n&&n.off(s),b.off(s),N.off(s),L.off(s)},event:{keyboard:function(e){e.which===a.keys.escape&&(a.closable?(M.debug("Escape key pressed hiding flyout"),M.hide()):M.debug("Escape key pressed, but closable is set to false"),e.preventDefault())},resize:function(){M.setup.heights()},focus:function(){H=!0},click:function(e){H&&X.activeElement!==e.target&&M.is.visible()&&a.autofocus&&a.dimPage&&0===W(X.activeElement).closest(c.flyout).length&&requestAnimationFrame(M.set.autofocus),H=!1},clickaway:function(e){var t;a.closable&&(t=0<k.find(e.target).length||k.is(e.target),e=b.is(e.target),t&&(M.verbose("User clicked on dimmed page"),M.hide()),e&&(M.verbose("User clicked on dimmable context (scaled out page)"),M.hide()))},close:function(e){M.hide()},closeKeyUp:function(e){e=e.which;e!==a.keys.enter&&e!==a.keys.space||M.hide()},inputKeyDown:{first:function(e){e.which===a.keys.tab&&e.shiftKey&&(n.last().trigger("focus"),e.preventDefault())},last:function(e){e.which!==a.keys.tab||e.shiftKey||(n.first().trigger("focus"),e.preventDefault())}},approve:function(e){C||!1===a.onApprove.call(M.element,W(this))?M.verbose("Approve callback returned false cancelling close"):(C=!0,M.hide(function(){C=!1}))},deny:function(e){C||!1===a.onDeny.call(M.element,W(this))?M.verbose("Deny callback returned false cancelling close"):(C=!0,M.hide(function(){C=!1}))},touch:function(e){},containScroll:function(e){S.scrollTop<=0&&(S.scrollTop=1),S.scrollTop+S.offsetHeight>=S.scrollHeight&&(S.scrollTop=S.scrollHeight-S.offsetHeight-1)},scroll:function(e){0===W(e.target).closest(c.flyout).length&&e.preventDefault()}},bind:{resize:function(){M.verbose("Adding resize event to window",N),N.on("resize"+s,M.event.resize)},events:function(){M.verbose("Attaching events"),v.on("click"+g,c.close,M.event.close).on("click"+g,c.approve,M.event.approve).on("click"+g,c.deny,M.event.deny),m.on("keyup"+s,M.event.closeKeyUp),N.on("focus"+s,M.event.focus),b.on("click"+s,M.event.click)},clickaway:function(){M.verbose("Adding clickaway events to context",b),b.on("click"+s,M.event.clickaway).on("touchend"+s,M.event.clickaway)},scrollLock:function(){a.scrollLock&&(M.debug("Disabling page scroll"),(E=M.has.scrollbar())&&(M.save.bodyMargin(),M.set.bodyMargin()),b.addClass(l.locked)),M.verbose("Adding events to contain flyout scroll"),L.on("touchmove"+s,M.event.touch),v.on("scroll"+g,M.event.containScroll)}},unbind:{clickaway:function(){M.verbose("Removing clickaway events from context",b),b.off(s)},scrollLock:function(){M.verbose("Removing scroll lock from page"),E&&M.restore.bodyMargin(),b.removeClass(l.locked),L.off(s),v.off("scroll"+g)}},add:{inlineCSS:function(){var e=M.cache.width||v.outerWidth(),t=M.cache.height||v.outerHeight(),n=M.is.rtl(),i=M.get.direction(),t={left:e,right:-e,top:t,bottom:-t};n&&(M.verbose("RTL detected, flipping widths"),t.left=-e,t.right=e),n="<style>","left"===i||"right"===i?(M.debug("Adding CSS rules for animation distance",e),n+=" .ui.visible."+i+".flyout ~ .fixed, .ui.visible."+i+".flyout ~ .pusher { transform: translate3d("+t[i]+"px, 0, 0); }"):"top"!==i&&"bottom"!==i||(n+=" .ui.visible."+i+".flyout ~ .fixed, .ui.visible."+i+".flyout ~ .pusher { transform: translate3d(0, "+t[i]+"px, 0); }"),M.is.ie()&&("left"===i||"right"===i?(M.debug("Adding CSS rules for animation distance",e),n+=" body.pushable > .ui.visible."+i+".flyout ~ .pusher::after { transform: translate3d("+t[i]+"px, 0, 0); }"):"top"!==i&&"bottom"!==i||(n+=" body.pushable > .ui.visible."+i+".flyout ~ .pusher::after { transform: translate3d(0, "+t[i]+"px, 0); }"),n+=" body.pushable > .ui.visible.left.flyout ~ .ui.visible.right.flyout ~ .pusher::after, body.pushable > .ui.visible.right.flyout ~ .ui.visible.left.flyout ~ .pusher::after { transform: translate3d(0, 0, 0); }"),o=W(n+="</style>").appendTo(z),M.debug("Adding sizing css to head",o)},keyboardShortcuts:function(){M.verbose("Adding keyboard shortcuts"),L.on("keydown"+g,M.event.keyboard)}},observeChanges:function(){"MutationObserver"in U&&((i=new MutationObserver(function(e){function o(e){for(var t=[],n=0,i=e.length;n<i;n++)Array.prototype.push.apply(t,o(e[n].childNodes)),t.push(e[n]);return t}var n=!1,i=!0;e.every(function(e){var t;return"attributes"===e.type?P&&("disabled"===e.attributeName||0<W(e.target).find(":input").addBack(":input").filter(":visible").length)&&(n=!0):(t=W(o(e.addedNodes)).filter("a[href], [tabindex], :input:enabled").filter(":visible"),e=W(o(e.removedNodes)).filter("a[href], [tabindex], :input"),(0<t.length||0<e.length)&&(i=!(n=!0))),!n}),n&&M.refreshInputs(i)})).observe(S,{attributeFilter:["class","disabled"],attributes:!0,childList:!0,subtree:!0}),M.debug("Setting up mutation observer",i))},refresh:function(){M.verbose("Refreshing selector cache"),b=Q(a.context,U),M.refreshFlyouts(),k=b.children(c.pusher),M.clear.cache()},refreshFlyouts:function(){M.verbose("Refreshing other flyouts"),y=b.children(c.flyout)},refreshInputs:function(e){n&&n.off("keydown"+s),a.dimPage&&(0===(n=v.find("a[href], [tabindex], :input:enabled").filter(":visible").filter(function(){return 0===W(this).closest(".disabled").length})).filter(":input").length?(n=v.add(n),v.attr("tabindex",-1)):v.removeAttr("tabindex"),n.first().on("keydown"+s,M.event.inputKeyDown.first),n.last().on("keydown"+s,M.event.inputKeyDown.last),!e&&a.autofocus&&0===n.filter(":focus").length&&M.set.autofocus())},setup:{cache:function(){M.cache={width:v.outerWidth(),height:v.outerHeight()}},layout:function(){0===b.children(c.pusher).length&&(M.debug("Adding wrapper element for flyout"),M.error(h.pusher),k=W('<div class="pusher" />'),b.children().not(c.omitted).not(y).wrapAll(k),M.refresh()),0!==v.nextAll(c.pusher).length&&v.nextAll(c.pusher)[0]===k[0]||(M.debug("Moved flyout to correct parent element"),M.error(h.movedFlyout,S),v.detach().prependTo(b),M.refresh()),M.is.mobile()&&v.addClass(l.fullscreen),M.clear.cache(),M.set.pushable(),M.set.direction()},heights:function(){M.debug("Setting up heights",v);var e=v.children(c.header),t=v.children(c.content),n=v.children(c.actions),e=(b.height()||0)-(e.outerHeight()||0)-(n.outerHeight()||0);0<e&&t.css("min-height",String(e)+"px")}},attachEvents:function(e,t){var n=W(e);t=_(M[t])?M[t]:M.toggle,0<n.length?(M.debug("Attaching flyout events to element",e,t),n.on("click"+g,t)):M.error(h.notFound,e)},show:function(e){e=_(e)?e:function(){},M.is.hidden()?!1===a.onShow.call(S)?M.verbose("Show callback returned false cancelling show"):(M.refresh(),M.othersActive()&&(M.debug("Other flyouts currently visible"),a.exclusive?M.hideOthers():C=!1),M.set.dimmerStyles(),M.set.observeAttributes(!1),M.pushPage(function(){e.call(S),a.onVisible.call(S),a.keyboardShortcuts&&M.add.keyboardShortcuts(),M.save.focus(),M.refreshInputs(),requestAnimationFrame(M.set.observeAttributes)}),a.onChange.call(S)):M.debug("Flyout is already visible")},hide:function(e){if(e=_(e)?e:function(){},!1===a.onHide.call(S,W(this)))return M.verbose("Hide callback returned false cancelling hide"),C=!1;(M.is.visible()||M.is.animating())&&(M.debug("Hiding flyout",e),M.refreshFlyouts(),M.set.observeAttributes(!1),M.pullPage(function(){e.call(S),_(a.onHidden)&&a.onHidden.call(S),M.restore.focus()}),a.onChange.call(S))},othersAnimating:function(){return 0<y.not(v).filter("."+l.animating).length},othersVisible:function(){return 0<y.not(v).filter("."+l.visible).length},othersActive:function(){return M.othersVisible()||M.othersAnimating()},hideOthers:function(e){var t=y.not(v).filter("."+l.visible),n=t.length,i=0;e=e||function(){},t.flyout("hide",function(){++i===n&&e()})},toggle:function(){M.verbose("Determining toggled direction"),M.is.hidden()?M.show():M.hide()},pushPage:function(t){var e,n,i;t=_(t)?t:function(){},M.set.overlay(),a.returnScroll&&(r=(w?N:b).scrollTop()),M.bind.scrollLock(),e=function(){M.bind.clickaway(),M.add.inlineCSS(),M.set.animating(),M.set.visible()},n=function(){M.set.dimmed()},i=function(e){e.target===v[0]&&(v.off("transitionend"+s,i),M.remove.animating(),t.call(S))},v.off("transitionend"+s),v.on("transitionend"+s,i),requestAnimationFrame(e),a.dimPage&&!M.othersVisible()&&requestAnimationFrame(n)},pullPage:function(t){var e,n;t=_(t)?t:function(){},M.verbose("Removing context push state",M.get.direction()),M.unbind.clickaway(),M.othersActive()||(M.unbind.scrollLock(),a.keyboardShortcuts&&M.remove.keyboardShortcuts()),e=function(){M.set.overlay(),M.set.animating(),a.dimPage&&!M.othersVisible()&&M.set.closing(),M.remove.visible()},n=function(e){e.target===v[0]&&(v.off("transitionend"+s,n),M.remove.animating(),M.remove.closing(),M.remove.overlay(),M.remove.inlineCSS(),a.returnScroll&&M.scrollBack(),a.dimPage&&!M.othersVisible()&&k.removeClass(l.dimmed),t.call(S))},v.off("transitionend"+s),v.on("transitionend"+s,n),requestAnimationFrame(e)},scrollToTop:function(){M.verbose("Scrolling to top of page to avoid animation issues"),v.scrollTop(0),(w?N:b)[0].scrollTo(0,0)},scrollBack:function(){M.verbose("Scrolling back to original page position"),(w?N:b)[0].scrollTo(0,r)},clear:{cache:function(){M.verbose("Clearing cached dimensions"),M.cache={}}},set:{observeAttributes:function(e){P=!1!==e},autofocus:function(){var e=n.filter("[autofocus]"),t=n.filter(":input");(0<e.length?e:0<t.length?t:v).first().trigger("focus")},dimmerStyles:function(){a.blurring?k.addClass(l.blurring):k.removeClass(l.blurring)},bodyMargin:function(){var n=M.can.leftBodyScrollbar()?"left":"right";b.css((w?"margin-":"padding-")+n,F+"px"),b.find(c.bodyFixed.replace("right",n)).each(function(){var e=W(this),t="fixed"===e.css("position")?"padding-"+n:n;e.css(t,"calc("+e.css(t)+" + "+F+"px)")})},ios:function(){B.addClass(l.ios)},pushed:function(){b.addClass(l.pushed)},pushable:function(){b.addClass(l.pushable)},dimmed:function(){k.addClass(l.dimmed)},active:function(){v.addClass(l.active)},animating:function(){v.addClass(l.animating)},closing:function(){k.addClass(l.closing)},direction:function(e){e=e||M.get.direction(),v.addClass(l[e])},visible:function(){v.addClass(l.visible)},overlay:function(){v.addClass(l.overlay)}},remove:{inlineCSS:function(){M.debug("Removing inline css styles",o),o&&0<o.length&&o.remove()},keyboardShortcuts:function(){M.verbose("Removing keyboard shortcuts"),L.off("keydown"+g)},ios:function(){B.removeClass(l.ios)},pushed:function(){b.removeClass(l.pushed)},pushable:function(){b.removeClass(l.pushable)},active:function(){v.removeClass(l.active)},animating:function(){v.removeClass(l.animating)},closing:function(){k.removeClass(l.closing)},direction:function(e){e=e||M.get.direction(),v.removeClass(l[e])},visible:function(){v.removeClass(l.visible)},overlay:function(){v.removeClass(l.overlay)}},get:{direction:function(){return v.hasClass(l.top)?l.top:v.hasClass(l.right)?l.right:v.hasClass(l.bottom)?l.bottom:l.left},id:function(){return t},element:function(){return v},settings:function(){return a}},can:{leftBodyScrollbar:function(){return void 0===M.cache.leftBodyScrollbar&&(M.cache.leftBodyScrollbar=M.is.rtl()&&(M.is.iframe&&!M.is.firefox()||M.is.safari()||M.is.edge()||M.is.ie())),M.cache.leftBodyScrollbar}},save:{focus:function(){0<W(X.activeElement).closest(v).length||(e=W(X.activeElement).trigger("blur"))},bodyMargin:function(){T=b.css((w?"margin-":"padding-")+(M.can.leftBodyScrollbar()?"left":"right"));var e=parseInt(T.replace(/[^\d.]/g,""),10),t=w?U.innerWidth-X.documentElement.clientWidth:b[0].offsetWidth-b[0].clientWidth;F=e+t}},is:{safari:function(){return void 0===M.cache.isSafari&&(M.cache.isSafari=/constructor/i.test(U.HTMLElement)||!!U.ApplePaySession),M.cache.isSafari},edge:function(){return void 0===M.cache.isEdge&&(M.cache.isEdge=!!U.setImmediate&&!M.is.ie()),M.cache.isEdge},firefox:function(){return void 0===M.cache.isFirefox&&(M.cache.isFirefox=!!U.InstallTrigger),M.cache.isFirefox},iframe:function(){return!(self===top)},ie:function(){var e,t;return void 0===M.cache.isIE&&(e=!U.ActiveXObject&&"ActiveXObject"in U,t="ActiveXObject"in U,M.cache.isIE=e||t),M.cache.isIE},ios:function(){var e=navigator.userAgent,t=e.match(f.ios),n=e.match(f.mobileChrome);return!(!t||n)&&(M.verbose("Browser was found to be iOS",e),!0)},mobile:function(){var e=navigator.userAgent;return e.match(f.mobile)?(M.verbose("Browser was found to be mobile",e),!0):(M.verbose("Browser is not mobile, using regular transition",e),!1)},hidden:function(){return!M.is.visible()},visible:function(){return v.hasClass(l.visible)},animating:function(){return b.hasClass(l.animating)},rtl:function(){return void 0===M.cache.isRTL&&(M.cache.isRTL="rtl"===v.attr("dir")||"rtl"===v.css("direction")||"rtl"===I.attr("dir")||"rtl"===I.css("direction")||"rtl"===b.attr("dir")||"rtl"===b.css("direction")),M.cache.isRTL}},has:{configActions:function(){return Array.isArray(a.actions)&&0<a.actions.length},scrollbar:function(){return w||"hidden"!==b.css("overflow-y")}},restore:{focus:function(){e&&0<e.length&&a.restoreFocus&&e.trigger("focus")},bodyMargin:function(){var n=M.can.leftBodyScrollbar()?"left":"right";b.css((w?"margin-":"padding-")+n,T),b.find(c.bodyFixed.replace("right",n)).each(function(){var e=W(this),t="fixed"===e.css("position")?"padding-"+n:n;e.css(t,"")})}},helpers:{deQuote:function(e){return String(e).replace(/"/g,"")},escape:function(e,t){if(t)return e;var n={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};return/["&'<>`]/.test(e)?(e=e.replace(/&(?![\d#a-z]{1,12};)/gi,"&amp;")).replace(/["'<>`]/g,function(e){return n[e]}):e}},setting:function(e,t){if(M.debug("Changing setting",e,t),W.isPlainObject(e))W.extend(!0,a,e);else{if(void 0===t)return a[e];W.isPlainObject(a[e])?W.extend(!0,a[e],t):a[e]=t}},internal:function(e,t){if(W.isPlainObject(e))W.extend(!0,M,e);else{if(void 0===t)return M[e];M[e]=t}},debug:function(){!a.silent&&a.debug&&(a.performance?M.performance.log(arguments):(M.debug=Function.prototype.bind.call(console.info,console,a.name+":"),M.debug.apply(console,arguments)))},verbose:function(){!a.silent&&a.verbose&&a.debug&&(a.performance?M.performance.log(arguments):(M.verbose=Function.prototype.bind.call(console.info,console,a.name+":"),M.verbose.apply(console,arguments)))},error:function(){a.silent||(M.error=Function.prototype.bind.call(console.error,console,a.name+":"),M.error.apply(console,arguments))},performance:{log:function(e){var t,n;a.performance&&(n=(t=Date.now())-(j||t),j=t,R.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:S,"Execution Time":n})),clearTimeout(M.performance.timer),M.performance.timer=setTimeout(M.performance.display,500)},display:function(){var e=a.name+":",n=0;j=!1,clearTimeout(M.performance.timer),W.each(R,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",0<R.length&&(console.groupCollapsed(e),console.table?console.table(R):W.each(R,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),R=[]}},invoke:function(i,e,t){var o,s,n,r=A;return e=e||V,t=S||t,"string"==typeof i&&void 0!==r&&(i=i.split(/[ .]/),o=i.length-1,W.each(i,function(e,t){var n=e!==o?t+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(W.isPlainObject(r[n])&&e!==o)r=r[n];else{if(void 0!==r[n])return s=r[n],!1;{if(!W.isPlainObject(r[t])||e===o)return void 0!==r[t]?s=r[t]:M.error(h.method,i),!1;r=r[t]}}})),_(s)?n=s.apply(t,e):void 0!==s&&(n=s),Array.isArray(D)?D.push(n):void 0!==D?D=[D,n]:void 0!==n&&(D=n),s}};K?(void 0===A&&(_(a.templates[q])&&(a.autoShow=!0,a.className.flyout=a.className.template,a=W.extend(!0,{},a,a.templates[q].apply(M,V)),l=a.className,a.namespace,d=a.fields,h=a.error),M.initialize()),_(a.templates[q])||M.invoke(q)):(void 0!==A&&A.invoke("destroy"),M.initialize(),D=v)}),void 0!==D?D:this},W.flyout=W.fn.flyout,W.fn.flyout.settings={name:"Flyout",namespace:"flyout",silent:!1,debug:!1,verbose:!1,performance:!0,context:"body",exclusive:!1,closable:!0,autofocus:!0,restoreFocus:!0,dimPage:!0,scrollLock:!1,returnScroll:!1,delaySetup:!1,autoShow:!1,keyboardShortcuts:!0,title:"",content:"",class:"",classTitle:"",classContent:"",classActions:"",closeIcon:!1,actions:!1,preserveHTML:!0,fields:{class:"class",text:"text",icon:"icon",click:"click"},onChange:function(){},onShow:function(){},onHide:function(){return!0},onHidden:!1,onVisible:function(){},onApprove:function(){},onDeny:function(){},keys:{space:32,enter:13,escape:27,tab:9},className:{flyout:"ui flyout",close:"close icon",header:"ui header",content:"content",actions:"actions",active:"active",animating:"animating",blurring:"blurring",closing:"closing",dimmed:"dimmed",ios:"ios",locked:"locked",pushable:"pushable",pushed:"pushed",right:"right",top:"top",left:"left",bottom:"bottom",visible:"visible",overlay:"overlay",fullscreen:"fullscreen",template:"ui flyout",button:"ui button",ok:"positive",cancel:"negative",prompt:"ui fluid input"},selector:{bodyFixed:"> .ui.fixed.menu, > .ui.right.toast-container, > .ui.right.sidebar, > .ui.right.flyout, > .ui.fixed.nag, > .ui.fixed.nag > .close",fixed:".fixed",omitted:"script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed",pusher:".pusher",flyout:".ui.flyout",header:".ui.header",content:".content",actions:".actions",close:".close",approve:".actions .positive, .actions .approve, .actions .ok",deny:".actions .negative, .actions .deny, .actions .cancel"},regExp:{ios:/(iPad|iPhone|iPod)/g,mobileChrome:/(CriOS)/g,mobile:/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g},error:{method:"The method you called is not defined.",pusher:"Had to add pusher element. For optimal performance make sure body content is inside a pusher element",movedFlyout:"Had to move flyout. For optimal performance make sure flyout and pusher are direct children of your body tag",notFound:"There were no elements that matched the specified selector"},text:{ok:"Ok",cancel:"Cancel",close:"Close"}},W.fn.flyout.settings.templates={getArguments:function(e){e=[].slice.call(e);return W.isPlainObject(e[0])?W.extend({handler:function(){},content:"",title:""},e[0]):(_(e[e.length-1])||e.push(function(){}),{handler:e.pop(),content:e.pop()||"",title:e.pop()||""})},alert:function(){var e=this.get.settings(),t=e.templates.getArguments(arguments);return{title:t.title,content:t.content,actions:[{text:e.text.ok,class:e.className.ok,click:t.handler}]}},confirm:function(){var e=this.get.settings(),t=e.templates.getArguments(arguments);return{title:t.title,content:t.content,actions:[{text:e.text.ok,class:e.className.ok,click:function(){t.handler(!0)}},{text:e.text.cancel,class:e.className.cancel,click:function(){t.handler(!1)}}]}},prompt:function(){var t=this,e=this.get.settings(),n=e.templates.getArguments(arguments);return 0===W(W.parseHTML(n.content)).filter(".ui.input").length&&(n.content+='<p><div class="'+e.className.prompt+'"><input placeholder="'+this.helpers.deQuote(n.placeholder||"")+'" type="text" value="'+this.helpers.deQuote(n.defaultValue||"")+'"></div></p>'),{title:n.title,content:n.content,actions:[{text:e.text.ok,class:e.className.ok,click:function(){var e=t.get.settings(),e=t.get.element().find(e.selector.prompt)[0];n.handler(W(e).val())}},{text:e.text.cancel,class:e.className.cancel,click:function(){n.handler(null)}}]}}}}(jQuery,window,document);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Form
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Form
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Form Validation
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Form Validation
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -22,6 +22,7 @@
22
22
  $.fn.form = function (parameters) {
23
23
  var
24
24
  $allModules = $(this),
25
+ $window = $(window),
25
26
 
26
27
  time = Date.now(),
27
28
  performance = [],
@@ -60,6 +61,8 @@
60
61
  namespace,
61
62
  moduleNamespace,
62
63
  eventNamespace,
64
+ attachEventsSelector,
65
+ attachEventsAction,
63
66
 
64
67
  submitting = false,
65
68
  dirty = false,
@@ -142,6 +145,9 @@
142
145
  module[action]();
143
146
  event.preventDefault();
144
147
  });
148
+
149
+ attachEventsSelector = selector;
150
+ attachEventsAction = action;
145
151
  },
146
152
 
147
153
  bindEvents: function () {
@@ -167,7 +173,7 @@
167
173
 
168
174
  // Dirty events
169
175
  if (settings.preventLeaving) {
170
- $(window).on('beforeunload' + eventNamespace, module.event.beforeUnload);
176
+ $window.on('beforeunload' + eventNamespace, module.event.beforeUnload);
171
177
  }
172
178
 
173
179
  $field.on('change' + eventNamespace
@@ -185,6 +191,9 @@
185
191
  $module.on('clean' + eventNamespace, function (e) {
186
192
  settings.onClean.call();
187
193
  });
194
+ if (attachEventsSelector) {
195
+ module.attachEvents(attachEventsSelector, attachEventsAction);
196
+ }
188
197
  },
189
198
 
190
199
  clear: function () {
@@ -233,6 +242,7 @@
233
242
  isCheckbox = $field.is(selector.checkbox),
234
243
  isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown'),
235
244
  isCalendar = $calendar.length > 0 && module.can.useElement('calendar'),
245
+ isFile = $field.is(selector.file),
236
246
  isErrored = $fieldGroup.hasClass(className.error)
237
247
  ;
238
248
  if (defaultValue === undefined) {
@@ -253,7 +263,7 @@
253
263
  $calendar.calendar('set date', defaultValue);
254
264
  } else {
255
265
  module.verbose('Resetting field value', $field, defaultValue);
256
- $field.val(defaultValue);
266
+ $field.val(isFile ? '' : defaultValue);
257
267
  }
258
268
  });
259
269
  module.remove.states();
@@ -389,6 +399,13 @@
389
399
  $module.off(eventNamespace);
390
400
  $field.off(eventNamespace);
391
401
  $submit.off(eventNamespace);
402
+ if (settings.preventLeaving) {
403
+ $window.off(eventNamespace);
404
+ }
405
+ if (attachEventsSelector) {
406
+ $(attachEventsSelector).off(eventNamespace);
407
+ attachEventsSelector = undefined;
408
+ }
392
409
  },
393
410
 
394
411
  event: {
@@ -490,18 +507,7 @@
490
507
  return rule.type;
491
508
  },
492
509
  changeEvent: function (type, $input) {
493
- if (type === 'checkbox' || type === 'radio' || type === 'hidden' || $input.is('select')) {
494
- return 'change';
495
- }
496
-
497
- return module.get.inputEvent();
498
- },
499
- inputEvent: function () {
500
- return document.createElement('input').oninput !== undefined
501
- ? 'input'
502
- : (document.createElement('input').onpropertychange !== undefined
503
- ? 'propertychange'
504
- : 'keyup');
510
+ return ['file', 'checkbox', 'radio', 'hidden'].indexOf(type) >= 0 || $input.is('select') ? 'change' : 'input';
505
511
  },
506
512
  fieldsFromShorthand: function (fields) {
507
513
  var
@@ -1106,6 +1112,7 @@
1106
1112
  $field = module.get.field(key),
1107
1113
  $element = $field.parent(),
1108
1114
  $calendar = $field.closest(selector.uiCalendar),
1115
+ isFile = $field.is(selector.file),
1109
1116
  isMultiple = Array.isArray(value),
1110
1117
  isCheckbox = $element.is(selector.uiCheckbox) && module.can.useElement('checkbox'),
1111
1118
  isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown'),
@@ -1148,7 +1155,7 @@
1148
1155
  $calendar.calendar('set date', value);
1149
1156
  } else {
1150
1157
  module.verbose('Setting field value', value, $field);
1151
- $field.val(value);
1158
+ $field.val(isFile ? '' : value);
1152
1159
  }
1153
1160
  }
1154
1161
  });
@@ -1651,9 +1658,10 @@
1651
1658
  selector: {
1652
1659
  checkbox: 'input[type="checkbox"], input[type="radio"]',
1653
1660
  clear: '.clear',
1654
- field: 'input:not(.search):not([type="file"]):not([type="reset"]):not([type="button"]):not([type="submit"]), textarea, select',
1661
+ field: 'input:not(.search):not([type="reset"]):not([type="button"]):not([type="submit"]), textarea, select',
1662
+ file: 'input[type="file"]',
1655
1663
  group: '.field',
1656
- input: 'input:not([type="file"])',
1664
+ input: 'input',
1657
1665
  message: '.error.message',
1658
1666
  prompt: '.prompt.label',
1659
1667
  radio: 'input[type="radio"]',
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Form
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Form
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- * # Fomantic UI - 2.9.3-beta.2+824a375
2
+ * # Fomantic UI - 2.9.3-beta.3+880333c
3
3
  * https://github.com/fomantic/Fomantic-UI
4
4
  * https://fomantic-ui.com/
5
5
  *
@@ -8,4 +8,4 @@
8
8
  * https://opensource.org/licenses/MIT
9
9
  *
10
10
  */
11
- !function(T,j,O){"use strict";function L(e){return"function"==typeof e&&"number"!=typeof e.nodeType}j=void 0!==j&&j.Math===Math?j:globalThis,T.fn.form=function(C){var w,V=T(this),A=Date.now(),D=[],R=C,S="string"==typeof R,F=[].slice.call(arguments,1);return V.each(function(){var i,d,e,t,f,s,m,p,g,n,u,r,a,l,c,o=T(this),h=this,v=[],b=!1,y=!1,x=!1,k=["clean","clean"],E={initialize:function(){E.get.settings(),S?(void 0===c&&E.instantiate(),E.invoke(R)):(void 0!==c&&(c.invoke("destroy"),E.refresh()),E.verbose("Initializing form validation",o,f),E.bindEvents(),E.set.defaults(),f.autoCheckRequired&&E.set.autoCheck(),E.instantiate())},instantiate:function(){E.verbose("Storing instance of module",E),c=E,o.data(a,E)},destroy:function(){E.verbose("Destroying previous module",c),E.removeEvents(),o.removeData(a)},refresh:function(){E.verbose("Refreshing selector cache"),i=o.find(p.field),d=o.find(p.group),e=o.find(p.message),o.find(p.prompt),t=o.find(p.submit),o.find(p.clear),o.find(p.reset)},refreshEvents:function(){E.removeEvents(),E.bindEvents()},submit:function(){E.verbose("Submitting form",o),y=!0,o.trigger("submit")},attachEvents:function(e,t){t=t||"submit",T(e).on("click"+l,function(e){E[t](),e.preventDefault()})},bindEvents:function(){E.verbose("Attaching form events"),o.on("submit"+l,E.validate.form).on("blur"+l,p.field,E.event.field.blur).on("click"+l,p.submit,E.submit).on("click"+l,p.reset,E.reset).on("click"+l,p.clear,E.clear),f.keyboardShortcuts&&o.on("keydown"+l,p.field,E.event.field.keydown),i.each(function(e,t){var t=T(t),n=t.prop("type"),n=E.get.changeEvent(n,t);t.on(n+l,E.event.field.change)}),f.preventLeaving&&T(j).on("beforeunload"+l,E.event.beforeUnload),i.on("change"+l+" click"+l+" keyup"+l+" keydown"+l+" blur"+l,function(e){E.determine.isDirty()}),o.on("dirty"+l,function(e){f.onDirty.call()}),o.on("clean"+l,function(e){f.onClean.call()})},clear:function(){i.each(function(e,t){var t=T(t),n=t.parent(),r=t.closest(d),i=r.find(p.prompt),a=t.closest(p.uiCalendar),o=t.data(m.defaultValue)||"",l=t.is(p.checkbox),s=n.is(p.uiDropdown)&&E.can.useElement("dropdown"),u=0<a.length&&E.can.useElement("calendar");r.hasClass(g.error)&&(E.verbose("Resetting error on field",r),r.removeClass(g.error),i.remove()),s?(E.verbose("Resetting dropdown value",n,o),n.dropdown("clear",!0)):l?t.prop("checked",!1):u?a.calendar("clear"):(E.verbose("Resetting field value",t,o),t.val(""))}),E.remove.states()},reset:function(){i.each(function(e,t){var t=T(t),n=t.parent(),r=t.closest(d),i=t.closest(p.uiCalendar),a=r.find(p.prompt),o=t.data(m.defaultValue),l=t.is(p.checkbox),s=n.is(p.uiDropdown)&&E.can.useElement("dropdown"),u=0<i.length&&E.can.useElement("calendar"),c=r.hasClass(g.error);void 0!==o&&(c&&(E.verbose("Resetting error on field",r),r.removeClass(g.error),a.remove()),s?(E.verbose("Resetting dropdown value",n,o),n.dropdown("restore defaults",!0)):l?(E.verbose("Resetting checkbox value",t,o),t.prop("checked",o)):u?i.calendar("set date",o):(E.verbose("Resetting field value",t,o),t.val(o)))}),E.remove.states()},determine:{isValid:function(){var n=!0;return T.each(s,function(e,t){E.validate.field(t,e,!0)||(n=!1)}),n},isDirty:function(e){var r=!1;i.each(function(e,t){var t=T(t),n=0<t.filter(p.checkbox).length?E.is.checkboxDirty(t):E.is.fieldDirty(t);t.data(f.metadata.isDirty,n),r=r||n}),r?E.set.dirty():E.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(p.checkbox)?!e.is(":checked"):E.is.blank(e))},blank:function(e){return""===String(e.val()).trim()},valid:function(e,n){var r=!0;return e?(E.verbose("Checking if field is valid",e),E.validate.field(s[e],e,!!n)):(E.verbose("Checking if form is valid"),T.each(s,function(e,t){E.is.valid(e,n)||(r=!1)}),r)},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"===k[0]},justClean:function(){return"clean"===k[0]}},removeEvents:function(){o.off(l),i.off(l),t.off(l)},event:{field:{keydown:function(e){var t=T(this),n=e.which,r=t.is(p.input),i=t.is(p.checkbox),a=0<t.closest(p.uiDropdown).length,o=13;n===27&&(E.verbose("Escape key pressed blurring field"),t[0].blur()),e.ctrlKey||n!==o||!r||a||i||(b||(t.one("keyup"+l,E.event.field.keyup),E.submit(),E.debug("Enter pressed on input submitting form"),e.preventDefault()),b=!0)},keyup:function(){b=!1},blur:function(e){var t=T(this),n=t.closest(d),r=E.get.validation(t);r&&("blur"===f.on||n.hasClass(g.error)&&f.revalidate)&&(E.debug("Revalidating field",t,r),E.validate.field(r),f.inline||E.validate.form(!1,!0))},change:function(e){var t=T(this),n=t.closest(d),r=E.get.validation(t);r&&("change"===f.on||n.hasClass(g.error)&&f.revalidate)&&(clearTimeout(E.timer),E.timer=setTimeout(function(){E.debug("Revalidating field",t,r),E.validate.field(r),f.inline||E.validate.form(!1,!0)},f.delay))}},beforeUnload:function(e){if(E.is.dirty()&&!y)return(e=e||j.event)&&(e.returnValue=f.text.leavingMessage),f.text.leavingMessage}},get:{ancillaryValue:function(e){return!(!e.type||!e.value&&!E.is.bracketedRule(e))&&(void 0!==e.value?e.value:e.type.match(f.regExp.bracket)[1]+"")},ruleName:function(e){return E.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":E.get.inputEvent()},inputEvent:function(){return void 0!==O.createElement("input").oninput?"input":void 0!==O.createElement("input").onpropertychange?"propertychange":"keyup"},fieldsFromShorthand:function(e){var r={};return T.each(e,function(n,e){Array.isArray(e)||"object"!=typeof e?("string"==typeof e&&(e=[e]),r[n]={rules:[]},T.each(e,function(e,t){r[n].rules.push({type:t})})):r[n]=e}),r},prompt:function(e,t){var n,r=E.get.ruleName(e),i=E.get.ancillaryValue(e),a=E.get.field(t.identifier),o=a.val(),o=L(e.prompt)?e.prompt(o):e.prompt||f.prompt[r]||f.text.unspecifiedRule,l=-1!==o.search("{value}"),s=-1!==o.search("{name}");return i&&0<=["integer","decimal","number","size"].indexOf(r)&&0<=i.indexOf("..")&&(n=i.split("..",2),e.prompt||"size"===r||(o+=(""===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)),o=(o=o.replace(/{min}/g,n[0])).replace(/{max}/g,n[1])),i&&0<=["match","different"].indexOf(r)&&(o=o.replace(/{ruleValue}/g,E.get.fieldLabel(i,!0))),l&&(o=o.replace(/{value}/g,a.val())),o=(o=(o=s?o.replace(/{name}/g,E.get.fieldLabel(a)):o).replace(/{identifier}/g,t.identifier)).replace(/{ruleValue}/g,i),e.prompt||E.verbose("Using default validation prompt for type",o,r),o},settings:function(){T.isPlainObject(C)?(C.fields&&(C.fields=E.get.fieldsFromShorthand(C.fields)),f=T.extend(!0,{},T.fn.form.settings,C),s=T.extend(!0,{},T.fn.form.settings.defaults,f.fields),E.verbose("Extending settings",s,f)):(f=T.extend(!0,{},T.fn.form.settings),s=T.extend(!0,{},T.fn.form.settings.defaults),E.verbose("Using default form validation",s,f)),r=f.namespace,m=f.metadata,p=f.selector,g=f.className,n=f.regExp,u=f.error,a="module-"+r,l="."+r,((c=o.data(a))||E).refresh()},field:function(e,t){var n;return E.verbose("Finding field with identifier",e),e=E.escape.string(e),0<(n=i.filter("#"+e)).length||0<(n=i.filter('[name="'+e+'"]')).length||0<(n=i.filter('[name="'+e+'[]"]')).length||0<(n=i.filter("[data-"+m.validate+'="'+e+'"]')).length?n:(E.error(u.noField.replace("{identifier}",e)),t?T():T("<input/>"))},fields:function(e,n){var r=T();return T.each(e,function(e,t){r=r.add(E.get.field(t,n))}),r},fieldLabel:function(e,t){var n="string"==typeof e?E.get.field(e):e,r=n.closest(p.group).find("label").eq(0);return 1===r.length?r.text():n.prop("placeholder")||(t?e:f.text.unspecifiedField)},validation:function(r){var i,a;return!!s&&(T.each(s,function(e,n){a=n.identifier||e,T.each(E.get.field(a),function(e,t){if(t==r[0])return n.identifier=a,i=n,!1})}),i||!1)},value:function(e,t){var n=[];return n.push(e),e=E.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?E.get.fields(e,t):i,d={};return e.each(function(e,t){var t=T(t),n=t.closest(p.uiCalendar),r=t.prop("name"),i=t.val(),a=t.is(p.checkbox),o=t.is(p.radio),l=-1!==r.indexOf("[]"),s=0<n.length&&E.can.useElement("calendar"),t=!!a&&t.is(":checked");if(r)if(l)r=r.replace("[]",""),d[r]||(d[r]=[]),a?t?d[r].push(i||!0):d[r].push(!1):d[r].push(i);else if(o)void 0!==d[r]&&!1!==d[r]||(d[r]=!!t&&(i||!0));else if(a)d[r]=!!t&&(i||!0);else if(s){var u=n.calendar("get date");if(null!==u)switch(f.dateHandling){case"date":d[r]=u;break;case"input":d[r]=n.calendar("get input date");break;case"formatter":var c=n.calendar("setting","type");switch(c){case"date":d[r]=f.formatter.date(u);break;case"datetime":d[r]=f.formatter.datetime(u);break;case"time":d[r]=f.formatter.time(u);break;case"month":d[r]=f.formatter.month(u);break;case"year":d[r]=f.formatter.year(u);break;default:E.debug("Wrong calendar mode",n,c),d[r]=""}}else d[r]=""}else d[r]=i}),d},dirtyFields:function(){return i.filter(function(e,t){return T(t).data(m.isDirty)})}},has:{field:function(e){return E.verbose("Checking for existence of a field with identifier",e),0<E.get.field(e,!0).length}},can:{useElement:function(e){return void 0!==T.fn[e]||(E.error(u.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||E.error(f.error.noErrorMessage),!1)},add:{rule:function(e,t){E.add.field(e,t)},field:function(n,e){void 0!==s[n]&&void 0!==s[n].rules||(s[n]={rules:[]});var r={rules:[]};E.is.shorthandRules(e)?(e=Array.isArray(e)?e:[e],T.each(e,function(e,t){r.rules.push({type:t})})):r.rules=e.rules,T.each(r.rules,function(e,t){0===T.grep(s[n].rules,function(e){return e.type===t.type}).length&&s[n].rules.push(t)}),E.debug("Adding rules",r.rules,s),E.refreshEvents()},fields:function(e){s=T.extend(!0,{},s,E.get.fieldsFromShorthand(e)),E.refreshEvents()},prompt:function(e,t,n){var r,i,a;!1!==(t=E.checkErrors(t))&&(a=0<(i=(r=E.get.field(e).closest(d)).children(p.prompt)).length,E.verbose("Adding field error state",e),n||r.addClass(g.error),f.inline&&(a||(i=T("<div/>").addClass(g.label)).appendTo(r),i.html(f.templates.prompt(t)),a?E.verbose("Inline errors are disabled, no inline error added",e):f.transition&&E.can.useElement("transition")?(E.verbose("Displaying error with css transition",f.transition),i.transition(f.transition+" in",f.duration)):(E.verbose("Displaying error with fallback javascript animation"),i.fadeIn(f.duration))))},errors:function(t){var r,i;!1!==(t=E.checkErrors(t))&&(E.debug("Adding form error messages",t),E.set.error(),r=[],T.isPlainObject(t)?T.each(Object.keys(t),function(e,n){!1!==E.checkErrors(t[n],!0)&&(f.inline?E.add.prompt(n,t[n]):!1!==(i=E.checkErrors(t[n]))&&T.each(i,function(e,t){r.push(f.prompt.addErrors.replace(/{name}/g,E.get.fieldLabel(n)).replace(/{error}/g,t))}))}):r=t,0<r.length&&e.html(f.templates.error(r)))}},remove:{errors:function(){E.debug("Removing form error messages"),e.empty()},states:function(){o.removeClass(g.error).removeClass(g.success),f.inline||E.remove.errors(),E.determine.isDirty()},rule:function(n,e){var r=Array.isArray(e)?e:[e];if(void 0!==s[n]&&Array.isArray(s[n].rules))return void 0===e?(E.debug("Removed all rules"),void(E.has.field(n)?s[n].rules=[]:delete s[n])):void T.each(s[n].rules,function(e,t){t&&-1!==r.indexOf(t.type)&&(E.debug("Removed rule",t.type),s[n].rules.splice(e,1))})},field:function(e){e=Array.isArray(e)?e:[e];T.each(e,function(e,t){E.remove.rule(t)}),E.refreshEvents()},rules:function(e,n){Array.isArray(e)?T.each(e,function(e,t){E.remove.rule(t,n)}):E.remove.rule(e,n)},fields:function(e){E.remove.field(e)},prompt:function(e){var t=E.get.field(e).closest(d),n=t.children(p.prompt);t.removeClass(g.error),f.inline&&n.is(":visible")&&(E.verbose("Removing prompt for field",e),f.transition&&E.can.useElement("transition")?n.transition(f.transition+" out",f.duration,function(){n.remove()}):n.fadeOut(f.duration,function(){n.remove()}))}},set:{success:function(){o.removeClass(g.error).addClass(g.success)},defaults:function(){i.each(function(e,t){var t=T(t),n=t.parent(),r=0<t.filter(p.checkbox).length,i=(n.is(p.uiDropdown)||t.is(p.uiDropdown))&&E.can.useElement("dropdown"),a=t.closest(p.uiCalendar),o=0<a.length&&E.can.useElement("calendar"),r=r?t.is(":checked"):t.val();i?(n.is(p.uiDropdown)?n:t).dropdown("save defaults"):o&&a.calendar("refresh"),t.data(m.defaultValue,r),t.data(m.isDirty,!1)})},error:function(){o.removeClass(g.success).addClass(g.error)},value:function(e,t){var n={};return n[e]=t,E.set.values.call(h,n)},values:function(e){T.isEmptyObject(e)||T.each(e,function(e,t){var n,r=E.get.field(e),i=r.parent(),e=r.closest(p.uiCalendar),a=Array.isArray(t),o=i.is(p.uiCheckbox)&&E.can.useElement("checkbox"),l=i.is(p.uiDropdown)&&E.can.useElement("dropdown"),s=r.is(p.radio)&&o,u=0<e.length&&E.can.useElement("calendar");0<r.length&&(a&&o?(E.verbose("Selecting multiple",t,r),i.checkbox("uncheck"),T.each(t,function(e,t){n=r.filter('[value="'+t+'"]'),i=n.parent(),0<n.length&&i.checkbox("check")})):s?(E.verbose("Selecting radio value",t,r),r.filter('[value="'+t+'"]').parent(p.uiCheckbox).checkbox("check")):o?(E.verbose("Setting checkbox value",t,i),!0===t||1===t||"on"===t?i.checkbox("check"):i.checkbox("uncheck"),"string"==typeof t&&r.val(t)):l?(E.verbose("Setting dropdown value",t,i),i.dropdown("set selected",t)):u?e.calendar("set date",t):(E.verbose("Setting field value",t,r),r.val(t)))})},dirty:function(){E.verbose("Setting state dirty"),x=!0,k[0]=k[1],k[1]="dirty",E.is.justClean()&&o.trigger("dirty")},clean:function(){E.verbose("Setting state clean"),x=!1,k[0]=k[1],k[1]="clean",E.is.justDirty()&&o.trigger("clean")},asClean:function(){E.set.defaults(),E.set.clean()},asDirty:function(){E.set.defaults(),E.set.dirty()},autoCheck:function(){E.debug("Enabling auto check on required fields"),s&&T.each(s,function(e){E.has.field(e)||(E.verbose("Field not found, removing from validation",e),E.remove.field(e))}),i.each(function(e,t){var t=T(t),n=t.closest(d),r=0<t.filter(p.checkbox).length,i=t.prop("required")||n.hasClass(g.required)||n.parent().hasClass(g.required),n=t.is(":disabled")||n.hasClass(g.disabled)||n.parent().hasClass(g.disabled),a=E.get.validation(t),o=!!a&&0!==T.grep(a.rules,function(e){return"empty"===e.type}),a=a.identifier||t.attr("id")||t.attr("name")||t.data(m.validate);!i||n||o||void 0===a||(r?(E.verbose("Adding 'checked' rule on field",a),E.add.rule(a,"checked")):(E.verbose("Adding 'empty' rule on field",a),E.add.rule(a,"empty")))})},optional:function(n,r){r=!1!==r,T.each(s,function(e,t){n!==e&&n!==t.identifier||(t.optional=r)})}},validate:{form:function(e,t){var n,r=E.get.values();if(b)return!1;if(v=[],E.determine.isValid()){if(E.debug("Form has no validation errors, submitting"),E.set.success(),f.inline||E.remove.errors(),!0!==t)return f.onSuccess.call(h,e,r)}else if(E.debug("Form has errors"),y=!1,E.set.error(),f.inline||E.add.errors(v),e&&void 0!==o.data("moduleApi")&&e.stopImmediatePropagation(),f.errorFocus&&!0!==t&&(e=!0,"string"==typeof f.errorFocus?(e=(n=T(O).find(f.errorFocus)).is("[tabindex]"))||n.attr("tabindex",-1):n=d.filter("."+g.error).first().find(p.field),n.trigger("focus"),e||n.removeAttr("tabindex")),!0!==t)return f.onFailure.call(h,v,r)},field:function(r,e,i){if(i=void 0===i||i,"string"==typeof r&&(E.verbose("Validating field",r),r=s[e=r]),!r)return E.debug("Unable to find field validation. Skipping",e),!0;var a=r.identifier||e,e=E.get.field(a),t=!!r.depends&&E.get.field(r.depends),o=!0,l=[];return r.identifier||(E.debug("Using field name as identifier",a),r.identifier=a),0===e.filter(":not(:disabled)").length?E.debug("Field is disabled. Skipping",a):r.optional&&E.is.blank(e)?E.debug("Field is optional and blank. Skipping",a):r.depends&&E.is.empty(t)?E.debug("Field depends on another value that is not present or empty. Skipping",t):void 0!==r.rules&&(i&&e.closest(d).removeClass(g.error),T.each(r.rules,function(e,t){var n;E.has.field(a)&&0<(n=E.validate.rule(r,t,!0)||[]).length&&(E.debug("Field is invalid",a,t.type),l.push(E.get.prompt(t,r)),o=!1,i&&T(n).closest(d).addClass(g.error))})),o?(i&&(E.remove.prompt(a,l),f.onValid.call(e)),!0):(i&&(v=v.concat(l),E.add.prompt(a,l,!0),f.onInvalid.call(e,l)),!1)},rule:function(e,n,t){function r(e){var t=void 0===(t=(s?T(e).filter(":checked"):T(e)).val())||""===t||null===t?"":f.shouldTrim&&!1!==n.shouldTrim||n.shouldTrim?String(t+"").trim():String(t+"");return o.call(e,t,i,E)}var e=E.get.field(e.identifier),i=E.get.ancillaryValue(n),a=E.get.ruleName(n),o=f.rules[a],l=[],s=e.is(p.checkbox);if(L(o))return s?r(e)||(l=e):T.each(e,function(e,t){r(t)||l.push(t)}),t?l:0===l.length;E.error(u.noRule,a)}},setting:function(e,t){if(T.isPlainObject(e))T.extend(!0,f,e);else{if(void 0===t)return f[e];f[e]=t}},internal:function(e,t){if(T.isPlainObject(e))T.extend(!0,E,e);else{if(void 0===t)return E[e];E[e]=t}},debug:function(){!f.silent&&f.debug&&(f.performance?E.performance.log(arguments):(E.debug=Function.prototype.bind.call(console.info,console,f.name+":"),E.debug.apply(console,arguments)))},verbose:function(){!f.silent&&f.verbose&&f.debug&&(f.performance?E.performance.log(arguments):(E.verbose=Function.prototype.bind.call(console.info,console,f.name+":"),E.verbose.apply(console,arguments)))},error:function(){f.silent||(E.error=Function.prototype.bind.call(console.error,console,f.name+":"),E.error.apply(console,arguments))},performance:{log:function(e){var t,n;f.performance&&(n=(t=Date.now())-(A||t),A=t,D.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:h,"Execution Time":n})),clearTimeout(E.performance.timer),E.performance.timer=setTimeout(E.performance.display,500)},display:function(){var e=f.name+":",n=0;A=!1,clearTimeout(E.performance.timer),T.each(D,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",1<V.length&&(e+=" ("+V.length+")"),0<D.length&&(console.groupCollapsed(e),console.table?console.table(D):T.each(D,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),D=[]}},invoke:function(r,e,t){var i,a,n,o=c;return e=e||F,t=t||h,"string"==typeof r&&void 0!==o&&(r=r.split(/[ .]/),i=r.length-1,T.each(r,function(e,t){var n=e!==i?t+r[e+1].charAt(0).toUpperCase()+r[e+1].slice(1):r;if(T.isPlainObject(o[n])&&e!==i)o=o[n];else{if(void 0!==o[n])return a=o[n],!1;{if(!T.isPlainObject(o[t])||e===i)return void 0!==o[t]?a=o[t]:E.error(u.method,r),!1;o=o[t]}}})),L(a)?n=a.apply(t,e):void 0!==a&&(n=a),Array.isArray(w)?w.push(n):void 0!==w?w=[w,n]:void 0!==n&&(w=n),a}};E.initialize()}),void 0!==w?w:this},T.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 T.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 T.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<T(this).filter(":checked").length},email:function(e){return T.fn.form.settings.regExp.email.test(e)},url:function(e){return T.fn.form.settings.regExp.url.test(e)},regExp:function(e,t){if(t instanceof RegExp)return e.match(t);var n,r=t.match(T.fn.form.settings.regExp.flags);return r&&(t=2<=r.length?r[1]:t,n=3<=r.length?r[2]:""),e.match(new RegExp(t,n))},minValue:function(e,t){return T.fn.form.settings.rules.range(e,t+"..","number")},maxValue:function(e,t){return T.fn.form.settings.rules.range(e,".."+t,"number")},integer:function(e,t){return T.fn.form.settings.rules.range(e,t,"integer")},range:function(e,t,n,r){var i,a;return(n="string"==typeof n?T.fn.form.settings.regExp[n]:n)instanceof RegExp||(n=T.fn.form.settings.regExp.integer),t&&-1===["",".."].indexOf(t)&&(-1===t.indexOf("..")?n.test(t)&&(a=i=+t):(t=t.split("..",2),n.test(t[0])&&(i=+t[0]),n.test(t[1])&&(a=+t[1]))),r&&(e=e.length),n.test(e)&&(void 0===i||i<=e)&&(void 0===a||e<=a)},decimal:function(e,t){return T.fn.form.settings.rules.range(e,t,"decimal")},number:function(e,t){return T.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(T.fn.form.settings.regExp.escape,"\\$&"),-1!==e.search(new RegExp(t,"i"))},containsExactly:function(e,t){return t=t.replace(T.fn.form.settings.regExp.escape,"\\$&"),-1!==e.search(new RegExp(t))},doesntContain:function(e,t){return t=t.replace(T.fn.form.settings.regExp.escape,"\\$&"),-1===e.search(new RegExp(t,"i"))},doesntContainExactly:function(e,t){return t=t.replace(T.fn.form.settings.regExp.escape,"\\$&"),-1===e.search(new RegExp(t))},minLength:function(e,t){return T.fn.form.settings.rules.range(e,t+"..","integer",!0)},exactLength:function(e,t){return T.fn.form.settings.rules.range(e,t+".."+t,"integer",!0)},maxLength:function(e,t){return T.fn.form.settings.rules.range(e,".."+t,"integer",!0)},size:function(e,t){return T.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 r,i={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&&(T.each(e,function(e,t){(r=i[t])&&0<(r={length:-1!==T.inArray(n.length,r.length),pattern:-1!==n.search(r.pattern)}).length&&r.pattern&&(a=!0)}),!a))return!1;if((e={number:-1!==T.inArray(n.length,i.unionPay.length),pattern:-1!==n.search(i.unionPay.pattern)}).number&&e.pattern)return!0;for(var t=n.length,o=0,l=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],s=0;t--;)s+=l[o][parseInt(n.charAt(t),10)],o^=1;return s%10==0&&0<s}},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);
11
+ !function(L,z,$){"use strict";function I(e){return"function"==typeof e&&"number"!=typeof e.nodeType}z=void 0!==z&&z.Math===Math?z:globalThis,L.fn.form=function(V){var A,D=L(this),R=L(z),S=Date.now(),F=[],T=V,O="string"==typeof T,j=[].slice.call(arguments,1);return D.each(function(){var i,f,e,t,m,s,g,p,h,n,u,r,a,l,o,c,d,v=L(this),b=this,y=[],x=!1,k=!1,E=!1,C=["clean","clean"],w={initialize:function(){w.get.settings(),O?(void 0===d&&w.instantiate(),w.invoke(T)):(void 0!==d&&(d.invoke("destroy"),w.refresh()),w.verbose("Initializing form validation",v,m),w.bindEvents(),w.set.defaults(),m.autoCheckRequired&&w.set.autoCheck(),w.instantiate())},instantiate:function(){w.verbose("Storing instance of module",w),d=w,v.data(a,w)},destroy:function(){w.verbose("Destroying previous module",d),w.removeEvents(),v.removeData(a)},refresh:function(){w.verbose("Refreshing selector cache"),i=v.find(p.field),f=v.find(p.group),e=v.find(p.message),v.find(p.prompt),t=v.find(p.submit),v.find(p.clear),v.find(p.reset)},refreshEvents:function(){w.removeEvents(),w.bindEvents()},submit:function(){w.verbose("Submitting form",v),k=!0,v.trigger("submit")},attachEvents:function(e,t){t=t||"submit",L(e).on("click"+l,function(e){w[t](),e.preventDefault()}),o=e,c=t},bindEvents:function(){w.verbose("Attaching form events"),v.on("submit"+l,w.validate.form).on("blur"+l,p.field,w.event.field.blur).on("click"+l,p.submit,w.submit).on("click"+l,p.reset,w.reset).on("click"+l,p.clear,w.clear),m.keyboardShortcuts&&v.on("keydown"+l,p.field,w.event.field.keydown),i.each(function(e,t){var t=L(t),n=t.prop("type"),n=w.get.changeEvent(n,t);t.on(n+l,w.event.field.change)}),m.preventLeaving&&R.on("beforeunload"+l,w.event.beforeUnload),i.on("change"+l+" click"+l+" keyup"+l+" keydown"+l+" blur"+l,function(e){w.determine.isDirty()}),v.on("dirty"+l,function(e){m.onDirty.call()}),v.on("clean"+l,function(e){m.onClean.call()}),o&&w.attachEvents(o,c)},clear:function(){i.each(function(e,t){var t=L(t),n=t.parent(),r=t.closest(f),i=r.find(p.prompt),a=t.closest(p.uiCalendar),o=t.data(g.defaultValue)||"",l=t.is(p.checkbox),s=n.is(p.uiDropdown)&&w.can.useElement("dropdown"),u=0<a.length&&w.can.useElement("calendar");r.hasClass(h.error)&&(w.verbose("Resetting error on field",r),r.removeClass(h.error),i.remove()),s?(w.verbose("Resetting dropdown value",n,o),n.dropdown("clear",!0)):l?t.prop("checked",!1):u?a.calendar("clear"):(w.verbose("Resetting field value",t,o),t.val(""))}),w.remove.states()},reset:function(){i.each(function(e,t){var t=L(t),n=t.parent(),r=t.closest(f),i=t.closest(p.uiCalendar),a=r.find(p.prompt),o=t.data(g.defaultValue),l=t.is(p.checkbox),s=n.is(p.uiDropdown)&&w.can.useElement("dropdown"),u=0<i.length&&w.can.useElement("calendar"),c=t.is(p.file),d=r.hasClass(h.error);void 0!==o&&(d&&(w.verbose("Resetting error on field",r),r.removeClass(h.error),a.remove()),s?(w.verbose("Resetting dropdown value",n,o),n.dropdown("restore defaults",!0)):l?(w.verbose("Resetting checkbox value",t,o),t.prop("checked",o)):u?i.calendar("set date",o):(w.verbose("Resetting field value",t,o),t.val(c?"":o)))}),w.remove.states()},determine:{isValid:function(){var n=!0;return L.each(s,function(e,t){w.validate.field(t,e,!0)||(n=!1)}),n},isDirty:function(e){var r=!1;i.each(function(e,t){var t=L(t),n=0<t.filter(p.checkbox).length?w.is.checkboxDirty(t):w.is.fieldDirty(t);t.data(m.metadata.isDirty,n),r=r||n}),r?w.set.dirty():w.set.clean()}},is:{bracketedRule:function(e){return e.type&&e.type.match(m.regExp.bracket)},shorthandRules:function(e){return"string"==typeof e||Array.isArray(e)},empty:function(e){return!e||0===e.length||(e.is(p.checkbox)?!e.is(":checked"):w.is.blank(e))},blank:function(e){return""===String(e.val()).trim()},valid:function(e,n){var r=!0;return e?(w.verbose("Checking if field is valid",e),w.validate.field(s[e],e,!!n)):(w.verbose("Checking if form is valid"),L.each(s,function(e,t){w.is.valid(e,n)||(r=!1)}),r)},dirty:function(){return E},clean:function(){return!E},fieldDirty:function(e){var t=e.data(g.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(g.defaultValue)!==e.is(":checked")},justDirty:function(){return"dirty"===C[0]},justClean:function(){return"clean"===C[0]}},removeEvents:function(){v.off(l),i.off(l),t.off(l),m.preventLeaving&&R.off(l),o&&(L(o).off(l),o=void 0)},event:{field:{keydown:function(e){var t=L(this),n=e.which,r=t.is(p.input),i=t.is(p.checkbox),a=0<t.closest(p.uiDropdown).length,o=13;n===27&&(w.verbose("Escape key pressed blurring field"),t[0].blur()),e.ctrlKey||n!==o||!r||a||i||(x||(t.one("keyup"+l,w.event.field.keyup),w.submit(),w.debug("Enter pressed on input submitting form"),e.preventDefault()),x=!0)},keyup:function(){x=!1},blur:function(e){var t=L(this),n=t.closest(f),r=w.get.validation(t);r&&("blur"===m.on||n.hasClass(h.error)&&m.revalidate)&&(w.debug("Revalidating field",t,r),w.validate.field(r),m.inline||w.validate.form(!1,!0))},change:function(e){var t=L(this),n=t.closest(f),r=w.get.validation(t);r&&("change"===m.on||n.hasClass(h.error)&&m.revalidate)&&(clearTimeout(w.timer),w.timer=setTimeout(function(){w.debug("Revalidating field",t,r),w.validate.field(r),m.inline||w.validate.form(!1,!0)},m.delay))}},beforeUnload:function(e){if(w.is.dirty()&&!k)return(e=e||z.event)&&(e.returnValue=m.text.leavingMessage),m.text.leavingMessage}},get:{ancillaryValue:function(e){return!(!e.type||!e.value&&!w.is.bracketedRule(e))&&(void 0!==e.value?e.value:e.type.match(m.regExp.bracket)[1]+"")},ruleName:function(e){return w.is.bracketedRule(e)?e.type.replace(e.type.match(m.regExp.bracket)[0],""):e.type},changeEvent:function(e,t){return 0<=["file","checkbox","radio","hidden"].indexOf(e)||t.is("select")?"change":"input"},fieldsFromShorthand:function(e){var r={};return L.each(e,function(n,e){Array.isArray(e)||"object"!=typeof e?("string"==typeof e&&(e=[e]),r[n]={rules:[]},L.each(e,function(e,t){r[n].rules.push({type:t})})):r[n]=e}),r},prompt:function(e,t){var n,r=w.get.ruleName(e),i=w.get.ancillaryValue(e),a=w.get.field(t.identifier),o=a.val(),o=I(e.prompt)?e.prompt(o):e.prompt||m.prompt[r]||m.text.unspecifiedRule,l=-1!==o.search("{value}"),s=-1!==o.search("{name}");return i&&0<=["integer","decimal","number","size"].indexOf(r)&&0<=i.indexOf("..")&&(n=i.split("..",2),e.prompt||"size"===r||(o+=(""===n[0]?m.prompt.maxValue.replace(/{ruleValue}/g,"{max}"):""===n[1]?m.prompt.minValue.replace(/{ruleValue}/g,"{min}"):m.prompt.range).replace(/{name}/g," "+m.text.and)),o=(o=o.replace(/{min}/g,n[0])).replace(/{max}/g,n[1])),i&&0<=["match","different"].indexOf(r)&&(o=o.replace(/{ruleValue}/g,w.get.fieldLabel(i,!0))),l&&(o=o.replace(/{value}/g,a.val())),o=(o=(o=s?o.replace(/{name}/g,w.get.fieldLabel(a)):o).replace(/{identifier}/g,t.identifier)).replace(/{ruleValue}/g,i),e.prompt||w.verbose("Using default validation prompt for type",o,r),o},settings:function(){L.isPlainObject(V)?(V.fields&&(V.fields=w.get.fieldsFromShorthand(V.fields)),m=L.extend(!0,{},L.fn.form.settings,V),s=L.extend(!0,{},L.fn.form.settings.defaults,m.fields),w.verbose("Extending settings",s,m)):(m=L.extend(!0,{},L.fn.form.settings),s=L.extend(!0,{},L.fn.form.settings.defaults),w.verbose("Using default form validation",s,m)),r=m.namespace,g=m.metadata,p=m.selector,h=m.className,n=m.regExp,u=m.error,a="module-"+r,l="."+r,((d=v.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=i.filter("#"+e)).length||0<(n=i.filter('[name="'+e+'"]')).length||0<(n=i.filter('[name="'+e+'[]"]')).length||0<(n=i.filter("[data-"+g.validate+'="'+e+'"]')).length?n:(w.error(u.noField.replace("{identifier}",e)),t?L():L("<input/>"))},fields:function(e,n){var r=L();return L.each(e,function(e,t){r=r.add(w.get.field(t,n))}),r},fieldLabel:function(e,t){var n="string"==typeof e?w.get.field(e):e,r=n.closest(p.group).find("label").eq(0);return 1===r.length?r.text():n.prop("placeholder")||(t?e:m.text.unspecifiedField)},validation:function(r){var i,a;return!!s&&(L.each(s,function(e,n){a=n.identifier||e,L.each(w.get.field(a),function(e,t){if(t==r[0])return n.identifier=a,i=n,!1})}),i||!1)},value:function(e,t){var n=[];return n.push(e),e=w.get.values.call(b,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):i,d={};return e.each(function(e,t){var t=L(t),n=t.closest(p.uiCalendar),r=t.prop("name"),i=t.val(),a=t.is(p.checkbox),o=t.is(p.radio),l=-1!==r.indexOf("[]"),s=0<n.length&&w.can.useElement("calendar"),t=!!a&&t.is(":checked");if(r)if(l)r=r.replace("[]",""),d[r]||(d[r]=[]),a?t?d[r].push(i||!0):d[r].push(!1):d[r].push(i);else if(o)void 0!==d[r]&&!1!==d[r]||(d[r]=!!t&&(i||!0));else if(a)d[r]=!!t&&(i||!0);else if(s){var u=n.calendar("get date");if(null!==u)switch(m.dateHandling){case"date":d[r]=u;break;case"input":d[r]=n.calendar("get input date");break;case"formatter":var c=n.calendar("setting","type");switch(c){case"date":d[r]=m.formatter.date(u);break;case"datetime":d[r]=m.formatter.datetime(u);break;case"time":d[r]=m.formatter.time(u);break;case"month":d[r]=m.formatter.month(u);break;case"year":d[r]=m.formatter.year(u);break;default:w.debug("Wrong calendar mode",n,c),d[r]=""}}else d[r]=""}else d[r]=i}),d},dirtyFields:function(){return i.filter(function(e,t){return L(t).data(g.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!==L.fn[e]||(w.error(u.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(m.error.noErrorMessage),!1)},add:{rule:function(e,t){w.add.field(e,t)},field:function(n,e){void 0!==s[n]&&void 0!==s[n].rules||(s[n]={rules:[]});var r={rules:[]};w.is.shorthandRules(e)?(e=Array.isArray(e)?e:[e],L.each(e,function(e,t){r.rules.push({type:t})})):r.rules=e.rules,L.each(r.rules,function(e,t){0===L.grep(s[n].rules,function(e){return e.type===t.type}).length&&s[n].rules.push(t)}),w.debug("Adding rules",r.rules,s),w.refreshEvents()},fields:function(e){s=L.extend(!0,{},s,w.get.fieldsFromShorthand(e)),w.refreshEvents()},prompt:function(e,t,n){var r,i,a;!1!==(t=w.checkErrors(t))&&(a=0<(i=(r=w.get.field(e).closest(f)).children(p.prompt)).length,w.verbose("Adding field error state",e),n||r.addClass(h.error),m.inline&&(a||(i=L("<div/>").addClass(h.label)).appendTo(r),i.html(m.templates.prompt(t)),a?w.verbose("Inline errors are disabled, no inline error added",e):m.transition&&w.can.useElement("transition")?(w.verbose("Displaying error with css transition",m.transition),i.transition(m.transition+" in",m.duration)):(w.verbose("Displaying error with fallback javascript animation"),i.fadeIn(m.duration))))},errors:function(t){var r,i;!1!==(t=w.checkErrors(t))&&(w.debug("Adding form error messages",t),w.set.error(),r=[],L.isPlainObject(t)?L.each(Object.keys(t),function(e,n){!1!==w.checkErrors(t[n],!0)&&(m.inline?w.add.prompt(n,t[n]):!1!==(i=w.checkErrors(t[n]))&&L.each(i,function(e,t){r.push(m.prompt.addErrors.replace(/{name}/g,w.get.fieldLabel(n)).replace(/{error}/g,t))}))}):r=t,0<r.length&&e.html(m.templates.error(r)))}},remove:{errors:function(){w.debug("Removing form error messages"),e.empty()},states:function(){v.removeClass(h.error).removeClass(h.success),m.inline||w.remove.errors(),w.determine.isDirty()},rule:function(n,e){var r=Array.isArray(e)?e:[e];if(void 0!==s[n]&&Array.isArray(s[n].rules))return void 0===e?(w.debug("Removed all rules"),void(w.has.field(n)?s[n].rules=[]:delete s[n])):void L.each(s[n].rules,function(e,t){t&&-1!==r.indexOf(t.type)&&(w.debug("Removed rule",t.type),s[n].rules.splice(e,1))})},field:function(e){e=Array.isArray(e)?e:[e];L.each(e,function(e,t){w.remove.rule(t)}),w.refreshEvents()},rules:function(e,n){Array.isArray(e)?L.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(f),n=t.children(p.prompt);t.removeClass(h.error),m.inline&&n.is(":visible")&&(w.verbose("Removing prompt for field",e),m.transition&&w.can.useElement("transition")?n.transition(m.transition+" out",m.duration,function(){n.remove()}):n.fadeOut(m.duration,function(){n.remove()}))}},set:{success:function(){v.removeClass(h.error).addClass(h.success)},defaults:function(){i.each(function(e,t){var t=L(t),n=t.parent(),r=0<t.filter(p.checkbox).length,i=(n.is(p.uiDropdown)||t.is(p.uiDropdown))&&w.can.useElement("dropdown"),a=t.closest(p.uiCalendar),o=0<a.length&&w.can.useElement("calendar"),r=r?t.is(":checked"):t.val();i?(n.is(p.uiDropdown)?n:t).dropdown("save defaults"):o&&a.calendar("refresh"),t.data(g.defaultValue,r),t.data(g.isDirty,!1)})},error:function(){v.removeClass(h.success).addClass(h.error)},value:function(e,t){var n={};return n[e]=t,w.set.values.call(b,n)},values:function(e){L.isEmptyObject(e)||L.each(e,function(e,t){var n,r=w.get.field(e),i=r.parent(),e=r.closest(p.uiCalendar),a=r.is(p.file),o=Array.isArray(t),l=i.is(p.uiCheckbox)&&w.can.useElement("checkbox"),s=i.is(p.uiDropdown)&&w.can.useElement("dropdown"),u=r.is(p.radio)&&l,c=0<e.length&&w.can.useElement("calendar");0<r.length&&(o&&l?(w.verbose("Selecting multiple",t,r),i.checkbox("uncheck"),L.each(t,function(e,t){n=r.filter('[value="'+t+'"]'),i=n.parent(),0<n.length&&i.checkbox("check")})):u?(w.verbose("Selecting radio value",t,r),r.filter('[value="'+t+'"]').parent(p.uiCheckbox).checkbox("check")):l?(w.verbose("Setting checkbox value",t,i),!0===t||1===t||"on"===t?i.checkbox("check"):i.checkbox("uncheck"),"string"==typeof t&&r.val(t)):s?(w.verbose("Setting dropdown value",t,i),i.dropdown("set selected",t)):c?e.calendar("set date",t):(w.verbose("Setting field value",t,r),r.val(a?"":t)))})},dirty:function(){w.verbose("Setting state dirty"),E=!0,C[0]=C[1],C[1]="dirty",w.is.justClean()&&v.trigger("dirty")},clean:function(){w.verbose("Setting state clean"),E=!1,C[0]=C[1],C[1]="clean",w.is.justDirty()&&v.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"),s&&L.each(s,function(e){w.has.field(e)||(w.verbose("Field not found, removing from validation",e),w.remove.field(e))}),i.each(function(e,t){var t=L(t),n=t.closest(f),r=0<t.filter(p.checkbox).length,i=t.prop("required")||n.hasClass(h.required)||n.parent().hasClass(h.required),n=t.is(":disabled")||n.hasClass(h.disabled)||n.parent().hasClass(h.disabled),a=w.get.validation(t),o=!!a&&0!==L.grep(a.rules,function(e){return"empty"===e.type}),a=a.identifier||t.attr("id")||t.attr("name")||t.data(g.validate);!i||n||o||void 0===a||(r?(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,r){r=!1!==r,L.each(s,function(e,t){n!==e&&n!==t.identifier||(t.optional=r)})}},validate:{form:function(e,t){var n,r=w.get.values();if(x)return!1;if(y=[],w.determine.isValid()){if(w.debug("Form has no validation errors, submitting"),w.set.success(),m.inline||w.remove.errors(),!0!==t)return m.onSuccess.call(b,e,r)}else if(w.debug("Form has errors"),k=!1,w.set.error(),m.inline||w.add.errors(y),e&&void 0!==v.data("moduleApi")&&e.stopImmediatePropagation(),m.errorFocus&&!0!==t&&(e=!0,"string"==typeof m.errorFocus?(e=(n=L($).find(m.errorFocus)).is("[tabindex]"))||n.attr("tabindex",-1):n=f.filter("."+h.error).first().find(p.field),n.trigger("focus"),e||n.removeAttr("tabindex")),!0!==t)return m.onFailure.call(b,y,r)},field:function(r,e,i){if(i=void 0===i||i,"string"==typeof r&&(w.verbose("Validating field",r),r=s[e=r]),!r)return w.debug("Unable to find field validation. Skipping",e),!0;var a=r.identifier||e,e=w.get.field(a),t=!!r.depends&&w.get.field(r.depends),o=!0,l=[];return r.identifier||(w.debug("Using field name as identifier",a),r.identifier=a),0===e.filter(":not(:disabled)").length?w.debug("Field is disabled. Skipping",a):r.optional&&w.is.blank(e)?w.debug("Field is optional and blank. Skipping",a):r.depends&&w.is.empty(t)?w.debug("Field depends on another value that is not present or empty. Skipping",t):void 0!==r.rules&&(i&&e.closest(f).removeClass(h.error),L.each(r.rules,function(e,t){var n;w.has.field(a)&&0<(n=w.validate.rule(r,t,!0)||[]).length&&(w.debug("Field is invalid",a,t.type),l.push(w.get.prompt(t,r)),o=!1,i&&L(n).closest(f).addClass(h.error))})),o?(i&&(w.remove.prompt(a,l),m.onValid.call(e)),!0):(i&&(y=y.concat(l),w.add.prompt(a,l,!0),m.onInvalid.call(e,l)),!1)},rule:function(e,n,t){function r(e){var t=void 0===(t=(s?L(e).filter(":checked"):L(e)).val())||""===t||null===t?"":m.shouldTrim&&!1!==n.shouldTrim||n.shouldTrim?String(t+"").trim():String(t+"");return o.call(e,t,i,w)}var e=w.get.field(e.identifier),i=w.get.ancillaryValue(n),a=w.get.ruleName(n),o=m.rules[a],l=[],s=e.is(p.checkbox);if(I(o))return s?r(e)||(l=e):L.each(e,function(e,t){r(t)||l.push(t)}),t?l:0===l.length;w.error(u.noRule,a)}},setting:function(e,t){if(L.isPlainObject(e))L.extend(!0,m,e);else{if(void 0===t)return m[e];m[e]=t}},internal:function(e,t){if(L.isPlainObject(e))L.extend(!0,w,e);else{if(void 0===t)return w[e];w[e]=t}},debug:function(){!m.silent&&m.debug&&(m.performance?w.performance.log(arguments):(w.debug=Function.prototype.bind.call(console.info,console,m.name+":"),w.debug.apply(console,arguments)))},verbose:function(){!m.silent&&m.verbose&&m.debug&&(m.performance?w.performance.log(arguments):(w.verbose=Function.prototype.bind.call(console.info,console,m.name+":"),w.verbose.apply(console,arguments)))},error:function(){m.silent||(w.error=Function.prototype.bind.call(console.error,console,m.name+":"),w.error.apply(console,arguments))},performance:{log:function(e){var t,n;m.performance&&(n=(t=Date.now())-(S||t),S=t,F.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:b,"Execution Time":n})),clearTimeout(w.performance.timer),w.performance.timer=setTimeout(w.performance.display,500)},display:function(){var e=m.name+":",n=0;S=!1,clearTimeout(w.performance.timer),L.each(F,function(e,t){n+=t["Execution Time"]}),e+=" "+n+"ms",1<D.length&&(e+=" ("+D.length+")"),0<F.length&&(console.groupCollapsed(e),console.table?console.table(F):L.each(F,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),F=[]}},invoke:function(r,e,t){var i,a,n,o=d;return e=e||j,t=t||b,"string"==typeof r&&void 0!==o&&(r=r.split(/[ .]/),i=r.length-1,L.each(r,function(e,t){var n=e!==i?t+r[e+1].charAt(0).toUpperCase()+r[e+1].slice(1):r;if(L.isPlainObject(o[n])&&e!==i)o=o[n];else{if(void 0!==o[n])return a=o[n],!1;{if(!L.isPlainObject(o[t])||e===i)return void 0!==o[t]?a=o[t]:w.error(u.method,r),!1;o=o[t]}}})),I(a)?n=a.apply(t,e):void 0!==a&&(n=a),Array.isArray(A)?A.push(n):void 0!==A?A=[A,n]:void 0!==n&&(A=n),a}};w.initialize()}),void 0!==A?A:this},L.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="reset"]):not([type="button"]):not([type="submit"]), textarea, select',file:'input[type="file"]',group:".field",input:"input",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 L.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 L.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<L(this).filter(":checked").length},email:function(e){return L.fn.form.settings.regExp.email.test(e)},url:function(e){return L.fn.form.settings.regExp.url.test(e)},regExp:function(e,t){if(t instanceof RegExp)return e.match(t);var n,r=t.match(L.fn.form.settings.regExp.flags);return r&&(t=2<=r.length?r[1]:t,n=3<=r.length?r[2]:""),e.match(new RegExp(t,n))},minValue:function(e,t){return L.fn.form.settings.rules.range(e,t+"..","number")},maxValue:function(e,t){return L.fn.form.settings.rules.range(e,".."+t,"number")},integer:function(e,t){return L.fn.form.settings.rules.range(e,t,"integer")},range:function(e,t,n,r){var i,a;return(n="string"==typeof n?L.fn.form.settings.regExp[n]:n)instanceof RegExp||(n=L.fn.form.settings.regExp.integer),t&&-1===["",".."].indexOf(t)&&(-1===t.indexOf("..")?n.test(t)&&(a=i=+t):(t=t.split("..",2),n.test(t[0])&&(i=+t[0]),n.test(t[1])&&(a=+t[1]))),r&&(e=e.length),n.test(e)&&(void 0===i||i<=e)&&(void 0===a||e<=a)},decimal:function(e,t){return L.fn.form.settings.rules.range(e,t,"decimal")},number:function(e,t){return L.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(L.fn.form.settings.regExp.escape,"\\$&"),-1!==e.search(new RegExp(t,"i"))},containsExactly:function(e,t){return t=t.replace(L.fn.form.settings.regExp.escape,"\\$&"),-1!==e.search(new RegExp(t))},doesntContain:function(e,t){return t=t.replace(L.fn.form.settings.regExp.escape,"\\$&"),-1===e.search(new RegExp(t,"i"))},doesntContainExactly:function(e,t){return t=t.replace(L.fn.form.settings.regExp.escape,"\\$&"),-1===e.search(new RegExp(t))},minLength:function(e,t){return L.fn.form.settings.rules.range(e,t+"..","integer",!0)},exactLength:function(e,t){return L.fn.form.settings.rules.range(e,t+".."+t,"integer",!0)},maxLength:function(e,t){return L.fn.form.settings.rules.range(e,".."+t,"integer",!0)},size:function(e,t){return L.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 r,i={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&&(L.each(e,function(e,t){(r=i[t])&&0<(r={length:-1!==L.inArray(n.length,r.length),pattern:-1!==n.search(r.pattern)}).length&&r.pattern&&(a=!0)}),!a))return!1;if((e={number:-1!==L.inArray(n.length,i.unionPay.length),pattern:-1!==n.search(i.unionPay.pattern)}).number&&e.pattern)return!0;for(var t=n.length,o=0,l=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],s=0;t--;)s+=l[o][parseInt(n.charAt(t),10)],o^=1;return s%10==0&&0<s}},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);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Grid
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Grid
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Grid
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Grid
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Header
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Header
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Header
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Header
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Icon
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Icon
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Icon
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Icon
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Image
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Image
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Image
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Image
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Input
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Input
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Input
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Input
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Item
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Item
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Item
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Item
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Label
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Label
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Label
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Label
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - List
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - List
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - List
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - List
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Loader
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Loader
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Loader
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Loader
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Menu
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Menu
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Menu
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Menu
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Message
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Message
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * # Fomantic-UI 2.9.3-beta.2+824a375 - Message
2
+ * # Fomantic-UI 2.9.3-beta.3+880333c - Message
3
3
  * https://github.com/fomantic/Fomantic-UI/
4
4
  *
5
5
  *