@activecollab/components 2.0.245 → 2.0.246

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.
@@ -6,17 +6,20 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.EditableText = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
10
  var _EditableContent = require("../EditableContent/EditableContent");
10
- var _excluded = ["onSave", "onCancel", "value", "inputProps", "allowEmptyString"];
11
+ var _Styles = require("../EditableContent/Styles");
12
+ var _Typography = require("../Typography/Typography");
13
+ var _excluded = ["onSave", "onCancel", "value", "inputProps", "allowEmptyString", "multiline", "variant", "weight", "disabled", "invalid", "wrapRef", "children"];
11
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
19
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
20
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
19
21
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
23
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
24
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
25
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -25,13 +28,45 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
25
28
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
29
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
30
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
- var EditableText = exports.EditableText = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
29
- var onSave = _ref.onSave,
30
- onCancel = _ref.onCancel,
31
- value = _ref.value,
32
- inputProps = _ref.inputProps,
33
- allowEmptyString = _ref.allowEmptyString,
34
- props = _objectWithoutProperties(_ref, _excluded);
31
+ var StyledTextareaSpan = (0, _styledComponents.default)(_Typography.Typography).withConfig({
32
+ displayName: "EditableText__StyledTextareaSpan",
33
+ componentId: "sc-j2ewzm-0"
34
+ })(["", " background-color:var(--input-background-color,#ffffff);padding-left:4px;padding-right:4px;padding-top:1px;padding-bottom:1px;font-variant-numeric:tabular-nums;outline-width:0px;outline:none;resize:none;white-space:pre-wrap;overflow-wrap:break-word;height:calc(1.5em * 3 + 2px);min-height:calc(1.5em * 3 + 2px);opacity:0;&:focus{opacity:1;background-color:var(--input-background-color,#f8f9fa);}&:disabled{opacity:0;}", ""], {
35
+ "position": "absolute",
36
+ "inset": "0px",
37
+ "boxSizing": "border-box",
38
+ "width": "100%",
39
+ "borderRadius": "0.375rem",
40
+ "borderWidth": "1px",
41
+ "borderStyle": "solid",
42
+ "borderColor": "transparent",
43
+ ":focus-within": {
44
+ "borderColor": "var(--color-theme-700)"
45
+ },
46
+ ":hover": {
47
+ "borderColor": "var(--color-theme-700)"
48
+ }
49
+ }, function (_ref) {
50
+ var invalid = _ref.invalid;
51
+ return invalid && (0, _styledComponents.css)(["border-color:var(--red-alert) !important;"]);
52
+ });
53
+ var EditableText = exports.EditableText = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
54
+ var onSave = _ref2.onSave,
55
+ onCancel = _ref2.onCancel,
56
+ value = _ref2.value,
57
+ inputProps = _ref2.inputProps,
58
+ allowEmptyString = _ref2.allowEmptyString,
59
+ _ref2$multiline = _ref2.multiline,
60
+ multiline = _ref2$multiline === void 0 ? false : _ref2$multiline,
61
+ _ref2$variant = _ref2.variant,
62
+ variant = _ref2$variant === void 0 ? "Body 2" : _ref2$variant,
63
+ weight = _ref2.weight,
64
+ _ref2$disabled = _ref2.disabled,
65
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
66
+ invalid = _ref2.invalid,
67
+ wrapRef = _ref2.wrapRef,
68
+ children = _ref2.children,
69
+ props = _objectWithoutProperties(_ref2, _excluded);
35
70
  var _useState = (0, _react.useState)(value),
36
71
  _useState2 = _slicedToArray(_useState, 2),
37
72
  currentValue = _useState2[0],
