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