react-textarea-autosize
Advanced tools
Comparing version 8.3.0 to 8.3.1
# react-textarea-autosize | ||
## 8.3.1 | ||
### Patch Changes | ||
- [`49d7d04`](https://github.com/Andarist/react-textarea-autosize/commit/49d7d04737136bea93b17f3c7eadb675a10a25ae) [#305](https://github.com/Andarist/react-textarea-autosize/pull/305) Thanks [@mxschmitt](https://github.com/mxschmitt)! - Moved internal `'resize'` listener to the layout effect since React 17 calls cleanups of regular effects asynchronously. This ensures that we don't ever try to access the already unmounted ref in our listener. | ||
## 8.3.0 | ||
@@ -4,0 +10,0 @@ |
@@ -143,3 +143,3 @@ 'use strict'; | ||
var latestListener = useLatest(listener); | ||
React.useEffect(function () { | ||
React.useLayoutEffect(function () { | ||
var handler = function handler(event) { | ||
@@ -215,10 +215,9 @@ latestListener.current(event); | ||
React.useLayoutEffect(resizeTextarea); | ||
useWindowResizeListener(resizeTextarea); | ||
} | ||
useWindowResizeListener(resizeTextarea); | ||
return (/*#__PURE__*/React.createElement("textarea", _extends({}, props, { | ||
onChange: handleChange, | ||
ref: ref | ||
})) | ||
); | ||
return /*#__PURE__*/React.createElement("textarea", _extends({}, props, { | ||
onChange: handleChange, | ||
ref: ref | ||
})); | ||
}; | ||
@@ -225,0 +224,0 @@ |
import _extends from '@babel/runtime/helpers/esm/extends'; | ||
import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose'; | ||
import { useEffect, forwardRef, useRef, useLayoutEffect, createElement } from 'react'; | ||
import { useLayoutEffect, forwardRef, useRef, createElement } from 'react'; | ||
import useLatest from 'use-latest'; | ||
@@ -137,3 +137,3 @@ import useComposedRef from 'use-composed-ref'; | ||
var latestListener = useLatest(listener); | ||
useEffect(function () { | ||
useLayoutEffect(function () { | ||
var handler = function handler(event) { | ||
@@ -209,10 +209,9 @@ latestListener.current(event); | ||
useLayoutEffect(resizeTextarea); | ||
useWindowResizeListener(resizeTextarea); | ||
} | ||
useWindowResizeListener(resizeTextarea); | ||
return (/*#__PURE__*/createElement("textarea", _extends({}, props, { | ||
onChange: handleChange, | ||
ref: ref | ||
})) | ||
); | ||
return /*#__PURE__*/createElement("textarea", _extends({}, props, { | ||
onChange: handleChange, | ||
ref: ref | ||
})); | ||
}; | ||
@@ -219,0 +218,0 @@ |
@@ -143,3 +143,3 @@ 'use strict'; | ||
var latestListener = useLatest(listener); | ||
React.useEffect(function () { | ||
React.useLayoutEffect(function () { | ||
var handler = function handler(event) { | ||
@@ -215,10 +215,9 @@ latestListener.current(event); | ||
React.useLayoutEffect(resizeTextarea); | ||
useWindowResizeListener(resizeTextarea); | ||
} | ||
useWindowResizeListener(resizeTextarea); | ||
return (/*#__PURE__*/React.createElement("textarea", _extends({}, props, { | ||
onChange: handleChange, | ||
ref: ref | ||
})) | ||
); | ||
return /*#__PURE__*/React.createElement("textarea", _extends({}, props, { | ||
onChange: handleChange, | ||
ref: ref | ||
})); | ||
}; | ||
@@ -225,0 +224,0 @@ |
@@ -65,3 +65,3 @@ "use strict"; | ||
var latestListener = useLatest(listener); | ||
React.useEffect((function() { | ||
React.useLayoutEffect((function() { | ||
var handler = function(event) { | ||
@@ -86,4 +86,4 @@ latestListener.current(event); | ||
}; | ||
return "undefined" != typeof document && React.useLayoutEffect(resizeTextarea), | ||
useWindowResizeListener(resizeTextarea), React.createElement("textarea", _extends({}, props, { | ||
return "undefined" != typeof document && (React.useLayoutEffect(resizeTextarea), | ||
useWindowResizeListener(resizeTextarea)), React.createElement("textarea", _extends({}, props, { | ||
onChange: function(event) { | ||
@@ -90,0 +90,0 @@ isControlled || resizeTextarea(), onChange(event); |
import _extends from '@babel/runtime/helpers/esm/extends'; | ||
import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose'; | ||
import { useEffect, forwardRef, useRef, useLayoutEffect, createElement } from 'react'; | ||
import { useLayoutEffect, forwardRef, useRef, createElement } from 'react'; | ||
import useLatest from 'use-latest'; | ||
@@ -137,3 +137,3 @@ import useComposedRef from 'use-composed-ref'; | ||
var latestListener = useLatest(listener); | ||
useEffect(function () { | ||
useLayoutEffect(function () { | ||
var handler = function handler(event) { | ||
@@ -209,10 +209,9 @@ latestListener.current(event); | ||
useLayoutEffect(resizeTextarea); | ||
useWindowResizeListener(resizeTextarea); | ||
} | ||
useWindowResizeListener(resizeTextarea); | ||
return (/*#__PURE__*/createElement("textarea", _extends({}, props, { | ||
onChange: handleChange, | ||
ref: ref | ||
})) | ||
); | ||
return /*#__PURE__*/createElement("textarea", _extends({}, props, { | ||
onChange: handleChange, | ||
ref: ref | ||
})); | ||
}; | ||
@@ -219,0 +218,0 @@ |
{ | ||
"name": "react-textarea-autosize", | ||
"description": "textarea component for React which grows with content", | ||
"version": "8.3.0", | ||
"version": "8.3.1", | ||
"keywords": [ | ||
@@ -32,5 +32,5 @@ "autosize", | ||
"build": "preconstruct build", | ||
"docs:dev": "parcel example/index.html --out-dir example/dist --open", | ||
"docs:build": "parcel build example/index.html --out-dir example/dist", | ||
"docs:publish": "npm run docs:build && cd example/dist && git init && git commit --allow-empty -m 'update docs' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update docs' && git push git@github.com:Andarist/react-textarea-autosize gh-pages --force", | ||
"docs:dev": "npm run dev --prefix example", | ||
"docs:build": "npm run build --prefix example", | ||
"docs:publish": "npm run docs:build && cd ./example/dist && git init && git commit --allow-empty -m 'update docs' && git checkout -b gh-pages && touch .nojekyll && git add . && git commit -am 'update docs' && git push git@github.com:Andarist/react-textarea-autosize gh-pages --force", | ||
"clean": "rimraf dist", | ||
@@ -54,8 +54,8 @@ "lint": "eslint --ext .js,.ts,.tsx src", | ||
"devDependencies": { | ||
"@babel/core": "^7.10.2", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.10.1", | ||
"@babel/plugin-transform-runtime": "^7.10.1", | ||
"@babel/preset-env": "^7.10.2", | ||
"@babel/preset-react": "^7.10.1", | ||
"@babel/preset-typescript": "^7.10.1", | ||
"@babel/core": "^7.10.4", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.10.4", | ||
"@babel/plugin-transform-runtime": "^7.10.4", | ||
"@babel/preset-env": "^7.10.4", | ||
"@babel/preset-react": "^7.10.4", | ||
"@babel/preset-typescript": "^7.10.4", | ||
"@changesets/changelog-github": "^0.2.6", | ||
@@ -67,2 +67,3 @@ "@changesets/cli": "^2.8.0", | ||
"@types/react": "^16.9.35", | ||
"@types/react-dom": "^16.9.8", | ||
"@typescript-eslint/eslint-plugin": "^3.1.0", | ||
@@ -80,3 +81,3 @@ "@typescript-eslint/parser": "^3.1.0", | ||
"lint-staged": "^10.2.8", | ||
"parcel-bundler": "^1.12.4", | ||
"parcel": "2.0.0-nightly.454", | ||
"prettier": "^2.0.5", | ||
@@ -83,0 +84,0 @@ "react": "^16.13.1", |
55493
32
868