@@ -41,6 +76,11 @@ var EditableText = exports.EditableText = /*#__PURE__*/(0, _react.forwardRef)(fu
41
76
  prevValue = _useState4[0],
42
77
  setPrevValue = _useState4[1];
43
78
  var escapeRef = (0, _react.useRef)(false);
79
+ var intTextareaRef = (0, _react.useRef)(null);
80
+ var _useState5 = (0, _react.useState)(false),
81
+ _useState6 = _slicedToArray(_useState5, 2),
82
+ isTextareaFocused = _useState6[0],
83
+ setIsTextareaFocused = _useState6[1];
44
84
  (0, _react.useEffect)(function () {
45
85
  if (currentValue !== value) {
46
86
  setCurrentValue(value);
@@ -49,6 +89,7 @@ var EditableText = exports.EditableText = /*#__PURE__*/(0, _react.forwardRef)(fu
49
89
  // eslint-disable-next-line react-hooks/exhaustive-deps
50
90
  }, [value]);
51
91
  var handleBlur = (0, _react.useCallback)(function (e) {
92
+ setIsTextareaFocused(false);
52
93
  if (escapeRef.current) {
53
94
  setCurrentValue(prevValue);
54
95
  escapeRef.current = false;
@@ -61,9 +102,16 @@ var EditableText = exports.EditableText = /*#__PURE__*/(0, _react.forwardRef)(fu
61
102
  !allowEmptyString ? setCurrentValue(prevValue) : typeof onSave === "function" && prevValue !== e.target.value && onSave(e);
62
103
  }
63
104
  }
64
- }, [allowEmptyString, onSave, prevValue]);
105
+ // Reset scroll position for textarea
106
+ if (multiline && intTextareaRef !== null && intTextareaRef !== void 0 && intTextareaRef.current) {
107
+ intTextareaRef.current.scrollLeft = 0;
108
+ }
109
+ }, [allowEmptyString, onSave, prevValue, multiline]);
110
+ var handleFocus = (0, _react.useCallback)(function () {
111
+ setIsTextareaFocused(true);
112
+ }, []);
65
113
  var handleKeyDown = (0, _react.useCallback)(function (e) {
66
- if (e.key === "Enter") {
114
+ if (e.key === "Enter" && !multiline) {
67
115
  e.target.blur();
68
116
  }
69
117
  if (e.key === "Escape") {
@@ -71,11 +119,43 @@ var EditableText = exports.EditableText = /*#__PURE__*/(0, _react.forwardRef)(fu
71
119
  e.target.blur();
72
120
  typeof onCancel === "function" && onCancel();
73
121
  }
74
- }, [onCancel]);
122
+ }, [onCancel, multiline]);
75
123
  var handleChange = (0, _react.useCallback)(function (e) {
76
124
  setCurrentValue(e.target.value);
77
125
  }, []);
126
+ if (multiline) {
127
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledDiv, _extends({
128
+ ref: wrapRef
129
+ }, props), /*#__PURE__*/_react.default.createElement(_Styles.StyledSpan, {
130
+ variant: variant,
131
+ forwardedAs: "span",
132
+ weight: weight,
133
+ $disabled: !isTextareaFocused,
134
+ className: "presentation"
135
+ }, children ? children : String(currentValue || "").replace(/\n/g, " ")), /*#__PURE__*/_react.default.createElement(StyledTextareaSpan, _extends({
136
+ ref: intTextareaRef,
137
+ forwardedAs: "textarea",
138
+ variant: variant,
139
+ weight: weight,
140
+ value: currentValue !== null && currentValue !== void 0 ? currentValue : "",
141
+ onFocus: handleFocus,
142
+ onBlur: handleBlur,
143
+ onKeyDown: handleKeyDown,
144
+ onChange: handleChange,
145
+ disabled: disabled,
146
+ invalid: invalid,
147
+ "data-form-type": "other",
148
+ placeholder: inputProps === null || inputProps === void 0 ? void 0 : inputProps.placeholder,
149
+ className: (0, _classnames.default)("c-textarea", inputProps === null || inputProps === void 0 ? void 0 : inputProps.className),
150
+ rows: 3
151
+ }, inputProps)));
152
+ }
78
153
  return /*#__PURE__*/_react.default.createElement(_EditableContent.EditableContent, _extends({}, props, {
154
+ variant: variant,
155
+ weight: weight,
156
+ disabled: disabled,
157
+ invalid: invalid,
158
+ wrapRef: wrapRef,
79
159
  ref: ref,
80
160
  inputProps: _objectSpread(_objectSpread({}, inputProps), {}, {
81
161
  value: currentValue !== null && currentValue !== void 0 ? currentValue : "",
@@ -85,7 +165,7 @@ var EditableText = exports.EditableText = /*#__PURE__*/(0, _react.forwardRef)(fu
85
165
  type: "text",
86
166
  className: (0, _classnames.default)("c-input", inputProps === null || inputProps === void 0 ? void 0 : inputProps.className)
87
167
  })
88
- }));
168
+ }), children);
89
169
  });
90
170
  EditableText.displayName = "EditableText";
