@activecollab/components 1.0.188 → 1.0.189

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.
@@ -67,7 +67,7 @@ var EditableText = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
67
67
  if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {
68
68
  setPrevValue(e.target.value);
69
69
  setCurrentValue(e.target.value);
70
- typeof onSave === "function" && onSave();
70
+ typeof onSave === "function" && onSave(e);
71
71
  } else {
72
72
  setCurrentValue(prevValue);
73
73
  }
@@ -94,7 +94,8 @@ var EditableText = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
94
94
  onBlur: handleBlur,
95
95
  onKeyDown: handleKeyDown,
96
96
  onChange: handleChange,
97
- type: "text"
97
+ type: "text",
98
+ className: "c-input"
98
99
  })
99
100
  }));
100
101
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/EditableText/EditableText.tsx"],"names":["EditableText","ref","onSave","onCancel","value","inputProps","props","currentValue","setCurrentValue","prevValue","setPrevValue","escapeRef","handleBlur","e","current","target","trim","length","handleKeyDown","key","blur","handleChange","onBlur","onKeyDown","onChange","type","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,IAAMA,YAAY,gBAAG,uBAC1B,gBAAoDC,GAApD,EAA4D;AAAA,MAAzDC,MAAyD,QAAzDA,MAAyD;AAAA,MAAjDC,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCC,KAAuC,QAAvCA,KAAuC;AAAA,MAAhCC,UAAgC,QAAhCA,UAAgC;AAAA,MAAjBC,KAAiB;;AAC1D,kBAAwC,qBAASF,KAAT,CAAxC;AAAA;AAAA,MAAOG,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAkC,qBAASJ,KAAT,CAAlC;AAAA;AAAA,MAAOK,SAAP;AAAA,MAAkBC,YAAlB;;AACA,MAAMC,SAAS,GAAG,mBAAO,KAAP,CAAlB;AAEA,MAAMC,UAAU,GAAG,wBACjB,UAACC,CAAD,EAAO;AACL,QAAIF,SAAS,CAACG,OAAd,EAAuB;AACrBN,MAAAA,eAAe,CAACC,SAAD,CAAf;AACAE,MAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACD,KAHD,MAGO;AACL,UACED,CAAC,CAACE,MAAF,CAASX,KAAT,CAAeY,IAAf,GAAsBC,MAAtB,GAA+B,CAA/B,IACAR,SAAS,KAAKI,CAAC,CAACE,MAAF,CAASX,KAFzB,EAGE;AACAM,QAAAA,YAAY,CAACG,CAAC,CAACE,MAAF,CAASX,KAAV,CAAZ;AACAI,QAAAA,eAAe,CAACK,CAAC,CAACE,MAAF,CAASX,KAAV,CAAf;AACA,eAAOF,MAAP,KAAkB,UAAlB,IAAgCA,MAAM,EAAtC;AACD,OAPD,MAOO;AACLM,QAAAA,eAAe,CAACC,SAAD,CAAf;AACD;AACF;AACF,GAjBgB,EAkBjB,CAACP,MAAD,EAASO,SAAT,CAlBiB,CAAnB;AAqBA,MAAMS,aAAa,GAAG,wBACpB,UAACL,CAAD,EAAO;AACL,QAAIA,CAAC,CAACM,GAAF,KAAU,OAAd,EAAuB;AACrBN,MAAAA,CAAC,CAACE,MAAF,CAASK,IAAT;AACD;;AACD,QAAIP,CAAC,CAACM,GAAF,KAAU,QAAd,EAAwB;AACtBR,MAAAA,SAAS,CAACG,OAAV,GAAoB,IAApB;AACAD,MAAAA,CAAC,CAACE,MAAF,CAASK,IAAT;AACA,aAAOjB,QAAP,KAAoB,UAApB,IAAkCA,QAAQ,EAA1C;AACD;AACF,GAVmB,EAWpB,CAACA,QAAD,CAXoB,CAAtB;AAcA,MAAMkB,YAAY,GAAG,wBAAY,UAACR,CAAD,EAAO;AACtCL,IAAAA,eAAe,CAACK,CAAC,CAACE,MAAF,CAASX,KAAV,CAAf;AACD,GAFoB,EAElB,EAFkB,CAArB;AAIA,sBACE,6BAAC,iBAAD,eACME,KADN;AAEE,IAAA,GAAG,EAAEL,GAFP;AAGE,IAAA,UAAU,kCACLI,UADK;AAERD,MAAAA,KAAK,EAAEG,YAFC;AAGRe,MAAAA,MAAM,EAAEV,UAHA;AAIRW,MAAAA,SAAS,EAAEL,aAJH;AAKRM,MAAAA,QAAQ,EAAEH,YALF;AAMRI,MAAAA,IAAI,EAAE;AANE;AAHZ,KADF;AAcD,CA3DyB,CAArB;;AA8DPzB,YAAY,CAAC0B,WAAb,GAA2B,cAA3B","sourcesContent":["import React, { forwardRef, useCallback, useRef, useState } from \"react\";\nimport { EditableContent, EditableContentInterface } from \"..\";\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value: string;\n /** Optional callback called on enter, click outside and tab. */\n onSave?: () => null;\n /** Optional callback called on input reset. */\n onCancel?: () => null;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n ({ onSave, onCancel, value, inputProps, ...props }, ref) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n escapeRef.current = false;\n } else {\n if (\n e.target.value.trim().length > 0 &&\n prevValue !== e.target.value\n ) {\n setPrevValue(e.target.value);\n setCurrentValue(e.target.value);\n typeof onSave === \"function\" && onSave();\n } else {\n setCurrentValue(prevValue);\n }\n }\n },\n [onSave, prevValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel();\n }\n },\n [onCancel]\n );\n\n const handleChange = useCallback((e) => {\n setCurrentValue(e.target.value);\n }, []);\n\n return (\n <EditableContent\n {...props}\n ref={ref}\n inputProps={{\n ...inputProps,\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n type: \"text\",\n }}\n />\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n"],"file":"EditableText.js"}
1
+ {"version":3,"sources":["../../../../src/components/EditableText/EditableText.tsx"],"names":["EditableText","ref","onSave","onCancel","value","inputProps","props","currentValue","setCurrentValue","prevValue","setPrevValue","escapeRef","handleBlur","e","current","target","trim","length","handleKeyDown","key","blur","handleChange","onBlur","onKeyDown","onChange","type","className","displayName"],"mappings":";;;;;;;;;AAAA;;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,IAAMA,YAAY,gBAAG,uBAC1B,gBAAoDC,GAApD,EAA4D;AAAA,MAAzDC,MAAyD,QAAzDA,MAAyD;AAAA,MAAjDC,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCC,KAAuC,QAAvCA,KAAuC;AAAA,MAAhCC,UAAgC,QAAhCA,UAAgC;AAAA,MAAjBC,KAAiB;;AAC1D,kBAAwC,qBAASF,KAAT,CAAxC;AAAA;AAAA,MAAOG,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAkC,qBAASJ,KAAT,CAAlC;AAAA;AAAA,MAAOK,SAAP;AAAA,MAAkBC,YAAlB;;AACA,MAAMC,SAAS,GAAG,mBAAO,KAAP,CAAlB;AAEA,MAAMC,UAAU,GAAG,wBACjB,UAACC,CAAD,EAAO;AACL,QAAIF,SAAS,CAACG,OAAd,EAAuB;AACrBN,MAAAA,eAAe,CAACC,SAAD,CAAf;AACAE,MAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACD,KAHD,MAGO;AACL,UACED,CAAC,CAACE,MAAF,CAASX,KAAT,CAAeY,IAAf,GAAsBC,MAAtB,GAA+B,CAA/B,IACAR,SAAS,KAAKI,CAAC,CAACE,MAAF,CAASX,KAFzB,EAGE;AACAM,QAAAA,YAAY,CAACG,CAAC,CAACE,MAAF,CAASX,KAAV,CAAZ;AACAI,QAAAA,eAAe,CAACK,CAAC,CAACE,MAAF,CAASX,KAAV,CAAf;AACA,eAAOF,MAAP,KAAkB,UAAlB,IAAgCA,MAAM,CAACW,CAAD,CAAtC;AACD,OAPD,MAOO;AACLL,QAAAA,eAAe,CAACC,SAAD,CAAf;AACD;AACF;AACF,GAjBgB,EAkBjB,CAACP,MAAD,EAASO,SAAT,CAlBiB,CAAnB;AAqBA,MAAMS,aAAa,GAAG,wBACpB,UAACL,CAAD,EAAO;AACL,QAAIA,CAAC,CAACM,GAAF,KAAU,OAAd,EAAuB;AACrBN,MAAAA,CAAC,CAACE,MAAF,CAASK,IAAT;AACD;;AACD,QAAIP,CAAC,CAACM,GAAF,KAAU,QAAd,EAAwB;AACtBR,MAAAA,SAAS,CAACG,OAAV,GAAoB,IAApB;AACAD,MAAAA,CAAC,CAACE,MAAF,CAASK,IAAT;AACA,aAAOjB,QAAP,KAAoB,UAApB,IAAkCA,QAAQ,EAA1C;AACD;AACF,GAVmB,EAWpB,CAACA,QAAD,CAXoB,CAAtB;AAcA,MAAMkB,YAAY,GAAG,wBAAY,UAACR,CAAD,EAAO;AACtCL,IAAAA,eAAe,CAACK,CAAC,CAACE,MAAF,CAASX,KAAV,CAAf;AACD,GAFoB,EAElB,EAFkB,CAArB;AAIA,sBACE,6BAAC,iBAAD,eACME,KADN;AAEE,IAAA,GAAG,EAAEL,GAFP;AAGE,IAAA,UAAU,kCACLI,UADK;AAERD,MAAAA,KAAK,EAAEG,YAFC;AAGRe,MAAAA,MAAM,EAAEV,UAHA;AAIRW,MAAAA,SAAS,EAAEL,aAJH;AAKRM,MAAAA,QAAQ,EAAEH,YALF;AAMRI,MAAAA,IAAI,EAAE,MANE;AAORC,MAAAA,SAAS,EAAE;AAPH;AAHZ,KADF;AAeD,CA5DyB,CAArB;;AA+DP1B,YAAY,CAAC2B,WAAb,GAA2B,cAA3B","sourcesContent":["import React, {\n ChangeEvent,\n forwardRef,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { EditableContent, EditableContentInterface } from \"..\";\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value: string;\n /** Optional callback called on enter, click outside and tab. */\n onSave?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Optional callback called on input reset. */\n onCancel?: () => void;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n ({ onSave, onCancel, value, inputProps, ...props }, ref) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n escapeRef.current = false;\n } else {\n if (\n e.target.value.trim().length > 0 &&\n prevValue !== e.target.value\n ) {\n setPrevValue(e.target.value);\n setCurrentValue(e.target.value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n setCurrentValue(prevValue);\n }\n }\n },\n [onSave, prevValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel();\n }\n },\n [onCancel]\n );\n\n const handleChange = useCallback((e) => {\n setCurrentValue(e.target.value);\n }, []);\n\n return (\n <EditableContent\n {...props}\n ref={ref}\n inputProps={{\n ...inputProps,\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n type: \"text\",\n className: \"c-input\",\n }}\n />\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n"],"file":"EditableText.js"}
@@ -1,9 +1,9 @@
1
- import React from "react";
1
+ import React, { ChangeEvent } from "react";
2
2
  import { EditableContentInterface } from "..";
