@frsource/autoresize-textarea 1.2.4 → 1.3.1

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/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export declare const attach: (element: HTMLTextAreaElement) => {
2
2
  detach(): void;
3
+ update: () => void;
3
4
  } | undefined;
package/dist/index.es.js CHANGED
@@ -1,2 +1,2 @@
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};
1
+ function t(){return t=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},t.apply(this,arguments)}var e="data-frs-autoresize-textarea",r=function(r){if(!r.getAttribute(e)){r.setAttribute(e,"");var i="",n=function(){if(r.scrollHeight>r.clientHeight||i===r.style.height){var t=r.style.overflow;r.style.height="auto",r.style.overflow="hidden",r.style.height=i=r.scrollHeight+(r.offsetHeight-r.clientHeight)+"px",r.style.overflow=t}};r.style.boxSizing="border-box",n(),r.addEventListener("input",n);var o=Object.getPrototypeOf(r),l=Object.getOwnPropertyDescriptor(o,"value");return Object.defineProperty(r,"value",t({},l,{set:function(){var t;null==l||null==(t=l.set)||t.apply(this,arguments),n()}})),{detach:function(){r.removeAttribute(e),r.removeEventListener("input",n)},update:n}}};export{r as attach};
2
2
  //# sourceMappingURL=index.es.js.map
@@ -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, \"\");\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"}
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 const elementPrototype = Object.getPrototypeOf(element);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(element, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(\n this,\n // eslint-disable-next-line prefer-rest-params\n arguments as unknown as [unknown]\n );\n inputHandler();\n },\n });\n return {\n detach() {\n element.removeAttribute(ATTRIBUTE_NAME);\n element.removeEventListener(\"input\", inputHandler);\n },\n update: inputHandler,\n };\n};\n"],"names":["ATTRIBUTE_NAME","attach","element","getAttribute","setAttribute","prevHeight","inputHandler","scrollHeight","clientHeight","style","height","currentOverflow","overflow","offsetHeight","boxSizing","addEventListener","elementPrototype","Object","getPrototypeOf","descriptor","getOwnPropertyDescriptor","defineProperty","_extends","set","_descriptor$set","apply","this","arguments","detach","removeAttribute","removeEventListener","update"],"mappings":"oOAAA,IAAMA,EAAiB,+BAEVC,EAAS,SAACC,GACrB,IAAIA,EAAQC,aAAaH,GAAzB,CACAE,EAAQE,aAAaJ,EAAgB,IAErC,IAAcK,EAAG,GACXC,EAAe,WACnB,GACEJ,EAAQK,aAAeL,EAAQM,cAC/BH,IAAeH,EAAQO,MAAMC,OAC7B,CACA,IAAMC,EAAkBT,EAAQO,MAAMG,SACtCV,EAAQO,MAAMC,OAAS,OACvBR,EAAQO,MAAMG,SAAW,SACzBV,EAAQO,MAAMC,OAASL,EACrBH,EAAQK,cAAgBL,EAAQW,aAAeX,EAAQM,mBAEzDN,EAAQO,MAAMG,SAAWD,IAI7BT,EAAQO,MAAMK,UAAY,aAE1BR,IAEAJ,EAAQa,iBAAiB,QAAST,GAElC,IAAsBU,EAAGC,OAAOC,eAAehB,GAC/BiB,EAAGF,OAAOG,yBAAyBJ,EAAkB,SAYrE,OAXAC,OAAOI,eAAenB,EAAS,QAA/BoB,EAAA,GACKH,EACHI,CAAAA,IAAG,WAAA,IAAAC,EACS,MAAVL,GAAA,SAAAA,EAAYI,MAAZC,EAAiBC,MACfC,KAEAC,WAEFrB,QAGG,CACLsB,OADK,WAEH1B,EAAQ2B,gBAAgB7B,GACxBE,EAAQ4B,oBAAoB,QAASxB,IAEvCyB,OAAQzB"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
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)}}}};
1
+ function t(){return t=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},t.apply(this,arguments)}var e="data-frs-autoresize-textarea";exports.attach=function(r){if(!r.getAttribute(e)){r.setAttribute(e,"");var i="",n=function(){if(r.scrollHeight>r.clientHeight||i===r.style.height){var t=r.style.overflow;r.style.height="auto",r.style.overflow="hidden",r.style.height=i=r.scrollHeight+(r.offsetHeight-r.clientHeight)+"px",r.style.overflow=t}};r.style.boxSizing="border-box",n(),r.addEventListener("input",n);var o=Object.getPrototypeOf(r),a=Object.getOwnPropertyDescriptor(o,"value");return Object.defineProperty(r,"value",t({},a,{set:function(){var t;null==a||null==(t=a.set)||t.apply(this,arguments),n()}})),{detach:function(){r.removeAttribute(e),r.removeEventListener("input",n)},update:n}}};
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, \"\");\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"}
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 const elementPrototype = Object.getPrototypeOf(element);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(element, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(\n this,\n // eslint-disable-next-line prefer-rest-params\n arguments as unknown as [unknown]\n );\n inputHandler();\n },\n });\n return {\n detach() {\n element.removeAttribute(ATTRIBUTE_NAME);\n element.removeEventListener(\"input\", inputHandler);\n },\n update: inputHandler,\n };\n};\n"],"names":["ATTRIBUTE_NAME","element","getAttribute","setAttribute","prevHeight","inputHandler","scrollHeight","clientHeight","style","height","currentOverflow","overflow","offsetHeight","boxSizing","addEventListener","elementPrototype","Object","getPrototypeOf","descriptor","getOwnPropertyDescriptor","defineProperty","_extends","set","_descriptor$set","apply","this","arguments","detach","removeAttribute","removeEventListener","update"],"mappings":"oOAAA,IAAMA,EAAiB,8CAED,SAACC,GACrB,IAAIA,EAAQC,aAAaF,GAAzB,CACAC,EAAQE,aAAaH,EAAgB,IAErC,IAAcI,EAAG,GACXC,EAAe,WACnB,GACEJ,EAAQK,aAAeL,EAAQM,cAC/BH,IAAeH,EAAQO,MAAMC,OAC7B,CACA,IAAMC,EAAkBT,EAAQO,MAAMG,SACtCV,EAAQO,MAAMC,OAAS,OACvBR,EAAQO,MAAMG,SAAW,SACzBV,EAAQO,MAAMC,OAASL,EACrBH,EAAQK,cAAgBL,EAAQW,aAAeX,EAAQM,mBAEzDN,EAAQO,MAAMG,SAAWD,IAI7BT,EAAQO,MAAMK,UAAY,aAE1BR,IAEAJ,EAAQa,iBAAiB,QAAST,GAElC,IAAsBU,EAAGC,OAAOC,eAAehB,GAC/BiB,EAAGF,OAAOG,yBAAyBJ,EAAkB,SAYrE,OAXAC,OAAOI,eAAenB,EAAS,QAA/BoB,EAAA,GACKH,EACHI,CAAAA,IAAG,WAAA,IAAAC,EACS,MAAVL,GAAA,SAAAA,EAAYI,MAAZC,EAAiBC,MACfC,KAEAC,WAEFrB,QAGG,CACLsB,OADK,WAEH1B,EAAQ2B,gBAAgB5B,GACxBC,EAAQ4B,oBAAoB,QAASxB,IAEvCyB,OAAQzB"}
@@ -1,2 +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};
1
+ function t(){return t=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t},t.apply(this,arguments)}const e="data-frs-autoresize-textarea",r=r=>{if(r.getAttribute(e))return;r.setAttribute(e,"");let i="";const o=()=>{if(r.scrollHeight>r.clientHeight||i===r.style.height){const t=r.style.overflow;r.style.height="auto",r.style.overflow="hidden",r.style.height=i=`${r.scrollHeight+(r.offsetHeight-r.clientHeight)}px`,r.style.overflow=t}};r.style.boxSizing="border-box",o(),r.addEventListener("input",o);const n=Object.getPrototypeOf(r),s=Object.getOwnPropertyDescriptor(n,"value");return Object.defineProperty(r,"value",t({},s,{set(){var t;null==s||null==(t=s.set)||t.apply(this,arguments),o()}})),{detach(){r.removeAttribute(e),r.removeEventListener("input",o)},update:o}};export{r as attach};
2
2
  //# sourceMappingURL=index.modern.mjs.map
