@builder.io/react 3.0.13 → 3.0.14-0
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/CHANGELOG.md +1 -1
- package/dist/builder-react-lite.cjs.js +1 -1
- package/dist/builder-react-lite.cjs.js.map +1 -1
- package/dist/builder-react-lite.esm.js +1 -1
- package/dist/builder-react-lite.esm.js.map +1 -1
- package/dist/builder-react.browser.js +2 -2
- package/dist/builder-react.browser.js.map +1 -1
- package/dist/builder-react.cjs.js +1 -1
- package/dist/builder-react.cjs.js.map +1 -1
- package/dist/builder-react.es5.js +1 -1
- package/dist/builder-react.es5.js.map +1 -1
- package/dist/builder-react.unpkg.js +2 -2
- package/dist/builder-react.unpkg.js.map +1 -1
- package/dist/lib/package.json +1 -1
- package/dist/lib/src/blocks/Symbol.js +2 -1
- package/dist/lib/src/blocks/Symbol.js.map +1 -1
- package/dist/lib/src/blocks/Text.js +4 -67
- package/dist/lib/src/blocks/Text.js.map +1 -1
- package/dist/lib/src/functions/utils.js +14 -1
- package/dist/lib/src/functions/utils.js.map +1 -1
- package/dist/types/src/functions/utils.d.ts +1 -0
- package/package.json +4 -3
- package/src/blocks/Symbol.tsx +2 -2
- package/src/blocks/Text.tsx +6 -85
- package/src/functions/utils.ts +8 -0
package/dist/lib/package.json
CHANGED
|
@@ -39,6 +39,7 @@ var hash_sum_1 = __importDefault(require("hash-sum"));
|
|
|
39
39
|
var no_wrap_1 = require("../components/no-wrap");
|
|
40
40
|
var builder_store_1 = require("../store/builder-store");
|
|
41
41
|
var with_builder_1 = require("../functions/with-builder");
|
|
42
|
+
var utils_1 = require("../functions/utils");
|
|
42
43
|
var size = function (thing) { return Object.keys(thing).length; };
|
|
43
44
|
var isShopify = sdk_1.Builder.isBrowser && 'Shopify' in window;
|
|
44
45
|
var refs = {};
|
|
@@ -117,7 +118,7 @@ var SymbolComponent = /** @class */ (function (_super) {
|
|
|
117
118
|
return ((0, core_1.jsx)(TagName, __assign({ "data-model": model }, attributes, { className: (attributes.class || attributes.className || '') +
|
|
118
119
|
' builder-symbol' +
|
|
119
120
|
((symbol === null || symbol === void 0 ? void 0 : symbol.inline) ? ' builder-inline-symbol' : '') +
|
|
120
|
-
((symbol === null || symbol === void 0 ? void 0 : symbol.dynamic) || _this.props.dynamic ? ' builder-dynamic-symbol' : '') }), showPlaceholder ? (_this.placeholder) : ((0, core_1.jsx)(builder_component_component_1.BuilderComponent, __assign({}, (ownerId && { apiKey: ownerId }), (((_b = state.state) === null || _b === void 0 ? void 0 : _b.locale) && { locale: state.state.locale }), { isChild: true, ref: function (ref) { return (_this.ref = ref); }, context: __assign(__assign({}, state.context), { symbolId: (_c = _this.props.builderBlock) === null || _c === void 0 ? void 0 : _c.id }), model: model, entry: entry, data: __assign(__assign(__assign({}, data), (!!_this.props.inheritState && state.state)), (_j = (_h = (_g = (_f = (_e = (_d = _this.props.builderBlock) === null || _d === void 0 ? void 0 : _d.component) === null || _e === void 0 ? void 0 : _e.options) === null || _f === void 0 ? void 0 : _f.symbol) === null || _g === void 0 ? void 0 : _g.content) === null || _h === void 0 ? void 0 : _h.data) === null || _j === void 0 ? void 0 : _j.state), renderLink: state.renderLink, inlineContent: symbol === null || symbol === void 0 ? void 0 : symbol.inline }, (content && { content: content }), { key: builderComponentKey, options: { key: builderComponentKey, noEditorUpdates: true }, codegen: !!((_k = content === null || content === void 0 ? void 0 : content.data) === null || _k === void 0 ? void 0 : _k.blocksJs), hydrate: (_l = state.state) === null || _l === void 0 ? void 0 : _l._hydrate, builderBlock: _this.props.builderBlock, dataOnly: _this.props.dataOnly }), _this.props.children))));
|
|
121
|
+
((symbol === null || symbol === void 0 ? void 0 : symbol.dynamic) || _this.props.dynamic ? ' builder-dynamic-symbol' : '') }), showPlaceholder ? (_this.placeholder) : ((0, core_1.jsx)(builder_component_component_1.BuilderComponent, __assign({}, (ownerId && { apiKey: ownerId }), (((_b = state.state) === null || _b === void 0 ? void 0 : _b.locale) && { locale: state.state.locale }), { isChild: true, ref: function (ref) { return (_this.ref = ref); }, context: __assign(__assign({}, state.context), { symbolId: (_c = _this.props.builderBlock) === null || _c === void 0 ? void 0 : _c.id }), model: model, entry: entry, data: __assign(__assign(__assign({}, data), (!!_this.props.inheritState && (0, utils_1.omit)(state.state, 'children'))), (_j = (_h = (_g = (_f = (_e = (_d = _this.props.builderBlock) === null || _d === void 0 ? void 0 : _d.component) === null || _e === void 0 ? void 0 : _e.options) === null || _f === void 0 ? void 0 : _f.symbol) === null || _g === void 0 ? void 0 : _g.content) === null || _h === void 0 ? void 0 : _h.data) === null || _j === void 0 ? void 0 : _j.state), renderLink: state.renderLink, inlineContent: symbol === null || symbol === void 0 ? void 0 : symbol.inline }, (content && { content: content }), { key: builderComponentKey, options: { key: builderComponentKey, noEditorUpdates: true }, codegen: !!((_k = content === null || content === void 0 ? void 0 : content.data) === null || _k === void 0 ? void 0 : _k.blocksJs), hydrate: (_l = state.state) === null || _l === void 0 ? void 0 : _l._hydrate, builderBlock: _this.props.builderBlock, dataOnly: _this.props.dataOnly }), _this.props.children))));
|
|
121
122
|
}));
|
|
122
123
|
};
|
|
123
124
|
return SymbolComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Symbol.js","sourceRoot":"","sources":["../../../../src/blocks/Symbol.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sCAAoC;AACpC,gDAA0B;AAC1B,yFAA6E;AAC7E,uCAA0D;AAC1D,sDAA4B;AAC5B,iDAA+C;AAC/C,wDAA6D;AAC7D,0DAAwD;
|
|
1
|
+
{"version":3,"file":"Symbol.js","sourceRoot":"","sources":["../../../../src/blocks/Symbol.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sCAAoC;AACpC,gDAA0B;AAC1B,yFAA6E;AAC7E,uCAA0D;AAC1D,sDAA4B;AAC5B,iDAA+C;AAC/C,wDAA6D;AAC7D,0DAAwD;AACxD,4CAA0C;AAE1C,IAAM,IAAI,GAAG,UAAC,KAAa,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAzB,CAAyB,CAAC;AAE1D,IAAM,SAAS,GAAG,aAAO,CAAC,SAAS,IAAI,SAAS,IAAI,MAAM,CAAC;AAE3D,IAAM,IAAI,GAA4B,EAAE,CAAC;AAEzC,IAAI,aAAO,CAAC,SAAS,EAAE;IACrB,IAAI;QACF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAA,EAAE;YACzE,IAAM,EAAE,GAAI,EAAqB,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;YACxE,IAAI,EAAE,EAAE;gBACN,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;aACf;QACH,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;KACpD;CACF;AAqBD;IAA8B,mCAA4B;IAA1D;QAAA,qEA4GC;QA3GC,SAAG,GAA4B,IAAI,CAAC;QACpC,eAAS,GAA0B,IAAI,CAAC;;IA0G1C,CAAC;IAxGC,sBAAI,wCAAW;aAAf;YACE,OAAO,CACL,yBAAK,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,mHAGnB,CACP,CAAC;QACJ,CAAC;;;OAAA;IAED,2CAAiB,GAAjB;;QACE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,EAAG,CAAC,EAAE;YAC1E,MAAA,IAAI,CAAC,SAAS,CAAC,UAAU,0CAAE,YAAY,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,EAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7F;IACH,CAAC;IAED,sBAAI,sCAAS;aAAb;;YACE,OAAO,OAAO,CACZ,aAAO,CAAC,SAAS;gBACf,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,EAAG,CAAC;gBAClC,CAAC,CAAC,aAAO,CAAC,SAAS,IAAI,aAAO,CAAC,YAAY,CAAC,CAC/C,CAAC;QACJ,CAAC;;;OAAA;IAED,gCAAM,GAAN;QAAA,iBAgFC;;QA/EC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,yBAAK,GAAG,EAAE,UAAA,EAAE,IAAI,OAAA,CAAC,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAArB,CAAqB,GAAI,CAAC;SAClD;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEjC,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,eAAe,GAAG,IAAI,CAAC;SACxB;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;YACjC,CAAC,CAAC,gBAAM;YACR,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QAEpE,IAAA,KAAmD,MAAM,IAAI,EAAE,EAA7D,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAiB,CAAC;QACtE,IAAM,OAAO,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACtD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,QAAQ,CAAA,IAAI,CAAC,MAAM,EAAE;YACzE,eAAe,GAAG,IAAI,CAAC;SACxB;QAED,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,IAAM,UAAU,GAAG,aAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAA,kBAAI,EAAC,IAAI,CAAC,CAAC;QAE/E,IAAI,GAAG,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE;YAChD,GAAG,IAAI,GAAG,GAAG,UAAU,CAAC;SACzB;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;QAC/C,OAAO,CACL,gBAAC,mCAAmB,CAAC,QAAQ,IAAC,GAAG,EAAE,CAAC,KAAK,IAAI,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,IACnF,UAAA,KAAK;;YACJ,IAAM,mBAAmB,GAAG,UAAG,GAAG,cAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,MAAM,KAAI,SAAS,CAAE,CAAC;YAC1E,OAAO,CACL,gBAAC,OAAO,2BACM,KAAK,IACb,UAAU,IACd,SAAS,EACP,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;oBAChD,iBAAiB;oBACjB,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,KAAI,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,KAGzE,eAAe,CAAC,CAAC,CAAC,CACjB,KAAI,CAAC,WAAW,CACjB,CAAC,CAAC,CAAC,CACF,gBAAC,8CAAgB,eACX,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAChC,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,MAAM,KAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAC3D,OAAO,QACP,GAAG,EAAE,UAAC,GAAQ,IAAK,OAAA,CAAC,KAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAhB,CAAgB,EACnC,OAAO,wBAAO,KAAK,CAAC,OAAO,KAAE,QAAQ,EAAE,MAAA,KAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,EAAE,KAClE,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,IAAI,iCACC,IAAI,GACJ,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAA,YAAI,EAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,GAC5D,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,KAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,SAAS,0CAAE,OAAO,0CAAE,MAAM,0CAAE,OAAO,0CAAE,IAAI,0CAAE,KAAK,GAE9E,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,aAAa,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,IACzB,CAAC,OAAO,IAAI,EAAE,OAAO,SAAA,EAAE,CAAC,IAC5B,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,eAAe,EAAE,IAAI,EAAE,EAC5D,OAAO,EAAE,CAAC,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,QAAQ,CAAA,EAClC,OAAO,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,EAC9B,YAAY,EAAE,KAAI,CAAC,KAAK,CAAC,YAAY,EACrC,QAAQ,EAAE,KAAI,CAAC,KAAK,CAAC,QAAQ,KAG5B,KAAI,CAAC,KAAK,CAAC,QAAQ,CACH,CACpB,CACO,CACX,CAAC;QACJ,CAAC,CAC4B,CAChC,CAAC;IACJ,CAAC;IACH,sBAAC;AAAD,CAAC,AA5GD,CAA8B,eAAK,CAAC,SAAS,GA4G5C;AAEY,QAAA,MAAM,GAAG,IAAA,0BAAW,EAAC,eAAe,EAAE;IACjD,iBAAiB;IACjB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,mEAAmE;IACnE,oEAAoE;IACpE,0EAA0E;IAC1E,wEAAwE;IACxE,oBAAoB;IACpB,MAAM,EAAE;QACN;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,UAAU;SACjB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,qDAAqD;YACjE,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;SACjB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,6CAA6C;YACzD,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,SAAS;YACvB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,UAAU,EACR,oGAAoG;YACtG,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,SAAS;YACvB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;SACjB;QACD;YACE,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,SAAS;SAChB;KACF;CACF,CAAC,CAAC"}
|
|
@@ -33,7 +33,6 @@ exports.Text = void 0;
|
|
|
33
33
|
/** @jsx jsx */
|
|
34
34
|
var core_1 = require("@emotion/core");
|
|
35
35
|
var react_1 = __importDefault(require("react"));
|
|
36
|
-
var sdk_1 = require("@builder.io/sdk");
|
|
37
36
|
var with_builder_1 = require("../functions/with-builder");
|
|
38
37
|
var builder_store_1 = require("../store/builder-store");
|
|
39
38
|
var try_eval_1 = require("../functions/try-eval");
|
|
@@ -45,17 +44,6 @@ var TextComponent = /** @class */ (function (_super) {
|
|
|
45
44
|
_this.textRef = null;
|
|
46
45
|
return _this;
|
|
47
46
|
}
|
|
48
|
-
TextComponent.prototype.componentDidUpdate = function (prevProps) {
|
|
49
|
-
if (!this.allowTextEdit) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (this.textRef &&
|
|
53
|
-
!(this.textRef.contentEditable === 'true' && this.textRef === document.activeElement)) {
|
|
54
|
-
if (this.props.text !== prevProps.text) {
|
|
55
|
-
this.textRef.innerHTML = this.props.text;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
47
|
TextComponent.prototype.componentDidMount = function () {
|
|
60
48
|
// test if there are any expressions in text before assigning innerHTML
|
|
61
49
|
if (this.textRef && !/{{([^}]+)}}/.test(this.props.text)) {
|
|
@@ -65,23 +53,8 @@ var TextComponent = /** @class */ (function (_super) {
|
|
|
65
53
|
TextComponent.prototype.evalExpression = function (expression, state) {
|
|
66
54
|
return String(expression).replace(/{{([^}]+)}}/g, function (match, group) { return (0, try_eval_1.tryEval)(group, state); });
|
|
67
55
|
};
|
|
68
|
-
Object.defineProperty(TextComponent.prototype, "allowTextEdit", {
|
|
69
|
-
get: function () {
|
|
70
|
-
return (sdk_1.Builder.isBrowser &&
|
|
71
|
-
sdk_1.Builder.isEditing &&
|
|
72
|
-
location.search.includes('builder.allowTextEdit=true') &&
|
|
73
|
-
!(this.props.builderBlock &&
|
|
74
|
-
this.props.builderBlock.bindings &&
|
|
75
|
-
(this.props.builderBlock.bindings['component.options.text'] ||
|
|
76
|
-
this.props.builderBlock.bindings['options.text'] ||
|
|
77
|
-
this.props.builderBlock.bindings['text'])));
|
|
78
|
-
},
|
|
79
|
-
enumerable: false,
|
|
80
|
-
configurable: true
|
|
81
|
-
});
|
|
82
56
|
TextComponent.prototype.render = function () {
|
|
83
57
|
var _this = this;
|
|
84
|
-
var allowEditingText = this.allowTextEdit;
|
|
85
58
|
var textCSS = {
|
|
86
59
|
outline: 'none',
|
|
87
60
|
'& p:first-of-type, & .builder-paragraph:first-of-type': {
|
|
@@ -105,49 +78,13 @@ var TextComponent = /** @class */ (function (_super) {
|
|
|
105
78
|
return ((0, core_1.jsx)(react_1.default.Fragment, null,
|
|
106
79
|
(0, core_1.jsx)("span", __assign({ ref: function (ref) {
|
|
107
80
|
_this.textRef = ref;
|
|
108
|
-
},
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
(_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
112
|
-
type: 'builder.textEdited',
|
|
113
|
-
data: {
|
|
114
|
-
id: _this.props.builderBlock && _this.props.builderBlock.id,
|
|
115
|
-
value: e.currentTarget.innerHTML,
|
|
116
|
-
},
|
|
117
|
-
}, '*');
|
|
118
|
-
}
|
|
119
|
-
}, onKeyDown: function (e) {
|
|
120
|
-
if (allowEditingText &&
|
|
121
|
-
_this.textRef &&
|
|
122
|
-
e.which === 27 &&
|
|
123
|
-
document.activeElement === _this.textRef) {
|
|
124
|
-
_this.textRef.blur();
|
|
125
|
-
}
|
|
126
|
-
}, onFocus: function (e) {
|
|
127
|
-
var _a;
|
|
128
|
-
if (allowEditingText) {
|
|
129
|
-
(_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
130
|
-
type: 'builder.textFocused',
|
|
131
|
-
data: {
|
|
132
|
-
id: _this.props.builderBlock && _this.props.builderBlock.id,
|
|
133
|
-
},
|
|
134
|
-
}, '*');
|
|
135
|
-
}
|
|
136
|
-
}, onBlur: function (e) {
|
|
137
|
-
var _a;
|
|
138
|
-
if (allowEditingText) {
|
|
139
|
-
(_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
140
|
-
type: 'builder.textBlurred',
|
|
141
|
-
data: {
|
|
142
|
-
id: _this.props.builderBlock && _this.props.builderBlock.id,
|
|
143
|
-
},
|
|
144
|
-
}, '*');
|
|
145
|
-
}
|
|
146
|
-
}, css: textCSS, className: "builder-text" }, (!allowEditingText && {
|
|
81
|
+
}, css: textCSS, className:
|
|
82
|
+
/* NOTE: This class name must be "builder-text" for inline editing to work in the Builder editor */
|
|
83
|
+
'builder-text' }, {
|
|
147
84
|
dangerouslySetInnerHTML: {
|
|
148
85
|
__html: _this.evalExpression(_this.props.text || _this.props.content || '', state.state),
|
|
149
86
|
},
|
|
150
|
-
}))))
|
|
87
|
+
}))));
|
|
151
88
|
}));
|
|
152
89
|
};
|
|
153
90
|
return TextComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../src/blocks/Text.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sCAA4D;AAC5D,gDAA0B;
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../src/blocks/Text.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sCAA4D;AAC5D,gDAA0B;AAE1B,0DAAwD;AACxD,wDAA6D;AAC7D,kDAAgD;AAEhD,IAAM,OAAO,GACX,2KAA2K,CAAC;AAO9K;IAA4B,iCAA0B;IAAtD;QAAA,qEAiEC;QAhEC,aAAO,GAA2B,IAAI,CAAC;;IAgEzC,CAAC;IA9DC,yCAAiB,GAAjB;QACE,uEAAuE;QACvE,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACxD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1C;IACH,CAAC;IAED,sCAAc,GAAd,UAAe,UAAkB,EAAE,KAAU;QAC3C,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,IAAA,kBAAO,EAAC,KAAK,EAAE,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;IAC7F,CAAC;IAED,8BAAM,GAAN;QAAA,iBAkDC;QAjDC,IAAM,OAAO,GAAgC;YAC3C,OAAO,EAAE,MAAM;YACf,uDAAuD,EAAE;gBACvD,MAAM,EAAE,CAAC;aACV;YACD,6BAA6B,EAAE;gBAC7B,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,SAAS;gBACxB,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,SAAS;aACtB;SACF,CAAC;QAEF,OAAO,CACL,gBAAC,mCAAmB,CAAC,QAAQ,QAC1B,UAAA,KAAK;;YACJ,IAAI,MAAA,KAAK,CAAC,OAAO,CAAC,IAAI,0CAAE,OAAO,EAAE;gBAC/B,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;aAC3B;YAED,OAAO,CACL,gBAAC,eAAK,CAAC,QAAQ;gBAEb,mCACE,GAAG,EAAE,UAAA,GAAG;wBACN,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;oBACrB,CAAC,EACD,GAAG,EAAE,OAAO,EACZ,SAAS;oBACP,mGAAmG;oBACnG,cAAc,IAEZ;oBACF,uBAAuB,EAAE;wBACvB,MAAM,EAAE,KAAI,CAAC,cAAc,CACzB,KAAI,CAAC,KAAK,CAAC,IAAI,IAAK,KAAI,CAAC,KAAa,CAAC,OAAO,IAAI,EAAE,EACpD,KAAK,CAAC,KAAK,CACZ;qBACF;iBACF,EACD,CACa,CAClB,CAAC;QACJ,CAAC,CAC4B,CAChC,CAAC;IACJ,CAAC;IACH,oBAAC;AAAD,CAAC,AAjED,CAA4B,eAAK,CAAC,SAAS,GAiE1C;AAEY,QAAA,IAAI,GAAG,IAAA,0BAAW,EAAC,aAAa,EAAE;IAC7C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE;QACN;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,oBAAoB;SACnC;KACF;IACD,oFAAoF;IACpF,aAAa,EAAE;QACb,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC,CAAC"}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fastClone = void 0;
|
|
3
|
+
exports.omit = exports.fastClone = void 0;
|
|
4
4
|
// TODO: pull from builder internal utils
|
|
5
5
|
var fastClone = function (obj) { return JSON.parse(JSON.stringify(obj)); };
|
|
6
6
|
exports.fastClone = fastClone;
|
|
7
|
+
var omit = function (obj) {
|
|
8
|
+
var values = [];
|
|
9
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
10
|
+
values[_i - 1] = arguments[_i];
|
|
11
|
+
}
|
|
12
|
+
var newObject = Object.assign({}, obj);
|
|
13
|
+
for (var _a = 0, values_1 = values; _a < values_1.length; _a++) {
|
|
14
|
+
var key = values_1[_a];
|
|
15
|
+
delete newObject[key];
|
|
16
|
+
}
|
|
17
|
+
return newObject;
|
|
18
|
+
};
|
|
19
|
+
exports.omit = omit;
|
|
7
20
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/functions/utils.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAClC,IAAM,SAAS,GAAG,UAAmB,GAAM,IAAQ,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAA/B,CAA+B,CAAC;AAA7E,QAAA,SAAS,aAAoE"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/functions/utils.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAClC,IAAM,SAAS,GAAG,UAAmB,GAAM,IAAQ,OAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAA/B,CAA+B,CAAC;AAA7E,QAAA,SAAS,aAAoE;AAEnF,IAAM,IAAI,GAAG,UAAmB,GAAM;IAAE,gBAAsB;SAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;QAAtB,+BAAsB;;IACnE,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACzC,KAAkB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;QAArB,IAAM,GAAG,eAAA;QACZ,OAAQ,SAAiB,CAAC,GAAG,CAAC,CAAC;KAChC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AANW,QAAA,IAAI,QAMf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builder.io/react",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.14-0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"main": "dist/builder-react.cjs.js",
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"react-dom": ">=16.8.0"
|
|
125
125
|
},
|
|
126
126
|
"dependencies": {
|
|
127
|
-
"@builder.io/sdk": "2.0.
|
|
127
|
+
"@builder.io/sdk": "2.0.8",
|
|
128
128
|
"@emotion/core": "^10.0.17",
|
|
129
129
|
"hash-sum": "^2.0.0",
|
|
130
130
|
"isolated-vm": "^4.5.0",
|
|
@@ -133,5 +133,6 @@
|
|
|
133
133
|
"installConfig": {
|
|
134
134
|
"hoistingLimits": "workspaces"
|
|
135
135
|
},
|
|
136
|
-
"gitHead": "4d96fbc32864698afbb355ab991c6d90be991951"
|
|
136
|
+
"gitHead": "4d96fbc32864698afbb355ab991c6d90be991951",
|
|
137
|
+
"stableVersion": "3.0.13"
|
|
137
138
|
}
|
package/src/blocks/Symbol.tsx
CHANGED
|
@@ -7,6 +7,7 @@ import hash from 'hash-sum';
|
|
|
7
7
|
import { NoWrap } from '../components/no-wrap';
|
|
8
8
|
import { BuilderStoreContext } from '../store/builder-store';
|
|
9
9
|
import { withBuilder } from '../functions/with-builder';
|
|
10
|
+
import { omit } from '../functions/utils';
|
|
10
11
|
|
|
11
12
|
const size = (thing: object) => Object.keys(thing).length;
|
|
12
13
|
|
|
@@ -102,7 +103,6 @@ class SymbolComponent extends React.Component<SymbolProps> {
|
|
|
102
103
|
if (key && dataString && dataString.length < 300) {
|
|
103
104
|
key += ':' + dataString;
|
|
104
105
|
}
|
|
105
|
-
|
|
106
106
|
const attributes = this.props.attributes || {};
|
|
107
107
|
return (
|
|
108
108
|
<BuilderStoreContext.Consumer key={(model || 'no model') + ':' + (entry || 'no entry')}>
|
|
@@ -132,7 +132,7 @@ class SymbolComponent extends React.Component<SymbolProps> {
|
|
|
132
132
|
entry={entry}
|
|
133
133
|
data={{
|
|
134
134
|
...data,
|
|
135
|
-
...(!!this.props.inheritState && state.state),
|
|
135
|
+
...(!!this.props.inheritState && omit(state.state, 'children')),
|
|
136
136
|
...this.props.builderBlock?.component?.options?.symbol?.content?.data?.state,
|
|
137
137
|
}}
|
|
138
138
|
renderLink={state.renderLink}
|
package/src/blocks/Text.tsx
CHANGED
|
@@ -17,20 +17,6 @@ export interface TextProps {
|
|
|
17
17
|
class TextComponent extends React.Component<TextProps> {
|
|
18
18
|
textRef: HTMLSpanElement | null = null;
|
|
19
19
|
|
|
20
|
-
componentDidUpdate(prevProps: TextProps) {
|
|
21
|
-
if (!this.allowTextEdit) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
if (
|
|
25
|
-
this.textRef &&
|
|
26
|
-
!(this.textRef.contentEditable === 'true' && this.textRef === document.activeElement)
|
|
27
|
-
) {
|
|
28
|
-
if (this.props.text !== prevProps.text) {
|
|
29
|
-
this.textRef.innerHTML = this.props.text;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
20
|
componentDidMount() {
|
|
35
21
|
// test if there are any expressions in text before assigning innerHTML
|
|
36
22
|
if (this.textRef && !/{{([^}]+)}}/.test(this.props.text)) {
|
|
@@ -42,24 +28,7 @@ class TextComponent extends React.Component<TextProps> {
|
|
|
42
28
|
return String(expression).replace(/{{([^}]+)}}/g, (match, group) => tryEval(group, state));
|
|
43
29
|
}
|
|
44
30
|
|
|
45
|
-
get allowTextEdit() {
|
|
46
|
-
return (
|
|
47
|
-
Builder.isBrowser &&
|
|
48
|
-
Builder.isEditing &&
|
|
49
|
-
location.search.includes('builder.allowTextEdit=true') &&
|
|
50
|
-
!(
|
|
51
|
-
this.props.builderBlock &&
|
|
52
|
-
this.props.builderBlock.bindings &&
|
|
53
|
-
(this.props.builderBlock.bindings['component.options.text'] ||
|
|
54
|
-
this.props.builderBlock.bindings['options.text'] ||
|
|
55
|
-
this.props.builderBlock.bindings['text'])
|
|
56
|
-
)
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
31
|
render() {
|
|
61
|
-
const allowEditingText = this.allowTextEdit;
|
|
62
|
-
|
|
63
32
|
const textCSS: InterpolationWithTheme<any> = {
|
|
64
33
|
outline: 'none',
|
|
65
34
|
'& p:first-of-type, & .builder-paragraph:first-of-type': {
|
|
@@ -90,67 +59,19 @@ class TextComponent extends React.Component<TextProps> {
|
|
|
90
59
|
ref={ref => {
|
|
91
60
|
this.textRef = ref;
|
|
92
61
|
}}
|
|
93
|
-
contentEditable={allowEditingText || undefined}
|
|
94
|
-
onInput={e => {
|
|
95
|
-
if (allowEditingText) {
|
|
96
|
-
window.parent?.postMessage(
|
|
97
|
-
{
|
|
98
|
-
type: 'builder.textEdited',
|
|
99
|
-
data: {
|
|
100
|
-
id: this.props.builderBlock && this.props.builderBlock.id,
|
|
101
|
-
value: e.currentTarget.innerHTML,
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
'*'
|
|
105
|
-
);
|
|
106
|
-
}
|
|
107
|
-
}}
|
|
108
|
-
onKeyDown={e => {
|
|
109
|
-
if (
|
|
110
|
-
allowEditingText &&
|
|
111
|
-
this.textRef &&
|
|
112
|
-
e.which === 27 &&
|
|
113
|
-
document.activeElement === this.textRef
|
|
114
|
-
) {
|
|
115
|
-
this.textRef.blur();
|
|
116
|
-
}
|
|
117
|
-
}}
|
|
118
|
-
onFocus={e => {
|
|
119
|
-
if (allowEditingText) {
|
|
120
|
-
window.parent?.postMessage(
|
|
121
|
-
{
|
|
122
|
-
type: 'builder.textFocused',
|
|
123
|
-
data: {
|
|
124
|
-
id: this.props.builderBlock && this.props.builderBlock.id,
|
|
125
|
-
},
|
|
126
|
-
},
|
|
127
|
-
'*'
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
}}
|
|
131
|
-
onBlur={e => {
|
|
132
|
-
if (allowEditingText) {
|
|
133
|
-
window.parent?.postMessage(
|
|
134
|
-
{
|
|
135
|
-
type: 'builder.textBlurred',
|
|
136
|
-
data: {
|
|
137
|
-
id: this.props.builderBlock && this.props.builderBlock.id,
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
'*'
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
}}
|
|
144
62
|
css={textCSS}
|
|
145
|
-
className=
|
|
146
|
-
|
|
63
|
+
className={
|
|
64
|
+
/* NOTE: This class name must be "builder-text" for inline editing to work in the Builder editor */
|
|
65
|
+
'builder-text'
|
|
66
|
+
}
|
|
67
|
+
{...{
|
|
147
68
|
dangerouslySetInnerHTML: {
|
|
148
69
|
__html: this.evalExpression(
|
|
149
70
|
this.props.text || (this.props as any).content || '',
|
|
150
71
|
state.state
|
|
151
72
|
),
|
|
152
73
|
},
|
|
153
|
-
}
|
|
74
|
+
}}
|
|
154
75
|
/>
|
|
155
76
|
</React.Fragment>
|
|
156
77
|
);
|
package/src/functions/utils.ts
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
// TODO: pull from builder internal utils
|
|
2
2
|
export const fastClone = <T extends object>(obj: T): T => JSON.parse(JSON.stringify(obj));
|
|
3
|
+
|
|
4
|
+
export const omit = <T extends object>(obj: T, ...values: (keyof T)[]): Partial<T> => {
|
|
5
|
+
const newObject = Object.assign({}, obj);
|
|
6
|
+
for (const key of values) {
|
|
7
|
+
delete (newObject as any)[key];
|
|
8
|
+
}
|
|
9
|
+
return newObject;
|
|
10
|
+
};
|