@lidofinance/lido-ui 3.13.0 → 3.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cookies-tooltip/utils.js +10 -0
- package/dist/cjs/cookies-tooltip/utils.js.map +1 -1
- package/dist/cjs/theme/constants.js +3 -2
- package/dist/cjs/theme/constants.js.map +1 -1
- package/dist/cjs/theme/utils/set-theme-cookie.js +14 -6
- package/dist/cjs/theme/utils/set-theme-cookie.js.map +1 -1
- package/dist/cjs/utils/cookies-client-side.js +25 -10
- package/dist/cjs/utils/cookies-client-side.js.map +1 -1
- package/dist/esm/cookies-tooltip/utils.js +11 -1
- package/dist/esm/cookies-tooltip/utils.js.map +1 -1
- package/dist/esm/theme/constants.js +2 -1
- package/dist/esm/theme/constants.js.map +1 -1
- package/dist/esm/theme/utils/set-theme-cookie.js +15 -7
- package/dist/esm/theme/utils/set-theme-cookie.js.map +1 -1
- package/dist/esm/utils/cookies-client-side.js +24 -10
- package/dist/esm/utils/cookies-client-side.js.map +1 -1
- package/dist/types/cookies-tooltip/utils.d.ts.map +1 -1
- package/dist/types/theme/constants.d.ts +1 -1
- package/dist/types/theme/constants.d.ts.map +1 -1
- package/dist/types/theme/utils/set-theme-cookie.d.ts.map +1 -1
- package/dist/types/utils/cookies-client-side.d.ts +1 -0
- package/dist/types/utils/cookies-client-side.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -16,10 +16,20 @@ _export(exports, {
|
|
|
16
16
|
const _utils = require("../utils");
|
|
17
17
|
const _constants = require("./constants");
|
|
18
18
|
const allowCookies = ()=>{
|
|
19
|
+
// For top level domain - *.some-domain.fi
|
|
19
20
|
(0, _utils.setCrossDomainCookieClientSide)(_constants.COOKIE_ALLOWED_KEY, _constants.COOKIE_VALUE_YES);
|
|
21
|
+
if (!document.cookie.includes(`${_constants.COOKIE_ALLOWED_KEY}=${_constants.COOKIE_VALUE_YES}`)) {
|
|
22
|
+
// For specific.domain.fi, if cookie can't be set to top level domain
|
|
23
|
+
(0, _utils.setDomainCookieClientSide)(_constants.COOKIE_ALLOWED_KEY, _constants.COOKIE_VALUE_YES);
|
|
24
|
+
}
|
|
20
25
|
};
|
|
21
26
|
const declineCookies = ()=>{
|
|
27
|
+
// For top level domain - *.some-domain.fi
|
|
22
28
|
(0, _utils.setCrossDomainCookieClientSide)(_constants.COOKIE_ALLOWED_KEY, _constants.COOKIE_VALUE_NO);
|
|
29
|
+
if (!document.cookie.includes(`${_constants.COOKIE_ALLOWED_KEY}=${_constants.COOKIE_VALUE_NO}`)) {
|
|
30
|
+
// For specific.domain.fi, if cookie can't be set to top level domain
|
|
31
|
+
(0, _utils.setDomainCookieClientSide)(_constants.COOKIE_ALLOWED_KEY, _constants.COOKIE_VALUE_NO);
|
|
32
|
+
}
|
|
23
33
|
};
|
|
24
34
|
const migrationAllowCookieToCrossDomainCookieClientSide = (keyOldCookie)=>{
|
|
25
35
|
const old_cookie_value = (0, _utils.getDomainCookieClientSide)(keyOldCookie);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/cookies-tooltip/utils.ts"],"sourcesContent":["import {\n setCrossDomainCookieClientSide,\n getDomainCookieClientSide,\n removeCookiesClientSide,\n} from '../utils'\nimport {\n COOKIE_ALLOWED_KEY,\n COOKIE_VALUE_NO,\n COOKIE_VALUE_YES,\n} from './constants'\n\nexport const allowCookies = (): void => {\n setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_YES)\n}\n\nexport const declineCookies = (): void => {\n setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO)\n}\n\nexport const migrationAllowCookieToCrossDomainCookieClientSide = (\n keyOldCookie: string,\n) => {\n const old_cookie_value = getDomainCookieClientSide(keyOldCookie)\n\n if (!old_cookie_value) {\n return\n }\n\n removeCookiesClientSide(keyOldCookie)\n\n if (old_cookie_value === COOKIE_VALUE_YES) {\n allowCookies()\n } else if (old_cookie_value === COOKIE_VALUE_NO) {\n declineCookies()\n }\n // else noop\n}\n"],"names":["allowCookies","declineCookies","migrationAllowCookieToCrossDomainCookieClientSide","setCrossDomainCookieClientSide","COOKIE_ALLOWED_KEY","COOKIE_VALUE_YES","COOKIE_VALUE_NO","keyOldCookie","old_cookie_value","getDomainCookieClientSide","removeCookiesClientSide"],"mappings":"AAAA;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../packages/cookies-tooltip/utils.ts"],"sourcesContent":["import {\n setCrossDomainCookieClientSide,\n getDomainCookieClientSide,\n removeCookiesClientSide,\n setDomainCookieClientSide,\n} from '../utils'\nimport {\n COOKIE_ALLOWED_KEY,\n COOKIE_VALUE_NO,\n COOKIE_VALUE_YES,\n} from './constants'\n\nexport const allowCookies = (): void => {\n // For top level domain - *.some-domain.fi\n setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_YES)\n\n if (!document.cookie.includes(`${COOKIE_ALLOWED_KEY}=${COOKIE_VALUE_YES}`)) {\n // For specific.domain.fi, if cookie can't be set to top level domain\n setDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_YES)\n }\n}\n\nexport const declineCookies = (): void => {\n // For top level domain - *.some-domain.fi\n setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO)\n\n if (!document.cookie.includes(`${COOKIE_ALLOWED_KEY}=${COOKIE_VALUE_NO}`)) {\n // For specific.domain.fi, if cookie can't be set to top level domain\n setDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO)\n }\n}\n\nexport const migrationAllowCookieToCrossDomainCookieClientSide = (\n keyOldCookie: string,\n) => {\n const old_cookie_value = getDomainCookieClientSide(keyOldCookie)\n\n if (!old_cookie_value) {\n return\n }\n\n removeCookiesClientSide(keyOldCookie)\n\n if (old_cookie_value === COOKIE_VALUE_YES) {\n allowCookies()\n } else if (old_cookie_value === COOKIE_VALUE_NO) {\n declineCookies()\n }\n // else noop\n}\n"],"names":["allowCookies","declineCookies","migrationAllowCookieToCrossDomainCookieClientSide","setCrossDomainCookieClientSide","COOKIE_ALLOWED_KEY","COOKIE_VALUE_YES","document","cookie","includes","setDomainCookieClientSide","COOKIE_VALUE_NO","keyOldCookie","old_cookie_value","getDomainCookieClientSide","removeCookiesClientSide"],"mappings":"AAAA;;;;;;;;;;;IAYaA,YAAY,MAAZA,YAAY;IAUZC,cAAc,MAAdA,cAAc;IAUdC,iDAAiD,MAAjDA,iDAAiD;;uBA3BvD,UAAU;2BAKV,aAAa;AAEb,MAAMF,YAAY,GAAG,IAAY;IACtC,0CAA0C;IAC1CG,IAAAA,MAA8B,+BAAA,EAACC,UAAkB,mBAAA,EAAEC,UAAgB,iBAAA,CAAC;IAEpE,IAAI,CAACC,QAAQ,CAACC,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAEJ,UAAkB,mBAAA,CAAC,CAAC,EAAEC,UAAgB,iBAAA,CAAC,CAAC,CAAC,EAAE;QAC1E,qEAAqE;QACrEI,IAAAA,MAAyB,0BAAA,EAACL,UAAkB,mBAAA,EAAEC,UAAgB,iBAAA,CAAC;IACjE,CAAC;AACH,CAAC;AAEM,MAAMJ,cAAc,GAAG,IAAY;IACxC,0CAA0C;IAC1CE,IAAAA,MAA8B,+BAAA,EAACC,UAAkB,mBAAA,EAAEM,UAAe,gBAAA,CAAC;IAEnE,IAAI,CAACJ,QAAQ,CAACC,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAEJ,UAAkB,mBAAA,CAAC,CAAC,EAAEM,UAAe,gBAAA,CAAC,CAAC,CAAC,EAAE;QACzE,qEAAqE;QACrED,IAAAA,MAAyB,0BAAA,EAACL,UAAkB,mBAAA,EAAEM,UAAe,gBAAA,CAAC;IAChE,CAAC;AACH,CAAC;AAEM,MAAMR,iDAAiD,GAAG,CAC/DS,YAAoB,GACjB;IACH,MAAMC,gBAAgB,GAAGC,IAAAA,MAAyB,0BAAA,EAACF,YAAY,CAAC;IAEhE,IAAI,CAACC,gBAAgB,EAAE;QACrB,OAAM;IACR,CAAC;IAEDE,IAAAA,MAAuB,wBAAA,EAACH,YAAY,CAAC;IAErC,IAAIC,gBAAgB,KAAKP,UAAgB,iBAAA,EAAE;QACzCL,YAAY,EAAE;IAChB,OAAO,IAAIY,gBAAgB,KAAKF,UAAe,gBAAA,EAAE;QAC/CT,cAAc,EAAE;IAClB,CAAC;AACD,YAAY;AACd,CAAC"}
|
|
@@ -13,7 +13,7 @@ _export(exports, {
|
|
|
13
13
|
DEFAULT_THEME_NAME: ()=>DEFAULT_THEME_NAME,
|
|
14
14
|
themeCookieKey: ()=>themeCookieKey,
|
|
15
15
|
globalStyleDataAttribute: ()=>globalStyleDataAttribute,
|
|
16
|
-
|
|
16
|
+
themeCookieMaxAge: ()=>themeCookieMaxAge,
|
|
17
17
|
prefersDarkThemeMediaQuery: ()=>prefersDarkThemeMediaQuery
|
|
18
18
|
});
|
|
19
19
|
var ref;
|
|
@@ -25,7 +25,8 @@ var ThemeName;
|
|
|
25
25
|
const DEFAULT_THEME_NAME = ThemeName.light;
|
|
26
26
|
const themeCookieKey = 'lido-theme-manual';
|
|
27
27
|
const globalStyleDataAttribute = 'data-lido-ui-global-style';
|
|
28
|
-
const
|
|
28
|
+
const themeCookieMaxAge = 365 * 24 * 3600 // 365 days in seconds
|
|
29
|
+
;
|
|
29
30
|
const prefersDarkThemeMediaQuery = typeof window !== 'undefined' ? (ref = window.matchMedia) === null || ref === void 0 ? void 0 : ref.call(window, '(prefers-color-scheme: dark)') : undefined;
|
|
30
31
|
|
|
31
32
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/theme/constants.ts"],"sourcesContent":["export enum ThemeName {\n light = 'light',\n dark = 'dark',\n}\n\nexport const DEFAULT_THEME_NAME = ThemeName.light\n\nexport const themeCookieKey = 'lido-theme-manual'\nexport const globalStyleDataAttribute = 'data-lido-ui-global-style'\n\nexport const
|
|
1
|
+
{"version":3,"sources":["../../../packages/theme/constants.ts"],"sourcesContent":["export enum ThemeName {\n light = 'light',\n dark = 'dark',\n}\n\nexport const DEFAULT_THEME_NAME = ThemeName.light\n\nexport const themeCookieKey = 'lido-theme-manual'\nexport const globalStyleDataAttribute = 'data-lido-ui-global-style'\n\nexport const themeCookieMaxAge = 365 * 24 * 3600 // 365 days in seconds\n\nexport const prefersDarkThemeMediaQuery =\n typeof window !== 'undefined'\n ? window.matchMedia?.('(prefers-color-scheme: dark)')\n : undefined\n"],"names":["DEFAULT_THEME_NAME","themeCookieKey","globalStyleDataAttribute","themeCookieMaxAge","prefersDarkThemeMediaQuery","window","ThemeName","light","dark","matchMedia","undefined"],"mappings":"AAAA;;;;;;;;;;;;IAKaA,kBAAkB,MAAlBA,kBAAkB;IAElBC,cAAc,MAAdA,cAAc;IACdC,wBAAwB,MAAxBA,wBAAwB;IAExBC,iBAAiB,MAAjBA,iBAAiB;IAEjBC,0BAA0B,MAA1BA,0BAA0B;;IAEjCC,GAAiB;IAdhB,SAGN;UAHWC,SAAS;IAATA,SAAS,CACnBC,OAAK,IAALA,OAAK;IADKD,SAAS,CAEnBE,MAAI,IAAJA,MAAI;GAFMF,SAAS,KAATA,SAAS;AAKd,MAAMN,kBAAkB,GAAGM,SAAS,CAACC,KAAK;AAE1C,MAAMN,cAAc,GAAG,mBAAmB;AAC1C,MAAMC,wBAAwB,GAAG,2BAA2B;AAE5D,MAAMC,iBAAiB,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB;AAAvB;AAEzC,MAAMC,0BAA0B,GACrC,OAAOC,MAAM,KAAK,WAAW,GACzBA,CAAAA,GAAiB,GAAjBA,MAAM,CAACI,UAAU,cAAjBJ,GAAiB,WAAkC,GAAnDA,KAAAA,CAAmD,GAAnDA,GAAiB,CAAjBA,IAAmD,CAAnDA,MAAM,EAAc,8BAA8B,CAAC,GACnDK,SAAS"}
|
|
@@ -9,22 +9,30 @@ Object.defineProperty(exports, "setThemeCookie", {
|
|
|
9
9
|
const _uaParserJs = require("ua-parser-js");
|
|
10
10
|
const _utils = require("../../utils");
|
|
11
11
|
const _constants = require("../constants");
|
|
12
|
-
const
|
|
12
|
+
const parser = new _uaParserJs.UAParser();
|
|
13
|
+
const setSecureCookie = (cookie)=>{
|
|
13
14
|
var ref, ref1;
|
|
14
|
-
const cookie = `${_constants.themeCookieKey}=${theme};expires=${_constants.themeCookieExpire};path=/;domain=${(0, _utils.getTopLevelDomain)()};samesite=None;`;
|
|
15
15
|
// 1. we want this cookie to be available on HTTP websites too.
|
|
16
16
|
// 2. there is a bug on localhost which causes Chrome to ignore cookies set without Secure,
|
|
17
17
|
// and Safari when cookies are set with Secure, so we're forcing cookie into both
|
|
18
|
-
const parser = new _uaParserJs.UAParser();
|
|
19
18
|
if (((ref = parser.getBrowser()) === null || ref === void 0 ? void 0 : (ref1 = ref.name) === null || ref1 === void 0 ? void 0 : ref1.toLowerCase()) === 'safari') {
|
|
20
|
-
if (window.location.protocol
|
|
21
|
-
document.cookie = `${cookie}Secure;`;
|
|
22
|
-
} else {
|
|
19
|
+
if (window.location.protocol !== 'https:') {
|
|
23
20
|
document.cookie = cookie;
|
|
21
|
+
} else {
|
|
22
|
+
document.cookie = `${cookie}Secure;`;
|
|
24
23
|
}
|
|
25
24
|
} else {
|
|
26
25
|
document.cookie = `${cookie}Secure;`;
|
|
27
26
|
}
|
|
28
27
|
};
|
|
28
|
+
const setThemeCookie = (theme)=>{
|
|
29
|
+
const cookie = `${_constants.themeCookieKey}=${theme};max-age=${_constants.themeCookieMaxAge};path=/;samesite=None;`;
|
|
30
|
+
// For top level domain - *.some-domain.fi
|
|
31
|
+
setSecureCookie(`${cookie}domain=${(0, _utils.getTopLevelDomain)()};`);
|
|
32
|
+
if (!document.cookie.includes(`${_constants.themeCookieKey}=${theme}`)) {
|
|
33
|
+
// For specific.domain.fi, if cookie can't be set to top level domain
|
|
34
|
+
setSecureCookie(cookie);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
29
37
|
|
|
30
38
|
//# sourceMappingURL=set-theme-cookie.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../packages/theme/utils/set-theme-cookie.ts"],"sourcesContent":["import { UAParser } from 'ua-parser-js'\nimport { getTopLevelDomain } from '../../utils'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../packages/theme/utils/set-theme-cookie.ts"],"sourcesContent":["import { UAParser } from 'ua-parser-js'\nimport { getTopLevelDomain } from '../../utils'\nimport { themeCookieMaxAge, themeCookieKey, ThemeName } from '../constants'\n\nconst parser = new UAParser()\n\nconst setSecureCookie = (cookie: string) => {\n // 1. we want this cookie to be available on HTTP websites too.\n // 2. there is a bug on localhost which causes Chrome to ignore cookies set without Secure,\n // and Safari when cookies are set with Secure, so we're forcing cookie into both\n if (parser.getBrowser()?.name?.toLowerCase() === 'safari') {\n if (window.location.protocol !== 'https:') {\n document.cookie = cookie\n } else {\n document.cookie = `${cookie}Secure;`\n }\n } else {\n document.cookie = `${cookie}Secure;`\n }\n}\n\nexport const setThemeCookie = (theme: ThemeName) => {\n const cookie = `${themeCookieKey}=${theme};max-age=${themeCookieMaxAge};path=/;samesite=None;`\n // For top level domain - *.some-domain.fi\n setSecureCookie(`${cookie}domain=${getTopLevelDomain()};`)\n\n if (!document.cookie.includes(`${themeCookieKey}=${theme}`)) {\n // For specific.domain.fi, if cookie can't be set to top level domain\n setSecureCookie(cookie)\n }\n}\n"],"names":["setThemeCookie","parser","UAParser","setSecureCookie","cookie","getBrowser","name","toLowerCase","window","location","protocol","document","theme","themeCookieKey","themeCookieMaxAge","getTopLevelDomain","includes"],"mappings":"AAAA;;;;+BAqBaA,gBAAc;;aAAdA,cAAc;;4BArBF,cAAc;uBACL,aAAa;2BACc,cAAc;AAE3E,MAAMC,MAAM,GAAG,IAAIC,WAAQ,SAAA,EAAE;AAE7B,MAAMC,eAAe,GAAG,CAACC,MAAc,GAAK;QAItCH,GAAmB;IAHvB,+DAA+D;IAC/D,2FAA2F;IAC3F,iFAAiF;IACjF,IAAIA,CAAAA,CAAAA,GAAmB,GAAnBA,MAAM,CAACI,UAAU,EAAE,cAAnBJ,GAAmB,WAAM,GAAzBA,KAAAA,CAAyB,GAAzBA,QAAAA,GAAmB,CAAEK,IAAI,6BAAA,GAAzBL,KAAAA,CAAyB,GAAzBA,KAA2BM,WAAW,EAAE,MAAK,QAAQ,EAAE;QACzD,IAAIC,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,QAAQ,EAAE;YACzCC,QAAQ,CAACP,MAAM,GAAGA,MAAM;QAC1B,OAAO;YACLO,QAAQ,CAACP,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;QACtC,CAAC;IACH,OAAO;QACLO,QAAQ,CAACP,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;AACH,CAAC;AAEM,MAAMJ,cAAc,GAAG,CAACY,KAAgB,GAAK;IAClD,MAAMR,MAAM,GAAG,CAAC,EAAES,UAAc,eAAA,CAAC,CAAC,EAAED,KAAK,CAAC,SAAS,EAAEE,UAAiB,kBAAA,CAAC,sBAAsB,CAAC;IAC9F,0CAA0C;IAC1CX,eAAe,CAAC,CAAC,EAAEC,MAAM,CAAC,OAAO,EAAEW,IAAAA,MAAiB,kBAAA,GAAE,CAAC,CAAC,CAAC,CAAC;IAE1D,IAAI,CAACJ,QAAQ,CAACP,MAAM,CAACY,QAAQ,CAAC,CAAC,EAAEH,UAAc,eAAA,CAAC,CAAC,EAAED,KAAK,CAAC,CAAC,CAAC,EAAE;QAC3D,qEAAqE;QACrET,eAAe,CAACC,MAAM,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
@@ -10,33 +10,48 @@ function _export(target, all) {
|
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
12
|
setCrossDomainCookieClientSide: ()=>setCrossDomainCookieClientSide,
|
|
13
|
+
setDomainCookieClientSide: ()=>setDomainCookieClientSide,
|
|
13
14
|
getCrossDomainCookieClientSide: ()=>getCrossDomainCookieClientSide,
|
|
14
15
|
getDomainCookieClientSide: ()=>getDomainCookieClientSide,
|
|
15
16
|
removeCookiesClientSide: ()=>removeCookiesClientSide
|
|
16
17
|
});
|
|
17
18
|
const _uaParserJs = require("ua-parser-js");
|
|
18
19
|
const _getTopLevelDomain = require("./get-top-level-domain");
|
|
19
|
-
const
|
|
20
|
-
|
|
20
|
+
const parser = new _uaParserJs.UAParser();
|
|
21
|
+
const setSecureCookie = (cookie)=>{
|
|
21
22
|
var ref, ref1;
|
|
22
|
-
if (typeof window === 'undefined') {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const cookie = `${key}=${value};expires=${expire};path=/;domain=${(0, _getTopLevelDomain.getTopLevelDomain)()};samesite=None;`;
|
|
26
23
|
// 1. we want this cookie to be available on HTTP websites too.
|
|
27
24
|
// 2. there is a bug on localhost which causes Chrome to ignore cookies set without Secure,
|
|
28
25
|
// and Safari when cookies are set with Secure, so we're forcing cookie into both
|
|
29
|
-
const parser = new _uaParserJs.UAParser();
|
|
30
26
|
if (((ref = parser.getBrowser()) === null || ref === void 0 ? void 0 : (ref1 = ref.name) === null || ref1 === void 0 ? void 0 : ref1.toLowerCase()) === 'safari') {
|
|
31
|
-
if (window.location.protocol
|
|
32
|
-
document.cookie = `${cookie}Secure;`;
|
|
33
|
-
} else {
|
|
27
|
+
if (window.location.protocol !== 'https:') {
|
|
34
28
|
document.cookie = cookie;
|
|
29
|
+
} else {
|
|
30
|
+
document.cookie = `${cookie}Secure;`;
|
|
35
31
|
}
|
|
36
32
|
} else {
|
|
37
33
|
document.cookie = `${cookie}Secure;`;
|
|
38
34
|
}
|
|
39
35
|
};
|
|
36
|
+
// :)
|
|
37
|
+
const prepareForCookingCookie = function(key, value) {
|
|
38
|
+
let expire = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 365;
|
|
39
|
+
return `${key}=${value};expires=${expire};path=/;samesite=None;`;
|
|
40
|
+
};
|
|
41
|
+
const setCrossDomainCookieClientSide = function(key, value) {
|
|
42
|
+
let expire = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 365;
|
|
43
|
+
if (typeof window === 'undefined') {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
setSecureCookie(`${prepareForCookingCookie(key, value, expire)}domain=${(0, _getTopLevelDomain.getTopLevelDomain)()};`);
|
|
47
|
+
};
|
|
48
|
+
const setDomainCookieClientSide = function(key, value) {
|
|
49
|
+
let expire = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 365;
|
|
50
|
+
if (typeof window === 'undefined') {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
setSecureCookie(prepareForCookingCookie(key, value, expire));
|
|
54
|
+
};
|
|
40
55
|
const getCrossDomainCookieClientSide = (key)=>{
|
|
41
56
|
var ref;
|
|
42
57
|
const defaultValue = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/utils/cookies-client-side.ts"],"sourcesContent":["import { UAParser } from 'ua-parser-js'\nimport { getTopLevelDomain } from './get-top-level-domain'\n\
|
|
1
|
+
{"version":3,"sources":["../../../packages/utils/cookies-client-side.ts"],"sourcesContent":["import { UAParser } from 'ua-parser-js'\nimport { getTopLevelDomain } from './get-top-level-domain'\n\nconst parser = new UAParser()\n\nconst setSecureCookie = (cookie: string) => {\n // 1. we want this cookie to be available on HTTP websites too.\n // 2. there is a bug on localhost which causes Chrome to ignore cookies set without Secure,\n // and Safari when cookies are set with Secure, so we're forcing cookie into both\n if (parser.getBrowser()?.name?.toLowerCase() === 'safari') {\n if (window.location.protocol !== 'https:') {\n document.cookie = cookie\n } else {\n document.cookie = `${cookie}Secure;`\n }\n } else {\n document.cookie = `${cookie}Secure;`\n }\n}\n\n// :)\nconst prepareForCookingCookie = (\n key: string,\n value: string,\n expire = 365,\n): string => {\n return `${key}=${value};expires=${expire};path=/;samesite=None;`\n}\n\nexport const setCrossDomainCookieClientSide = (\n key: string,\n value: string,\n expire = 365,\n): void => {\n if (typeof window === 'undefined') {\n return\n }\n\n setSecureCookie(\n `${prepareForCookingCookie(\n key,\n value,\n expire,\n )}domain=${getTopLevelDomain()};`,\n )\n}\n\nexport const setDomainCookieClientSide = (\n key: string,\n value: string,\n expire = 365,\n): void => {\n if (typeof window === 'undefined') {\n return\n }\n\n setSecureCookie(prepareForCookingCookie(key, value, expire))\n}\n\nexport const getCrossDomainCookieClientSide = (key: string): string | null => {\n const defaultValue = null\n\n if (typeof window === 'undefined') {\n return defaultValue\n }\n\n const cookieMatcher = new RegExp(`(^| )${key}=([^;]+)`)\n return (document.cookie.match(cookieMatcher)?.[2] as string) ?? defaultValue\n}\n\nexport const getDomainCookieClientSide = (key: string): string | null => {\n return getCrossDomainCookieClientSide(key)\n}\n\nexport const removeCookiesClientSide = (key: string): void => {\n document.cookie = `${key}= ; expires = Thu, 01 Jan 1970 00:00:00 GMT`\n}\n"],"names":["setCrossDomainCookieClientSide","setDomainCookieClientSide","getCrossDomainCookieClientSide","getDomainCookieClientSide","removeCookiesClientSide","parser","UAParser","setSecureCookie","cookie","getBrowser","name","toLowerCase","window","location","protocol","document","prepareForCookingCookie","key","value","expire","getTopLevelDomain","defaultValue","cookieMatcher","RegExp","match"],"mappings":"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"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { setCrossDomainCookieClientSide, getDomainCookieClientSide, removeCookiesClientSide } from '../utils';
|
|
1
|
+
import { setCrossDomainCookieClientSide, getDomainCookieClientSide, removeCookiesClientSide, setDomainCookieClientSide } from '../utils';
|
|
2
2
|
import { COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO, COOKIE_VALUE_YES } from './constants';
|
|
3
3
|
export const allowCookies = ()=>{
|
|
4
|
+
// For top level domain - *.some-domain.fi
|
|
4
5
|
setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_YES);
|
|
6
|
+
if (!document.cookie.includes(`${COOKIE_ALLOWED_KEY}=${COOKIE_VALUE_YES}`)) {
|
|
7
|
+
// For specific.domain.fi, if cookie can't be set to top level domain
|
|
8
|
+
setDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_YES);
|
|
9
|
+
}
|
|
5
10
|
};
|
|
6
11
|
export const declineCookies = ()=>{
|
|
12
|
+
// For top level domain - *.some-domain.fi
|
|
7
13
|
setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO);
|
|
14
|
+
if (!document.cookie.includes(`${COOKIE_ALLOWED_KEY}=${COOKIE_VALUE_NO}`)) {
|
|
15
|
+
// For specific.domain.fi, if cookie can't be set to top level domain
|
|
16
|
+
setDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO);
|
|
17
|
+
}
|
|
8
18
|
};
|
|
9
19
|
export const migrationAllowCookieToCrossDomainCookieClientSide = (keyOldCookie)=>{
|
|
10
20
|
const old_cookie_value = getDomainCookieClientSide(keyOldCookie);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/cookies-tooltip/utils.ts"],"sourcesContent":["import {\n setCrossDomainCookieClientSide,\n getDomainCookieClientSide,\n removeCookiesClientSide,\n} from '../utils'\nimport {\n COOKIE_ALLOWED_KEY,\n COOKIE_VALUE_NO,\n COOKIE_VALUE_YES,\n} from './constants'\n\nexport const allowCookies = (): void => {\n setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_YES)\n}\n\nexport const declineCookies = (): void => {\n setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO)\n}\n\nexport const migrationAllowCookieToCrossDomainCookieClientSide = (\n keyOldCookie: string,\n) => {\n const old_cookie_value = getDomainCookieClientSide(keyOldCookie)\n\n if (!old_cookie_value) {\n return\n }\n\n removeCookiesClientSide(keyOldCookie)\n\n if (old_cookie_value === COOKIE_VALUE_YES) {\n allowCookies()\n } else if (old_cookie_value === COOKIE_VALUE_NO) {\n declineCookies()\n }\n // else noop\n}\n"],"names":["setCrossDomainCookieClientSide","getDomainCookieClientSide","removeCookiesClientSide","COOKIE_ALLOWED_KEY","COOKIE_VALUE_NO","COOKIE_VALUE_YES","allowCookies","declineCookies","migrationAllowCookieToCrossDomainCookieClientSide","keyOldCookie","old_cookie_value"],"mappings":"AAAA,SACEA,8BAA8B,EAC9BC,yBAAyB,EACzBC,uBAAuB,
|
|
1
|
+
{"version":3,"sources":["../../../packages/cookies-tooltip/utils.ts"],"sourcesContent":["import {\n setCrossDomainCookieClientSide,\n getDomainCookieClientSide,\n removeCookiesClientSide,\n setDomainCookieClientSide,\n} from '../utils'\nimport {\n COOKIE_ALLOWED_KEY,\n COOKIE_VALUE_NO,\n COOKIE_VALUE_YES,\n} from './constants'\n\nexport const allowCookies = (): void => {\n // For top level domain - *.some-domain.fi\n setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_YES)\n\n if (!document.cookie.includes(`${COOKIE_ALLOWED_KEY}=${COOKIE_VALUE_YES}`)) {\n // For specific.domain.fi, if cookie can't be set to top level domain\n setDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_YES)\n }\n}\n\nexport const declineCookies = (): void => {\n // For top level domain - *.some-domain.fi\n setCrossDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO)\n\n if (!document.cookie.includes(`${COOKIE_ALLOWED_KEY}=${COOKIE_VALUE_NO}`)) {\n // For specific.domain.fi, if cookie can't be set to top level domain\n setDomainCookieClientSide(COOKIE_ALLOWED_KEY, COOKIE_VALUE_NO)\n }\n}\n\nexport const migrationAllowCookieToCrossDomainCookieClientSide = (\n keyOldCookie: string,\n) => {\n const old_cookie_value = getDomainCookieClientSide(keyOldCookie)\n\n if (!old_cookie_value) {\n return\n }\n\n removeCookiesClientSide(keyOldCookie)\n\n if (old_cookie_value === COOKIE_VALUE_YES) {\n allowCookies()\n } else if (old_cookie_value === COOKIE_VALUE_NO) {\n declineCookies()\n }\n // else noop\n}\n"],"names":["setCrossDomainCookieClientSide","getDomainCookieClientSide","removeCookiesClientSide","setDomainCookieClientSide","COOKIE_ALLOWED_KEY","COOKIE_VALUE_NO","COOKIE_VALUE_YES","allowCookies","document","cookie","includes","declineCookies","migrationAllowCookieToCrossDomainCookieClientSide","keyOldCookie","old_cookie_value"],"mappings":"AAAA,SACEA,8BAA8B,EAC9BC,yBAAyB,EACzBC,uBAAuB,EACvBC,yBAAyB,QACpB,UAAU,CAAA;AACjB,SACEC,kBAAkB,EAClBC,eAAe,EACfC,gBAAgB,QACX,aAAa,CAAA;AAEpB,OAAO,MAAMC,YAAY,GAAG,IAAY;IACtC,0CAA0C;IAC1CP,8BAA8B,CAACI,kBAAkB,EAAEE,gBAAgB,CAAC;IAEpE,IAAI,CAACE,QAAQ,CAACC,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAEN,kBAAkB,CAAC,CAAC,EAAEE,gBAAgB,CAAC,CAAC,CAAC,EAAE;QAC1E,qEAAqE;QACrEH,yBAAyB,CAACC,kBAAkB,EAAEE,gBAAgB,CAAC;IACjE,CAAC;AACH,CAAC,CAAA;AAED,OAAO,MAAMK,cAAc,GAAG,IAAY;IACxC,0CAA0C;IAC1CX,8BAA8B,CAACI,kBAAkB,EAAEC,eAAe,CAAC;IAEnE,IAAI,CAACG,QAAQ,CAACC,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAEN,kBAAkB,CAAC,CAAC,EAAEC,eAAe,CAAC,CAAC,CAAC,EAAE;QACzE,qEAAqE;QACrEF,yBAAyB,CAACC,kBAAkB,EAAEC,eAAe,CAAC;IAChE,CAAC;AACH,CAAC,CAAA;AAED,OAAO,MAAMO,iDAAiD,GAAG,CAC/DC,YAAoB,GACjB;IACH,MAAMC,gBAAgB,GAAGb,yBAAyB,CAACY,YAAY,CAAC;IAEhE,IAAI,CAACC,gBAAgB,EAAE;QACrB,OAAM;IACR,CAAC;IAEDZ,uBAAuB,CAACW,YAAY,CAAC;IAErC,IAAIC,gBAAgB,KAAKR,gBAAgB,EAAE;QACzCC,YAAY,EAAE;IAChB,OAAO,IAAIO,gBAAgB,KAAKT,eAAe,EAAE;QAC/CM,cAAc,EAAE;IAClB,CAAC;AACD,YAAY;AACd,CAAC,CAAA"}
|
|
@@ -7,7 +7,8 @@ export var ThemeName;
|
|
|
7
7
|
export const DEFAULT_THEME_NAME = ThemeName.light;
|
|
8
8
|
export const themeCookieKey = 'lido-theme-manual';
|
|
9
9
|
export const globalStyleDataAttribute = 'data-lido-ui-global-style';
|
|
10
|
-
export const
|
|
10
|
+
export const themeCookieMaxAge = 365 * 24 * 3600 // 365 days in seconds
|
|
11
|
+
;
|
|
11
12
|
export const prefersDarkThemeMediaQuery = typeof window !== 'undefined' ? (ref = window.matchMedia) === null || ref === void 0 ? void 0 : ref.call(window, '(prefers-color-scheme: dark)') : undefined;
|
|
12
13
|
|
|
13
14
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/theme/constants.ts"],"sourcesContent":["export enum ThemeName {\n light = 'light',\n dark = 'dark',\n}\n\nexport const DEFAULT_THEME_NAME = ThemeName.light\n\nexport const themeCookieKey = 'lido-theme-manual'\nexport const globalStyleDataAttribute = 'data-lido-ui-global-style'\n\nexport const
|
|
1
|
+
{"version":3,"sources":["../../../packages/theme/constants.ts"],"sourcesContent":["export enum ThemeName {\n light = 'light',\n dark = 'dark',\n}\n\nexport const DEFAULT_THEME_NAME = ThemeName.light\n\nexport const themeCookieKey = 'lido-theme-manual'\nexport const globalStyleDataAttribute = 'data-lido-ui-global-style'\n\nexport const themeCookieMaxAge = 365 * 24 * 3600 // 365 days in seconds\n\nexport const prefersDarkThemeMediaQuery =\n typeof window !== 'undefined'\n ? window.matchMedia?.('(prefers-color-scheme: dark)')\n : undefined\n"],"names":["window","ThemeName","light","dark","DEFAULT_THEME_NAME","themeCookieKey","globalStyleDataAttribute","themeCookieMaxAge","prefersDarkThemeMediaQuery","matchMedia","undefined"],"mappings":"AAAA,IAcMA,GAAiB;WAdhB,SAGN;UAHWC,SAAS;IAATA,SAAS,CACnBC,OAAK,IAALA,OAAK;IADKD,SAAS,CAEnBE,MAAI,IAAJA,MAAI;GAFMF,SAAS,KAATA,SAAS;AAKrB,OAAO,MAAMG,kBAAkB,GAAGH,SAAS,CAACC,KAAK,CAAA;AAEjD,OAAO,MAAMG,cAAc,GAAG,mBAAmB,CAAA;AACjD,OAAO,MAAMC,wBAAwB,GAAG,2BAA2B,CAAA;AAEnE,OAAO,MAAMC,iBAAiB,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB;AAAvB,CAAA;AAEhD,OAAO,MAAMC,0BAA0B,GACrC,OAAOR,MAAM,KAAK,WAAW,GACzBA,CAAAA,GAAiB,GAAjBA,MAAM,CAACS,UAAU,cAAjBT,GAAiB,WAAkC,GAAnDA,KAAAA,CAAmD,GAAnDA,GAAiB,CAAjBA,IAAmD,CAAnDA,MAAM,EAAc,8BAA8B,CAAC,GACnDU,SAAS,CAAA"}
|
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
import { UAParser } from 'ua-parser-js';
|
|
2
2
|
import { getTopLevelDomain } from '../../utils';
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { themeCookieMaxAge, themeCookieKey } from '../constants';
|
|
4
|
+
const parser = new UAParser();
|
|
5
|
+
const setSecureCookie = (cookie)=>{
|
|
5
6
|
var ref, ref1;
|
|
6
|
-
const cookie = `${themeCookieKey}=${theme};expires=${themeCookieExpire};path=/;domain=${getTopLevelDomain()};samesite=None;`;
|
|
7
7
|
// 1. we want this cookie to be available on HTTP websites too.
|
|
8
8
|
// 2. there is a bug on localhost which causes Chrome to ignore cookies set without Secure,
|
|
9
9
|
// and Safari when cookies are set with Secure, so we're forcing cookie into both
|
|
10
|
-
const parser = new UAParser();
|
|
11
10
|
if (((ref = parser.getBrowser()) === null || ref === void 0 ? void 0 : (ref1 = ref.name) === null || ref1 === void 0 ? void 0 : ref1.toLowerCase()) === 'safari') {
|
|
12
|
-
if (window.location.protocol
|
|
13
|
-
document.cookie = `${cookie}Secure;`;
|
|
14
|
-
} else {
|
|
11
|
+
if (window.location.protocol !== 'https:') {
|
|
15
12
|
document.cookie = cookie;
|
|
13
|
+
} else {
|
|
14
|
+
document.cookie = `${cookie}Secure;`;
|
|
16
15
|
}
|
|
17
16
|
} else {
|
|
18
17
|
document.cookie = `${cookie}Secure;`;
|
|
19
18
|
}
|
|
20
19
|
};
|
|
20
|
+
export const setThemeCookie = (theme)=>{
|
|
21
|
+
const cookie = `${themeCookieKey}=${theme};max-age=${themeCookieMaxAge};path=/;samesite=None;`;
|
|
22
|
+
// For top level domain - *.some-domain.fi
|
|
23
|
+
setSecureCookie(`${cookie}domain=${getTopLevelDomain()};`);
|
|
24
|
+
if (!document.cookie.includes(`${themeCookieKey}=${theme}`)) {
|
|
25
|
+
// For specific.domain.fi, if cookie can't be set to top level domain
|
|
26
|
+
setSecureCookie(cookie);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
21
29
|
|
|
22
30
|
//# sourceMappingURL=set-theme-cookie.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../packages/theme/utils/set-theme-cookie.ts"],"sourcesContent":["import { UAParser } from 'ua-parser-js'\nimport { getTopLevelDomain } from '../../utils'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../packages/theme/utils/set-theme-cookie.ts"],"sourcesContent":["import { UAParser } from 'ua-parser-js'\nimport { getTopLevelDomain } from '../../utils'\nimport { themeCookieMaxAge, themeCookieKey, ThemeName } from '../constants'\n\nconst parser = new UAParser()\n\nconst setSecureCookie = (cookie: string) => {\n // 1. we want this cookie to be available on HTTP websites too.\n // 2. there is a bug on localhost which causes Chrome to ignore cookies set without Secure,\n // and Safari when cookies are set with Secure, so we're forcing cookie into both\n if (parser.getBrowser()?.name?.toLowerCase() === 'safari') {\n if (window.location.protocol !== 'https:') {\n document.cookie = cookie\n } else {\n document.cookie = `${cookie}Secure;`\n }\n } else {\n document.cookie = `${cookie}Secure;`\n }\n}\n\nexport const setThemeCookie = (theme: ThemeName) => {\n const cookie = `${themeCookieKey}=${theme};max-age=${themeCookieMaxAge};path=/;samesite=None;`\n // For top level domain - *.some-domain.fi\n setSecureCookie(`${cookie}domain=${getTopLevelDomain()};`)\n\n if (!document.cookie.includes(`${themeCookieKey}=${theme}`)) {\n // For specific.domain.fi, if cookie can't be set to top level domain\n setSecureCookie(cookie)\n }\n}\n"],"names":["UAParser","getTopLevelDomain","themeCookieMaxAge","themeCookieKey","parser","setSecureCookie","cookie","getBrowser","name","toLowerCase","window","location","protocol","document","setThemeCookie","theme","includes"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc,CAAA;AACvC,SAASC,iBAAiB,QAAQ,aAAa,CAAA;AAC/C,SAASC,iBAAiB,EAAEC,cAAc,QAAmB,cAAc,CAAA;AAE3E,MAAMC,MAAM,GAAG,IAAIJ,QAAQ,EAAE;AAE7B,MAAMK,eAAe,GAAG,CAACC,MAAc,GAAK;QAItCF,GAAmB;IAHvB,+DAA+D;IAC/D,2FAA2F;IAC3F,iFAAiF;IACjF,IAAIA,CAAAA,CAAAA,GAAmB,GAAnBA,MAAM,CAACG,UAAU,EAAE,cAAnBH,GAAmB,WAAM,GAAzBA,KAAAA,CAAyB,GAAzBA,QAAAA,GAAmB,CAAEI,IAAI,6BAAA,GAAzBJ,KAAAA,CAAyB,GAAzBA,KAA2BK,WAAW,EAAE,MAAK,QAAQ,EAAE;QACzD,IAAIC,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,QAAQ,EAAE;YACzCC,QAAQ,CAACP,MAAM,GAAGA,MAAM;QAC1B,OAAO;YACLO,QAAQ,CAACP,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;QACtC,CAAC;IACH,OAAO;QACLO,QAAQ,CAACP,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;AACH,CAAC;AAED,OAAO,MAAMQ,cAAc,GAAG,CAACC,KAAgB,GAAK;IAClD,MAAMT,MAAM,GAAG,CAAC,EAAEH,cAAc,CAAC,CAAC,EAAEY,KAAK,CAAC,SAAS,EAAEb,iBAAiB,CAAC,sBAAsB,CAAC;IAC9F,0CAA0C;IAC1CG,eAAe,CAAC,CAAC,EAAEC,MAAM,CAAC,OAAO,EAAEL,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1D,IAAI,CAACY,QAAQ,CAACP,MAAM,CAACU,QAAQ,CAAC,CAAC,EAAEb,cAAc,CAAC,CAAC,EAAEY,KAAK,CAAC,CAAC,CAAC,EAAE;QAC3D,qEAAqE;QACrEV,eAAe,CAACC,MAAM,CAAC;IACzB,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,26 +1,40 @@
|
|
|
1
1
|
import { UAParser } from 'ua-parser-js';
|
|
2
2
|
import { getTopLevelDomain } from './get-top-level-domain';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const parser = new UAParser();
|
|
4
|
+
const setSecureCookie = (cookie)=>{
|
|
5
5
|
var ref, ref1;
|
|
6
|
-
if (typeof window === 'undefined') {
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
const cookie = `${key}=${value};expires=${expire};path=/;domain=${getTopLevelDomain()};samesite=None;`;
|
|
10
6
|
// 1. we want this cookie to be available on HTTP websites too.
|
|
11
7
|
// 2. there is a bug on localhost which causes Chrome to ignore cookies set without Secure,
|
|
12
8
|
// and Safari when cookies are set with Secure, so we're forcing cookie into both
|
|
13
|
-
const parser = new UAParser();
|
|
14
9
|
if (((ref = parser.getBrowser()) === null || ref === void 0 ? void 0 : (ref1 = ref.name) === null || ref1 === void 0 ? void 0 : ref1.toLowerCase()) === 'safari') {
|
|
15
|
-
if (window.location.protocol
|
|
16
|
-
document.cookie = `${cookie}Secure;`;
|
|
17
|
-
} else {
|
|
10
|
+
if (window.location.protocol !== 'https:') {
|
|
18
11
|
document.cookie = cookie;
|
|
12
|
+
} else {
|
|
13
|
+
document.cookie = `${cookie}Secure;`;
|
|
19
14
|
}
|
|
20
15
|
} else {
|
|
21
16
|
document.cookie = `${cookie}Secure;`;
|
|
22
17
|
}
|
|
23
18
|
};
|
|
19
|
+
// :)
|
|
20
|
+
const prepareForCookingCookie = function(key, value) {
|
|
21
|
+
let expire = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 365;
|
|
22
|
+
return `${key}=${value};expires=${expire};path=/;samesite=None;`;
|
|
23
|
+
};
|
|
24
|
+
export const setCrossDomainCookieClientSide = function(key, value) {
|
|
25
|
+
let expire = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 365;
|
|
26
|
+
if (typeof window === 'undefined') {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
setSecureCookie(`${prepareForCookingCookie(key, value, expire)}domain=${getTopLevelDomain()};`);
|
|
30
|
+
};
|
|
31
|
+
export const setDomainCookieClientSide = function(key, value) {
|
|
32
|
+
let expire = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 365;
|
|
33
|
+
if (typeof window === 'undefined') {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
setSecureCookie(prepareForCookingCookie(key, value, expire));
|
|
37
|
+
};
|
|
24
38
|
export const getCrossDomainCookieClientSide = (key)=>{
|
|
25
39
|
var ref;
|
|
26
40
|
const defaultValue = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/utils/cookies-client-side.ts"],"sourcesContent":["import { UAParser } from 'ua-parser-js'\nimport { getTopLevelDomain } from './get-top-level-domain'\n\
|
|
1
|
+
{"version":3,"sources":["../../../packages/utils/cookies-client-side.ts"],"sourcesContent":["import { UAParser } from 'ua-parser-js'\nimport { getTopLevelDomain } from './get-top-level-domain'\n\nconst parser = new UAParser()\n\nconst setSecureCookie = (cookie: string) => {\n // 1. we want this cookie to be available on HTTP websites too.\n // 2. there is a bug on localhost which causes Chrome to ignore cookies set without Secure,\n // and Safari when cookies are set with Secure, so we're forcing cookie into both\n if (parser.getBrowser()?.name?.toLowerCase() === 'safari') {\n if (window.location.protocol !== 'https:') {\n document.cookie = cookie\n } else {\n document.cookie = `${cookie}Secure;`\n }\n } else {\n document.cookie = `${cookie}Secure;`\n }\n}\n\n// :)\nconst prepareForCookingCookie = (\n key: string,\n value: string,\n expire = 365,\n): string => {\n return `${key}=${value};expires=${expire};path=/;samesite=None;`\n}\n\nexport const setCrossDomainCookieClientSide = (\n key: string,\n value: string,\n expire = 365,\n): void => {\n if (typeof window === 'undefined') {\n return\n }\n\n setSecureCookie(\n `${prepareForCookingCookie(\n key,\n value,\n expire,\n )}domain=${getTopLevelDomain()};`,\n )\n}\n\nexport const setDomainCookieClientSide = (\n key: string,\n value: string,\n expire = 365,\n): void => {\n if (typeof window === 'undefined') {\n return\n }\n\n setSecureCookie(prepareForCookingCookie(key, value, expire))\n}\n\nexport const getCrossDomainCookieClientSide = (key: string): string | null => {\n const defaultValue = null\n\n if (typeof window === 'undefined') {\n return defaultValue\n }\n\n const cookieMatcher = new RegExp(`(^| )${key}=([^;]+)`)\n return (document.cookie.match(cookieMatcher)?.[2] as string) ?? defaultValue\n}\n\nexport const getDomainCookieClientSide = (key: string): string | null => {\n return getCrossDomainCookieClientSide(key)\n}\n\nexport const removeCookiesClientSide = (key: string): void => {\n document.cookie = `${key}= ; expires = Thu, 01 Jan 1970 00:00:00 GMT`\n}\n"],"names":["UAParser","getTopLevelDomain","parser","setSecureCookie","cookie","getBrowser","name","toLowerCase","window","location","protocol","document","prepareForCookingCookie","key","value","expire","setCrossDomainCookieClientSide","setDomainCookieClientSide","getCrossDomainCookieClientSide","defaultValue","cookieMatcher","RegExp","match","getDomainCookieClientSide","removeCookiesClientSide"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../packages/cookies-tooltip/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../packages/cookies-tooltip/utils.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,QAAO,IAQ/B,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,IAQjC,CAAA;AAED,eAAO,MAAM,iDAAiD,iBAC9C,MAAM,SAgBrB,CAAA"}
|
|
@@ -5,6 +5,6 @@ export declare enum ThemeName {
|
|
|
5
5
|
export declare const DEFAULT_THEME_NAME = ThemeName.light;
|
|
6
6
|
export declare const themeCookieKey = "lido-theme-manual";
|
|
7
7
|
export declare const globalStyleDataAttribute = "data-lido-ui-global-style";
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const themeCookieMaxAge: number;
|
|
9
9
|
export declare const prefersDarkThemeMediaQuery: MediaQueryList | undefined;
|
|
10
10
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../packages/theme/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,eAAO,MAAM,kBAAkB,kBAAkB,CAAA;AAEjD,eAAO,MAAM,cAAc,sBAAsB,CAAA;AACjD,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AAEnE,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../packages/theme/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,eAAO,MAAM,kBAAkB,kBAAkB,CAAA;AAEjD,eAAO,MAAM,cAAc,sBAAsB,CAAA;AACjD,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AAEnE,eAAO,MAAM,iBAAiB,QAAkB,CAAA;AAEhD,eAAO,MAAM,0BAA0B,4BAGxB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-theme-cookie.d.ts","sourceRoot":"","sources":["../../../../packages/theme/utils/set-theme-cookie.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqC,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"set-theme-cookie.d.ts","sourceRoot":"","sources":["../../../../packages/theme/utils/set-theme-cookie.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqC,SAAS,EAAE,MAAM,cAAc,CAAA;AAmB3E,eAAO,MAAM,cAAc,UAAW,SAAS,SAS9C,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const setCrossDomainCookieClientSide: (key: string, value: string, expire?: number) => void;
|
|
2
|
+
export declare const setDomainCookieClientSide: (key: string, value: string, expire?: number) => void;
|
|
2
3
|
export declare const getCrossDomainCookieClientSide: (key: string) => string | null;
|
|
3
4
|
export declare const getDomainCookieClientSide: (key: string) => string | null;
|
|
4
5
|
export declare const removeCookiesClientSide: (key: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies-client-side.d.ts","sourceRoot":"","sources":["../../../packages/utils/cookies-client-side.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cookies-client-side.d.ts","sourceRoot":"","sources":["../../../packages/utils/cookies-client-side.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,8BAA8B,QACpC,MAAM,SACJ,MAAM,sBAEZ,IAYF,CAAA;AAED,eAAO,MAAM,yBAAyB,QAC/B,MAAM,SACJ,MAAM,sBAEZ,IAMF,CAAA;AAED,eAAO,MAAM,8BAA8B,QAAS,MAAM,KAAG,MAAM,GAAG,IASrE,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAS,MAAM,KAAG,MAAM,GAAG,IAEhE,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAS,MAAM,KAAG,IAErD,CAAA"}
|