@semcore/core 17.2.0 → 17.2.1-prerelease.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [17.2.1] - 2026-06-25
6
+
7
+ ### Fixed
8
+
9
+ - Outdated dependecies.
10
+ - Update `usePreventScroll` to handle `hidden` and `clip` overflow
11
+ values on `body`.
12
+ - Incorrect processing of oklch values.
13
+
5
14
  ## [17.2.0] - 2026-06-05
6
15
 
7
16
  ### Added
@@ -1,5 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- const DEV = process.env.NODE_ENV !== "production";
2
+ const DEV = process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test";
3
3
  class Logger {
4
4
  constructor(logger2) {
5
5
  _defineProperty(this, "logger", void 0);
@@ -27,7 +27,7 @@ function injectStyle(css) {
27
27
  sh = prevSh;
28
28
  } else {
29
29
  // @ts-ignore
30
- const version = "17.2.0";
30
+ const version = "17.2.1";
31
31
  sh = document.createElement('style');
32
32
  sh.setAttribute('data-ui-v', version);
33
33
  sh.classList.add(selectorClass);
@@ -21,7 +21,7 @@ function injectStyle(css) {
21
21
  sh = prevSh;
22
22
  } else {
23
23
  // @ts-ignore
24
- const version = "17.2.0";
24
+ const version = "17.2.1";
25
25
  sh = document.createElement('style');
26
26
  sh.setAttribute('data-ui-v', version);
27
27
  sh.classList.add(selectorClass);
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = exports.Logger = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- const DEV = process.env.NODE_ENV !== 'production';
9
+ const DEV = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';
10
10
  class Logger {
11
11
  constructor(logger) {
12
12
  (0, _defineProperty2.default)(this, "logger", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["DEV","process","env","NODE_ENV","Logger","constructor","logger","_defineProperty2","default","warn","console","level","msg","component","condition","exports","_default"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["const DEV = process.env.NODE_ENV !== 'production';\n\nclass Logger {\n private logger: any;\n\n constructor(logger?: typeof console) {\n this.logger = logger || {\n warn: () => {},\n };\n }\n\n console(level: string, msg: string, component: any) {\n this.logger[level](component ? `[${component}]: ${msg}` : msg);\n }\n\n warn(condition: any, msg: string, component: any) {\n if (DEV) {\n if (condition) {\n this.console('warn', msg, component);\n }\n }\n }\n}\nexport { Logger };\nexport default new Logger(console);\n"],"mappings":";;;;;;;;AAAA,MAAMA,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;AAEjD,MAAMC,MAAM,CAAC;EAGXC,WAAWA,CAACC,MAAuB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACnC,IAAI,CAACF,MAAM,GAAGA,MAAM,IAAI;MACtBG,IAAI,EAAEA,CAAA,KAAM,CAAC;IACf,CAAC;EACH;EAEAC,OAAOA,CAACC,KAAa,EAAEC,GAAW,EAAEC,SAAc,EAAE;IAClD,IAAI,CAACP,MAAM,CAACK,KAAK,CAAC,CAACE,SAAS,GAAG,IAAIA,SAAS,MAAMD,GAAG,EAAE,GAAGA,GAAG,CAAC;EAChE;EAEAH,IAAIA,CAACK,SAAc,EAAEF,GAAW,EAAEC,SAAc,EAAE;IAChD,IAAIb,GAAG,EAAE;MACP,IAAIc,SAAS,EAAE;QACb,IAAI,CAACJ,OAAO,CAAC,MAAM,EAAEE,GAAG,EAAEC,SAAS,CAAC;MACtC;IACF;EACF;AACF;AAACE,OAAA,CAAAX,MAAA,GAAAA,MAAA;AAAA,IAAAY,QAAA,GAAAD,OAAA,CAAAP,OAAA,GAEc,IAAIJ,MAAM,CAACM,OAAO,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"logger.js","names":["DEV","process","env","NODE_ENV","Logger","constructor","logger","_defineProperty2","default","warn","console","level","msg","component","condition","exports","_default"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["const DEV = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n\nclass Logger {\n private logger: any;\n\n constructor(logger?: typeof console) {\n this.logger = logger || {\n warn: () => {},\n };\n }\n\n console(level: string, msg: string, component: any) {\n this.logger[level](component ? `[${component}]: ${msg}` : msg);\n }\n\n warn(condition: any, msg: string, component: any) {\n if (DEV) {\n if (condition) {\n this.console('warn', msg, component);\n }\n }\n }\n}\nexport { Logger };\nexport default new Logger(console);\n"],"mappings":";;;;;;;;AAAA,MAAMA,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIF,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM;AAEpF,MAAMC,MAAM,CAAC;EAGXC,WAAWA,CAACC,MAAuB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACnC,IAAI,CAACF,MAAM,GAAGA,MAAM,IAAI;MACtBG,IAAI,EAAEA,CAAA,KAAM,CAAC;IACf,CAAC;EACH;EAEAC,OAAOA,CAACC,KAAa,EAAEC,GAAW,EAAEC,SAAc,EAAE;IAClD,IAAI,CAACP,MAAM,CAACK,KAAK,CAAC,CAACE,SAAS,GAAG,IAAIA,SAAS,MAAMD,GAAG,EAAE,GAAGA,GAAG,CAAC;EAChE;EAEAH,IAAIA,CAACK,SAAc,EAAEF,GAAW,EAAEC,SAAc,EAAE;IAChD,IAAIb,GAAG,EAAE;MACP,IAAIc,SAAS,EAAE;QACb,IAAI,CAACJ,OAAO,CAAC,MAAM,EAAEE,GAAG,EAAEC,SAAS,CAAC;MACtC;IACF;EACF;AACF;AAACE,OAAA,CAAAX,MAAA,GAAAA,MAAA;AAAA,IAAAY,QAAA,GAAAD,OAAA,CAAAP,OAAA,GAEc,IAAIJ,MAAM,CAACM,OAAO,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- const DEV = process.env.NODE_ENV !== "production";
2
+ const DEV = process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test";
3
3
  class Logger {
4
4
  constructor(logger2) {
5
5
  _defineProperty(this, "logger", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.mjs","names":["DEV","process","env","NODE_ENV","Logger","constructor","logger","_defineProperty","warn","console","level","msg","component","condition"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["const DEV = process.env.NODE_ENV !== 'production';\n\nclass Logger {\n private logger: any;\n\n constructor(logger?: typeof console) {\n this.logger = logger || {\n warn: () => {},\n };\n }\n\n console(level: string, msg: string, component: any) {\n this.logger[level](component ? `[${component}]: ${msg}` : msg);\n }\n\n warn(condition: any, msg: string, component: any) {\n if (DEV) {\n if (condition) {\n this.console('warn', msg, component);\n }\n }\n }\n}\nexport { Logger };\nexport default new Logger(console);\n"],"mappings":";AAAA,MAAMA,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;AAEjD,MAAMC,MAAM,CAAC;EAGXC,WAAWA,CAACC,MAAuB,EAAE;IAAAC,eAAA;IACnC,IAAI,CAACD,MAAM,GAAGA,MAAM,IAAI;MACtBE,IAAI,EAAEA,CAAA,KAAM,CAAC;IACf,CAAC;EACH;EAEAC,OAAOA,CAACC,KAAa,EAAEC,GAAW,EAAEC,SAAc,EAAE;IAClD,IAAI,CAACN,MAAM,CAACI,KAAK,CAAC,CAACE,SAAS,GAAG,IAAIA,SAAS,MAAMD,GAAG,EAAE,GAAGA,GAAG,CAAC;EAChE;EAEAH,IAAIA,CAACK,SAAc,EAAEF,GAAW,EAAEC,SAAc,EAAE;IAChD,IAAIZ,GAAG,EAAE;MACP,IAAIa,SAAS,EAAE;QACb,IAAI,CAACJ,OAAO,CAAC,MAAM,EAAEE,GAAG,EAAEC,SAAS,CAAC;MACtC;IACF;EACF;AACF;AACA,SAASR,MAAM;AACf,eAAe,IAAIA,MAAM,CAACK,OAAO,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"logger.mjs","names":["DEV","process","env","NODE_ENV","Logger","constructor","logger","_defineProperty","warn","console","level","msg","component","condition"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["const DEV = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n\nclass Logger {\n private logger: any;\n\n constructor(logger?: typeof console) {\n this.logger = logger || {\n warn: () => {},\n };\n }\n\n console(level: string, msg: string, component: any) {\n this.logger[level](component ? `[${component}]: ${msg}` : msg);\n }\n\n warn(condition: any, msg: string, component: any) {\n if (DEV) {\n if (condition) {\n this.console('warn', msg, component);\n }\n }\n }\n}\nexport { Logger };\nexport default new Logger(console);\n"],"mappings":";AAAA,MAAMA,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIF,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM;AAEpF,MAAMC,MAAM,CAAC;EAGXC,WAAWA,CAACC,MAAuB,EAAE;IAAAC,eAAA;IACnC,IAAI,CAACD,MAAM,GAAGA,MAAM,IAAI;MACtBE,IAAI,EAAEA,CAAA,KAAM,CAAC;IACf,CAAC;EACH;EAEAC,OAAOA,CAACC,KAAa,EAAEC,GAAW,EAAEC,SAAc,EAAE;IAClD,IAAI,CAACN,MAAM,CAACI,KAAK,CAAC,CAACE,SAAS,GAAG,IAAIA,SAAS,MAAMD,GAAG,EAAE,GAAGA,GAAG,CAAC;EAChE;EAEAH,IAAIA,CAACK,SAAc,EAAEF,GAAW,EAAEC,SAAc,EAAE;IAChD,IAAIZ,GAAG,EAAE;MACP,IAAIa,SAAS,EAAE;QACb,IAAI,CAACJ,OAAO,CAAC,MAAM,EAAEE,GAAG,EAAEC,SAAS,CAAC;MACtC;IACF;EACF;AACF;AACA,SAASR,MAAM;AACf,eAAe,IAAIA,MAAM,CAACK,OAAO,CAAC","ignoreList":[]}
@@ -35,6 +35,7 @@ const lockedBodyStyles = {
35
35
  overflow: '',
36
36
  boxSizing: ''
37
37
  };
38
+ const overflowValuesToSkip = new Set(['clip', 'hidden']);
38
39
  function usePreventScroll(visible = true, disabled = false) {
39
40
  const scrollbarWidth = _react.default.useMemo(getScrollbarWidth, [getScrollbarWidth]);
40
41
  const id = (0, _uniqueID.useUID)('scroll-preventer-');
@@ -44,11 +45,13 @@ function usePreventScroll(visible = true, disabled = false) {
44
45
  scrollPreventers.add(id);
45
46
  if (scrollPreventers.size > 1) return;
46
47
  const {
47
- paddingRight
48
+ paddingRight,
49
+ overflow
48
50
  } = window.getComputedStyle(document.body);
49
51
  lockedBodyStyles.paddingRight = document.body.style.paddingRight;
50
52
  lockedBodyStyles.overflow = document.body.style.overflow;
51
53
  lockedBodyStyles.boxSizing = document.body.style.boxSizing;
54
+ if (overflowValuesToSkip.has(overflow)) return;
52
55
  const intPaddingRight = getIntValueFromCss(paddingRight);
53
56
  let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);
54
57
  // Detected own style for window inside window
@@ -1 +1 @@
1
- {"version":3,"file":"usePreventScroll.js","names":["_react","_interopRequireDefault","require","_canUseDOM","_uniqueID","getScrollbarWidth","canUseDOM","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","usePreventScroll","visible","disabled","scrollbarWidth","React","useMemo","id","useUID","useEffect","add","size","window","getComputedStyle","intPaddingRight","intPaddingRightFromStyle","delete"],"sources":["../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight: '',\n overflow: '',\n boxSizing: '',\n};\nexport default function usePreventScroll(visible = true, disabled = false) {\n const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);\n const id = useUID('scroll-preventer-');\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n scrollPreventers.add(id);\n if (scrollPreventers.size > 1) return;\n\n const { paddingRight } = window.getComputedStyle(document.body);\n\n lockedBodyStyles.paddingRight = document.body.style.paddingRight;\n lockedBodyStyles.overflow = document.body.style.overflow;\n lockedBodyStyles.boxSizing = document.body.style.boxSizing;\n\n const intPaddingRight = getIntValueFromCss(paddingRight);\n let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);\n // Detected own style for window inside window\n if (intPaddingRightFromStyle !== scrollbarWidth) {\n intPaddingRightFromStyle = 0;\n }\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight =\n scrollbarWidth + (intPaddingRight - intPaddingRightFromStyle) + 'px';\n document.body.style.boxSizing = 'border-box';\n }, [visible, id, disabled]);\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n return () => {\n scrollPreventers.delete(id);\n if (scrollPreventers.size !== 0) return;\n document.body.style.overflow = lockedBodyStyles.overflow;\n document.body.style.paddingRight = lockedBodyStyles.paddingRight;\n document.body.style.boxSizing = lockedBodyStyles.boxSizing;\n };\n }, [visible, id, disabled]);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"usePreventScroll.js","names":["_react","_interopRequireDefault","require","_canUseDOM","_uniqueID","getScrollbarWidth","canUseDOM","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","overflowValuesToSkip","usePreventScroll","visible","disabled","scrollbarWidth","React","useMemo","id","useUID","useEffect","add","size","window","getComputedStyle","has","intPaddingRight","intPaddingRightFromStyle","delete"],"sources":["../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight: '',\n overflow: '',\n boxSizing: '',\n};\n\nconst overflowValuesToSkip = new Set<string>(['clip', 'hidden']);\nexport default function usePreventScroll(visible = true, disabled = false) {\n const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);\n const id = useUID('scroll-preventer-');\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n scrollPreventers.add(id);\n if (scrollPreventers.size > 1) return;\n\n const { paddingRight, overflow } = window.getComputedStyle(document.body);\n\n lockedBodyStyles.paddingRight = document.body.style.paddingRight;\n lockedBodyStyles.overflow = document.body.style.overflow;\n lockedBodyStyles.boxSizing = document.body.style.boxSizing;\n\n if (overflowValuesToSkip.has(overflow)) return;\n\n const intPaddingRight = getIntValueFromCss(paddingRight);\n let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);\n // Detected own style for window inside window\n if (intPaddingRightFromStyle !== scrollbarWidth) {\n intPaddingRightFromStyle = 0;\n }\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight =\n scrollbarWidth + (intPaddingRight - intPaddingRightFromStyle) + 'px';\n document.body.style.boxSizing = 'border-box';\n }, [visible, id, disabled]);\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n return () => {\n scrollPreventers.delete(id);\n if (scrollPreventers.size !== 0) return;\n document.body.style.overflow = lockedBodyStyles.overflow;\n document.body.style.paddingRight = lockedBodyStyles.paddingRight;\n document.body.style.boxSizing = lockedBodyStyles.boxSizing;\n };\n }, [visible, id, disabled]);\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEO,SAASG,iBAAiBA,CAAA,EAAW;EAC1C,IAAI,CAAC,IAAAC,kBAAS,EAAC,CAAC,EAAE,OAAO,CAAC;EAC1B,MAAMC,KAAK,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAC3CF,KAAK,CAACG,KAAK,CAACC,UAAU,GAAG,QAAQ;EACjCJ,KAAK,CAACG,KAAK,CAACE,KAAK,GAAG,OAAO;EAC3B;EACAL,KAAK,CAACG,KAAK,CAACG,eAAe,GAAG,WAAW,CAAC,CAAC;EAC3CL,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACR,KAAK,CAAC;EAEhC,MAAMS,aAAa,GAAGT,KAAK,CAACU,WAAW;EACvCV,KAAK,CAACG,KAAK,CAACQ,QAAQ,GAAG,QAAQ;EAE/B,MAAMC,KAAK,GAAGX,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAC3CU,KAAK,CAACT,KAAK,CAACE,KAAK,GAAG,MAAM;EAC1BL,KAAK,CAACQ,WAAW,CAACI,KAAK,CAAC;EAExB,MAAMC,eAAe,GAAGD,KAAK,CAACF,WAAW;EAEzCV,KAAK,CAACc,UAAU,EAAEC,WAAW,CAACf,KAAK,CAAC;EAEpC,OAAOS,aAAa,GAAGI,eAAe;AACxC;AAEA,SAASG,kBAAkBA,CAACC,KAAU,EAAE;EACtC,OAAO,CAACC,MAAM,CAACC,KAAK,CAACD,MAAM,CAACD,KAAK,CAAC,CAAC,GAAGC,MAAM,CAACD,KAAK,CAAC,GAAGC,MAAM,CAACE,QAAQ,CAACH,KAAK,EAAE,EAAE,CAAC;AAClF;AAEA,MAAMI,gBAAgB,GAAG,IAAIC,GAAG,CAAS,CAAC;AAC1C,MAAMC,gBAAgB,GAAG;EACvBC,YAAY,EAAE,EAAE;EAChBb,QAAQ,EAAE,EAAE;EACZc,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,oBAAoB,GAAG,IAAIJ,GAAG,CAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,SAASK,gBAAgBA,CAACC,OAAO,GAAG,IAAI,EAAEC,QAAQ,GAAG,KAAK,EAAE;EACzE,MAAMC,cAAc,GAAGC,cAAK,CAACC,OAAO,CAAClC,iBAAiB,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAC5E,MAAMmC,EAAE,GAAG,IAAAC,gBAAM,EAAC,mBAAmB,CAAC;EAEtCH,cAAK,CAACI,SAAS,CAAC,MAAM;IACpB,IAAIN,QAAQ,EAAE;IACd,IAAI,CAAC,IAAA9B,kBAAS,EAAC,CAAC,IAAI,CAAC6B,OAAO,EAAE;IAC9BP,gBAAgB,CAACe,GAAG,CAACH,EAAE,CAAC;IACxB,IAAIZ,gBAAgB,CAACgB,IAAI,GAAG,CAAC,EAAE;IAE/B,MAAM;MAAEb,YAAY;MAAEb;IAAS,CAAC,GAAG2B,MAAM,CAACC,gBAAgB,CAACtC,QAAQ,CAACM,IAAI,CAAC;IAEzEgB,gBAAgB,CAACC,YAAY,GAAGvB,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACqB,YAAY;IAChED,gBAAgB,CAACZ,QAAQ,GAAGV,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACQ,QAAQ;IACxDY,gBAAgB,CAACE,SAAS,GAAGxB,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACsB,SAAS;IAE1D,IAAIC,oBAAoB,CAACc,GAAG,CAAC7B,QAAQ,CAAC,EAAE;IAExC,MAAM8B,eAAe,GAAGzB,kBAAkB,CAACQ,YAAY,CAAC;IACxD,IAAIkB,wBAAwB,GAAG1B,kBAAkB,CAACf,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACqB,YAAY,CAAC;IACnF;IACA,IAAIkB,wBAAwB,KAAKZ,cAAc,EAAE;MAC/CY,wBAAwB,GAAG,CAAC;IAC9B;IAEAzC,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACQ,QAAQ,GAAG,QAAQ;IACvCV,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACqB,YAAY,GAC9BM,cAAc,IAAIW,eAAe,GAAGC,wBAAwB,CAAC,GAAG,IAAI;IACtEzC,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACsB,SAAS,GAAG,YAAY;EAC9C,CAAC,EAAE,CAACG,OAAO,EAAEK,EAAE,EAAEJ,QAAQ,CAAC,CAAC;EAE3BE,cAAK,CAACI,SAAS,CAAC,MAAM;IACpB,IAAIN,QAAQ,EAAE;IACd,IAAI,CAAC,IAAA9B,kBAAS,EAAC,CAAC,IAAI,CAAC6B,OAAO,EAAE;IAC9B,OAAO,MAAM;MACXP,gBAAgB,CAACsB,MAAM,CAACV,EAAE,CAAC;MAC3B,IAAIZ,gBAAgB,CAACgB,IAAI,KAAK,CAAC,EAAE;MACjCpC,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACQ,QAAQ,GAAGY,gBAAgB,CAACZ,QAAQ;MACxDV,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACqB,YAAY,GAAGD,gBAAgB,CAACC,YAAY;MAChEvB,QAAQ,CAACM,IAAI,CAACJ,KAAK,CAACsB,SAAS,GAAGF,gBAAgB,CAACE,SAAS;IAC5D,CAAC;EACH,CAAC,EAAE,CAACG,OAAO,EAAEK,EAAE,EAAEJ,QAAQ,CAAC,CAAC;AAC7B","ignoreList":[]}
@@ -27,6 +27,7 @@ const lockedBodyStyles = {
27
27
  overflow: '',
28
28
  boxSizing: ''
29
29
  };
30
+ const overflowValuesToSkip = new Set(['clip', 'hidden']);
30
31
  export default function usePreventScroll(visible = true, disabled = false) {
31
32
  const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);
32
33
  const id = useUID('scroll-preventer-');
@@ -36,11 +37,13 @@ export default function usePreventScroll(visible = true, disabled = false) {
36
37
  scrollPreventers.add(id);
37
38
  if (scrollPreventers.size > 1) return;
38
39
  const {
39
- paddingRight
40
+ paddingRight,
41
+ overflow
40
42
  } = window.getComputedStyle(document.body);
41
43
  lockedBodyStyles.paddingRight = document.body.style.paddingRight;
42
44
  lockedBodyStyles.overflow = document.body.style.overflow;
43
45
  lockedBodyStyles.boxSizing = document.body.style.boxSizing;
46
+ if (overflowValuesToSkip.has(overflow)) return;
44
47
  const intPaddingRight = getIntValueFromCss(paddingRight);
45
48
  let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);
46
49
  // Detected own style for window inside window
@@ -1 +1 @@
1
- {"version":3,"file":"usePreventScroll.mjs","names":["React","canUseDOM","useUID","getScrollbarWidth","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","usePreventScroll","visible","disabled","scrollbarWidth","useMemo","id","useEffect","add","size","window","getComputedStyle","intPaddingRight","intPaddingRightFromStyle","delete"],"sources":["../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight: '',\n overflow: '',\n boxSizing: '',\n};\nexport default function usePreventScroll(visible = true, disabled = false) {\n const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);\n const id = useUID('scroll-preventer-');\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n scrollPreventers.add(id);\n if (scrollPreventers.size > 1) return;\n\n const { paddingRight } = window.getComputedStyle(document.body);\n\n lockedBodyStyles.paddingRight = document.body.style.paddingRight;\n lockedBodyStyles.overflow = document.body.style.overflow;\n lockedBodyStyles.boxSizing = document.body.style.boxSizing;\n\n const intPaddingRight = getIntValueFromCss(paddingRight);\n let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);\n // Detected own style for window inside window\n if (intPaddingRightFromStyle !== scrollbarWidth) {\n intPaddingRightFromStyle = 0;\n }\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight =\n scrollbarWidth + (intPaddingRight - intPaddingRightFromStyle) + 'px';\n document.body.style.boxSizing = 'border-box';\n }, [visible, id, disabled]);\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n return () => {\n scrollPreventers.delete(id);\n if (scrollPreventers.size !== 0) return;\n document.body.style.overflow = lockedBodyStyles.overflow;\n document.body.style.paddingRight = lockedBodyStyles.paddingRight;\n document.body.style.boxSizing = lockedBodyStyles.boxSizing;\n };\n }, [visible, id, disabled]);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"usePreventScroll.mjs","names":["React","canUseDOM","useUID","getScrollbarWidth","outer","document","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","getIntValueFromCss","value","Number","isNaN","parseInt","scrollPreventers","Set","lockedBodyStyles","paddingRight","boxSizing","overflowValuesToSkip","usePreventScroll","visible","disabled","scrollbarWidth","useMemo","id","useEffect","add","size","window","getComputedStyle","has","intPaddingRight","intPaddingRightFromStyle","delete"],"sources":["../../../src/utils/use/usePreventScroll.tsx"],"sourcesContent":["import React from 'react';\n\nimport canUseDOM from '../canUseDOM';\nimport { useUID } from '../uniqueID';\n\nexport function getScrollbarWidth(): number {\n if (!canUseDOM()) return 0;\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n // @ts-expect-error\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n const widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n const inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n outer.parentNode?.removeChild(outer);\n\n return widthNoScroll - widthWithScroll;\n}\n\nfunction getIntValueFromCss(value: any) {\n return !Number.isNaN(Number(value)) ? Number(value) : Number.parseInt(value, 10);\n}\n\nconst scrollPreventers = new Set<string>();\nconst lockedBodyStyles = {\n paddingRight: '',\n overflow: '',\n boxSizing: '',\n};\n\nconst overflowValuesToSkip = new Set<string>(['clip', 'hidden']);\nexport default function usePreventScroll(visible = true, disabled = false) {\n const scrollbarWidth = React.useMemo(getScrollbarWidth, [getScrollbarWidth]);\n const id = useUID('scroll-preventer-');\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n scrollPreventers.add(id);\n if (scrollPreventers.size > 1) return;\n\n const { paddingRight, overflow } = window.getComputedStyle(document.body);\n\n lockedBodyStyles.paddingRight = document.body.style.paddingRight;\n lockedBodyStyles.overflow = document.body.style.overflow;\n lockedBodyStyles.boxSizing = document.body.style.boxSizing;\n\n if (overflowValuesToSkip.has(overflow)) return;\n\n const intPaddingRight = getIntValueFromCss(paddingRight);\n let intPaddingRightFromStyle = getIntValueFromCss(document.body.style.paddingRight);\n // Detected own style for window inside window\n if (intPaddingRightFromStyle !== scrollbarWidth) {\n intPaddingRightFromStyle = 0;\n }\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight =\n scrollbarWidth + (intPaddingRight - intPaddingRightFromStyle) + 'px';\n document.body.style.boxSizing = 'border-box';\n }, [visible, id, disabled]);\n\n React.useEffect(() => {\n if (disabled) return;\n if (!canUseDOM() || !visible) return;\n return () => {\n scrollPreventers.delete(id);\n if (scrollPreventers.size !== 0) return;\n document.body.style.overflow = lockedBodyStyles.overflow;\n document.body.style.paddingRight = lockedBodyStyles.paddingRight;\n document.body.style.boxSizing = lockedBodyStyles.boxSizing;\n };\n }, [visible, id, disabled]);\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/core",
3
3
  "description": "Semrush Core Component",
4
- "version": "17.2.0",
4
+ "version": "17.2.1-prerelease.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.mjs",
7
7
  "typings": "lib/index.d.ts",
@@ -310,7 +310,7 @@
310
310
  }
311
311
  },
312
312
  "dependencies": {
313
- "@formatjs/intl": "3.0.4",
313
+ "@formatjs/intl": "4.1.13",
314
314
  "@phytonmk/nano-css": "5.3.7",
315
315
  "classnames": "2.2.6",
316
316
  "hoist-non-react-statics": "3.3.2",
@@ -0,0 +1,17 @@
1
+ import { resolve as resolvePath } from 'node:path';
2
+
3
+ import { defineConfig } from 'vitest/config';
4
+
5
+ import { vitestPlugins, vitestResolve } from '../../vitest.config.mts';
6
+
7
+ export default defineConfig({
8
+ plugins: vitestPlugins,
9
+ resolve: vitestResolve,
10
+ test: {
11
+ include: [
12
+ '__tests__/**/*.test.tsx',
13
+ ],
14
+ environment: 'jsdom',
15
+ setupFiles: [resolvePath(__dirname, '../../tools/testing-utils/setupTests')],
16
+ },
17
+ });