UNPKG

use-cookie-popup

Version:
3 lines (2 loc) 3.78 kB
import{useState as e,useEffect as t}from"react";var i=function(){return i=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},i.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var r,n={};var o=function(){if(r)return n;r=1,Object.defineProperty(n,"__esModule",{value:!0}),n.parse=function(e,t){const i=new s,r=e.length;if(r<2)return i;const n=t?.decode||p;let o=0;do{const t=e.indexOf("=",o);if(-1===t)break;const a=e.indexOf(";",o),s=-1===a?r:a;if(t>s){o=e.lastIndexOf(";",t-1)+1;continue}const p=c(e,o,t),f=u(e,t,p),l=e.slice(p,f);if(void 0===i[l]){let r=c(e,t+1,s),o=u(e,s,r);const a=n(e.slice(r,o));i[l]=a}o=s+1}while(o<r);return i},n.serialize=function(r,n,s){const c=s?.encode||encodeURIComponent;if(!e.test(r))throw new TypeError(`argument name is invalid: ${r}`);const u=c(n);if(!t.test(u))throw new TypeError(`argument val is invalid: ${n}`);let p=r+"="+u;if(!s)return p;if(void 0!==s.maxAge){if(!Number.isInteger(s.maxAge))throw new TypeError(`option maxAge is invalid: ${s.maxAge}`);p+="; Max-Age="+s.maxAge}if(s.domain){if(!i.test(s.domain))throw new TypeError(`option domain is invalid: ${s.domain}`);p+="; Domain="+s.domain}if(s.path){if(!o.test(s.path))throw new TypeError(`option path is invalid: ${s.path}`);p+="; Path="+s.path}if(s.expires){if(!function(e){return"[object Date]"===a.call(e)}(s.expires)||!Number.isFinite(s.expires.valueOf()))throw new TypeError(`option expires is invalid: ${s.expires}`);p+="; Expires="+s.expires.toUTCString()}s.httpOnly&&(p+="; HttpOnly");s.secure&&(p+="; Secure");s.partitioned&&(p+="; Partitioned");if(s.priority){switch("string"==typeof s.priority?s.priority.toLowerCase():void 0){case"low":p+="; Priority=Low";break;case"medium":p+="; Priority=Medium";break;case"high":p+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${s.priority}`)}}if(s.sameSite){switch("string"==typeof s.sameSite?s.sameSite.toLowerCase():s.sameSite){case!0:case"strict":p+="; SameSite=Strict";break;case"lax":p+="; SameSite=Lax";break;case"none":p+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${s.sameSite}`)}}return p};const e=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,t=/^[\u0021-\u003A\u003C-\u007E]*$/,i=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,o=/^[\u0020-\u003A\u003D-\u007E]*$/,a=Object.prototype.toString,s=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function c(e,t,i){do{const i=e.charCodeAt(t);if(32!==i&&9!==i)return t}while(++t<i);return i}function u(e,t,i){for(;t>i;){const i=e.charCodeAt(--t);if(32!==i&&9!==i)return t+1}return i}function p(e){if(-1===e.indexOf("%"))return e;try{return decodeURIComponent(e)}catch(t){return e}}return n}(),a=function(e){var t,i=function(){for(var e={},t=document.cookie?document.cookie.split("; "):[],i=0,r=t.length;i<r;i++){var n=t[i].split("="),o=n.slice(1).join("=");e[n[0]]=o}return e}(),r=null==i?void 0:i[e];if(void 0!==r)return(t=r)?t.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent):t},s=function(e,t,r){var n=r||{},a=o.serialize(e,function(e){try{return"string"==typeof e?e:JSON.stringify(e)}catch(t){return e}}(t),i({path:"/"},n));document.cookie=a},c=function(i){var r=i.name,n=i.showUpDelay,o=i.optsCookieAccept,c=i.optsCookieDecline,u=i.showAlways,p=i.showIfAccepted,f=i.showIfDeclined,l=e(!1),d=l[0],m=l[1],h=function(){m(!1)};return t((function(){var e=a(r),t="true"===e;(!e||u||p&&t||f&&!t)&&setTimeout((function(){return m(!0)}),n)}),[]),{isVisible:d,setIsVisible:m,onAccept:function(){h(),s(r,!0,o)},onDecline:function(){h(),s(r,!1,c)},onClose:h}};export{c as useCookiePopup}; //# sourceMappingURL=index.js.map