@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.
- package/dist/cjs/components/EditableText/EditableText.js +93 -13
- package/dist/cjs/components/EditableText/EditableText.js.map +1 -1
- package/dist/cjs/components/Header/Styles.js +1 -1
- package/dist/cjs/components/Header/Styles.js.map +1 -1
- package/dist/esm/components/EditableText/EditableText.d.ts +5 -1
- package/dist/esm/components/EditableText/EditableText.d.ts.map +1 -1
- package/dist/esm/components/EditableText/EditableText.js +82 -6
- package/dist/esm/components/EditableText/EditableText.js.map +1 -1
- package/dist/esm/components/Header/Styles.d.ts.map +1 -1
- package/dist/esm/components/Header/Styles.js +1 -1
- package/dist/esm/components/Header/Styles.js.map +1 -1
- package/dist/index.js +90 -13
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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;
|
|
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
|
-
|
|
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
|
-
} =
|
|
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
|
-
|
|
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":";AAAA,OAAOA,KAAK,IAEVC,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SACEC,eAAe,QAEV,oCAAoC;AAa3C,OAAO,MAAMC,YAAY,gBAAGP,UAAU,CACpC,CAAAQ,IAAA,EAEEC,GAAG,KACA;EAAA,IAFH;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,UAAU;IAAEC,gBAAgB;IAAE,GAAGC;EAAM,CAAC,GAAAP,IAAA;EAGnE,MAAM,CAACQ,YAAY,EAAEC,eAAe,CAAC,GAAGb,QAAQ,CAACQ,KAAK,CAAC;EACvD,MAAM,CAACM,SAAS,EAAEC,YAAY,CAAC,GAAGf,QAAQ,CAACQ,KAAK,CAAC;EACjD,MAAMQ,SAAS,GAAGjB,MAAM,CAAC,KAAK,CAAC;EAE/BD,SAAS,CAAC,MAAM;IACd,IAAIc,YAAY,KAAKJ,KAAK,EAAE;MAC1BK,eAAe,CAACL,KAAK,CAAC;MACtBO,YAAY,CAACP,KAAK,CAAC;IACrB;IACA;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAMS,UAAU,GAAGpB,WAAW,CAC3BqB,CAAC,IAAK;IACL,IAAIF,SAAS,CAACG,OAAO,EAAE;MACrBN,eAAe,CAACC,SAAS,CAAC;MAC1BE,SAAS,CAACG,OAAO,GAAG,KAAK;IAC3B,CAAC,MAAM;MACL,IACED,CAAC,CAACE,MAAM,CAACZ,KAAK,CAACa,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC,IAChCR,SAAS,KAAKI,CAAC,CAACE,MAAM,CAACZ,KAAK,EAC5B;QACAO,YAAY,CAACG,CAAC,CAACE,MAAM,CAACZ,KAAK,CAAC;QAC5BK,eAAe,CAACK,CAAC,CAACE,MAAM,CAACZ,KAAK,CAAC;QAC/B,OAAOF,MAAM,KAAK,UAAU,IAAIA,MAAM,CAACY,CAAC,CAAC;MAC3C,CAAC,MAAM;QACL,CAACR,gBAAgB,GACbG,eAAe,CAACC,SAAS,CAAC,GAC1B,OAAOR,MAAM,KAAK,UAAU,IAC5BQ,SAAS,KAAKI,CAAC,CAACE,MAAM,CAACZ,KAAK,IAC5BF,MAAM,CAACY,CAAC,CAAC;MACf;IACF;EACF,CAAC,EACD,CAACR,gBAAgB,EAAEJ,MAAM,EAAEQ,SAAS,CACtC,CAAC;EAED,MAAMS,aAAa,GAAG1B,WAAW,CAC9BqB,CAAC,IAAK;IACL,IAAIA,CAAC,CAACM,GAAG,KAAK,OAAO,EAAE;MACrBN,CAAC,CAACE,MAAM,CAACK,IAAI,CAAC,CAAC;IACjB;IACA,IAAIP,CAAC,CAACM,GAAG,KAAK,QAAQ,EAAE;MACtBR,SAAS,CAACG,OAAO,GAAG,IAAI;MACxBD,CAAC,CAACE,MAAM,CAACK,IAAI,CAAC,CAAC;MACf,OAAOlB,QAAQ,KAAK,UAAU,IAAIA,QAAQ,CAAC,CAAC;IAC9C;EACF,CAAC,EACD,CAACA,QAAQ,CACX,CAAC;EAED,MAAMmB,YAAY,GAAG7B,WAAW,CAAEqB,CAAC,IAAK;IACtCL,eAAe,CAACK,CAAC,CAACE,MAAM,CAACZ,KAAK,CAAC;EACjC,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEb,KAAA,CAAAgC,aAAA,CAACzB,eAAe,EAAA0B,QAAA,KACVjB,KAAK;IACTN,GAAG,EAAEA,GAAI;IACTI,UAAU,EAAE;MACV,GAAGA,UAAU;MACbD,KAAK,EAAEI,YAAY,WAAZA,YAAY,GAAI,EAAE;MACzBiB,MAAM,EAAEZ,UAAU;MAClBa,SAAS,EAAEP,aAAa;MACxBQ,QAAQ,EAAEL,YAAY;MACtBM,IAAI,EAAE,MAAM;MACZC,SAAS,EAAEhC,UAAU,CAAC,SAAS,EAAEQ,UAAU,oBAAVA,UAAU,CAAEwB,SAAS;IACxD;EAAE,EACH,CAAC;AAEN,CACF,CAAC;AAED9B,YAAY,CAAC+B,WAAW,GAAG,cAAc"}
|
|
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;;
|
|
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
|
|
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
|
|
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"}
|