@os-design/use-resize-observer 1.0.22 → 1.0.23

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,4 +1,4 @@
1
- import { RefObject } from 'react';
1
+ import { type RefObject } from 'react';
2
2
  declare const useResizeObserver: (target: Element | RefObject<Element>, listener: ResizeObserverCallback) => void;
3
3
  export default useResizeObserver;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAG1D,QAAA,MAAM,iBAAiB,WACb,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,YAC1B,sBAAsB,KAC/B,IAyBF,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -21,5 +21,4 @@ const useResizeObserver = (target, listener) => {
21
21
  return () => resizeObserver.unobserve(element);
22
22
  }, [target]);
23
23
  };
24
- export default useResizeObserver;
25
- //# sourceMappingURL=index.js.map
24
+ export default useResizeObserver;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@os-design/use-resize-observer",
3
- "version": "1.0.22",
3
+ "version": "1.0.23",
4
4
  "license": "UNLICENSED",
5
5
  "repository": "git@gitlab.com:os-team/libs/os-design.git",
6
- "main": "dist/cjs/index.js",
7
- "module": "dist/esm/index.js",
8
- "types": "dist/types/index.d.ts",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
9
  "files": [
10
10
  "dist",
11
11
  "src",
@@ -20,9 +20,8 @@
20
20
  "sideEffects": false,
21
21
  "scripts": {
22
22
  "clean": "rimraf dist",
23
- "build:esm": "cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx --out-dir dist/esm --source-maps",
24
- "build:cjs": "cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx --out-dir dist/cjs --source-maps",
25
- "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
23
+ "build:esm": "cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx --out-dir dist",
24
+ "build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly --declaration --declarationDir dist",
26
25
  "build": "yarn clean && npm-run-all 'build:*'",
27
26
  "ncu": "ncu -u"
28
27
  },
@@ -30,11 +29,11 @@
30
29
  "access": "public"
31
30
  },
32
31
  "dependencies": {
33
- "@os-design/use-browser-layout-effect": "^1.0.20",
32
+ "@os-design/use-browser-layout-effect": "^1.0.21",
34
33
  "resize-observer-polyfill": "^1.5.1"
35
34
  },
36
35
  "peerDependencies": {
37
36
  "react": ">=18"
38
37
  },
39
- "gitHead": "1f17189e344a56fd6347dd6b896d6e7ef6e7b35d"
38
+ "gitHead": "86a83e87297a07afe132782ca2c95023b7139276"
40
39
  }
package/src/index.mdx CHANGED
@@ -29,7 +29,7 @@ const Container = styled.div`
29
29
  `;
30
30
 
31
31
  const UseResizeObserverExample: React.FC = () => {
32
- const containerRef = useRef<HTMLDivElement>();
32
+ const containerRef = useRef<HTMLDivElement>(null);
33
33
  const [size, setSize] = useState({ width: 0, height: 0 });
34
34
  const [numberOfWords, setNumberOfWords] = useState(10);
35
35
 
@@ -43,6 +43,7 @@ const UseResizeObserverExample: React.FC = () => {
43
43
  }, []);
44
44
 