3
3
  export interface EditableTextInterface extends EditableContentInterface {
4
4
  value: string;
5
- onSave?: () => null;
6
- onCancel?: () => null;
5
+ onSave?: (e: ChangeEvent<HTMLInputElement>) => void;
6
+ onCancel?: () => void;
7
7
  }
8
8
  export declare const EditableText: React.ForwardRefExoticComponent<EditableTextInterface & React.RefAttributes<HTMLDivElement>>;
9
9
  //# sourceMappingURL=EditableText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditableText.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableText/EditableText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,EAAmB,wBAAwB,EAAE,MAAM,IAAI,CAAC;AAE/D,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IAErE,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,8FA4DxB,CAAC"}
1
+ {"version":3,"file":"EditableText.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableText/EditableText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EAKZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAmB,wBAAwB,EAAE,MAAM,IAAI,CAAC;AAE/D,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IAErE,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAEpD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,8FA6DxB,CAAC"}
@@ -27,7 +27,7 @@ export var EditableText = /*#__PURE__*/forwardRef(function (_ref, ref) {
27
27
  if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {
28
28
  setPrevValue(e.target.value);
29
29
  setCurrentValue(e.target.value);
30
- typeof onSave === "function" && onSave();
30
+ typeof onSave === "function" && onSave(e);
31
31
  } else {
32
32
  setCurrentValue(prevValue);
33
33
  }
@@ -54,7 +54,8 @@ export var EditableText = /*#__PURE__*/forwardRef(function (_ref, ref) {
54
54
  onBlur: handleBlur,
55
55
  onKeyDown: handleKeyDown,
56
56
  onChange: handleChange,
57
- type: "text"
57
+ type: "text",
58
+ className: "c-input"
58
59
  })
59
60
  }));