91
171
  //# sourceMappingURL=EditableText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditableText.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_EditableContent","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","iterator","f","next","done","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","EditableText","exports","forwardRef","_ref","ref","onSave","onCancel","inputProps","allowEmptyString","props","_useState","useState","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","escapeRef","useRef","useEffect","handleBlur","useCallback","current","trim","handleKeyDown","blur","handleChange","createElement","EditableContent","onBlur","onKeyDown","onChange","type","className","classNames","displayName"],"sources":["../../../../src/components/EditableText/EditableText.tsx"],"sourcesContent":["import React, {\n ChangeEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport classNames from \"classnames\";\n\nimport {\n EditableContent,\n EditableContentInterface,\n} from \"../EditableContent/EditableContent\";\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value?: string | null;\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 /** If true, setting empty value will save it, instead of revert to previous value. */\n allowEmptyString?: boolean;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n (\n { onSave, onCancel, value, inputProps, allowEmptyString, ...props },\n ref\n ) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n\n useEffect(() => {\n if (currentValue !== value) {\n setCurrentValue(value);\n setPrevValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\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 !allowEmptyString\n ? setCurrentValue(prevValue)\n : typeof onSave === \"function\" &&\n prevValue !== e.target.value &&\n onSave(e);\n }\n }\n },\n [allowEmptyString, 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: classNames(\"c-input\", inputProps?.className),\n }}\n />\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditableText.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_styledComponents","_EditableContent","_Styles","_Typography","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_extends","assign","bind","target","source","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","iterator","f","next","done","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","StyledTextareaSpan","styled","Typography","withConfig","displayName","componentId","_ref","invalid","css","EditableText","exports","forwardRef","_ref2","ref","onSave","onCancel","inputProps","allowEmptyString","_ref2$multiline","multiline","_ref2$variant","variant","weight","_ref2$disabled","disabled","wrapRef","children","props","_useState","useState","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","escapeRef","useRef","intTextareaRef","_useState5","_useState6","isTextareaFocused","setIsTextareaFocused","useEffect","handleBlur","useCallback","current","trim","scrollLeft","handleFocus","handleKeyDown","blur","handleChange","createElement","StyledDiv","StyledSpan","forwardedAs","$disabled","className","replace","onFocus","onBlur","onKeyDown","onChange","placeholder","classNames","rows","EditableContent","type"],"sources":["../../../../src/components/EditableText/EditableText.tsx"],"sourcesContent":["import React, {\n ChangeEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport classNames from \"classnames\";\nimport styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport {\n EditableContent,\n EditableContentInterface,\n} from \"../EditableContent/EditableContent\";\nimport { StyledDiv, StyledSpan } from \"../EditableContent/Styles\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst StyledTextareaSpan = styled(Typography)`\n ${tw`\n tw-absolute\n tw-inset-0\n tw-border\n tw-border-transparent\n tw-border-solid\n hover:tw-border-theme-700\n focus-within:tw-border-theme-700\n tw-rounded-md\n tw-box-border\n tw-w-full`}\n\n background-color: var(--input-background-color, #ffffff);\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 1px;\n padding-bottom: 1px;\n font-variant-numeric: tabular-nums;\n outline-width: 0px;\n outline: none;\n resize: none;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n height: calc(1.5em * 3 + 2px); /* 3 rows height: line-height * 3 + padding */\n min-height: calc(1.5em * 3 + 2px);\n opacity: 0;\n\n &:focus {\n opacity: 1;\n background-color: var(--input-background-color, #f8f9fa);\n }\n\n &:disabled {\n opacity: 0;\n }\n\n ${({ invalid }) =>\n invalid &&\n css`\n border-color: var(--red-alert) !important;\n `}\n`;\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value?: string | null;\n /** Optional callback called on enter, click outside and tab. */\n onSave?: (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n /** Optional callback called on input reset. */\n onCancel?: () => void;\n /** If true, setting empty value will save it, instead of revert to previous value. */\n allowEmptyString?: boolean;\n /** If true, shows a textarea instead of input for multiline editing. */\n multiline?: boolean;\n /** Children content to display */\n children?: React.ReactNode;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n (\n {\n onSave,\n onCancel,\n value,\n inputProps,\n allowEmptyString,\n multiline = false,\n variant = \"Body 2\",\n weight,\n disabled = false,\n invalid,\n wrapRef,\n children,\n ...props\n },\n ref\n ) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n const intTextareaRef = useRef<HTMLTextAreaElement>(null);\n const [isTextareaFocused, setIsTextareaFocused] = useState(false);\n\n useEffect(() => {\n if (currentValue !== value) {\n setCurrentValue(value);\n setPrevValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n const handleBlur = useCallback(\n (e) => {\n setIsTextareaFocused(false);\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 !allowEmptyString\n ? setCurrentValue(prevValue)\n : typeof onSave === \"function\" &&\n prevValue !== e.target.value &&\n onSave(e);\n }\n }\n // Reset scroll position for textarea\n if (multiline && intTextareaRef?.current) {\n intTextareaRef.current.scrollLeft = 0;\n }\n },\n [allowEmptyString, onSave, prevValue, multiline]\n );\n\n const handleFocus = useCallback(() => {\n setIsTextareaFocused(true);\n }, []);\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\" && !multiline) {\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, multiline]\n );\n\n const handleChange = useCallback((e) => {\n setCurrentValue(e.target.value);\n }, []);\n\n if (multiline) {\n return (\n <StyledDiv ref={wrapRef} {...props}>\n <StyledSpan\n variant={variant}\n forwardedAs=\"span\"\n weight={weight}\n $disabled={!isTextareaFocused}\n className=\"presentation\"\n >\n {children\n ? children\n : String(currentValue || \"\").replace(/\\n/g, \" \")}\n </StyledSpan>\n <StyledTextareaSpan\n ref={intTextareaRef}\n forwardedAs=\"textarea\"\n variant={variant}\n weight={weight}\n value={currentValue ?? \"\"}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n disabled={disabled}\n invalid={invalid}\n data-form-type=\"other\"\n placeholder={inputProps?.placeholder}\n className={classNames(\"c-textarea\", inputProps?.className)}\n rows={3}\n {...inputProps}\n />\n </StyledDiv>\n );\n }\n\n return (\n <EditableContent\n {...props}\n variant={variant}\n weight={weight}\n disabled={disabled}\n invalid={invalid}\n wrapRef={wrapRef}\n ref={ref}\n inputProps={{\n ...inputProps,\n value: currentValue ?? \"\",\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n type: \"text\",\n className: classNames(\"c-input\", inputProps?.className),\n }}\n >\n {children}\n </EditableContent>\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
