labellife-design-tool 2.2.8 → 2.2.9
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/canvas/workspace.js +18 -7
- package/dist/cjs/canvas/workspace.js.map +1 -1
- package/dist/cjs/index.js +18 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/canvas/workspace.js +18 -7
- package/dist/esm/canvas/workspace.js.map +1 -1
- package/dist/esm/index.js +18 -7
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -9949,8 +9949,10 @@ var TextElementComponent = observer(function (_ref) {
|
|
|
9949
9949
|
var scaleY = absScale.y;
|
|
9950
9950
|
var cssFontStyle = element.fontStyle === 'italic' ? 'italic' : 'normal';
|
|
9951
9951
|
var cssFontWeight = String(element.fontWeight || 'normal');
|
|
9952
|
+
var originalText = element.text;
|
|
9952
9953
|
var textarea = document.createElement('textarea');
|
|
9953
|
-
textarea.value =
|
|
9954
|
+
textarea.value = '';
|
|
9955
|
+
textarea.placeholder = originalText;
|
|
9954
9956
|
textarea.style.position = 'absolute';
|
|
9955
9957
|
textarea.style.top = "".concat(textPosition.y, "px");
|
|
9956
9958
|
textarea.style.left = "".concat(textPosition.x, "px");
|
|
@@ -9983,15 +9985,21 @@ var TextElementComponent = observer(function (_ref) {
|
|
|
9983
9985
|
textarea.style.wordBreak = 'break-word';
|
|
9984
9986
|
textarea.style.minHeight = '0';
|
|
9985
9987
|
textarea.style.minWidth = '0';
|
|
9988
|
+
|
|
9989
|
+
// Placeholder inherits the element's text color at 40% opacity
|
|
9990
|
+
var placeholderStyle = document.createElement('style');
|
|
9991
|
+
placeholderStyle.textContent = "\n textarea:placeholder-shown { opacity: 1; }\n textarea::placeholder { color: ".concat(element.fill, "; opacity: 0.4; }\n ");
|
|
9992
|
+
stageContainer.appendChild(placeholderStyle);
|
|
9986
9993
|
stageContainer.appendChild(textarea);
|
|
9987
9994
|
textarea.focus();
|
|
9988
|
-
textarea.select();
|
|
9989
9995
|
var removed = false;
|
|
9990
9996
|
var removeTextarea = function removeTextarea() {
|
|
9997
|
+
var cancel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
9991
9998
|
if (removed) return;
|
|
9992
9999
|
removed = true;
|
|
10000
|
+
var newText = !cancel && textarea.value.length > 0 ? textarea.value : originalText;
|
|
9993
10001
|
element.set({
|
|
9994
|
-
text:
|
|
10002
|
+
text: newText
|
|
9995
10003
|
});
|
|
9996
10004
|
element.toggleEditMode(false);
|
|
9997
10005
|
if (grp) grp.show();
|
|
@@ -9999,12 +10007,15 @@ var TextElementComponent = observer(function (_ref) {
|
|
|
9999
10007
|
if (textarea.parentNode) {
|
|
10000
10008
|
textarea.parentNode.removeChild(textarea);
|
|
10001
10009
|
}
|
|
10010
|
+
if (placeholderStyle.parentNode) {
|
|
10011
|
+
placeholderStyle.parentNode.removeChild(placeholderStyle);
|
|
10012
|
+
}
|
|
10002
10013
|
};
|
|
10003
|
-
textarea.addEventListener('blur',
|
|
10014
|
+
textarea.addEventListener('blur', function () {
|
|
10015
|
+
return removeTextarea(false);
|
|
10016
|
+
});
|
|
10004
10017
|
textarea.addEventListener('keydown', function (e) {
|
|
10005
|
-
if (e.key === 'Escape')
|
|
10006
|
-
removeTextarea();
|
|
10007
|
-
}
|
|
10018
|
+
if (e.key === 'Escape') removeTextarea(true);
|
|
10008
10019
|
});
|
|
10009
10020
|
};
|
|
10010
10021
|
|