60
61
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/EditableText/EditableText.tsx"],"names":["React","forwardRef","useCallback","useRef","useState","EditableContent","EditableText","ref","onSave","onCancel","value","inputProps","props","currentValue","setCurrentValue","prevValue","setPrevValue","escapeRef","handleBlur","e","current","target","trim","length","handleKeyDown","key","blur","handleChange","onBlur","onKeyDown","onChange","type","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,EAA4BC,WAA5B,EAAyCC,MAAzC,EAAiDC,QAAjD,QAAiE,OAAjE;AACA,SAASC,eAAT,QAA0D,IAA1D;AAWA,OAAO,IAAMC,YAAY,gBAAGL,UAAU,CACpC,gBAAoDM,GAApD,EAA4D;AAAA,MAAzDC,MAAyD,QAAzDA,MAAyD;AAAA,MAAjDC,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCC,KAAuC,QAAvCA,KAAuC;AAAA,MAAhCC,UAAgC,QAAhCA,UAAgC;AAAA,MAAjBC,KAAiB;;AAC1D,kBAAwCR,QAAQ,CAACM,KAAD,CAAhD;AAAA,MAAOG,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAkCV,QAAQ,CAACM,KAAD,CAA1C;AAAA,MAAOK,SAAP;AAAA,MAAkBC,YAAlB;;AACA,MAAMC,SAAS,GAAGd,MAAM,CAAC,KAAD,CAAxB;AAEA,MAAMe,UAAU,GAAGhB,WAAW,CAC5B,UAACiB,CAAD,EAAO;AACL,QAAIF,SAAS,CAACG,OAAd,EAAuB;AACrBN,MAAAA,eAAe,CAACC,SAAD,CAAf;AACAE,MAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACD,KAHD,MAGO;AACL,UACED,CAAC,CAACE,MAAF,CAASX,KAAT,CAAeY,IAAf,GAAsBC,MAAtB,GAA+B,CAA/B,IACAR,SAAS,KAAKI,CAAC,CAACE,MAAF,CAASX,KAFzB,EAGE;AACAM,QAAAA,YAAY,CAACG,CAAC,CAACE,MAAF,CAASX,KAAV,CAAZ;AACAI,QAAAA,eAAe,CAACK,CAAC,CAACE,MAAF,CAASX,KAAV,CAAf;AACA,eAAOF,MAAP,KAAkB,UAAlB,IAAgCA,MAAM,EAAtC;AACD,OAPD,MAOO;AACLM,QAAAA,eAAe,CAACC,SAAD,CAAf;AACD;AACF;AACF,GAjB2B,EAkB5B,CAACP,MAAD,EAASO,SAAT,CAlB4B,CAA9B;AAqBA,MAAMS,aAAa,GAAGtB,WAAW,CAC/B,UAACiB,CAAD,EAAO;AACL,QAAIA,CAAC,CAACM,GAAF,KAAU,OAAd,EAAuB;AACrBN,MAAAA,CAAC,CAACE,MAAF,CAASK,IAAT;AACD;;AACD,QAAIP,CAAC,CAACM,GAAF,KAAU,QAAd,EAAwB;AACtBR,MAAAA,SAAS,CAACG,OAAV,GAAoB,IAApB;AACAD,MAAAA,CAAC,CAACE,MAAF,CAASK,IAAT;AACA,aAAOjB,QAAP,KAAoB,UAApB,IAAkCA,QAAQ,EAA1C;AACD;AACF,GAV8B,EAW/B,CAACA,QAAD,CAX+B,CAAjC;AAcA,MAAMkB,YAAY,GAAGzB,WAAW,CAAC,UAACiB,CAAD,EAAO;AACtCL,IAAAA,eAAe,CAACK,CAAC,CAACE,MAAF,CAASX,KAAV,CAAf;AACD,GAF+B,EAE7B,EAF6B,CAAhC;AAIA,sBACE,oBAAC,eAAD,eACME,KADN;AAEE,IAAA,GAAG,EAAEL,GAFP;AAGE,IAAA,UAAU,eACLI,UADK;AAERD,MAAAA,KAAK,EAAEG,YAFC;AAGRe,MAAAA,MAAM,EAAEV,UAHA;AAIRW,MAAAA,SAAS,EAAEL,aAJH;AAKRM,MAAAA,QAAQ,EAAEH,YALF;AAMRI,MAAAA,IAAI,EAAE;AANE;AAHZ,KADF;AAcD,CA3DmC,CAA/B;AA8DPzB,YAAY,CAAC0B,WAAb,GAA2B,cAA3B","sourcesContent":["import React, { forwardRef, useCallback, useRef, useState } from \"react\";\nimport { EditableContent, EditableContentInterface } from \"..\";\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value: string;\n /** Optional callback called on enter, click outside and tab. */\n onSave?: () => null;\n /** Optional callback called on input reset. */\n onCancel?: () => null;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n ({ onSave, onCancel, value, inputProps, ...props }, ref) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n escapeRef.current = false;\n } else {\n if (\n e.target.value.trim().length > 0 &&\n prevValue !== e.target.value\n ) {\n setPrevValue(e.target.value);\n setCurrentValue(e.target.value);\n typeof onSave === \"function\" && onSave();\n } else {\n setCurrentValue(prevValue);\n }\n }\n },\n [onSave, prevValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel();\n }\n },\n [onCancel]\n );\n\n const handleChange = useCallback((e) => {\n setCurrentValue(e.target.value);\n }, []);\n\n return (\n <EditableContent\n {...props}\n ref={ref}\n inputProps={{\n ...inputProps,\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n type: \"text\",\n }}\n />\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n"],"file":"EditableText.js"}
1
+ {"version":3,"sources":["../../../../src/components/EditableText/EditableText.tsx"],"names":["React","forwardRef","useCallback","useRef","useState","EditableContent","EditableText","ref","onSave","onCancel","value","inputProps","props","currentValue","setCurrentValue","prevValue","setPrevValue","escapeRef","handleBlur","e","current","target","trim","length","handleKeyDown","key","blur","handleChange","onBlur","onKeyDown","onChange","type","className","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAEEC,UAFF,EAGEC,WAHF,EAIEC,MAJF,EAKEC,QALF,QAMO,OANP;AAOA,SAASC,eAAT,QAA0D,IAA1D;AAWA,OAAO,IAAMC,YAAY,gBAAGL,UAAU,CACpC,gBAAoDM,GAApD,EAA4D;AAAA,MAAzDC,MAAyD,QAAzDA,MAAyD;AAAA,MAAjDC,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCC,KAAuC,QAAvCA,KAAuC;AAAA,MAAhCC,UAAgC,QAAhCA,UAAgC;AAAA,MAAjBC,KAAiB;;AAC1D,kBAAwCR,QAAQ,CAACM,KAAD,CAAhD;AAAA,MAAOG,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAkCV,QAAQ,CAACM,KAAD,CAA1C;AAAA,MAAOK,SAAP;AAAA,MAAkBC,YAAlB;;AACA,MAAMC,SAAS,GAAGd,MAAM,CAAC,KAAD,CAAxB;AAEA,MAAMe,UAAU,GAAGhB,WAAW,CAC5B,UAACiB,CAAD,EAAO;AACL,QAAIF,SAAS,CAACG,OAAd,EAAuB;AACrBN,MAAAA,eAAe,CAACC,SAAD,CAAf;AACAE,MAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACD,KAHD,MAGO;AACL,UACED,CAAC,CAACE,MAAF,CAASX,KAAT,CAAeY,IAAf,GAAsBC,MAAtB,GAA+B,CAA/B,IACAR,SAAS,KAAKI,CAAC,CAACE,MAAF,CAASX,KAFzB,EAGE;AACAM,QAAAA,YAAY,CAACG,CAAC,CAACE,MAAF,CAASX,KAAV,CAAZ;AACAI,QAAAA,eAAe,CAACK,CAAC,CAACE,MAAF,CAASX,KAAV,CAAf;AACA,eAAOF,MAAP,KAAkB,UAAlB,IAAgCA,MAAM,CAACW,CAAD,CAAtC;AACD,OAPD,MAOO;AACLL,QAAAA,eAAe,CAACC,SAAD,CAAf;AACD;AACF;AACF,GAjB2B,EAkB5B,CAACP,MAAD,EAASO,SAAT,CAlB4B,CAA9B;AAqBA,MAAMS,aAAa,GAAGtB,WAAW,CAC/B,UAACiB,CAAD,EAAO;AACL,QAAIA,CAAC,CAACM,GAAF,KAAU,OAAd,EAAuB;AACrBN,MAAAA,CAAC,CAACE,MAAF,CAASK,IAAT;AACD;;AACD,QAAIP,CAAC,CAACM,GAAF,KAAU,QAAd,EAAwB;AACtBR,MAAAA,SAAS,CAACG,OAAV,GAAoB,IAApB;AACAD,MAAAA,CAAC,CAACE,MAAF,CAASK,IAAT;AACA,aAAOjB,QAAP,KAAoB,UAApB,IAAkCA,QAAQ,EAA1C;AACD;AACF,GAV8B,EAW/B,CAACA,QAAD,CAX+B,CAAjC;AAcA,MAAMkB,YAAY,GAAGzB,WAAW,CAAC,UAACiB,CAAD,EAAO;AACtCL,IAAAA,eAAe,CAACK,CAAC,CAACE,MAAF,CAASX,KAAV,CAAf;AACD,GAF+B,EAE7B,EAF6B,CAAhC;AAIA,sBACE,oBAAC,eAAD,eACME,KADN;AAEE,IAAA,GAAG,EAAEL,GAFP;AAGE,IAAA,UAAU,eACLI,UADK;AAERD,MAAAA,KAAK,EAAEG,YAFC;AAGRe,MAAAA,MAAM,EAAEV,UAHA;AAIRW,MAAAA,SAAS,EAAEL,aAJH;AAKRM,MAAAA,QAAQ,EAAEH,YALF;AAMRI,MAAAA,IAAI,EAAE,MANE;AAORC,MAAAA,SAAS,EAAE;AAPH;AAHZ,KADF;AAeD,CA5DmC,CAA/B;AA+DP1B,YAAY,CAAC2B,WAAb,GAA2B,cAA3B","sourcesContent":["import React, {\n ChangeEvent,\n forwardRef,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { EditableContent, EditableContentInterface } from \"..\";\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value: string;\n /** Optional callback called on enter, click outside and tab. */\n onSave?: (e: ChangeEvent<HTMLInputElement>) => void;\n /** Optional callback called on input reset. */\n onCancel?: () => void;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n ({ onSave, onCancel, value, inputProps, ...props }, ref) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n escapeRef.current = false;\n } else {\n if (\n e.target.value.trim().length > 0 &&\n prevValue !== e.target.value\n ) {\n setPrevValue(e.target.value);\n setCurrentValue(e.target.value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n setCurrentValue(prevValue);\n }\n }\n },\n [onSave, prevValue]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel();\n }\n },\n [onCancel]\n );\n\n const handleChange = useCallback((e) => {\n setCurrentValue(e.target.value);\n }, []);\n\n return (\n <EditableContent\n {...props}\n ref={ref}\n inputProps={{\n ...inputProps,\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n type: \"text\",\n className: \"c-input\",\n }}\n />\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n"],"file":"EditableText.js"}
package/dist/index.js CHANGED
@@ -12042,7 +12042,7 @@
12042
12042
  if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {
12043
12043
  setPrevValue(e.target.value);
12044
12044
  setCurrentValue(e.target.value);
12045
- typeof onSave === "function" && onSave();
12045
+ typeof onSave === "function" && onSave(e);
12046
12046
  } else {
12047
12047
  setCurrentValue(prevValue);
12048
12048
  }
@@ -12069,7 +12069,8 @@
12069
12069
  onBlur: handleBlur,
12070
12070
  onKeyDown: handleKeyDown,
12071
12071
  onChange: handleChange,
12072
- type: "text"
12072
+ type: "text",
12073
+ className: "c-input"
12073
12074
  })
12074
12075
  }));
12075
12076
  });