@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.
@@ -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;;;;;;;;;;;IAWaA,YAAY,MAAZA,YAAY;IAIZC,cAAc,MAAdA,cAAc;IAIdC,iDAAiD,MAAjDA,iDAAiD;;uBAfvD,UAAU;2BAKV,aAAa;AAEb,MAAMF,YAAY,GAAG,IAAY;IACtCG,IAAAA,MAA8B,+BAAA,EAACC,UAAkB,mBAAA,EAAEC,UAAgB,iBAAA,CAAC;AACtE,CAAC;AAEM,MAAMJ,cAAc,GAAG,IAAY;IACxCE,IAAAA,MAA8B,+BAAA,EAACC,UAAkB,mBAAA,EAAEE,UAAe,gBAAA,CAAC;AACrE,CAAC;AAEM,MAAMJ,iDAAiD,GAAG,CAC/DK,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,KAAKH,UAAgB,iBAAA,EAAE;QACzCL,YAAY,EAAE;IAChB,OAAO,IAAIQ,gBAAgB,KAAKF,UAAe,gBAAA,EAAE;QAC/CL,cAAc,EAAE;IAClB,CAAC;AACD,YAAY;AACd,CAAC"}
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
- themeCookieExpire: ()=>themeCookieExpire,
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 themeCookieExpire = 365;
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 themeCookieExpire = 365\n\nexport const prefersDarkThemeMediaQuery =\n typeof window !== 'undefined'\n ? window.matchMedia?.('(prefers-color-scheme: dark)')\n : undefined\n"],"names":["DEFAULT_THEME_NAME","themeCookieKey","globalStyleDataAttribute","themeCookieExpire","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;AAE7B,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"}
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 setThemeCookie = (theme)=>{
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 === 'https:') {
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 { themeCookieExpire, themeCookieKey, ThemeName } from '../constants'\n\nexport const setThemeCookie = (theme: ThemeName) => {\n const cookie = `${themeCookieKey}=${theme};expires=${themeCookieExpire};path=/;domain=${getTopLevelDomain()};samesite=None;`\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 const parser = new UAParser()\n if (parser.getBrowser()?.name?.toLowerCase() === 'safari') {\n if (window.location.protocol === 'https:') {\n document.cookie = `${cookie}Secure;`\n } else {\n document.cookie = cookie\n }\n } else {\n document.cookie = `${cookie}Secure;`\n }\n}\n"],"names":["setThemeCookie","theme","parser","cookie","themeCookieKey","themeCookieExpire","getTopLevelDomain","UAParser","getBrowser","name","toLowerCase","window","location","protocol","document"],"mappings":"AAAA;;;;+BAIaA,gBAAc;;aAAdA,cAAc;;4BAJF,cAAc;uBACL,aAAa;2BACc,cAAc;AAEpE,MAAMA,cAAc,GAAG,CAACC,KAAgB,GAAK;QAM9CC,GAAmB;IALvB,MAAMC,MAAM,GAAG,CAAC,EAAEC,UAAc,eAAA,CAAC,CAAC,EAAEH,KAAK,CAAC,SAAS,EAAEI,UAAiB,kBAAA,CAAC,eAAe,EAAEC,IAAAA,MAAiB,kBAAA,GAAE,CAAC,eAAe,CAAC;IAC5H,+DAA+D;IAC/D,2FAA2F;IAC3F,iFAAiF;IACjF,MAAMJ,MAAM,GAAG,IAAIK,WAAQ,SAAA,EAAE;IAC7B,IAAIL,CAAAA,CAAAA,GAAmB,GAAnBA,MAAM,CAACM,UAAU,EAAE,cAAnBN,GAAmB,WAAM,GAAzBA,KAAAA,CAAyB,GAAzBA,QAAAA,GAAmB,CAAEO,IAAI,6BAAA,GAAzBP,KAAAA,CAAyB,GAAzBA,KAA2BQ,WAAW,EAAE,MAAK,QAAQ,EAAE;QACzD,IAAIC,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,QAAQ,EAAE;YACzCC,QAAQ,CAACX,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;QACtC,OAAO;YACLW,QAAQ,CAACX,MAAM,GAAGA,MAAM;QAC1B,CAAC;IACH,OAAO;QACLW,QAAQ,CAACX,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;AACH,CAAC"}
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 setCrossDomainCookieClientSide = function(key, value) {
20
- let expire = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 365;
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 === 'https:') {
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\nexport const setCrossDomainCookieClientSide = (\n key: string,\n value: string,\n expire = 365,\n): void => {\n if (typeof window === 'undefined') {\n return\n }\n\n const cookie = `${key}=${value};expires=${expire};path=/;domain=${getTopLevelDomain()};samesite=None;`\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 const parser = new UAParser()\n if (parser.getBrowser()?.name?.toLowerCase() === 'safari') {\n if (window.location.protocol === 'https:') {\n document.cookie = `${cookie}Secure;`\n } else {\n document.cookie = cookie\n }\n } else {\n document.cookie = `${cookie}Secure;`\n }\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","getCrossDomainCookieClientSide","getDomainCookieClientSide","removeCookiesClientSide","key","value","expire","parser","window","cookie","getTopLevelDomain","UAParser","getBrowser","name","toLowerCase","location","protocol","document","defaultValue","cookieMatcher","RegExp","match"],"mappings":"AAAA;;;;;;;;;;;IAGaA,8BAA8B,MAA9BA,8BAA8B;IAyB9BC,8BAA8B,MAA9BA,8BAA8B;IAW9BC,yBAAyB,MAAzBA,yBAAyB;IAIzBC,uBAAuB,MAAvBA,uBAAuB;;4BA3CX,cAAc;mCACL,wBAAwB;AAEnD,MAAMH,8BAA8B,GAAG,SAC5CI,GAAW,EACXC,KAAa,EAEJ;QADTC,MAAM,oEAAG,GAAG;QAWRC,GAAmB;IATvB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;QACjC,OAAM;IACR,CAAC;IAED,MAAMC,MAAM,GAAG,CAAC,EAAEL,GAAG,CAAC,CAAC,EAAEC,KAAK,CAAC,SAAS,EAAEC,MAAM,CAAC,eAAe,EAAEI,IAAAA,kBAAiB,kBAAA,GAAE,CAAC,eAAe,CAAC;IACtG,+DAA+D;IAC/D,2FAA2F;IAC3F,iFAAiF;IACjF,MAAMH,MAAM,GAAG,IAAII,WAAQ,SAAA,EAAE;IAC7B,IAAIJ,CAAAA,CAAAA,GAAmB,GAAnBA,MAAM,CAACK,UAAU,EAAE,cAAnBL,GAAmB,WAAM,GAAzBA,KAAAA,CAAyB,GAAzBA,QAAAA,GAAmB,CAAEM,IAAI,6BAAA,GAAzBN,KAAAA,CAAyB,GAAzBA,KAA2BO,WAAW,EAAE,MAAK,QAAQ,EAAE;QACzD,IAAIN,MAAM,CAACO,QAAQ,CAACC,QAAQ,KAAK,QAAQ,EAAE;YACzCC,QAAQ,CAACR,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;QACtC,OAAO;YACLQ,QAAQ,CAACR,MAAM,GAAGA,MAAM;QAC1B,CAAC;IACH,OAAO;QACLQ,QAAQ,CAACR,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;AACH,CAAC;AAEM,MAAMR,8BAA8B,GAAG,CAACG,GAAW,GAAoB;QAQpEa,GAAoC;IAP5C,MAAMC,YAAY,GAAG,IAAI;IAEzB,IAAI,OAAOV,MAAM,KAAK,WAAW,EAAE;QACjC,OAAOU,YAAY,CAAA;IACrB,CAAC;IAED,MAAMC,aAAa,GAAG,IAAIC,MAAM,CAAC,CAAC,KAAK,EAAEhB,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAqD;IAA5D,OAAO,CAAA,IAAqD,GAApDa,CAAAA,GAAoC,GAApCA,QAAQ,CAACR,MAAM,CAACY,KAAK,CAACF,aAAa,CAAC,cAApCF,GAAoC,WAAK,GAAzCA,KAAAA,CAAyC,GAAzCA,GAAoC,AAAE,CAAC,CAAC,CAAC,cAA1C,IAAqD,cAArD,IAAqD,GAAIC,YAAY,CAAA;AAC9E,CAAC;AAEM,MAAMhB,yBAAyB,GAAG,CAACE,GAAW,GAAoB;IACvE,OAAOH,8BAA8B,CAACG,GAAG,CAAC,CAAA;AAC5C,CAAC;AAEM,MAAMD,uBAAuB,GAAG,CAACC,GAAW,GAAW;IAC5Da,QAAQ,CAACR,MAAM,GAAG,CAAC,EAAEL,GAAG,CAAC,2CAA2C,CAAC;AACvE,CAAC"}
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,QAClB,UAAU,CAAA;AACjB,SACEC,kBAAkB,EAClBC,eAAe,EACfC,gBAAgB,QACX,aAAa,CAAA;AAEpB,OAAO,MAAMC,YAAY,GAAG,IAAY;IACtCN,8BAA8B,CAACG,kBAAkB,EAAEE,gBAAgB,CAAC;AACtE,CAAC,CAAA;AAED,OAAO,MAAME,cAAc,GAAG,IAAY;IACxCP,8BAA8B,CAACG,kBAAkB,EAAEC,eAAe,CAAC;AACrE,CAAC,CAAA;AAED,OAAO,MAAMI,iDAAiD,GAAG,CAC/DC,YAAoB,GACjB;IACH,MAAMC,gBAAgB,GAAGT,yBAAyB,CAACQ,YAAY,CAAC;IAEhE,IAAI,CAACC,gBAAgB,EAAE;QACrB,OAAM;IACR,CAAC;IAEDR,uBAAuB,CAACO,YAAY,CAAC;IAErC,IAAIC,gBAAgB,KAAKL,gBAAgB,EAAE;QACzCC,YAAY,EAAE;IAChB,OAAO,IAAII,gBAAgB,KAAKN,eAAe,EAAE;QAC/CG,cAAc,EAAE;IAClB,CAAC;AACD,YAAY;AACd,CAAC,CAAA"}
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 themeCookieExpire = 365;
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 themeCookieExpire = 365\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","themeCookieExpire","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,CAAA;AAEpC,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
+ {"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 { themeCookieExpire, themeCookieKey } from '../constants';
4
- export const setThemeCookie = (theme)=>{
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 === 'https:') {
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 { themeCookieExpire, themeCookieKey, ThemeName } from '../constants'\n\nexport const setThemeCookie = (theme: ThemeName) => {\n const cookie = `${themeCookieKey}=${theme};expires=${themeCookieExpire};path=/;domain=${getTopLevelDomain()};samesite=None;`\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 const parser = new UAParser()\n if (parser.getBrowser()?.name?.toLowerCase() === 'safari') {\n if (window.location.protocol === 'https:') {\n document.cookie = `${cookie}Secure;`\n } else {\n document.cookie = cookie\n }\n } else {\n document.cookie = `${cookie}Secure;`\n }\n}\n"],"names":["UAParser","getTopLevelDomain","themeCookieExpire","themeCookieKey","setThemeCookie","theme","parser","cookie","getBrowser","name","toLowerCase","window","location","protocol","document"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc,CAAA;AACvC,SAASC,iBAAiB,QAAQ,aAAa,CAAA;AAC/C,SAASC,iBAAiB,EAAEC,cAAc,QAAmB,cAAc,CAAA;AAE3E,OAAO,MAAMC,cAAc,GAAG,CAACC,KAAgB,GAAK;QAM9CC,GAAmB;IALvB,MAAMC,MAAM,GAAG,CAAC,EAAEJ,cAAc,CAAC,CAAC,EAAEE,KAAK,CAAC,SAAS,EAAEH,iBAAiB,CAAC,eAAe,EAAED,iBAAiB,EAAE,CAAC,eAAe,CAAC;IAC5H,+DAA+D;IAC/D,2FAA2F;IAC3F,iFAAiF;IACjF,MAAMK,MAAM,GAAG,IAAIN,QAAQ,EAAE;IAC7B,IAAIM,CAAAA,CAAAA,GAAmB,GAAnBA,MAAM,CAACE,UAAU,EAAE,cAAnBF,GAAmB,WAAM,GAAzBA,KAAAA,CAAyB,GAAzBA,QAAAA,GAAmB,CAAEG,IAAI,6BAAA,GAAzBH,KAAAA,CAAyB,GAAzBA,KAA2BI,WAAW,EAAE,MAAK,QAAQ,EAAE;QACzD,IAAIC,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,QAAQ,EAAE;YACzCC,QAAQ,CAACP,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;QACtC,OAAO;YACLO,QAAQ,CAACP,MAAM,GAAGA,MAAM;QAC1B,CAAC;IACH,OAAO;QACLO,QAAQ,CAACP,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;AACH,CAAC,CAAA"}
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
- export const setCrossDomainCookieClientSide = function(key, value) {
4
- let expire = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 365;
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 === 'https:') {
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\nexport const setCrossDomainCookieClientSide = (\n key: string,\n value: string,\n expire = 365,\n): void => {\n if (typeof window === 'undefined') {\n return\n }\n\n const cookie = `${key}=${value};expires=${expire};path=/;domain=${getTopLevelDomain()};samesite=None;`\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 const parser = new UAParser()\n if (parser.getBrowser()?.name?.toLowerCase() === 'safari') {\n if (window.location.protocol === 'https:') {\n document.cookie = `${cookie}Secure;`\n } else {\n document.cookie = cookie\n }\n } else {\n document.cookie = `${cookie}Secure;`\n }\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","setCrossDomainCookieClientSide","key","value","expire","parser","window","cookie","getBrowser","name","toLowerCase","location","protocol","document","getCrossDomainCookieClientSide","defaultValue","cookieMatcher","RegExp","match","getDomainCookieClientSide","removeCookiesClientSide"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc,CAAA;AACvC,SAASC,iBAAiB,QAAQ,wBAAwB,CAAA;AAE1D,OAAO,MAAMC,8BAA8B,GAAG,SAC5CC,GAAW,EACXC,KAAa,EAEJ;QADTC,MAAM,oEAAG,GAAG;QAWRC,GAAmB;IATvB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;QACjC,OAAM;IACR,CAAC;IAED,MAAMC,MAAM,GAAG,CAAC,EAAEL,GAAG,CAAC,CAAC,EAAEC,KAAK,CAAC,SAAS,EAAEC,MAAM,CAAC,eAAe,EAAEJ,iBAAiB,EAAE,CAAC,eAAe,CAAC;IACtG,+DAA+D;IAC/D,2FAA2F;IAC3F,iFAAiF;IACjF,MAAMK,MAAM,GAAG,IAAIN,QAAQ,EAAE;IAC7B,IAAIM,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,IAAIJ,MAAM,CAACK,QAAQ,CAACC,QAAQ,KAAK,QAAQ,EAAE;YACzCC,QAAQ,CAACN,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;QACtC,OAAO;YACLM,QAAQ,CAACN,MAAM,GAAGA,MAAM;QAC1B,CAAC;IACH,OAAO;QACLM,QAAQ,CAACN,MAAM,GAAG,CAAC,EAAEA,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;AACH,CAAC,CAAA;AAED,OAAO,MAAMO,8BAA8B,GAAG,CAACZ,GAAW,GAAoB;QAQpEW,GAAoC;IAP5C,MAAME,YAAY,GAAG,IAAI;IAEzB,IAAI,OAAOT,MAAM,KAAK,WAAW,EAAE;QACjC,OAAOS,YAAY,CAAA;IACrB,CAAC;IAED,MAAMC,aAAa,GAAG,IAAIC,MAAM,CAAC,CAAC,KAAK,EAAEf,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAqD;IAA5D,OAAO,CAAA,IAAqD,GAApDW,CAAAA,GAAoC,GAApCA,QAAQ,CAACN,MAAM,CAACW,KAAK,CAACF,aAAa,CAAC,cAApCH,GAAoC,WAAK,GAAzCA,KAAAA,CAAyC,GAAzCA,GAAoC,AAAE,CAAC,CAAC,CAAC,cAA1C,IAAqD,cAArD,IAAqD,GAAIE,YAAY,CAAA;AAC9E,CAAC,CAAA;AAED,OAAO,MAAMI,yBAAyB,GAAG,CAACjB,GAAW,GAAoB;IACvE,OAAOY,8BAA8B,CAACZ,GAAG,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,OAAO,MAAMkB,uBAAuB,GAAG,CAAClB,GAAW,GAAW;IAC5DW,QAAQ,CAACN,MAAM,GAAG,CAAC,EAAEL,GAAG,CAAC,2CAA2C,CAAC;AACvE,CAAC,CAAA"}
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":"AAWA,eAAO,MAAM,YAAY,QAAO,IAE/B,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,IAEjC,CAAA;AAED,eAAO,MAAM,iDAAiD,iBAC9C,MAAM,SAgBrB,CAAA"}
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 themeCookieExpire = 365;
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,MAAM,CAAA;AAEpC,eAAO,MAAM,0BAA0B,4BAGxB,CAAA"}
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;AAE3E,eAAO,MAAM,cAAc,UAAW,SAAS,SAe9C,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":"AAGA,eAAO,MAAM,8BAA8B,QACpC,MAAM,SACJ,MAAM,sBAEZ,IAmBF,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lidofinance/lido-ui",
3
- "version": "3.13.0",
3
+ "version": "3.13.1",
4
4
  "homepage": "https://github.com/lidofinance/ui",
5
5
  "repository": {
6
6
  "type": "git",