mirror of
https://github.com/Mastermindzh/react-cookie-consent.git
synced 2025-01-20 18:41:44 +01:00
Added the exported function getCookieConsentValue
to get the cookie value from custom code
This commit is contained in:
parent
7d8f52018d
commit
26306f7490
@ -5,6 +5,10 @@ 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).
|
||||
|
||||
## [[6.2.0](https://github.com/Mastermindzh/react-cookie-consent/releases/tag/6.2.0)]
|
||||
|
||||
Added the exported function `getCookieConsentValue` to get the cookie value from custom code
|
||||
|
||||
## [[6.1.0](https://github.com/Mastermindzh/react-cookie-consent/releases/tag/6.1.0)]
|
||||
|
||||
Added support for React 17
|
||||
|
10
README.md
10
README.md
@ -105,6 +105,16 @@ If the decline button is enabled then the (onDecline) prop function can be used,
|
||||
></CookieConsent>
|
||||
```
|
||||
|
||||
### getting the cookies value in your own code
|
||||
|
||||
react-cookie-consent exports a function called `getCookieConsentValue`. You can use it in your own code like so:
|
||||
|
||||
```js
|
||||
import CookieConsent, { Cookies, getCookieConsentValue } from "react-cookie-consent";
|
||||
|
||||
console.log(getCookieConsentValue());
|
||||
```
|
||||
|
||||
## Props
|
||||
|
||||
| Prop | Type | Default value | Description |
|
||||
|
127
build/index.js
127
build/index.js
@ -6,9 +6,10 @@ module.exports = (() => {
|
||||
n.r(t),
|
||||
n.d(t, {
|
||||
Cookies: () => s(),
|
||||
OPTIONS: () => O,
|
||||
SAME_SITE_OPTIONS: () => v,
|
||||
default: () => S,
|
||||
OPTIONS: () => h,
|
||||
SAME_SITE_OPTIONS: () => m,
|
||||
default: () => j,
|
||||
getCookieConsentValue: () => g,
|
||||
});
|
||||
const o = require("react");
|
||||
var r = n.n(o),
|
||||
@ -59,7 +60,7 @@ module.exports = (() => {
|
||||
var n = null != arguments[t] ? arguments[t] : {};
|
||||
t % 2
|
||||
? p(Object(n), !0).forEach(function (t) {
|
||||
y(e, t, n[t]);
|
||||
b(e, t, n[t]);
|
||||
})
|
||||
: Object.getOwnPropertyDescriptors
|
||||
? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
|
||||
@ -69,7 +70,7 @@ module.exports = (() => {
|
||||
}
|
||||
return e;
|
||||
}
|
||||
function y(e, t, n) {
|
||||
function b(e, t, n) {
|
||||
return (
|
||||
t in e
|
||||
? Object.defineProperty(e, t, {
|
||||
@ -82,7 +83,7 @@ module.exports = (() => {
|
||||
e
|
||||
);
|
||||
}
|
||||
function b(e, t) {
|
||||
function y(e, t) {
|
||||
for (var n = 0; n < t.length; n++) {
|
||||
var o = t[n];
|
||||
(o.enumerable = o.enumerable || !1),
|
||||
@ -98,7 +99,7 @@ module.exports = (() => {
|
||||
return (e.__proto__ = t), e;
|
||||
})(e, t);
|
||||
}
|
||||
function m(e, t) {
|
||||
function v(e, t) {
|
||||
return !t || ("object" !== l(t) && "function" != typeof t)
|
||||
? (function (e) {
|
||||
if (void 0 === e)
|
||||
@ -109,22 +110,31 @@ module.exports = (() => {
|
||||
})(e)
|
||||
: t;
|
||||
}
|
||||
function h(e) {
|
||||
return (h = Object.setPrototypeOf
|
||||
function O(e) {
|
||||
return (O = Object.setPrototypeOf
|
||||
? Object.getPrototypeOf
|
||||
: function (e) {
|
||||
return e.__proto__ || Object.getPrototypeOf(e);
|
||||
})(e);
|
||||
}
|
||||
var O = { TOP: "top", BOTTOM: "bottom", NONE: "none" },
|
||||
v = { STRICT: "strict", LAX: "lax", NONE: "none" },
|
||||
g = function (e) {
|
||||
var h = { TOP: "top", BOTTOM: "bottom", NONE: "none" },
|
||||
m = { STRICT: "strict", LAX: "lax", NONE: "none" },
|
||||
g = function () {
|
||||
var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : C,
|
||||
t = s().get(e);
|
||||
return void 0 === t && (t = s().get(S(e))), t;
|
||||
},
|
||||
S = function (e) {
|
||||
return "".concat(e, "-legacy");
|
||||
},
|
||||
C = "CookieConsent",
|
||||
k = function (e) {
|
||||
var t = e.condition,
|
||||
n = e.wrapper,
|
||||
o = e.children;
|
||||
return t ? n(o) : o;
|
||||
},
|
||||
C = (function (e) {
|
||||
x = (function (e) {
|
||||
!(function (e, t) {
|
||||
if ("function" != typeof t && null !== t)
|
||||
throw new TypeError("Super expression must either be null or a function");
|
||||
@ -153,12 +163,12 @@ module.exports = (() => {
|
||||
})()),
|
||||
function () {
|
||||
var e,
|
||||
t = h(o);
|
||||
t = O(o);
|
||||
if (i) {
|
||||
var n = h(this).constructor;
|
||||
var n = O(this).constructor;
|
||||
e = Reflect.construct(t, arguments, n);
|
||||
} else e = t.apply(this, arguments);
|
||||
return m(this, e);
|
||||
return v(this, e);
|
||||
});
|
||||
function a(e) {
|
||||
var t;
|
||||
@ -250,12 +260,6 @@ module.exports = (() => {
|
||||
o && this.setState({ visible: !1 });
|
||||
},
|
||||
},
|
||||
{
|
||||
key: "getLegacyCookieName",
|
||||
value: function (e) {
|
||||
return "".concat(e, "-legacy");
|
||||
},
|
||||
},
|
||||
{
|
||||
key: "setCookie",
|
||||
value: function (e, t) {
|
||||
@ -266,15 +270,14 @@ module.exports = (() => {
|
||||
c = this.props.cookieSecurity;
|
||||
void 0 === c && (c = !location || "https:" === location.protocol);
|
||||
var a = f(f({ expires: r }, o), {}, { sameSite: i, secure: c });
|
||||
i === v.NONE && s().set(this.getLegacyCookieName(e), t, a), s().set(e, t, a);
|
||||
i === m.NONE && s().set(S(e), t, a), s().set(e, t, a);
|
||||
},
|
||||
},
|
||||
{
|
||||
key: "getCookieValue",
|
||||
value: function () {
|
||||
var e = this.props.cookieName,
|
||||
t = s().get(e);
|
||||
return void 0 === t && (t = s().get(this.getLegacyCookieName(e))), t;
|
||||
var e = this.props.cookieName;
|
||||
return g(e);
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -291,15 +294,15 @@ module.exports = (() => {
|
||||
s = t.disableStyles,
|
||||
l = t.buttonText,
|
||||
p = t.declineButtonText,
|
||||
y = t.containerClasses,
|
||||
b = t.contentClasses,
|
||||
b = t.containerClasses,
|
||||
y = t.contentClasses,
|
||||
d = t.buttonClasses,
|
||||
m = t.buttonWrapperClasses,
|
||||
h = t.declineButtonClasses,
|
||||
v = t.buttonId,
|
||||
C = t.declineButtonId,
|
||||
v = t.buttonWrapperClasses,
|
||||
O = t.declineButtonClasses,
|
||||
m = t.buttonId,
|
||||
g = t.declineButtonId,
|
||||
S = t.disableButtonStyles,
|
||||
k = t.enableDeclineButton,
|
||||
C = t.enableDeclineButton,
|
||||
x = t.flipButtons,
|
||||
j = t.ButtonComponent,
|
||||
T = t.overlay,
|
||||
@ -308,43 +311,43 @@ module.exports = (() => {
|
||||
P = t.ariaAcceptLabel,
|
||||
D = t.ariaDeclineLabel,
|
||||
E = {},
|
||||
N = {},
|
||||
I = {},
|
||||
N = {},
|
||||
_ = {},
|
||||
R = {};
|
||||
switch (
|
||||
(s
|
||||
? ((E = u({}, o)),
|
||||
(N = u({}, i)),
|
||||
(I = u({}, c)),
|
||||
(I = u({}, i)),
|
||||
(N = u({}, c)),
|
||||
(_ = u({}, a)),
|
||||
(R = u({}, B)))
|
||||
: ((E = u({}, f(f({}, this.state.style), o))),
|
||||
(_ = u({}, f(f({}, this.state.contentStyle), a))),
|
||||
(R = u({}, f(f({}, this.state.overlayStyle), B))),
|
||||
S
|
||||
? ((N = u({}, i)), (I = u({}, c)))
|
||||
: ((N = u({}, f(f({}, this.state.buttonStyle), i))),
|
||||
(I = u({}, f(f({}, this.state.declineButtonStyle), c))))),
|
||||
? ((I = u({}, i)), (N = u({}, c)))
|
||||
: ((I = u({}, f(f({}, this.state.buttonStyle), i))),
|
||||
(N = u({}, f(f({}, this.state.declineButtonStyle), c))))),
|
||||
n)
|
||||
) {
|
||||
case O.TOP:
|
||||
case h.TOP:
|
||||
E.top = "0";
|
||||
break;
|
||||
case O.BOTTOM:
|
||||
case h.BOTTOM:
|
||||
E.bottom = "0";
|
||||
}
|
||||
var A = [];
|
||||
return (
|
||||
k &&
|
||||
C &&
|
||||
A.push(
|
||||
r().createElement(
|
||||
j,
|
||||
{
|
||||
key: "declineButton",
|
||||
style: I,
|
||||
className: h,
|
||||
id: C,
|
||||
style: N,
|
||||
className: O,
|
||||
id: g,
|
||||
"aria-label": D,
|
||||
onClick: function () {
|
||||
e.decline();
|
||||
@ -358,9 +361,9 @@ module.exports = (() => {
|
||||
j,
|
||||
{
|
||||
key: "acceptButton",
|
||||
style: N,
|
||||
style: I,
|
||||
className: d,
|
||||
id: v,
|
||||
id: m,
|
||||
"aria-label": P,
|
||||
onClick: function () {
|
||||
e.accept();
|
||||
@ -371,7 +374,7 @@ module.exports = (() => {
|
||||
),
|
||||
x && A.reverse(),
|
||||
r().createElement(
|
||||
g,
|
||||
k,
|
||||
{
|
||||
condition: T,
|
||||
wrapper: function (e) {
|
||||
@ -380,11 +383,11 @@ module.exports = (() => {
|
||||
},
|
||||
r().createElement(
|
||||
"div",
|
||||
{ className: "".concat(y), style: E },
|
||||
r().createElement("div", { style: _, className: b }, this.props.children),
|
||||
{ className: "".concat(b), style: E },
|
||||
r().createElement("div", { style: _, className: y }, this.props.children),
|
||||
r().createElement(
|
||||
"div",
|
||||
{ className: "".concat(m) },
|
||||
{ className: "".concat(v) },
|
||||
A.map(function (e) {
|
||||
return e;
|
||||
})
|
||||
@ -394,19 +397,19 @@ module.exports = (() => {
|
||||
);
|
||||
},
|
||||
},
|
||||
]) && b(t.prototype, n),
|
||||
]) && y(t.prototype, n),
|
||||
a
|
||||
);
|
||||
})(o.Component);
|
||||
(C.propTypes = {
|
||||
(x.propTypes = {
|
||||
location: c().oneOf(
|
||||
Object.keys(O).map(function (e) {
|
||||
return O[e];
|
||||
Object.keys(h).map(function (e) {
|
||||
return h[e];
|
||||
})
|
||||
),
|
||||
sameSite: c().oneOf(
|
||||
Object.keys(v).map(function (e) {
|
||||
return v[e];
|
||||
Object.keys(m).map(function (e) {
|
||||
return m[e];
|
||||
})
|
||||
),
|
||||
style: c().object,
|
||||
@ -446,14 +449,14 @@ module.exports = (() => {
|
||||
ariaAcceptLabel: c().string,
|
||||
ariaDeclineLabel: c().string,
|
||||
}),
|
||||
(C.defaultProps = {
|
||||
(x.defaultProps = {
|
||||
disableStyles: !1,
|
||||
hideOnAccept: !0,
|
||||
hideOnDecline: !0,
|
||||
location: O.BOTTOM,
|
||||
location: h.BOTTOM,
|
||||
onAccept: function () {},
|
||||
onDecline: function () {},
|
||||
cookieName: "CookieConsent",
|
||||
cookieName: C,
|
||||
cookieValue: !0,
|
||||
declineCookieValue: !1,
|
||||
setDeclineCookie: !0,
|
||||
@ -472,7 +475,7 @@ module.exports = (() => {
|
||||
disableButtonStyles: !1,
|
||||
enableDeclineButton: !1,
|
||||
flipButtons: !1,
|
||||
sameSite: v.LAX,
|
||||
sameSite: m.LAX,
|
||||
ButtonComponent: function (e) {
|
||||
var t = e.children,
|
||||
n = (function (e, t) {
|
||||
@ -504,7 +507,7 @@ module.exports = (() => {
|
||||
ariaAcceptLabel: "Accept cookies",
|
||||
ariaDeclineLabel: "Decline cookies",
|
||||
});
|
||||
const S = C;
|
||||
const j = x;
|
||||
},
|
||||
808: (e, t, n) => {
|
||||
var o, r, i;
|
||||
|
50
src/index.js
50
src/index.js
@ -14,6 +14,35 @@ export const SAME_SITE_OPTIONS = {
|
||||
NONE: "none",
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns the value of the consent cookie
|
||||
* Retrieves the regular value first and if not found the legacy one according
|
||||
* to: https://web.dev/samesite-cookie-recipes/#handling-incompatible-clients
|
||||
* @param {*} name optional name of the cookie
|
||||
*/
|
||||
export const getCookieConsentValue = (name = defaultCookieConsentName) => {
|
||||
let cookieValue = Cookies.get(name);
|
||||
|
||||
// if the cookieValue is undefined check for the legacy cookie
|
||||
if (cookieValue === undefined) {
|
||||
cookieValue = Cookies.get(getLegacyCookieName(name));
|
||||
}
|
||||
return cookieValue;
|
||||
};
|
||||
|
||||
/**
|
||||
* Get the legacy cookie name by the regular cookie name
|
||||
* @param {string} name of cookie to get
|
||||
*/
|
||||
const getLegacyCookieName = (name) => {
|
||||
return `${name}-legacy`;
|
||||
};
|
||||
|
||||
/**
|
||||
* Default name of the cookie which is set by CookieConsent
|
||||
*/
|
||||
const defaultCookieConsentName = "CookieConsent";
|
||||
|
||||
/**
|
||||
* A function to wrap elements with a "wrapper" on a condition
|
||||
* @param {object} wrappingOptions
|
||||
@ -128,14 +157,6 @@ class CookieConsent extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the legacy cookie name by the regular cookie name
|
||||
* @param {string} name of cookie to get
|
||||
*/
|
||||
getLegacyCookieName(name) {
|
||||
return `${name}-legacy`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to set the consent cookie based on the provided variables
|
||||
* Sets two cookies to handle incompatible browsers, more details:
|
||||
@ -153,7 +174,7 @@ class CookieConsent extends Component {
|
||||
|
||||
// Fallback for older browsers where can not set SameSite=None, SEE: https://web.dev/samesite-cookie-recipes/#handling-incompatible-clients
|
||||
if (sameSite === SAME_SITE_OPTIONS.NONE) {
|
||||
Cookies.set(this.getLegacyCookieName(cookieName), cookieValue, cookieOptions);
|
||||
Cookies.set(getLegacyCookieName(cookieName), cookieValue, cookieOptions);
|
||||
}
|
||||
|
||||
// set the regular cookie
|
||||
@ -167,14 +188,7 @@ class CookieConsent extends Component {
|
||||
*/
|
||||
getCookieValue() {
|
||||
const { cookieName } = this.props;
|
||||
|
||||
let cookieValue = Cookies.get(cookieName);
|
||||
|
||||
// if the cookieValue is undefined check for the legacy cookie
|
||||
if (cookieValue === undefined) {
|
||||
cookieValue = Cookies.get(this.getLegacyCookieName(cookieName));
|
||||
}
|
||||
return cookieValue;
|
||||
return getCookieConsentValue(cookieName);
|
||||
}
|
||||
|
||||
render() {
|
||||
@ -364,7 +378,7 @@ CookieConsent.defaultProps = {
|
||||
location: OPTIONS.BOTTOM,
|
||||
onAccept: () => {},
|
||||
onDecline: () => {},
|
||||
cookieName: "CookieConsent",
|
||||
cookieName: defaultCookieConsentName,
|
||||
cookieValue: true,
|
||||
declineCookieValue: false,
|
||||
setDeclineCookie: true,
|
||||
|
Loading…
Reference in New Issue
Block a user