@@ -1 +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"}
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 const elementPrototype = Object.getPrototypeOf(element);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(element, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(\n this,\n // eslint-disable-next-line prefer-rest-params\n arguments as unknown as [unknown]\n );\n inputHandler();\n },\n });\n return {\n detach() {\n element.removeAttribute(ATTRIBUTE_NAME);\n element.removeEventListener(\"input\", inputHandler);\n },\n update: inputHandler,\n };\n};\n"],"names":["ATTRIBUTE_NAME","attach","element","getAttribute","setAttribute","prevHeight","inputHandler","scrollHeight","clientHeight","style","height","overflow","offsetHeight","currentOverflow","boxSizing","addEventListener","Object","getPrototypeOf","getOwnPropertyDescriptor","elementPrototype","defineProperty","descriptor","set","apply","_descriptor$set","this","arguments","detach","removeAttribute","removeEventListener","update"],"mappings":"oOAAA,MAAMA,EAAiB,+BAEVC,EAAUC,IACrB,GAAIA,EAAQC,aAAaH,GAAiB,OAC1CE,EAAQE,aAAaJ,EAAgB,IAErC,IAAIK,EAAa,GACjB,MAAMC,EAAe,KACnB,GACEJ,EAAQK,aAAeL,EAAQM,cAC/BH,IAAeH,EAAQO,MAAMC,OAC7B,CACA,QAAwBR,EAAQO,MAAME,SACtCT,EAAQO,MAAMC,OAAS,OACvBR,EAAQO,MAAME,SAAW,SACzBT,EAAQO,MAAMC,OAASL,EACrB,GAAAH,EAAQK,cAAgBL,EAAQU,aAAeV,EAAQM,kBAEzDN,EAAQO,MAAME,SAAWE,IAI7BX,EAAQO,MAAMK,UAAY,aAE1BR,IAEAJ,EAAQa,iBAAiB,QAAST,GAElC,QAAyBU,OAAOC,eAAef,KAC5Bc,OAAOE,yBAAyBC,EAAkB,SAYrE,OAXAH,OAAOI,eAAelB,EAAS,QAC1BmB,EAAAA,GAAAA,GACHC,MACED,IAAAA,EAAA,MAAAA,GAAiBE,OAAjBC,EAAAH,EAAYC,MAAKC,EAAAA,MACfE,KAEAC,WAEFpB,QAGG,CACLqB,SACEzB,EAAQ0B,gBAAgB5B,GACxBE,EAAQ2B,oBAAoB,QAASvB,IAEvCwB,OAAQxB"}
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,"");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)}}}}});
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){function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},t.apply(this,arguments)}var i="data-frs-autoresize-textarea";e.attach=function(e){if(!e.getAttribute(i)){e.setAttribute(i,"");var n="",r=function(){if(e.scrollHeight>e.clientHeight||n===e.style.height){var t=e.style.overflow;e.style.height="auto",e.style.overflow="hidden",e.style.height=n=e.scrollHeight+(e.offsetHeight-e.clientHeight)+"px",e.style.overflow=t}};e.style.boxSizing="border-box",r(),e.addEventListener("input",r);var o=Object.getPrototypeOf(e),a=Object.getOwnPropertyDescriptor(o,"value");return Object.defineProperty(e,"value",t({},a,{set:function(){var e;null==a||null==(e=a.set)||e.apply(this,arguments),r()}})),{detach:function(){e.removeAttribute(i),e.removeEventListener("input",r)},update:r}}}});
2
2
  //# sourceMappingURL=index.umd.js.map
