From 57dbfbbbd5a86d5ce106a116dab870049ae55f4c Mon Sep 17 00:00:00 2001 From: Mastermindzh Date: Tue, 8 Feb 2022 17:13:48 +0100 Subject: [PATCH] release 7.3.0 --- CHANGELOG.md | 2 +- build/index.d.ts | 1 + build/index.js | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac29385..16bb975 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [next] +## [[7.3.0]](https://github.com/Mastermindzh/react-cookie-consent/releases/tag/7.2.1) - added `customButtonProps` that allows to use custom props with the button component. Specifically useful for library buttons components, for e.g. MUI Button. diff --git a/build/index.d.ts b/build/index.d.ts index b63e92d..0542674 100644 --- a/build/index.d.ts +++ b/build/index.d.ts @@ -47,6 +47,7 @@ export interface CookieConsentProps { acceptOnScrollPercentage?: number; customContentAttributes?: object; customContainerAttributes?: object; + customButtonProps?: object; } export default class CookieConsent extends React.Component {} diff --git a/build/index.js b/build/index.js index adffca5..274edb4 100644 --- a/build/index.js +++ b/build/index.js @@ -1,2 +1,2 @@ /*! For license information please see index.js.LICENSE.txt */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ReactCookieConsent=t():e.ReactCookieConsent=t()}("undefined"!=typeof self?self:this,(function(){return function(){var e={808:function(e,t,n){var o,r,i;void 0===(r="function"==typeof(o=i=function(){function e(){for(var e=0,t={};e0&&void 0!==arguments[0]?arguments[0]:j,t=l().get(e);return void 0===t&&(t=l().get(x(e))),t},k=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;l().remove(e)},x=function(e){return"".concat(e,"-legacy")},j="CookieConsent",w=function(e){var t=e.condition,n=e.wrapper,o=e.children;return t?n(o):o},T=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&y(e,t)}(a,e);var n,o,r,i,c=(r=a,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=O(r);if(i){var n=O(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return d(this,e)});function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),m(v(t=c.call(this,e)),"handleScroll",(function(){var e=t.props.acceptOnScrollPercentage,n=document.documentElement,o=document.body,r="scrollTop",i="scrollHeight";(n[r]||o[r])/((n[i]||o[i])-n.clientHeight)*100>e&&t.accept(!0)})),m(v(t),"removeScrollListener",(function(){t.props.acceptOnScroll&&window.removeEventListener("scroll",t.handleScroll)})),t.state={visible:!1,style:{alignItems:"baseline",background:"#353535",color:"white",display:"flex",flexWrap:"wrap",justifyContent:"space-between",left:"0",position:"fixed",width:"100%",zIndex:"999"},buttonStyle:{background:"#ffd42d",border:"0",borderRadius:"0px",boxShadow:"none",color:"black",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},declineButtonStyle:{background:"#c12a2a",border:"0",borderRadius:"0px",boxShadow:"none",color:"#e5e5e5",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},contentStyle:{flex:"1 0 300px",margin:"15px"},overlayStyle:{position:"fixed",left:0,top:0,width:"100%",height:"100%",zIndex:"999",backgroundColor:"rgba(0,0,0,0.3)"}},t}return n=a,(o=[{key:"componentDidMount",value:function(){var e=this.props.debug;(void 0===this.getCookieValue()||e)&&(this.setState({visible:!0}),this.props.acceptOnScroll&&window.addEventListener("scroll",this.handleScroll,{passive:!0}))}},{key:"componentWillUnmount",value:function(){this.removeScrollListener()}},{key:"accept",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.props,n=t.cookieName,o=t.cookieValue,r=t.hideOnAccept,i=t.onAccept;this.setCookie(n,o),i(null!=e&&e),r&&(this.setState({visible:!1}),this.removeScrollListener())}},{key:"overlayClick",value:function(){var e=this.props,t=e.acceptOnOverlayClick,n=e.onOverlayClick;t&&this.accept(),n()}},{key:"decline",value:function(){var e=this.props,t=e.cookieName,n=e.declineCookieValue,o=e.hideOnDecline,r=e.onDecline;e.setDeclineCookie&&this.setCookie(t,n),r(),o&&this.setState({visible:!1})}},{key:"setCookie",value:function(e,t){var n=this.props,o=n.extraCookieOptions,r=n.expires,i=n.sameSite,c=this.props.cookieSecurity;void 0===c&&(c=!location||"https:"===location.protocol);var a=f(f({expires:r},o),{},{sameSite:i,secure:c});i===C.NONE&&l().set(x(e),t,a),l().set(e,t,a)}},{key:"getCookieValue",value:function(){var e=this.props.cookieName;return S(e)}},{key:"render",value:function(){var e=this;switch(this.props.visible){case g.HIDDEN:return null;case g.BY_COOKIE_VALUE:if(!this.state.visible)return null}var n=this.props,o=n.location,r=n.style,i=n.buttonStyle,c=n.declineButtonStyle,l=n.contentStyle,a=n.disableStyles,s=n.buttonText,p=n.declineButtonText,b=n.containerClasses,y=n.contentClasses,d=n.buttonClasses,v=n.buttonWrapperClasses,O=n.declineButtonClasses,m=n.buttonId,C=n.declineButtonId,S=n.disableButtonStyles,k=n.enableDeclineButton,x=n.flipButtons,j=n.ButtonComponent,T=n.overlay,B=n.overlayClasses,E=n.overlayStyle,P=n.ariaAcceptLabel,D=n.ariaDeclineLabel,I=n.customContainerAttributes,_=n.customContentAttributes,A={},N={},R={},L={},V={};switch(a?(A=u({},r),N=u({},i),R=u({},c),L=u({},l),V=u({},E)):(A=u({},f(f({},this.state.style),r)),L=u({},f(f({},this.state.contentStyle),l)),V=u({},f(f({},this.state.overlayStyle),E)),S?(N=u({},i),R=u({},c)):(N=u({},f(f({},this.state.buttonStyle),i)),R=u({},f(f({},this.state.declineButtonStyle),c)))),o){case h.TOP:A.top="0";break;case h.BOTTOM:A.bottom="0"}var U=[];return k&&U.push(t().createElement(j,{key:"declineButton",style:R,className:O,id:C,"aria-label":D,onClick:function(){e.decline()}},p)),U.push(t().createElement(j,{key:"acceptButton",style:N,className:d,id:m,"aria-label":P,onClick:function(){e.accept()}},s)),x&&U.reverse(),t().createElement(w,{condition:T,wrapper:function(n){return t().createElement("div",{style:V,className:B,onClick:function(){e.overlayClick()}},n)}},t().createElement("div",u({className:"".concat(b),style:A},I),t().createElement("div",u({style:L,className:y},_),this.props.children),t().createElement("div",{className:"".concat(v)},U.map((function(e){return e})))))}}])&&b(n.prototype,o),a}(e.Component);T.propTypes={location:i().oneOf(Object.keys(h).map((function(e){return h[e]}))),visible:i().oneOf(Object.keys(g).map((function(e){return g[e]}))),sameSite:i().oneOf(Object.keys(C).map((function(e){return C[e]}))),style:i().object,buttonStyle:i().object,declineButtonStyle:i().object,contentStyle:i().object,children:i().any,disableStyles:i().bool,hideOnAccept:i().bool,hideOnDecline:i().bool,onAccept:i().func,onDecline:i().func,buttonText:i().oneOfType([i().string,i().func,i().element]),declineButtonText:i().oneOfType([i().string,i().func,i().element]),cookieName:i().string,cookieValue:i().oneOfType([i().string,i().bool,i().number]),declineCookieValue:i().oneOfType([i().string,i().bool,i().number]),setDeclineCookie:i().bool,debug:i().bool,expires:i().number,containerClasses:i().string,contentClasses:i().string,buttonClasses:i().string,buttonWrapperClasses:i().string,declineButtonClasses:i().string,buttonId:i().string,declineButtonId:i().string,extraCookieOptions:i().object,disableButtonStyles:i().bool,enableDeclineButton:i().bool,flipButtons:i().bool,ButtonComponent:i().elementType,cookieSecurity:i().bool,overlay:i().bool,overlayClasses:i().string,overlayStyle:i().object,onOverlayClick:i().func,acceptOnOverlayClick:i().bool,ariaAcceptLabel:i().string,ariaDeclineLabel:i().string,acceptOnScroll:i().bool,acceptOnScrollPercentage:i().number,customContentAttributes:i().object,customContainerAttributes:i().object},T.defaultProps={disableStyles:!1,hideOnAccept:!0,hideOnDecline:!0,location:h.BOTTOM,visible:g.BY_COOKIE_VALUE,onAccept:function(){},onDecline:function(){},cookieName:j,cookieValue:!0,declineCookieValue:!1,setDeclineCookie:!0,buttonText:"I understand",declineButtonText:"I decline",debug:!1,expires:365,containerClasses:"CookieConsent",contentClasses:"",buttonClasses:"",buttonWrapperClasses:"",declineButtonClasses:"",buttonId:"rcc-confirm-button",declineButtonId:"rcc-decline-button",extraCookieOptions:{},disableButtonStyles:!1,enableDeclineButton:!1,flipButtons:!1,sameSite:C.LAX,ButtonComponent:function(e){var n=e.children,o=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,s);return t().createElement("button",o,n)},overlay:!1,overlayClasses:"",onOverlayClick:function(){},acceptOnOverlayClick:!1,ariaAcceptLabel:"Accept cookies",ariaDeclineLabel:"Decline cookies",acceptOnScroll:!1,acceptOnScrollPercentage:25,customContentAttributes:{},customContainerAttributes:{}};const B=T}(),o}()})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ReactCookieConsent=t():e.ReactCookieConsent=t()}("undefined"!=typeof self?self:this,(function(){return function(){var e={808:function(e,t,n){var o,r,i;void 0===(r="function"==typeof(o=i=function(){function e(){for(var e=0,t={};e0&&void 0!==arguments[0]?arguments[0]:j,t=l().get(e);return void 0===t&&(t=l().get(x(e))),t},k=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;l().remove(e)},x=function(e){return"".concat(e,"-legacy")},j="CookieConsent",w=function(e){var t=e.condition,n=e.wrapper,o=e.children;return t?n(o):o},B=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&y(e,t)}(s,e);var n,o,r,i,c=(r=s,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=O(r);if(i){var n=O(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return d(this,e)});function s(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),m(v(t=c.call(this,e)),"handleScroll",(function(){var e=t.props.acceptOnScrollPercentage,n=document.documentElement,o=document.body,r="scrollTop",i="scrollHeight";(n[r]||o[r])/((n[i]||o[i])-n.clientHeight)*100>e&&t.accept(!0)})),m(v(t),"removeScrollListener",(function(){t.props.acceptOnScroll&&window.removeEventListener("scroll",t.handleScroll)})),t.state={visible:!1,style:{alignItems:"baseline",background:"#353535",color:"white",display:"flex",flexWrap:"wrap",justifyContent:"space-between",left:"0",position:"fixed",width:"100%",zIndex:"999"},buttonStyle:{background:"#ffd42d",border:"0",borderRadius:"0px",boxShadow:"none",color:"black",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},declineButtonStyle:{background:"#c12a2a",border:"0",borderRadius:"0px",boxShadow:"none",color:"#e5e5e5",cursor:"pointer",flex:"0 0 auto",padding:"5px 10px",margin:"15px"},contentStyle:{flex:"1 0 300px",margin:"15px"},overlayStyle:{position:"fixed",left:0,top:0,width:"100%",height:"100%",zIndex:"999",backgroundColor:"rgba(0,0,0,0.3)"}},t}return n=s,(o=[{key:"componentDidMount",value:function(){var e=this.props.debug;(void 0===this.getCookieValue()||e)&&(this.setState({visible:!0}),this.props.acceptOnScroll&&window.addEventListener("scroll",this.handleScroll,{passive:!0}))}},{key:"componentWillUnmount",value:function(){this.removeScrollListener()}},{key:"accept",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.props,n=t.cookieName,o=t.cookieValue,r=t.hideOnAccept,i=t.onAccept;this.setCookie(n,o),i(null!=e&&e),r&&(this.setState({visible:!1}),this.removeScrollListener())}},{key:"overlayClick",value:function(){var e=this.props,t=e.acceptOnOverlayClick,n=e.onOverlayClick;t&&this.accept(),n()}},{key:"decline",value:function(){var e=this.props,t=e.cookieName,n=e.declineCookieValue,o=e.hideOnDecline,r=e.onDecline;e.setDeclineCookie&&this.setCookie(t,n),r(),o&&this.setState({visible:!1})}},{key:"setCookie",value:function(e,t){var n=this.props,o=n.extraCookieOptions,r=n.expires,i=n.sameSite,c=this.props.cookieSecurity;void 0===c&&(c=!location||"https:"===location.protocol);var s=f(f({expires:r},o),{},{sameSite:i,secure:c});i===C.NONE&&l().set(x(e),t,s),l().set(e,t,s)}},{key:"getCookieValue",value:function(){var e=this.props.cookieName;return S(e)}},{key:"render",value:function(){var e=this;switch(this.props.visible){case g.HIDDEN:return null;case g.BY_COOKIE_VALUE:if(!this.state.visible)return null}var n=this.props,o=n.location,r=n.style,i=n.buttonStyle,c=n.declineButtonStyle,l=n.contentStyle,s=n.disableStyles,a=n.buttonText,p=n.declineButtonText,b=n.containerClasses,y=n.contentClasses,d=n.buttonClasses,v=n.buttonWrapperClasses,O=n.declineButtonClasses,m=n.buttonId,C=n.declineButtonId,S=n.disableButtonStyles,k=n.enableDeclineButton,x=n.flipButtons,j=n.ButtonComponent,B=n.overlay,T=n.overlayClasses,E=n.overlayStyle,P=n.ariaAcceptLabel,D=n.ariaDeclineLabel,I=n.customContainerAttributes,_=n.customContentAttributes,A=n.customButtonProps,N={},R={},L={},V={},U={};switch(s?(N=u({},r),R=u({},i),L=u({},c),V=u({},l),U=u({},E)):(N=u({},f(f({},this.state.style),r)),V=u({},f(f({},this.state.contentStyle),l)),U=u({},f(f({},this.state.overlayStyle),E)),S?(R=u({},i),L=u({},c)):(R=u({},f(f({},this.state.buttonStyle),i)),L=u({},f(f({},this.state.declineButtonStyle),c)))),o){case h.TOP:N.top="0";break;case h.BOTTOM:N.bottom="0"}var W=[];return k&&W.push(t().createElement(j,{key:"declineButton",style:L,className:O,id:C,"aria-label":D,onClick:function(){e.decline()}},p)),W.push(t().createElement(j,u({},A,{key:"acceptButton",style:R,className:d,id:m,"aria-label":P,onClick:function(){e.accept()}}),a)),x&&W.reverse(),t().createElement(w,{condition:B,wrapper:function(n){return t().createElement("div",{style:U,className:T,onClick:function(){e.overlayClick()}},n)}},t().createElement("div",u({className:"".concat(b),style:N},I),t().createElement("div",u({style:V,className:y},_),this.props.children),t().createElement("div",{className:"".concat(v)},W.map((function(e){return e})))))}}])&&b(n.prototype,o),s}(e.Component);B.propTypes={location:i().oneOf(Object.keys(h).map((function(e){return h[e]}))),visible:i().oneOf(Object.keys(g).map((function(e){return g[e]}))),sameSite:i().oneOf(Object.keys(C).map((function(e){return C[e]}))),style:i().object,buttonStyle:i().object,declineButtonStyle:i().object,contentStyle:i().object,children:i().any,disableStyles:i().bool,hideOnAccept:i().bool,hideOnDecline:i().bool,onAccept:i().func,onDecline:i().func,buttonText:i().oneOfType([i().string,i().func,i().element]),declineButtonText:i().oneOfType([i().string,i().func,i().element]),cookieName:i().string,cookieValue:i().oneOfType([i().string,i().bool,i().number]),declineCookieValue:i().oneOfType([i().string,i().bool,i().number]),setDeclineCookie:i().bool,debug:i().bool,expires:i().number,containerClasses:i().string,contentClasses:i().string,buttonClasses:i().string,buttonWrapperClasses:i().string,declineButtonClasses:i().string,buttonId:i().string,declineButtonId:i().string,extraCookieOptions:i().object,disableButtonStyles:i().bool,enableDeclineButton:i().bool,flipButtons:i().bool,ButtonComponent:i().elementType,cookieSecurity:i().bool,overlay:i().bool,overlayClasses:i().string,overlayStyle:i().object,onOverlayClick:i().func,acceptOnOverlayClick:i().bool,ariaAcceptLabel:i().string,ariaDeclineLabel:i().string,acceptOnScroll:i().bool,acceptOnScrollPercentage:i().number,customContentAttributes:i().object,customContainerAttributes:i().object,customButtonProps:i().object},B.defaultProps={disableStyles:!1,hideOnAccept:!0,hideOnDecline:!0,location:h.BOTTOM,visible:g.BY_COOKIE_VALUE,onAccept:function(){},onDecline:function(){},cookieName:j,cookieValue:!0,declineCookieValue:!1,setDeclineCookie:!0,buttonText:"I understand",declineButtonText:"I decline",debug:!1,expires:365,containerClasses:"CookieConsent",contentClasses:"",buttonClasses:"",buttonWrapperClasses:"",declineButtonClasses:"",buttonId:"rcc-confirm-button",declineButtonId:"rcc-decline-button",extraCookieOptions:{},disableButtonStyles:!1,enableDeclineButton:!1,flipButtons:!1,sameSite:C.LAX,ButtonComponent:function(e){var n=e.children,o=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,a);return t().createElement("button",o,n)},overlay:!1,overlayClasses:"",onOverlayClick:function(){},acceptOnOverlayClick:!1,ariaAcceptLabel:"Accept cookies",ariaDeclineLabel:"Decline cookies",acceptOnScroll:!1,acceptOnScrollPercentage:25,customContentAttributes:{},customContainerAttributes:{},customButtonProps:{}};const T=B}(),o}()})); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f5fd7e2..a69ec2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "react-cookie-consent", - "version": "7.2.1", + "version": "7.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "7.2.1", + "version": "7.3.0", "license": "MIT", "dependencies": { "js-cookie": "^2.2.1", diff --git a/package.json b/package.json index b460075..6f9c29c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "name": "Rick van Lieshout", "email": "info@rickvanlieshout.com" }, - "version": "7.2.1", + "version": "7.3.0", "description": "A small, simple and customizable cookie consent bar for use in React applications.", "main": "build/index.js", "types": "build/index.d.ts",