@stack-spot/portal-components 1.0.0-dev.1772829972667 → 1.0.0-dev.1773062346794

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.
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../src/utils/cookie.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,QAQ/C;AAED;;;GAGG;AACH,wBAAgB,eAAe,WAG9B;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,QAUlG;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,QAcvC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,sBAEpC"}
1
+ {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../src/utils/cookie.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,QAQ/C;AAED;;;GAGG;AACH,wBAAgB,eAAe,WAG9B;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,QAGlG;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,QAGvC;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,sBAEpC"}
@@ -2,12 +2,6 @@ import { isEmpty } from 'lodash';
2
2
  const DEFAULT_DOMAIN_REGEX = new RegExp(/(\.*(prd|stg|dev)*.stackspot.com)|localhost/);
3
3
  let cookieDomain = '';
4
4
  let cookieAttributes = {};
5
- /**
6
- * Checks if the current environment is using HTTPS
7
- */
8
- function isSecureContext() {
9
- return window.location.protocol === 'https:';
10
- }
11
5
  /**
12
6
  * Setup the cookie utilities to use a another domain. By default, it's based on *.stackspot.com.
13
7
  * @param domainRegex the regex to identify the domain. Example: {@link DEFAULT_DOMAIN_REGEX}.
@@ -17,8 +11,8 @@ export function setupCookies(domainRegex) {
17
11
  cookieDomain = domainRegex.exec(portalUrl.host)?.[0] ?? '';
18
12
  cookieAttributes = { domain: cookieDomain, SameSite: 'Strict' };
19
13
  // Add Secure attribute if using HTTPS
20
- if (isSecureContext()) {
21
- cookieAttributes['Secure'] = true;
14
+ if (portalUrl.protocol === 'https:') {
15
+ cookieAttributes['Secure'] = '';
22
16
  }
23
17
  }
24
18
  /**
@@ -52,12 +46,7 @@ export function getCookies() {
52
46
  export function setCookie(key, value, customAttributes = {}) {
53
47
  if (isEmpty(cookieAttributes))
54
48
  setupCookies(DEFAULT_DOMAIN_REGEX);
55
- // Merge attributes and ensure Secure is set in HTTPS contexts
56
- const mergedAttributes = { ...cookieAttributes, ...customAttributes };
57
- if (isSecureContext() && !('Secure' in mergedAttributes)) {
58
- mergedAttributes['Secure'] = true;
59
- }
60
- document.cookie = `${key}=${value};${objectToCookieString(mergedAttributes)}`;
49
+ document.cookie = `${key}=${value};${objectToCookieString({ ...cookieAttributes, ...customAttributes })}`;
61
50
  }
62
51
  /**
63
52
  * Removes a cookie.
@@ -66,15 +55,7 @@ export function setCookie(key, value, customAttributes = {}) {
66
55
  export function removeCookie(key) {
67
56
  if (isEmpty(cookieAttributes))
68
57
  setupCookies(DEFAULT_DOMAIN_REGEX);
69
- const attributes = {
70
- ...cookieAttributes,
71
- expires: 'Thu, 01 Jan 1970 00:00:00 GMT',
72
- };
73
- // Ensure Secure attribute is set in HTTPS contexts
74
- if (isSecureContext()) {
75
- attributes['Secure'] = true;
76
- }
77
- document.cookie = `${key}=;${objectToCookieString(attributes)}`;
58
+ document.cookie = `${key}=;${objectToCookieString({ ...cookieAttributes, expires: 'Thu, 01 Jan 1970 00:00:00 GMT' })}`;
78
59
  }
79
60
  /**
80
61
  * Retrieves the value of a cookie given its key/name.
@@ -84,16 +65,5 @@ export function removeCookie(key) {
84
65
  export function getCookie(key) {
85
66
  return getCookies()[key];
86
67
  }
87
- /**
88
- * Converts an object to a cookie string format
89
- * Handles both string values and boolean flags (like Secure)
90
- */
91
- const objectToCookieString = (object) => Object.entries(object).reduce((prev, [k, v]) => {
92
- if (typeof v === 'boolean') {
93
- // For boolean attributes like Secure, just add the attribute name if true
94
- return v ? `${prev} ${k};` : prev;
95
- }
96
- // For string attributes, add key=value
97
- return `${prev} ${k}${v !== '' ? `=${v}` : ''};`;
98
- }, '').trim();
68
+ const objectToCookieString = (object) => Object.entries(object).reduce((prev, [k, v]) => `${prev} ${k}${v !== '' ? `=${v}` : ''};`, '').trim();
99
69
  //# sourceMappingURL=cookie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/utils/cookie.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/utils/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,6CAA6C,CAAC,CAAA;AACtF,IAAI,YAAY,GAAG,EAAE,CAAA;AACrB,IAAI,gBAAgB,GAA2B,EAAE,CAAA;AAEjD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACxC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1D,gBAAgB,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;IAC/D,sCAAsC;IACtC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACpC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;IACjC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO,CAAC,gBAAgB,CAAC;QAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA;IACjE,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,OAAO,CAAC,gBAAgB,CAAC;QAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA;IACjE,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC5D,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9B,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,EAA4B,CAAC,CAAA;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,KAAa,EAAE,mBAA2C,EAAE;IACjG,IAAI,OAAO,CAAC,gBAAgB,CAAC;QAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA;IACjE,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,oBAAoB,CAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC,EAAE,CAAA;AAC3G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,OAAO,CAAC,gBAAgB,CAAC;QAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA;IACjE,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,oBAAoB,CAAC,EAAE,GAAG,gBAAgB,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,EAAE,CAAA;AACxH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,MAA8B,EAAU,EAAE,CACtE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/portal-components",
3
- "version": "1.0.0-dev.1772829972667",
3
+ "version": "1.0.0-dev.1773062346794",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -2,14 +2,7 @@ import { isEmpty } from 'lodash'
2
2
 
3
3
  const DEFAULT_DOMAIN_REGEX = new RegExp(/(\.*(prd|stg|dev)*.stackspot.com)|localhost/)
4
4
  let cookieDomain = ''
5
- let cookieAttributes: Record<string, string | boolean> = {}
6
-
7
- /**
8
- * Checks if the current environment is using HTTPS
9
- */
10
- function isSecureContext(): boolean {
11
- return window.location.protocol === 'https:'
12
- }
5
+ let cookieAttributes: Record<string, string> = {}
13
6
 
14
7
  /**
15
8
  * Setup the cookie utilities to use a another domain. By default, it's based on *.stackspot.com.
@@ -20,8 +13,8 @@ export function setupCookies(domainRegex: RegExp) {
20
13
  cookieDomain = domainRegex.exec(portalUrl.host)?.[0] ?? ''
21
14
  cookieAttributes = { domain: cookieDomain, SameSite: 'Strict' }
22
15
  // Add Secure attribute if using HTTPS
23
- if (isSecureContext()) {
24
- cookieAttributes['Secure'] = true
16
+ if (portalUrl.protocol === 'https:') {
17
+ cookieAttributes['Secure'] = ''
25
18
  }
26
19
  }
27
20
 
@@ -55,14 +48,7 @@ export function getCookies(): Record<string, string | undefined> {
55
48
  */
56
49
  export function setCookie(key: string, value: string, customAttributes: Record<string, string> = {}) {
57
50
  if (isEmpty(cookieAttributes)) setupCookies(DEFAULT_DOMAIN_REGEX)
58
-
59
- // Merge attributes and ensure Secure is set in HTTPS contexts
60
- const mergedAttributes: Record<string, string | boolean> = { ...cookieAttributes, ...customAttributes }
61
- if (isSecureContext() && !('Secure' in mergedAttributes)) {
62
- mergedAttributes['Secure'] = true
63
- }
64
-
65
- document.cookie = `${key}=${value};${objectToCookieString(mergedAttributes)}`
51
+ document.cookie = `${key}=${value};${objectToCookieString({ ...cookieAttributes, ...customAttributes })}`
66
52
  }
67
53
 
68
54
  /**
@@ -71,18 +57,7 @@ export function setCookie(key: string, value: string, customAttributes: Record<s
71
57
  */
72
58
  export function removeCookie(key: string) {
73
59
  if (isEmpty(cookieAttributes)) setupCookies(DEFAULT_DOMAIN_REGEX)
74
-
75
- const attributes: Record<string, string | boolean> = {
76
- ...cookieAttributes,
77
- expires: 'Thu, 01 Jan 1970 00:00:00 GMT',
78
- }
79
-
80
- // Ensure Secure attribute is set in HTTPS contexts
81
- if (isSecureContext()) {
82
- attributes['Secure'] = true
83
- }
84
-
85
- document.cookie = `${key}=;${objectToCookieString(attributes)}`
60
+ document.cookie = `${key}=;${objectToCookieString({ ...cookieAttributes, expires: 'Thu, 01 Jan 1970 00:00:00 GMT' })}`
86
61
  }
87
62
 
88
63
  /**
@@ -94,16 +69,5 @@ export function getCookie(key: string) {
94
69
  return getCookies()[key]
95
70
  }
96
71
 
97
- /**
98
- * Converts an object to a cookie string format
99
- * Handles both string values and boolean flags (like Secure)
100
- */
101
- const objectToCookieString = (object: Record<string, string | boolean>): string =>
102
- Object.entries(object).reduce((prev, [k, v]) => {
103
- if (typeof v === 'boolean') {
104
- // For boolean attributes like Secure, just add the attribute name if true
105
- return v ? `${prev} ${k};` : prev
106
- }
107
- // For string attributes, add key=value
108
- return `${prev} ${k}${v !== '' ? `=${v}` : ''};`
109
- }, '').trim()
72
+ const objectToCookieString = (object: Record<string, string>): string =>
73
+ Object.entries(object).reduce((prev, [k, v]) => `${prev} ${k}${v !== '' ? `=${v}` : ''};`, '').trim()