@@ -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, \"\");\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"}
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 const elementPrototype = Object.getPrototypeOf(element);\n const descriptor = Object.getOwnPropertyDescriptor(elementPrototype, \"value\");\n Object.defineProperty(element, \"value\", {\n ...descriptor,\n set() {\n descriptor?.set?.apply(\n this,\n // eslint-disable-next-line prefer-rest-params\n arguments as unknown as [unknown]\n );\n inputHandler();\n },\n });\n return {\n detach() {\n element.removeAttribute(ATTRIBUTE_NAME);\n element.removeEventListener(\"input\", inputHandler);\n },\n update: inputHandler,\n };\n};\n"],"names":["ATTRIBUTE_NAME","element","getAttribute","setAttribute","prevHeight","inputHandler","scrollHeight","clientHeight","style","height","currentOverflow","overflow","offsetHeight","boxSizing","addEventListener","elementPrototype","Object","getPrototypeOf","descriptor","getOwnPropertyDescriptor","defineProperty","_extends","set","_descriptor$set","apply","this","arguments","detach","removeAttribute","removeEventListener","update"],"mappings":"gdAAA,IAAMA,EAAiB,wCAED,SAACC,GACrB,IAAIA,EAAQC,aAAaF,GAAzB,CACAC,EAAQE,aAAaH,EAAgB,IAErC,IAAcI,EAAG,GACXC,EAAe,WACnB,GACEJ,EAAQK,aAAeL,EAAQM,cAC/BH,IAAeH,EAAQO,MAAMC,OAC7B,CACA,IAAMC,EAAkBT,EAAQO,MAAMG,SACtCV,EAAQO,MAAMC,OAAS,OACvBR,EAAQO,MAAMG,SAAW,SACzBV,EAAQO,MAAMC,OAASL,EACrBH,EAAQK,cAAgBL,EAAQW,aAAeX,EAAQM,mBAEzDN,EAAQO,MAAMG,SAAWD,IAI7BT,EAAQO,MAAMK,UAAY,aAE1BR,IAEAJ,EAAQa,iBAAiB,QAAST,GAElC,IAAsBU,EAAGC,OAAOC,eAAehB,GAC/BiB,EAAGF,OAAOG,yBAAyBJ,EAAkB,SAYrE,OAXAC,OAAOI,eAAenB,EAAS,QAA/BoB,EAAA,GACKH,EACHI,CAAAA,IAAG,WAAA,IAAAC,EACS,MAAVL,GAAA,SAAAA,EAAYI,MAAZC,EAAiBC,MACfC,KAEAC,WAEFrB,QAGG,CACLsB,OADK,WAEH1B,EAAQ2B,gBAAgB5B,GACxBC,EAAQ4B,oBAAoB,QAASxB,IAEvCyB,OAAQzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frsource/autoresize-textarea",
3
- "version": "1.2.4",
3
+ "version": "1.3.1",
4
4
  "description": "Minimalistic plugin to autosize your textareas! 💪",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",