@frsource/autoresize-textarea 1.2.0 → 1.2.3
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/README.md +13 -5
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.mjs +2 -0
- package/dist/index.modern.mjs.map +1 -0
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -2
- package/dist/index.modern.js +0 -2
- package/dist/index.modern.js.map +0 -1
package/README.md
CHANGED
|
@@ -22,8 +22,6 @@
|
|
|
22
22
|
<a href="#quick-start">Getting Started</a>
|
|
23
23
|
·
|
|
24
24
|
<a href="https://www.frsource.org/autoresize-textarea" target="_blank">Demo</a>
|
|
25
|
-
.
|
|
26
|
-
<a href="#contribution">Contribution</a>
|
|
27
25
|
·
|
|
28
26
|
<a href="https://github.com/FRSOURCE/autoresize-textarea/issues">File an Issue</a>
|
|
29
27
|
·
|
|
@@ -35,7 +33,7 @@
|
|
|
35
33
|
<br>
|
|
36
34
|
<i>Tiny library which make your textareas fluid.
|
|
37
35
|
<br>Mobile & desktop-friendly
|
|
38
|
-
<br>Performant & with small bundle size (less than
|
|
36
|
+
<br>Performant & with small bundle size (less than 390B!)
|
|
39
37
|
<br>Published as separate bundles for JS ES5 or modern browsers thanks to <a href="https://www.npmjs.com/package/microbundle">microbundle</a>
|
|
40
38
|
<br>Written completely in <a href="https://www.typescriptlang.org">typescript</a></i>
|
|
41
39
|
<br>Published under <a href="https://opensource.org/licenses/MIT" target="_blank">MIT</a> license</i>
|
|
@@ -45,7 +43,17 @@
|
|
|
45
43
|
|
|
46
44
|
## Quick start
|
|
47
45
|
|
|
48
|
-
###
|
|
46
|
+
### Installation
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# npm
|
|
50
|
+
npm install @frsource/autoresize-textarea
|
|
51
|
+
|
|
52
|
+
# Yarn
|
|
53
|
+
yarn add @frsource/autoresize-textarea
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Modern JS/Typescript
|
|
49
57
|
|
|
50
58
|
```ts
|
|
51
59
|
import { attach } from "@frsource/autoresize-textarea";
|
|
@@ -57,7 +65,7 @@ attach(textarea);
|
|
|
57
65
|
|
|
58
66
|
```js
|
|
59
67
|
const textarea = document.querySelector("textarea");
|
|
60
|
-
|
|
68
|
+
window.autoresizeTextarea.attach(textarea);
|
|
61
69
|
```
|
|
62
70
|
|
|
63
71
|
For working example, check out [our demo](https://www.frsource.org/autoresize-textarea).
|
package/dist/index.es.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=function(
|
|
1
|
+
var t="data-frs-autoresize-textarea",e=function(e){if(!e.getAttribute(t)){e.setAttribute(t,"");var i="",r=function(){if(e.scrollHeight>e.clientHeight||i===e.style.height){var t=e.style.overflow;e.style.height="auto",e.style.overflow="hidden",e.style.height=i=e.scrollHeight+(e.offsetHeight-e.clientHeight)+"px",e.style.overflow=t}};return e.style.boxSizing="border-box",r(),e.addEventListener("input",r),{detach:function(){e.removeAttribute(t),e.removeEventListener("input",r)}}}};export{e as attach};
|
|
2
2
|
//# sourceMappingURL=index.es.js.map
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/index.ts"],"sourcesContent":["const ATTRIBUTE_NAME = \"data-frs-autoresize-textarea\";\n\nexport const attach = (element: HTMLTextAreaElement) => {\n if (element.getAttribute(ATTRIBUTE_NAME)) return;\n element.setAttribute(ATTRIBUTE_NAME, \"
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/index.ts"],"sourcesContent":["const ATTRIBUTE_NAME = \"data-frs-autoresize-textarea\";\n\nexport const attach = (element: HTMLTextAreaElement) => {\n if (element.getAttribute(ATTRIBUTE_NAME)) return;\n element.setAttribute(ATTRIBUTE_NAME, \"\");\n\n let prevHeight = \"\";\n const inputHandler = () => {\n if (\n element.scrollHeight > element.clientHeight ||\n prevHeight === element.style.height\n ) {\n const currentOverflow = element.style.overflow;\n element.style.height = \"auto\";\n element.style.overflow = \"hidden\";\n element.style.height = prevHeight = `${\n element.scrollHeight + (element.offsetHeight - element.clientHeight)\n }px`;\n element.style.overflow = currentOverflow;\n }\n };\n\n element.style.boxSizing = \"border-box\";\n\n inputHandler();\n\n element.addEventListener(\"input\", inputHandler);\n\n return {\n detach() {\n element.removeAttribute(ATTRIBUTE_NAME);\n element.removeEventListener(\"input\", inputHandler);\n },\n };\n};\n"],"names":["attach","element","getAttribute","ATTRIBUTE_NAME","setAttribute","prevHeight","inputHandler","scrollHeight","clientHeight","style","height","currentOverflow","overflow","offsetHeight","boxSizing","addEventListener","detach","removeAttribute","removeEventListener"],"mappings":"AAAA,MAAuB,+BAEJA,EAAG,SAACC,GACrB,IAAIA,EAAQC,aAAaC,GAAzB,CACAF,EAAQG,aAAaD,EAAgB,IAErC,IAAIE,EAAa,GACXC,EAAe,WACnB,GACEL,EAAQM,aAAeN,EAAQO,cAC/BH,IAAeJ,EAAQQ,MAAMC,OAC7B,CACA,IAAMC,EAAkBV,EAAQQ,MAAMG,SACtCX,EAAQQ,MAAMC,OAAS,OACvBT,EAAQQ,MAAMG,SAAW,SACzBX,EAAQQ,MAAMC,OAASL,EACrBJ,EAAQM,cAAgBN,EAAQY,aAAeZ,EAAQO,cADzD,KAGAP,EAAQQ,MAAMG,SAAWD,IAU7B,OANAV,EAAQQ,MAAMK,UAAY,aAE1BR,IAEAL,EAAQc,iBAAiB,QAAST,GAE3B,CACLU,OADK,WAEHf,EAAQgB,gBAAgBd,GACxBF,EAAQiB,oBAAoB,QAASZ"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
exports.attach=function(
|
|
1
|
+
var t="data-frs-autoresize-textarea";exports.attach=function(e){if(!e.getAttribute(t)){e.setAttribute(t,"");var i="",r=function(){if(e.scrollHeight>e.clientHeight||i===e.style.height){var t=e.style.overflow;e.style.height="auto",e.style.overflow="hidden",e.style.height=i=e.scrollHeight+(e.offsetHeight-e.clientHeight)+"px",e.style.overflow=t}};return e.style.boxSizing="border-box",r(),e.addEventListener("input",r),{detach:function(){e.removeAttribute(t),e.removeEventListener("input",r)}}}};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["const ATTRIBUTE_NAME = \"data-frs-autoresize-textarea\";\n\nexport const attach = (element: HTMLTextAreaElement) => {\n if (element.getAttribute(ATTRIBUTE_NAME)) return;\n element.setAttribute(ATTRIBUTE_NAME, \"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["const ATTRIBUTE_NAME = \"data-frs-autoresize-textarea\";\n\nexport const attach = (element: HTMLTextAreaElement) => {\n if (element.getAttribute(ATTRIBUTE_NAME)) return;\n element.setAttribute(ATTRIBUTE_NAME, \"\");\n\n let prevHeight = \"\";\n const inputHandler = () => {\n if (\n element.scrollHeight > element.clientHeight ||\n prevHeight === element.style.height\n ) {\n const currentOverflow = element.style.overflow;\n element.style.height = \"auto\";\n element.style.overflow = \"hidden\";\n element.style.height = prevHeight = `${\n element.scrollHeight + (element.offsetHeight - element.clientHeight)\n }px`;\n element.style.overflow = currentOverflow;\n }\n };\n\n element.style.boxSizing = \"border-box\";\n\n inputHandler();\n\n element.addEventListener(\"input\", inputHandler);\n\n return {\n detach() {\n element.removeAttribute(ATTRIBUTE_NAME);\n element.removeEventListener(\"input\", inputHandler);\n },\n };\n};\n"],"names":["element","getAttribute","ATTRIBUTE_NAME","setAttribute","prevHeight","inputHandler","scrollHeight","clientHeight","style","height","currentOverflow","overflow","offsetHeight","boxSizing","addEventListener","detach","removeAttribute","removeEventListener"],"mappings":"AAAA,MAAuB,8CAED,SAACA,GACrB,IAAIA,EAAQC,aAAaC,GAAzB,CACAF,EAAQG,aAAaD,EAAgB,IAErC,IAAIE,EAAa,GACXC,EAAe,WACnB,GACEL,EAAQM,aAAeN,EAAQO,cAC/BH,IAAeJ,EAAQQ,MAAMC,OAC7B,CACA,IAAMC,EAAkBV,EAAQQ,MAAMG,SACtCX,EAAQQ,MAAMC,OAAS,OACvBT,EAAQQ,MAAMG,SAAW,SACzBX,EAAQQ,MAAMC,OAASL,EACrBJ,EAAQM,cAAgBN,EAAQY,aAAeZ,EAAQO,cADzD,KAGAP,EAAQQ,MAAMG,SAAWD,IAU7B,OANAV,EAAQQ,MAAMK,UAAY,aAE1BR,IAEAL,EAAQc,iBAAiB,QAAST,GAE3B,CACLU,OADK,WAEHf,EAAQgB,gBAAgBd,GACxBF,EAAQiB,oBAAoB,QAASZ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const t="data-frs-autoresize-textarea",e=e=>{if(e.getAttribute(t))return;e.setAttribute(t,"");let i="";const r=()=>{if(e.scrollHeight>e.clientHeight||i===e.style.height){const t=e.style.overflow;e.style.height="auto",e.style.overflow="hidden",e.style.height=i=`${e.scrollHeight+(e.offsetHeight-e.clientHeight)}px`,e.style.overflow=t}};return e.style.boxSizing="border-box",r(),e.addEventListener("input",r),{detach(){e.removeAttribute(t),e.removeEventListener("input",r)}}};export{e as attach};
|
|
2
|
+
//# sourceMappingURL=index.modern.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.modern.mjs","sources":["../src/index.ts"],"sourcesContent":["const ATTRIBUTE_NAME = \"data-frs-autoresize-textarea\";\n\nexport const attach = (element: HTMLTextAreaElement) => {\n if (element.getAttribute(ATTRIBUTE_NAME)) return;\n element.setAttribute(ATTRIBUTE_NAME, \"\");\n\n let prevHeight = \"\";\n const inputHandler = () => {\n if (\n element.scrollHeight > element.clientHeight ||\n prevHeight === element.style.height\n ) {\n const currentOverflow = element.style.overflow;\n element.style.height = \"auto\";\n element.style.overflow = \"hidden\";\n element.style.height = prevHeight = `${\n element.scrollHeight + (element.offsetHeight - element.clientHeight)\n }px`;\n element.style.overflow = currentOverflow;\n }\n };\n\n element.style.boxSizing = \"border-box\";\n\n inputHandler();\n\n element.addEventListener(\"input\", inputHandler);\n\n return {\n detach() {\n element.removeAttribute(ATTRIBUTE_NAME);\n element.removeEventListener(\"input\", inputHandler);\n },\n };\n};\n"],"names":["ATTRIBUTE_NAME","attach","element","getAttribute","setAttribute","scrollHeight","clientHeight","prevHeight","style","height","currentOverflow","overflow","offsetHeight","boxSizing","inputHandler","addEventListener","detach","removeAttribute","removeEventListener"],"mappings":"AAAA,MAAoBA,EAAG,+BAEVC,EAAUC,IACrB,GAAIA,EAAQC,aAAaH,GAAiB,OAC1CE,EAAQE,aAAaJ,EAAgB,IAErC,MAAiB,GACjB,QAAqB,KACnB,GACEE,EAAQG,aAAeH,EAAQI,cAC/BC,IAAeL,EAAQM,MAAMC,OAC7B,CACA,MAAMC,EAAkBR,EAAQM,MAAMG,SACtCT,EAAQM,MAAMC,OAAS,OACvBP,EAAQM,MAAMG,SAAW,SACzBT,EAAQM,MAAMC,OAASF,EACrB,GAAAL,EAAQG,cAAgBH,EAAQU,aAAeV,EAAQI,kBAEzDJ,EAAQM,MAAMG,SAAWD,IAU7B,OANAR,EAAQM,MAAMK,UAAY,aAE1BC,IAEAZ,EAAQa,iBAAiB,QAASD,GAE3B,CACLE,SACEd,EAAQe,gBAAgBjB,GACxBE,EAAQgB,oBAAoB,QAASJ"}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e||self).autoresizeTextarea={})}(this,function(e){var t="data-frs-autoresize-textarea";e.attach=function(e){if(!e.getAttribute(t)){e.setAttribute(t,"
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e||self).autoresizeTextarea={})}(this,function(e){var t="data-frs-autoresize-textarea";e.attach=function(e){if(!e.getAttribute(t)){e.setAttribute(t,"");var i="",o=function(){if(e.scrollHeight>e.clientHeight||i===e.style.height){var t=e.style.overflow;e.style.height="auto",e.style.overflow="hidden",e.style.height=i=e.scrollHeight+(e.offsetHeight-e.clientHeight)+"px",e.style.overflow=t}};return e.style.boxSizing="border-box",o(),e.addEventListener("input",o),{detach:function(){e.removeAttribute(t),e.removeEventListener("input",o)}}}}});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/index.ts"],"sourcesContent":["const ATTRIBUTE_NAME = \"data-frs-autoresize-textarea\";\n\nexport const attach = (element: HTMLTextAreaElement) => {\n if (element.getAttribute(ATTRIBUTE_NAME)) return;\n element.setAttribute(ATTRIBUTE_NAME, \"
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/index.ts"],"sourcesContent":["const ATTRIBUTE_NAME = \"data-frs-autoresize-textarea\";\n\nexport const attach = (element: HTMLTextAreaElement) => {\n if (element.getAttribute(ATTRIBUTE_NAME)) return;\n element.setAttribute(ATTRIBUTE_NAME, \"\");\n\n let prevHeight = \"\";\n const inputHandler = () => {\n if (\n element.scrollHeight > element.clientHeight ||\n prevHeight === element.style.height\n ) {\n const currentOverflow = element.style.overflow;\n element.style.height = \"auto\";\n element.style.overflow = \"hidden\";\n element.style.height = prevHeight = `${\n element.scrollHeight + (element.offsetHeight - element.clientHeight)\n }px`;\n element.style.overflow = currentOverflow;\n }\n };\n\n element.style.boxSizing = \"border-box\";\n\n inputHandler();\n\n element.addEventListener(\"input\", inputHandler);\n\n return {\n detach() {\n element.removeAttribute(ATTRIBUTE_NAME);\n element.removeEventListener(\"input\", inputHandler);\n },\n };\n};\n"],"names":["element","getAttribute","ATTRIBUTE_NAME","setAttribute","prevHeight","inputHandler","scrollHeight","clientHeight","style","height","currentOverflow","overflow","offsetHeight","boxSizing","addEventListener","detach","removeAttribute","removeEventListener"],"mappings":"4OAAA,MAAuB,wCAED,SAACA,GACrB,IAAIA,EAAQC,aAAaC,GAAzB,CACAF,EAAQG,aAAaD,EAAgB,IAErC,IAAIE,EAAa,GACXC,EAAe,WACnB,GACEL,EAAQM,aAAeN,EAAQO,cAC/BH,IAAeJ,EAAQQ,MAAMC,OAC7B,CACA,IAAMC,EAAkBV,EAAQQ,MAAMG,SACtCX,EAAQQ,MAAMC,OAAS,OACvBT,EAAQQ,MAAMG,SAAW,SACzBX,EAAQQ,MAAMC,OAASL,EACrBJ,EAAQM,cAAgBN,EAAQY,aAAeZ,EAAQO,cADzD,KAGAP,EAAQQ,MAAMG,SAAWD,IAU7B,OANAV,EAAQQ,MAAMK,UAAY,aAE1BR,IAEAL,EAAQc,iBAAiB,QAAST,GAE3B,CACLU,OADK,WAEHf,EAAQgB,gBAAgBd,GACxBF,EAAQiB,oBAAoB,QAASZ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frsource/autoresize-textarea",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "Minimalistic plugin to autosize your textareas! 💪",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"eslint": "^8.9.0",
|
|
56
56
|
"eslint-config-prettier": "^8.4.0",
|
|
57
57
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
58
|
-
"microbundle": "^0.
|
|
58
|
+
"microbundle": "^0.15.0",
|
|
59
59
|
"prettier": "^2.5.1",
|
|
60
60
|
"semantic-release": "^19.0.2",
|
|
61
61
|
"typescript": "^4.5.5"
|
package/dist/index.modern.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const t=t=>{if(t.getAttribute("data-frs-autoresize-textarea"))return;t.setAttribute("data-frs-autoresize-textarea","true");let e="";const i=()=>{(t.scrollHeight>t.clientHeight||e===t.style.height)&&(t.style.height="auto",t.style.height=e=t.scrollHeight+(t.offsetHeight-t.clientHeight)+"px")};return t.style.boxSizing="border-box",i(),t.addEventListener("input",i),{detach(){t.removeEventListener("input",i)}}};export{t as attach};
|
|
2
|
-
//# sourceMappingURL=index.modern.js.map
|
package/dist/index.modern.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/index.ts"],"sourcesContent":["const ATTRIBUTE_NAME = \"data-frs-autoresize-textarea\";\n\nexport const attach = (element: HTMLTextAreaElement) => {\n if (element.getAttribute(ATTRIBUTE_NAME)) return;\n element.setAttribute(ATTRIBUTE_NAME, \"true\");\n\n let prevHeight = \"\";\n const inputHandler = () => {\n if (\n element.scrollHeight > element.clientHeight ||\n prevHeight === element.style.height\n ) {\n element.style.height = \"auto\";\n element.style.height = prevHeight =\n element.scrollHeight +\n (element.offsetHeight - element.clientHeight) +\n \"px\";\n }\n };\n\n element.style.boxSizing = \"border-box\";\n\n inputHandler();\n\n element.addEventListener(\"input\", inputHandler);\n\n return {\n detach() {\n element.removeEventListener(\"input\", inputHandler);\n },\n };\n};\n"],"names":["attach","element","getAttribute","setAttribute","prevHeight","inputHandler","scrollHeight","clientHeight","style","height","offsetHeight","boxSizing","addEventListener","detach","removeEventListener"],"mappings":"AAAA,MAEaA,EAAUC,IACrB,GAAIA,EAAQC,aAHS,gCAGqB,OAC1CD,EAAQE,aAJa,+BAIgB,QAErC,IAAIC,EAAa,GACjB,MAAMC,EAAe,MAEjBJ,EAAQK,aAAeL,EAAQM,cAC/BH,IAAeH,EAAQO,MAAMC,UAE7BR,EAAQO,MAAMC,OAAS,OACvBR,EAAQO,MAAMC,OAASL,EACrBH,EAAQK,cACPL,EAAQS,aAAeT,EAAQM,cAChC,OAUN,OANAN,EAAQO,MAAMG,UAAY,aAE1BN,IAEAJ,EAAQW,iBAAiB,QAASP,GAE3B,CACLQ,SACEZ,EAAQa,oBAAoB,QAAST"}
|