45
45
  const updateContainerSize = useCallback(() => {
46
+ if (!containerRef.current) return;
46
47
  setSize({
47
48
  width: containerRef.current?.clientWidth,
48
49
  height: containerRef.current?.clientHeight,
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import useBrowserLayoutEffect from '@os-design/use-browser-layout-effect';
2
- import { RefObject, useEffect, useRef } from 'react';
2
+ import { type RefObject, useEffect, useRef } from 'react';
3
3
  import ResizeObserver from 'resize-observer-polyfill';
4
4
 
5
5
  const useResizeObserver = (
package/dist/cjs/index.js DELETED
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _useBrowserLayoutEffect = _interopRequireDefault(require("@os-design/use-browser-layout-effect"));
8
- var _react = require("react");
9
- var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
- var useResizeObserver = function useResizeObserver(target, listener) {
13
- var listenerRef = (0, _react.useRef)();
14
- (0, _react.useEffect)(function () {
15
- listenerRef.current = listener;
16
- }, [listener]);
17
- (0, _useBrowserLayoutEffect["default"])(function () {
18
- var element;
19
- if (_typeof(target) === 'object' && target !== null) {
20
- element = target instanceof Element ? target : target.current;
21
- }
22
- if (!element) return function () {
23
- return undefined;
24
- };
25
- var eventListener = function eventListener(entries, observer) {
26
- if (!listenerRef.current) return;
27
- listenerRef.current(entries, observer);
28
- };
29
- var resizeObserver = new _resizeObserverPolyfill["default"](eventListener);
30
- resizeObserver.observe(element);
31
- return function () {
32
- return resizeObserver.unobserve(element);
33
- };
34
- }, [target]);
35
- };
36
- var _default = exports["default"] = useResizeObserver;
37
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_useBrowserLayoutEffect","_interopRequireDefault","require","_react","_resizeObserverPolyfill","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","useResizeObserver","target","listener","listenerRef","useRef","useEffect","current","useBrowserLayoutEffect","element","Element","undefined","eventListener","entries","observer","resizeObserver","ResizeObserver","observe","unobserve","_default","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import useBrowserLayoutEffect from '@os-design/use-browser-layout-effect';\nimport { RefObject, useEffect, useRef } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nconst useResizeObserver = (\n target: Element | RefObject<Element>,\n listener: ResizeObserverCallback\n): void => {\n const listenerRef = useRef<ResizeObserverCallback>();\n\n useEffect(() => {\n listenerRef.current = listener;\n }, [listener]);\n\n useBrowserLayoutEffect(() => {\n let element;\n if (typeof target === 'object' && target !== null) {\n element = target instanceof Element ? target : target.current;\n }\n\n if (!element) return () => undefined;\n\n const eventListener: ResizeObserverCallback = (entries, observer) => {\n if (!listenerRef.current) return;\n listenerRef.current(entries, observer);\n };\n\n const resizeObserver = new ResizeObserver(eventListener);\n resizeObserver.observe(element);\n\n return () => resizeObserver.unobserve(element);\n }, [target]);\n};\n\nexport default useResizeObserver;\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAsD,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAEtD,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CACrBC,MAAoC,EACpCC,QAAgC,EACvB;EACT,IAAMC,WAAW,GAAG,IAAAC,aAAM,EAAyB,CAAC;EAEpD,IAAAC,gBAAS,EAAC,YAAM;IACdF,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAAK,kCAAsB,EAAC,YAAM;IAC3B,IAAIC,OAAO;IACX,IAAId,OAAA,CAAOO,MAAM,MAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;MACjDO,OAAO,GAAGP,MAAM,YAAYQ,OAAO,GAAGR,MAAM,GAAGA,MAAM,CAACK,OAAO;IAC/D;IAEA,IAAI,CAACE,OAAO,EAAE,OAAO;MAAA,OAAME,SAAS;IAAA;IAEpC,IAAMC,aAAqC,GAAG,SAAxCA,aAAqCA,CAAIC,OAAO,EAAEC,QAAQ,EAAK;MACnE,IAAI,CAACV,WAAW,CAACG,OAAO,EAAE;MAC1BH,WAAW,CAACG,OAAO,CAACM,OAAO,EAAEC,QAAQ,CAAC;IACxC,CAAC;IAED,IAAMC,cAAc,GAAG,IAAIC,kCAAc,CAACJ,aAAa,CAAC;IACxDG,cAAc,CAACE,OAAO,CAACR,OAAO,CAAC;IAE/B,OAAO;MAAA,OAAMM,cAAc,CAACG,SAAS,CAACT,OAAO,CAAC;IAAA;EAChD,CAAC,EAAE,CAACP,MAAM,CAAC,CAAC;AACd,CAAC;AAAC,IAAAiB,QAAA,GAAAC,OAAA,cAEanB,iBAAiB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["useBrowserLayoutEffect","useEffect","useRef","ResizeObserver","useResizeObserver","target","listener","listenerRef","current","element","Element","undefined","eventListener","entries","observer","resizeObserver","observe","unobserve"],"sources":["../../src/index.ts"],"sourcesContent":["import useBrowserLayoutEffect from '@os-design/use-browser-layout-effect';\nimport { RefObject, useEffect, useRef } from 'react';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nconst useResizeObserver = (\n target: Element | RefObject<Element>,\n listener: ResizeObserverCallback\n): void => {\n const listenerRef = useRef<ResizeObserverCallback>();\n\n useEffect(() => {\n listenerRef.current = listener;\n }, [listener]);\n\n useBrowserLayoutEffect(() => {\n let element;\n if (typeof target === 'object' && target !== null) {\n element = target instanceof Element ? target : target.current;\n }\n\n if (!element) return () => undefined;\n\n const eventListener: ResizeObserverCallback = (entries, observer) => {\n if (!listenerRef.current) return;\n listenerRef.current(entries, observer);\n };\n\n const resizeObserver = new ResizeObserver(eventListener);\n resizeObserver.observe(element);\n\n return () => resizeObserver.unobserve(element);\n }, [target]);\n};\n\nexport default useResizeObserver;\n"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,sCAAsC;AACzE,SAAoBC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACpD,OAAOC,cAAc,MAAM,0BAA0B;AAErD,MAAMC,iBAAiB,GAAGA,CACxBC,MAAoC,EACpCC,QAAgC,KACvB;EACT,MAAMC,WAAW,GAAGL,MAAM,CAAyB,CAAC;EAEpDD,SAAS,CAAC,MAAM;IACdM,WAAW,CAACC,OAAO,GAAGF,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEdN,sBAAsB,CAAC,MAAM;IAC3B,IAAIS,OAAO;IACX,IAAI,OAAOJ,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;MACjDI,OAAO,GAAGJ,MAAM,YAAYK,OAAO,GAAGL,MAAM,GAAGA,MAAM,CAACG,OAAO;IAC/D;IAEA,IAAI,CAACC,OAAO,EAAE,OAAO,MAAME,SAAS;IAEpC,MAAMC,aAAqC,GAAGA,CAACC,OAAO,EAAEC,QAAQ,KAAK;MACnE,IAAI,CAACP,WAAW,CAACC,OAAO,EAAE;MAC1BD,WAAW,CAACC,OAAO,CAACK,OAAO,EAAEC,QAAQ,CAAC;IACxC,CAAC;IAED,MAAMC,cAAc,GAAG,IAAIZ,cAAc,CAACS,aAAa,CAAC;IACxDG,cAAc,CAACC,OAAO,CAACP,OAAO,CAAC;IAE/B,OAAO,MAAMM,cAAc,CAACE,SAAS,CAACR,OAAO,CAAC;EAChD,CAAC,EAAE,CAACJ,MAAM,CAAC,CAAC;AACd,CAAC;AAED,eAAeD,iBAAiB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAGrD,QAAA,MAAM,iBAAiB,WACb,OAAO,GAAG,UAAU,OAAO,CAAC,YAC1B,sBAAsB,KAC/B,IAyBF,CAAC;AAEF,eAAe,iBAAiB,CAAC"}