@builder.io/react 3.0.14 → 3.1.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 +6 -0
- 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/Text.js +19 -0
- package/dist/lib/src/blocks/Text.js.map +1 -1
- package/dist/types/src/components/builder-content.component.d.ts +3 -0
- package/package.json +2 -2
- package/src/blocks/Text.tsx +19 -0
- package/dist/lib/src/scripts/iso-vm.js +0 -74
- package/dist/lib/src/scripts/iso-vm.js.map +0 -1
- package/dist/types/src/scripts/iso-vm.d.ts +0 -1
package/dist/lib/package.json
CHANGED
|
@@ -33,6 +33,7 @@ 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");
|
|
36
37
|
var with_builder_1 = require("../functions/with-builder");
|
|
37
38
|
var builder_store_1 = require("../store/builder-store");
|
|
38
39
|
var try_eval_1 = require("../functions/try-eval");
|
|
@@ -51,8 +52,26 @@ var TextComponent = /** @class */ (function (_super) {
|
|
|
51
52
|
}
|
|
52
53
|
};
|
|
53
54
|
TextComponent.prototype.evalExpression = function (expression, state) {
|
|
55
|
+
// Don't interpolate when inline editing
|
|
56
|
+
if (this.allowTextEdit) {
|
|
57
|
+
return String(expression);
|
|
58
|
+
}
|
|
54
59
|
return String(expression).replace(/{{([^}]+)}}/g, function (match, group) { return (0, try_eval_1.tryEval)(group, state); });
|
|
55
60
|
};
|
|
61
|
+
Object.defineProperty(TextComponent.prototype, "allowTextEdit", {
|
|
62
|
+
get: function () {
|
|
63
|
+
return (sdk_1.Builder.isBrowser &&
|
|
64
|
+
sdk_1.Builder.isEditing &&
|
|
65
|
+
location.search.includes('builder.allowTextEdit=true') &&
|
|
66
|
+
!(this.props.builderBlock &&
|
|
67
|
+
this.props.builderBlock.bindings &&
|
|
68
|
+
(this.props.builderBlock.bindings['component.options.text'] ||
|
|
69
|
+
this.props.builderBlock.bindings['options.text'] ||
|
|
70
|
+
this.props.builderBlock.bindings['text'])));
|
|
71
|
+
},
|
|
72
|
+
enumerable: false,
|
|
73
|
+
configurable: true
|
|
74
|
+
});
|
|
56
75
|
TextComponent.prototype.render = function () {
|
|
57
76
|
var _this = this;
|
|
58
77
|
var textCSS = {
|
|
@@ -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":"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"}
|
|
@@ -87,6 +87,7 @@ export declare class BuilderContent<ContentType extends object = any> extends Re
|
|
|
87
87
|
[key: string]: any;
|
|
88
88
|
} | undefined;
|
|
89
89
|
noEditorUpdates?: boolean | undefined;
|
|
90
|
+
noTraverse?: boolean | undefined;
|
|
90
91
|
} | {
|
|
91
92
|
apiVersion?: "v3" | undefined;
|
|
92
93
|
enrich?: boolean | undefined;
|
|
@@ -120,6 +121,7 @@ export declare class BuilderContent<ContentType extends object = any> extends Re
|
|
|
120
121
|
[key: string]: any;
|
|
121
122
|
} | undefined;
|
|
122
123
|
noEditorUpdates?: boolean | undefined;
|
|
124
|
+
noTraverse?: boolean | undefined;
|
|
123
125
|
} | {
|
|
124
126
|
apiVersion?: undefined;
|
|
125
127
|
enrich?: boolean | undefined;
|
|
@@ -153,6 +155,7 @@ export declare class BuilderContent<ContentType extends object = any> extends Re
|
|
|
153
155
|
[key: string]: any;
|
|
154
156
|
} | undefined;
|
|
155
157
|
noEditorUpdates?: boolean | undefined;
|
|
158
|
+
noTraverse?: boolean | undefined;
|
|
156
159
|
};
|
|
157
160
|
get data(): {
|
|
158
161
|
variationId: any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builder.io/react",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.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.1.0",
|
|
128
128
|
"@emotion/core": "^10.0.17",
|
|
129
129
|
"hash-sum": "^2.0.0",
|
|
130
130
|
"isolated-vm": "^4.5.0",
|
package/src/blocks/Text.tsx
CHANGED
|
@@ -25,9 +25,28 @@ class TextComponent extends React.Component<TextProps> {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
evalExpression(expression: string, state: any) {
|
|
28
|
+
// Don't interpolate when inline editing
|
|
29
|
+
if (this.allowTextEdit) {
|
|
30
|
+
return String(expression);
|
|
31
|
+
}
|
|
28
32
|
return String(expression).replace(/{{([^}]+)}}/g, (match, group) => tryEval(group, state));
|
|
29
33
|
}
|
|
30
34
|
|
|
35
|
+
get allowTextEdit() {
|
|
36
|
+
return (
|
|
37
|
+
Builder.isBrowser &&
|
|
38
|
+
Builder.isEditing &&
|
|
39
|
+
location.search.includes('builder.allowTextEdit=true') &&
|
|
40
|
+
!(
|
|
41
|
+
this.props.builderBlock &&
|
|
42
|
+
this.props.builderBlock.bindings &&
|
|
43
|
+
(this.props.builderBlock.bindings['component.options.text'] ||
|
|
44
|
+
this.props.builderBlock.bindings['options.text'] ||
|
|
45
|
+
this.props.builderBlock.bindings['text'])
|
|
46
|
+
)
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
31
50
|
render() {
|
|
32
51
|
const textCSS: InterpolationWithTheme<any> = {
|
|
33
52
|
outline: 'none',
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var ivm = require('isolated-vm');
|
|
39
|
-
var isolate = new ivm.Isolate({ memoryLimit: 128 });
|
|
40
|
-
var context = isolate.createContextSync();
|
|
41
|
-
var jail = context.global;
|
|
42
|
-
var state = { articles: { bar: [{ a: 1 }] } };
|
|
43
|
-
var fetch = require('node-fetch');
|
|
44
|
-
var fetching = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
|
-
var result, json, b;
|
|
46
|
-
return __generator(this, function (_a) {
|
|
47
|
-
switch (_a.label) {
|
|
48
|
-
case 0: return [4 /*yield*/, fetch("https://cdn.builder.io/api/v3/content/page?apiKey=c3e3257ff5594facbf478a68d37f766d&limit=1&fields=id")];
|
|
49
|
-
case 1:
|
|
50
|
-
result = _a.sent();
|
|
51
|
-
return [4 /*yield*/, result.json()];
|
|
52
|
-
case 2:
|
|
53
|
-
json = _a.sent();
|
|
54
|
-
console.log(json);
|
|
55
|
-
b = undefined;
|
|
56
|
-
jail.setSync('returnValue', function (val) { return (b = val); });
|
|
57
|
-
state.articles = json;
|
|
58
|
-
context.evalClosureSync("\n const refToProxy = (obj) => {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n return new Proxy(obj, {\n get(target, key) {\n if(key === 'toJS') {\n return () => obj.copySync();\n }\n const val = obj.getSync(key);\n if (typeof val?.getSync === 'function') {\n return refToProxy(val);\n }\n return val;\n },\n set(target, key, value) {\n obj.setSync(key, value);\n },\n deleteProperty(target, key) {\n obj.deleteSync(key);\n },\n })\n }\n const state = refToProxy($0);\n \n returnValue(state.toJS());\n return state.articles.results.toJS();\n ", [new ivm.Reference(state)]);
|
|
59
|
-
console.log(b.articles.results);
|
|
60
|
-
return [2 /*return*/];
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}); };
|
|
64
|
-
jail.setSync('global', jail.derefInto());
|
|
65
|
-
// We will create a basic `log` function for the new isolate to use.
|
|
66
|
-
jail.setSync('log', function () {
|
|
67
|
-
var args = [];
|
|
68
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
69
|
-
args[_i] = arguments[_i];
|
|
70
|
-
}
|
|
71
|
-
console.log.apply(console, args);
|
|
72
|
-
});
|
|
73
|
-
fetching();
|
|
74
|
-
//# sourceMappingURL=iso-vm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iso-vm.js","sourceRoot":"","sources":["../../../../src/scripts/iso-vm.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEnC,IAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;AAEtD,IAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;AAC5C,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;AAC5B,IAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAChD,IAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACpC,IAAM,QAAQ,GAAG;;;;oBACA,qBAAM,KAAK,CACxB,sGAAsG,CACvG,EAAA;;gBAFK,MAAM,GAAG,SAEd;gBACY,qBAAM,MAAM,CAAC,IAAI,EAAE,EAAA;;gBAA1B,IAAI,GAAG,SAAmB;gBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACd,CAAC,GAAG,SAAS,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAA,GAAG,IAAI,OAAA,CAAC,CAAC,GAAG,GAAG,CAAC,EAAT,CAAS,CAAC,CAAC;gBAC9C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtB,OAAO,CAAC,eAAe,CACrB,qwBA4BF,EACE,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAC3B,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;;;;KACjC,CAAC;AACF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAEzC,oEAAoE;AACpE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IAAU,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IACnC,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAE;AACvB,CAAC,CAAC,CAAC;AAEH,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|