11
11
  var StyledHeader = exports.StyledHeader = (0, _styledComponents.default)(_Paper.Paper).withConfig({
12
12
  displayName: "Styles__StyledHeader",
13
13
  componentId: "sc-xrlqib-0"
14
- })(["", " ", " padding:0 1rem;display:flex;overflow:hidden;min-width:350px;@media screen and (max-width:350px){overflow:auto;}"], function (props) {
14
+ })(["", " ", " padding:0 1rem;display:flex;overflow:hidden;@media screen and (max-width:350px){overflow:auto;}"], function (props) {
15
15
  return props.size === "big" && (0, _styledComponents.css)(["height:140px;"]);
16
16
  }, function (props) {
17
17
  return props.size === "small" && (0, _styledComponents.css)(["height:4rem;"]);
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Paper","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledHeader","exports","styled","Paper","withConfig","displayName","componentId","props","size","css"],"sources":["../../../../src/components/Header/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { Paper } from \"../Paper\";\n\nexport const StyledHeader = styled(Paper)<{ size?: string }>`\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 140px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 4rem;\n `}\n\n padding: 0 1rem;\n display: flex;\n overflow: hidden;\n min-width: 350px;\n\n @media screen and (max-width: 350px) {\n overflow: auto;\n }\n`;\n\nStyledHeader.displayName = \"StyledHeader\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAAiC,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE1B,IAAMY,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,yBAAM,EAACC,YAAK,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kIACrC,UAACC,KAAK;EAAA,OACNA,KAAK,CAACC,IAAI,KAAK,KAAK,QACpBC,qBAAG,oBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACC,IAAI,KAAK,OAAO,QACtBC,qBAAG,mBAEF;AAAA,EAUJ;AAEDT,YAAY,CAACK,WAAW,GAAG,cAAc"}
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Paper","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledHeader","exports","styled","Paper","withConfig","displayName","componentId","props","size","css"],"sources":["../../../../src/components/Header/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { Paper } from \"../Paper\";\n\nexport const StyledHeader = styled(Paper)<{ size?: string }>`\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 140px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 4rem;\n `}\n\n padding: 0 1rem;\n display: flex;\n overflow: hidden;\n\n @media screen and (max-width: 350px) {\n overflow: auto;\n }\n`;\n\nStyledHeader.displayName = \"StyledHeader\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAAiC,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE1B,IAAMY,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,yBAAM,EAACC,YAAK,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kHACrC,UAACC,KAAK;EAAA,OACNA,KAAK,CAACC,IAAI,KAAK,KAAK,QACpBC,qBAAG,oBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACC,IAAI,KAAK,OAAO,QACtBC,qBAAG,mBAEF;AAAA,EASJ;AAEDT,YAAY,CAACK,WAAW,GAAG,cAAc"}
@@ -4,11 +4,15 @@ export interface EditableTextInterface extends EditableContentInterface {
4
4
  /** Value to display. */
5
5
  value?: string | null;
6
6
  /** Optional callback called on enter, click outside and tab. */
7
- onSave?: (e: ChangeEvent<HTMLInputElement>) => void;
7
+ onSave?: (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
8
8
  /** Optional callback called on input reset. */
9
9
  onCancel?: () => void;
10
10
  /** If true, setting empty value will save it, instead of revert to previous value. */
11
11
  allowEmptyString?: boolean;
12
+ /** If true, shows a textarea instead of input for multiline editing. */
13
+ multiline?: boolean;
14
+ /** Children content to display */
15
+ children?: React.ReactNode;
12
16
  }
13
17
  export declare const EditableText: React.ForwardRefExoticComponent<EditableTextInterface & React.RefAttributes<HTMLDivElement>>;
14
18
  //# 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,KAAK,EAAE,EACZ,WAAW,EAMZ,MAAM,OAAO,CAAC;AAIf,OAAO,EAEL,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gEAAgE;IAChE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,8FA4ExB,CAAC"}
1
+ {"version":3,"file":"EditableText.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableText/EditableText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EAMZ,MAAM,OAAO,CAAC;AAMf,OAAO,EAEL,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAgD5C,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gEAAgE;IAChE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC1E,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,8FAgJxB,CAAC"}
@@ -1,19 +1,55 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import React, { forwardRef, useCallback, useEffect, useRef, useState } from "react";
3
3
  import classNames from "classnames";
4
+ import styled, { css } from "styled-components";
4
5
  import { EditableContent } from "../EditableContent/EditableContent";
5
- export const EditableText = /*#__PURE__*/forwardRef((_ref, ref) => {
6
+ import { StyledDiv, StyledSpan } from "../EditableContent/Styles";
7
+ import { Typography } from "../Typography/Typography";
8
+ const StyledTextareaSpan = styled(Typography).withConfig({
9
+ displayName: "EditableText__StyledTextareaSpan",
10
+ componentId: "sc-j2ewzm-0"
11
+ })(["", " background-color:var(--input-background-color,#ffffff);padding-left:4px;padding-right:4px;padding-top:1px;padding-bottom:1px;font-variant-numeric:tabular-nums;outline-width:0px;outline:none;resize:none;white-space:pre-wrap;overflow-wrap:break-word;height:calc(1.5em * 3 + 2px);min-height:calc(1.5em * 3 + 2px);opacity:0;&:focus{opacity:1;background-color:var(--input-background-color,#f8f9fa);}&:disabled{opacity:0;}", ""], {
12
+ "position": "absolute",
13
+ "inset": "0px",
14
+ "boxSizing": "border-box",
15
+ "width": "100%",
16
+ "borderRadius": "0.375rem",
17
+ "borderWidth": "1px",
18
+ "borderStyle": "solid",
19
+ "borderColor": "transparent",
20
+ ":focus-within": {
21
+ "borderColor": "var(--color-theme-700)"
22
+ },
23
+ ":hover": {
24
+ "borderColor": "var(--color-theme-700)"
25
+ }
26
+ }, _ref => {
27
+ let {
28
+ invalid
29
+ } = _ref;
30
+ return invalid && css(["border-color:var(--red-alert) !important;"]);
31
+ });
32
+ export const EditableText = /*#__PURE__*/forwardRef((_ref2, ref) => {
6
33
  let {
7
34
  onSave,
8
35
  onCancel,
9
36
  value,
10
37
  inputProps,
11
38
  allowEmptyString,
39
+ multiline = false,
40
+ variant = "Body 2",
41
+ weight,
42
+ disabled = false,
43
+ invalid,
44
+ wrapRef,
45
+ children,
12
46
  ...props
13
- } = _ref;
47
+ } = _ref2;
14
48
  const [currentValue, setCurrentValue] = useState(value);
15
49
  const [prevValue, setPrevValue] = useState(value);
16
50
  const escapeRef = useRef(false);
51
+ const intTextareaRef = useRef(null);
52
+ const [isTextareaFocused, setIsTextareaFocused] = useState(false);
17
53
  useEffect(() => {
18
54
  if (currentValue !== value) {
19
55
  setCurrentValue(value);
@@ -22,6 +58,7 @@ export const EditableText = /*#__PURE__*/forwardRef((_ref, ref) => {
22
58
  // eslint-disable-next-line react-hooks/exhaustive-deps
23
59
  }, [value]);
24
60
  const handleBlur = useCallback(e => {
61
+ setIsTextareaFocused(false);
25
62
  if (escapeRef.current) {
26
63
  setCurrentValue(prevValue);
27
64
  escapeRef.current = false;
@@ -34,9 +71,16 @@ export const EditableText = /*#__PURE__*/forwardRef((_ref, ref) => {
34
71
  !allowEmptyString ? setCurrentValue(prevValue) : typeof onSave === "function" && prevValue !== e.target.value && onSave(e);
35
72
  }
36
73
  }
37
- }, [allowEmptyString, onSave, prevValue]);
74
+ // Reset scroll position for textarea
75
+ if (multiline && intTextareaRef != null && intTextareaRef.current) {
76
+ intTextareaRef.current.scrollLeft = 0;
77
+ }
78
+ }, [allowEmptyString, onSave, prevValue, multiline]);
79
+ const handleFocus = useCallback(() => {
80
+ setIsTextareaFocused(true);
81
+ }, []);
38
82
  const handleKeyDown = useCallback(e => {
39
- if (e.key === "Enter") {
83
+ if (e.key === "Enter" && !multiline) {
40
84
  e.target.blur();
41
85
  }
42
86
  if (e.key === "Escape") {
@@ -44,11 +88,43 @@ export const EditableText = /*#__PURE__*/forwardRef((_ref, ref) => {
44
88
  e.target.blur();
45
89
  typeof onCancel === "function" && onCancel();
46
90
  }
47
- }, [onCancel]);
91
+ }, [onCancel, multiline]);
48
92
  const handleChange = useCallback(e => {
49
93
  setCurrentValue(e.target.value);
50
94
  }, []);
95
+ if (multiline) {
96
+ return /*#__PURE__*/React.createElement(StyledDiv, _extends({
97
+ ref: wrapRef
98
+ }, props), /*#__PURE__*/React.createElement(StyledSpan, {
99
+ variant: variant,
100
+ forwardedAs: "span",
101
+ weight: weight,
102
+ $disabled: !isTextareaFocused,
103
+ className: "presentation"
104
+ }, children ? children : String(currentValue || "").replace(/\n/g, " ")), /*#__PURE__*/React.createElement(StyledTextareaSpan, _extends({
105
+ ref: intTextareaRef,
106
+ forwardedAs: "textarea",
107
+ variant: variant,
108
+ weight: weight,
109
+ value: currentValue != null ? currentValue : "",
110
+ onFocus: handleFocus,
111
+ onBlur: handleBlur,
112
+ onKeyDown: handleKeyDown,
113
+ onChange: handleChange,
114
+ disabled: disabled,
115
+ invalid: invalid,
116
+ "data-form-type": "other",
117
+ placeholder: inputProps == null ? void 0 : inputProps.placeholder,
118
+ className: classNames("c-textarea", inputProps == null ? void 0 : inputProps.className),
119
+ rows: 3
120
+ }, inputProps)));
121
+ }
51
122
  return /*#__PURE__*/React.createElement(EditableContent, _extends({}, props, {
123
+ variant: variant,
124
+ weight: weight,
125
+ disabled: disabled,
126
+ invalid: invalid,
127
+ wrapRef: wrapRef,
52
128
  ref: ref,
53
129
  inputProps: {
54
130
  ...inputProps,
@@ -59,7 +135,7 @@ export const EditableText = /*#__PURE__*/forwardRef((_ref, ref) => {
59
135
  type: "text",
60
136
  className: classNames("c-input", inputProps == null ? void 0 : inputProps.className)
61
137
  }
62
- }));
138
+ }), children);
63
139
  });
64
140
  EditableText.displayName = "EditableText";
65
141
  //# sourceMappingURL=EditableText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditableText.js","names":["React","forwardRef","useCallback","useEffect","useRef","useState","classNames","EditableContent","EditableText","_ref","ref","onSave","onCancel","value","inputProps","allowEmptyString","props","currentValue","setCurrentValue","prevValue","setPrevValue","escapeRef","handleBlur","e","current","target","trim","length","handleKeyDown","key","blur","handleChange","createElement","_extends","onBlur","onKeyDown","onChange","type","className","displayName"],"sources":["../../../../src/components/EditableText/EditableText.tsx"],"sourcesContent":["import React, {\n ChangeEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport classNames from \"classnames\";\n\nimport {\n EditableContent,\n EditableContentInterface,\n} from \"../EditableContent/EditableContent\";\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value?: string | null;\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 /** If true, setting empty value will save it, instead of revert to previous value. */\n allowEmptyString?: boolean;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n (\n { onSave, onCancel, value, inputProps, allowEmptyString, ...props },\n ref\n ) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n\n useEffect(() => {\n if (currentValue !== value) {\n setCurrentValue(value);\n setPrevValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\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 !allowEmptyString\n ? setCurrentValue(prevValue)\n : typeof onSave === \"function\" &&\n prevValue !== e.target.value &&\n onSave(e);\n }\n }\n },\n [allowEmptyString, 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: classNames(\"c-input\", inputProps?.className),\n }}\n />\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditableText.js","names":["React","forwardRef","useCallback","useEffect","useRef","useState","classNames","styled","css","EditableContent","StyledDiv","StyledSpan","Typography","StyledTextareaSpan","withConfig","displayName","componentId","_ref","invalid","EditableText","_ref2","ref","onSave","onCancel","value","inputProps","allowEmptyString","multiline","variant","weight","disabled","wrapRef","children","props","currentValue","setCurrentValue","prevValue","setPrevValue","escapeRef","intTextareaRef","isTextareaFocused","setIsTextareaFocused","handleBlur","e","current","target","trim","length","scrollLeft","handleFocus","handleKeyDown","key","blur","handleChange","createElement","_extends","forwardedAs","$disabled","className","String","replace","onFocus","onBlur","onKeyDown","onChange","placeholder","rows","type"],"sources":["../../../../src/components/EditableText/EditableText.tsx"],"sourcesContent":["import React, {\n ChangeEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport classNames from \"classnames\";\nimport styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport {\n EditableContent,\n EditableContentInterface,\n} from \"../EditableContent/EditableContent\";\nimport { StyledDiv, StyledSpan } from \"../EditableContent/Styles\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst StyledTextareaSpan = styled(Typography)`\n ${tw`\n tw-absolute\n tw-inset-0\n tw-border\n tw-border-transparent\n tw-border-solid\n hover:tw-border-theme-700\n focus-within:tw-border-theme-700\n tw-rounded-md\n tw-box-border\n tw-w-full`}\n\n background-color: var(--input-background-color, #ffffff);\n padding-left: 4px;\n padding-right: 4px;\n padding-top: 1px;\n padding-bottom: 1px;\n font-variant-numeric: tabular-nums;\n outline-width: 0px;\n outline: none;\n resize: none;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n height: calc(1.5em * 3 + 2px); /* 3 rows height: line-height * 3 + padding */\n min-height: calc(1.5em * 3 + 2px);\n opacity: 0;\n\n &:focus {\n opacity: 1;\n background-color: var(--input-background-color, #f8f9fa);\n }\n\n &:disabled {\n opacity: 0;\n }\n\n ${({ invalid }) =>\n invalid &&\n css`\n border-color: var(--red-alert) !important;\n `}\n`;\n\nexport interface EditableTextInterface extends EditableContentInterface {\n /** Value to display. */\n value?: string | null;\n /** Optional callback called on enter, click outside and tab. */\n onSave?: (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n /** Optional callback called on input reset. */\n onCancel?: () => void;\n /** If true, setting empty value will save it, instead of revert to previous value. */\n allowEmptyString?: boolean;\n /** If true, shows a textarea instead of input for multiline editing. */\n multiline?: boolean;\n /** Children content to display */\n children?: React.ReactNode;\n}\n\nexport const EditableText = forwardRef<HTMLDivElement, EditableTextInterface>(\n (\n {\n onSave,\n onCancel,\n value,\n inputProps,\n allowEmptyString,\n multiline = false,\n variant = \"Body 2\",\n weight,\n disabled = false,\n invalid,\n wrapRef,\n children,\n ...props\n },\n ref\n ) => {\n const [currentValue, setCurrentValue] = useState(value);\n const [prevValue, setPrevValue] = useState(value);\n const escapeRef = useRef(false);\n const intTextareaRef = useRef<HTMLTextAreaElement>(null);\n const [isTextareaFocused, setIsTextareaFocused] = useState(false);\n\n useEffect(() => {\n if (currentValue !== value) {\n setCurrentValue(value);\n setPrevValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n const handleBlur = useCallback(\n (e) => {\n setIsTextareaFocused(false);\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 !allowEmptyString\n ? setCurrentValue(prevValue)\n : typeof onSave === \"function\" &&\n prevValue !== e.target.value &&\n onSave(e);\n }\n }\n // Reset scroll position for textarea\n if (multiline && intTextareaRef?.current) {\n intTextareaRef.current.scrollLeft = 0;\n }\n },\n [allowEmptyString, onSave, prevValue, multiline]\n );\n\n const handleFocus = useCallback(() => {\n setIsTextareaFocused(true);\n }, []);\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\" && !multiline) {\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, multiline]\n );\n\n const handleChange = useCallback((e) => {\n setCurrentValue(e.target.value);\n }, []);\n\n if (multiline) {\n return (\n <StyledDiv ref={wrapRef} {...props}>\n <StyledSpan\n variant={variant}\n forwardedAs=\"span\"\n weight={weight}\n $disabled={!isTextareaFocused}\n className=\"presentation\"\n >\n {children\n ? children\n : String(currentValue || \"\").replace(/\\n/g, \" \")}\n </StyledSpan>\n <StyledTextareaSpan\n ref={intTextareaRef}\n forwardedAs=\"textarea\"\n variant={variant}\n weight={weight}\n value={currentValue ?? \"\"}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n disabled={disabled}\n invalid={invalid}\n data-form-type=\"other\"\n placeholder={inputProps?.placeholder}\n className={classNames(\"c-textarea\", inputProps?.className)}\n rows={3}\n {...inputProps}\n />\n </StyledDiv>\n );\n }\n\n return (\n <EditableContent\n {...props}\n variant={variant}\n weight={weight}\n disabled={disabled}\n invalid={invalid}\n wrapRef={wrapRef}\n ref={ref}\n inputProps={{\n ...inputProps,\n value: currentValue ?? \"\",\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n type: \"text\",\n className: classNames(\"c-input\", inputProps?.className),\n }}\n >\n {children}\n </EditableContent>\n );\n }\n);\n\nEditableText.displayName = \"EditableText\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Header/Styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,YAAY;;SAqBxB,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Header/Styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,YAAY;;SAoBxB,CAAC"}
@@ -3,6 +3,6 @@ import { Paper } from "../Paper";
3
3
  export const StyledHeader = styled(Paper).withConfig({
4
4
  displayName: "Styles__StyledHeader",
5
5
  componentId: "sc-xrlqib-0"
6
- })(["", " ", " padding:0 1rem;display:flex;overflow:hidden;min-width:350px;@media screen and (max-width:350px){overflow:auto;}"], props => props.size === "big" && css(["height:140px;"]), props => props.size === "small" && css(["height:4rem;"]));
6
+ })(["", " ", " padding:0 1rem;display:flex;overflow:hidden;@media screen and (max-width:350px){overflow:auto;}"], props => props.size === "big" && css(["height:140px;"]), props => props.size === "small" && css(["height:4rem;"]));
7
7
  StyledHeader.displayName = "StyledHeader";
8
8
  //# sourceMappingURL=Styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["styled","css","Paper","StyledHeader","withConfig","displayName","componentId","props","size"],"sources":["../../../../src/components/Header/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { Paper } from \"../Paper\";\n\nexport const StyledHeader = styled(Paper)<{ size?: string }>`\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 140px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 4rem;\n `}\n\n padding: 0 1rem;\n display: flex;\n overflow: hidden;\n min-width: 350px;\n\n @media screen and (max-width: 350px) {\n overflow: auto;\n }\n`;\n\nStyledHeader.displayName = \"StyledHeader\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,SAASC,KAAK,QAAQ,UAAU;AAEhC,OAAO,MAAMC,YAAY,GAAGH,MAAM,CAACE,KAAK,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kIACpCC,KAAK,IACNA,KAAK,CAACC,IAAI,KAAK,KAAK,IACpBP,GAAG,mBAEF,EAEAM,KAAK,IACNA,KAAK,CAACC,IAAI,KAAK,OAAO,IACtBP,GAAG,kBAEF,CAUJ;AAEDE,YAAY,CAACE,WAAW,GAAG,cAAc"}
1
+ {"version":3,"file":"Styles.js","names":["styled","css","Paper","StyledHeader","withConfig","displayName","componentId","props","size"],"sources":["../../../../src/components/Header/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { Paper } from \"../Paper\";\n\nexport const StyledHeader = styled(Paper)<{ size?: string }>`\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 140px;\n `}\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 4rem;\n `}\n\n padding: 0 1rem;\n display: flex;\n overflow: hidden;\n\n @media screen and (max-width: 350px) {\n overflow: auto;\n }\n`;\n\nStyledHeader.displayName = \"StyledHeader\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,SAASC,KAAK,QAAQ,UAAU;AAEhC,OAAO,MAAMC,YAAY,GAAGH,MAAM,CAACE,KAAK,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kHACpCC,KAAK,IACNA,KAAK,CAACC,IAAI,KAAK,KAAK,IACpBP,GAAG,mBAEF,EAEAM,KAAK,IACNA,KAAK,CAACC,IAAI,KAAK,OAAO,IACtBP,GAAG,kBAEF,CASJ;AAEDE,YAAY,CAACE,WAAW,GAAG,cAAc"}