wishthis/semantic/dist/components/nag.min.js
2022-02-23 22:46:34 +01:00

11 lines
No EOL
6.8 KiB
JavaScript

/*
* # Fomantic UI - 2.8.8
* https://github.com/fomantic/Fomantic-UI
* http://fomantic-ui.com/
*
* Copyright 2022 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
!function(x,w,D,I){"use strict";x.isFunction=x.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},w=void 0!==w&&w.Math==Math?w:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),x.fn.nag=function(d){var p,e=x(this),m=e.selector||"",f=(new Date).getTime(),h=[],b=d,y="string"==typeof b,v=[].slice.call(arguments,1);return e.each(function(){var o,i=x.isPlainObject(d)?x.extend(!0,{},x.fn.nag.settings,d):x.extend({},x.fn.nag.settings),r=i.selector,s=i.error,e=i.namespace,n="."+e,t=e+"-module",a=x(this),g=i.context?x(i.context):x("body"),c=this,l=a.data(t),u={initialize:function(){u.verbose("Initializing element"),o=u.get.storage(),a.on("click"+n,r.close,u.dismiss).data(t,u),i.detachable&&a.parent()[0]!==g[0]&&a.detach().prependTo(g),0<i.displayTime&&setTimeout(u.hide,i.displayTime),u.show()},destroy:function(){u.verbose("Destroying instance"),a.removeData(t).off(n)},show:function(){if(u.should.show()&&!a.is(":visible")){if(!1===i.onShow.call(c))return u.debug("onShow callback returned false, cancelling nag animation"),!1;u.debug("Showing nag",i.animation.show),"fade"===i.animation.show?a.fadeIn(i.duration,i.easing,i.onVisible):a.slideDown(i.duration,i.easing,i.onVisible)}},hide:function(){if(!1===i.onHide.call(c))return u.debug("onHide callback returned false, cancelling nag animation"),!1;u.debug("Hiding nag",i.animation.hide),"fade"===i.animation.hide?a.fadeOut(i.duration,i.easing,i.onHidden):a.slideUp(i.duration,i.easing,i.onHidden)},dismiss:function(e){!1!==u.hide()&&i.storageMethod&&(u.debug("Dismissing nag",i.storageMethod,i.key,i.value,i.expires),u.storage.set(i.key,i.value)),e.stopImmediatePropagation(),e.preventDefault()},should:{show:function(){return i.persist?(u.debug("Persistent nag is set, can show nag"),!0):u.storage.get(i.key)!=i.value.toString()?(u.debug("Stored value is not set, can show nag",u.storage.get(i.key)),!0):(u.debug("Stored value is set, cannot show nag",u.storage.get(i.key)),!1)}},get:{expirationDate:function(e){if((e="number"==typeof e?new Date(Date.now()+864e5*e):e)instanceof Date&&e.getTime())return e.toUTCString();u.error(s.expiresFormat)},storage:function(){return"localstorage"===i.storageMethod&&w.localStorage!==I?(u.debug("Using local storage"),w.localStorage):"sessionstorage"===i.storageMethod&&w.sessionStorage!==I?(u.debug("Using session storage"),w.sessionStorage):"cookie"in D?(u.debug("Using cookie"),{setItem:function(e,n,t){e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),n=encodeURIComponent(n).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent);var o,i="";for(o in t)t.hasOwnProperty(o)&&(i+="; "+o,"string"==typeof t[o]&&(i+="="+t[o].split(";")[0]));D.cookie=e+"="+n+i},getItem:function(e){for(var n=D.cookie.split("; "),t=0,o=n.length;t<o;t++){var i=n[t].split("=");if(e===i[0].replace(/(%[\dA-F]{2})+/gi,decodeURIComponent))return i[1]||""}},removeItem:function(e,n){o.setItem(e,"",n)}}):void u.error(s.noStorage)},storageOptions:function(){var e={};return i.expires&&(e.expires=u.get.expirationDate(i.expires)),i.domain&&(e.domain=i.domain),i.path&&(e.path=i.path),i.secure&&(e.secure=i.secure),i.samesite&&(e.samesite=i.samesite),e}},clear:function(){u.storage.remove(i.key)},storage:{set:function(e,n){var t=u.get.storageOptions();o===w.localStorage&&t.expires&&(u.debug("Storing expiration value in localStorage",e,t.expires),o.setItem(e+i.expirationKey,t.expires)),u.debug("Value stored",e,n);try{o.setItem(e,n,t)}catch(e){u.error(s.setItem,e)}},get:function(e){var n,t=o.getItem(e);return o!==w.localStorage||null!==(n=o.getItem(e+i.expirationKey))&&n!==I&&new Date(n)<new Date&&(u.debug("Value in localStorage has expired. Deleting key",e),u.storage.remove(e),t=null),t="undefined"!=t&&"null"!=t&&t!==I&&null!==t?t:I},remove:function(e){var n=u.get.storageOptions();n.expires=u.get.expirationDate(-1),o===w.localStorage&&o.removeItem(e+i.expirationKey),o.removeItem(e,n)}},setting:function(e,n){if(u.debug("Changing setting",e,n),x.isPlainObject(e))x.extend(!0,i,e);else{if(n===I)return i[e];x.isPlainObject(i[e])?x.extend(!0,i[e],n):i[e]=n}},internal:function(e,n){if(x.isPlainObject(e))x.extend(!0,u,e);else{if(n===I)return u[e];u[e]=n}},debug:function(){!i.silent&&i.debug&&(i.performance?u.performance.log(arguments):(u.debug=Function.prototype.bind.call(console.info,console,i.name+":"),u.debug.apply(console,arguments)))},verbose:function(){!i.silent&&i.verbose&&i.debug&&(i.performance?u.performance.log(arguments):(u.verbose=Function.prototype.bind.call(console.info,console,i.name+":"),u.verbose.apply(console,arguments)))},error:function(){i.silent||(u.error=Function.prototype.bind.call(console.error,console,i.name+":"),u.error.apply(console,arguments))},performance:{log:function(e){var n,t;i.performance&&(t=(n=(new Date).getTime())-(f||n),f=n,h.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:c,"Execution Time":t})),clearTimeout(u.performance.timer),u.performance.timer=setTimeout(u.performance.display,500)},display:function(){var e=i.name+":",t=0;f=!1,clearTimeout(u.performance.timer),x.each(h,function(e,n){t+=n["Execution Time"]}),e+=" "+t+"ms",m&&(e+=" '"+m+"'"),(console.group!==I||console.table!==I)&&0<h.length&&(console.groupCollapsed(e),console.table?console.table(h):x.each(h,function(e,n){console.log(n.Name+": "+n["Execution Time"]+"ms")}),console.groupEnd()),h=[]}},invoke:function(o,e,n){var i,a,t,r=l;return e=e||v,n=c||n,"string"==typeof o&&r!==I&&(o=o.split(/[\. ]/),i=o.length-1,x.each(o,function(e,n){var t=e!=i?n+o[e+1].charAt(0).toUpperCase()+o[e+1].slice(1):o;if(x.isPlainObject(r[t])&&e!=i)r=r[t];else{if(r[t]!==I)return a=r[t],!1;{if(!x.isPlainObject(r[n])||e==i)return r[n]!==I?a=r[n]:u.error(s.method,o),!1;r=r[n]}}})),x.isFunction(a)?t=a.apply(n,e):a!==I&&(t=a),Array.isArray(p)?p.push(t):p!==I?p=[p,t]:t!==I&&(p=t),a}};y?(l===I&&u.initialize(),u.invoke(b)):(l!==I&&l.invoke("destroy"),u.initialize())}),p!==I?p:this},x.fn.nag.settings={name:"Nag",silent:!1,debug:!1,verbose:!1,performance:!0,namespace:"Nag",persist:!1,displayTime:0,animation:{show:"slide",hide:"slide"},context:!1,detachable:!1,expires:30,domain:!1,path:"/",secure:!1,samesite:!1,storageMethod:"cookie",key:"nag",value:"dismiss",expirationKey:"ExpirationDate",error:{noStorage:"Unsupported storage method",method:"The method you called is not defined.",setItem:"Unexpected error while setting value",expiresFormat:'"expires" must be a number of days or a Date Object'},className:{bottom:"bottom",fixed:"fixed"},selector:{close:"> .close.icon"},duration:500,easing:"easeOutQuad",onShow:function(){},onVisible:function(){},onHide:function(){},onHidden:function(){}},x.extend(x.easing,{easeOutQuad:function(e,n,t,o,i){return-o*(n/=i)*(n-2)+t}})}(jQuery,window,document);