@up-group-ui/react-controls
Version:
Up shared react controls
74 lines • 4.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpCookiesConsent = void 0;
var tslib_1 = require("tslib");
var jsx_runtime_1 = require("react/jsx-runtime");
var react_1 = require("react");
var withTheme_1 = (0, tslib_1.__importDefault)(require("../../../Common/theming/withTheme"));
var colorMap_1 = require("../../../Common/theming/colorMap");
var Box_1 = (0, tslib_1.__importDefault)(require("../Box"));
var Button_1 = (0, tslib_1.__importDefault)(require("../../Inputs/Button"));
function setCookie(name, value, days) {
var expires = '';
if (days) {
var date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || '') + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ')
c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0)
return c.substring(nameEQ.length, c.length);
}
return null;
}
var UpCookiesConsent = function (props) {
var children = props.children, cookieKey = props.cookieKey, cookieValue = props.cookieValue, moreDetailsPage = props.moreDetailsPage, closeButtonLabel = props.closeButtonLabel, cookiesConsentMessage = props.cookiesConsentMessage, knowMoreLabel = props.knowMoreLabel;
var _a = (0, react_1.useState)(false), cookiesNotAllowed = _a[0], setCookiesNotAllowed = _a[1];
var updateCookies = function () {
if (!getCookie(cookieKey) || getCookie(cookieKey) !== cookieValue) {
setCookiesNotAllowed(true);
}
};
(0, react_1.useEffect)(function () {
updateCookies();
});
return ((0, jsx_runtime_1.jsxs)(Box_1.default, (0, tslib_1.__assign)({ style: {
display: 'flex',
flexDirection: 'column',
height: 'calc(100vh)',
width: '100%',
} }, { children: [(0, jsx_runtime_1.jsxs)(Box_1.default, (0, tslib_1.__assign)({ flexDirection: 'row', justifyContent: 'center', alignItems: 'center', style: {
height: cookiesNotAllowed ? 80 : 0,
transform: cookiesNotAllowed ? 'scaleY(1)' : 'scaleY(0)',
width: '100%',
backgroundColor: '#424C4A',
paddingRight: 50,
paddingLeft: 50,
transition: 'height 0.5s, transform 0.5s',
} }, { children: [(0, jsx_runtime_1.jsxs)("span", (0, tslib_1.__assign)({ style: {
marginRight: 100,
color: colorMap_1.colors.white,
fontFamily: 'Roboto',
fontSize: '14px',
lineHeight: '16px',
display: 'flex',
flexDirection: 'column',
} }, { children: [(0, jsx_runtime_1.jsx)("span", { children: cookiesConsentMessage }, void 0), moreDetailsPage && ((0, jsx_runtime_1.jsx)("span", (0, tslib_1.__assign)({ style: {
textDecoration: 'underline',
cursor: 'pointer',
}, onClick: function () { return window.open(moreDetailsPage, '_blank'); } }, { children: knowMoreLabel }), void 0))] }), void 0), (0, jsx_runtime_1.jsx)(Button_1.default, (0, tslib_1.__assign)({ width: 'normal', intent: 'primary', onClick: function () {
setCookiesNotAllowed(false);
setCookie(cookieKey, cookieValue);
} }, { children: closeButtonLabel }), void 0)] }), void 0), children] }), void 0));
};
exports.UpCookiesConsent = UpCookiesConsent;
exports.default = (0, withTheme_1.default)(UpCookiesConsent);
//# sourceMappingURL=UpCookiesConsent.js.map