@builder.io/react 8.2.4 → 8.2.6
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 +16 -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/raw/Img.js +69 -3
- package/dist/lib/src/blocks/raw/Img.js.map +1 -1
- package/dist/lib/src/sdk-version.js +1 -1
- package/dist/types/src/blocks/raw/Img.d.ts +5 -0
- package/dist/types/src/sdk-version.d.ts +1 -1
- package/package.json +2 -2
- package/src/blocks/raw/Img.tsx +77 -3
package/dist/lib/package.json
CHANGED
|
@@ -26,6 +26,17 @@ var __assign = (this && this.__assign) || function () {
|
|
|
26
26
|
};
|
|
27
27
|
return __assign.apply(this, arguments);
|
|
28
28
|
};
|
|
29
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
30
|
+
var t = {};
|
|
31
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
32
|
+
t[p] = s[p];
|
|
33
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
34
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
35
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
36
|
+
t[p[i]] = s[p[i]];
|
|
37
|
+
}
|
|
38
|
+
return t;
|
|
39
|
+
};
|
|
29
40
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
41
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
42
|
};
|
|
@@ -55,12 +66,18 @@ var ImgComponent = /** @class */ (function (_super) {
|
|
|
55
66
|
ImgComponent.prototype.render = function () {
|
|
56
67
|
var attributes = this.props.attributes || {};
|
|
57
68
|
var srcset = this.getSrcSet();
|
|
58
|
-
|
|
69
|
+
var userStyle = attributes.style, restAttributes = __rest(attributes, ["style"]);
|
|
70
|
+
var defaultStyle = {
|
|
71
|
+
objectFit: this.props.backgroundSize,
|
|
72
|
+
objectPosition: this.props.backgroundPosition,
|
|
73
|
+
aspectRatio: this.props.aspectRatio,
|
|
74
|
+
};
|
|
75
|
+
var mergedStyle = __assign(__assign({}, defaultStyle), userStyle);
|
|
76
|
+
return (react_1.default.createElement("img", __assign({ loading: "lazy" }, restAttributes, { src: this.props.image || attributes.src, srcSet: srcset, alt: this.props.altText, title: this.props.title, style: mergedStyle, className: "builder-raw-img" })));
|
|
59
77
|
};
|
|
60
78
|
return ImgComponent;
|
|
61
79
|
}(react_1.default.Component));
|
|
62
80
|
exports.Img = (0, with_builder_1.withBuilder)(ImgComponent, {
|
|
63
|
-
// friendlyName?
|
|
64
81
|
name: 'Raw:Img',
|
|
65
82
|
hideFromInsertMenu: true,
|
|
66
83
|
image: 'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',
|
|
@@ -72,8 +89,57 @@ exports.Img = (0, with_builder_1.withBuilder)(ImgComponent, {
|
|
|
72
89
|
allowedFileTypes: file_types_constant_1.IMAGE_FILE_TYPES,
|
|
73
90
|
required: true,
|
|
74
91
|
},
|
|
92
|
+
{
|
|
93
|
+
name: 'backgroundSize',
|
|
94
|
+
type: 'text',
|
|
95
|
+
defaultValue: 'cover',
|
|
96
|
+
enum: [
|
|
97
|
+
{
|
|
98
|
+
label: 'contain',
|
|
99
|
+
value: 'contain',
|
|
100
|
+
helperText: 'The image should never get cropped',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
label: 'cover',
|
|
104
|
+
value: 'cover',
|
|
105
|
+
helperText: "The image should fill it's box, cropping when needed",
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: 'backgroundPosition',
|
|
111
|
+
type: 'text',
|
|
112
|
+
defaultValue: 'center',
|
|
113
|
+
enum: [
|
|
114
|
+
'center',
|
|
115
|
+
'top',
|
|
116
|
+
'left',
|
|
117
|
+
'right',
|
|
118
|
+
'bottom',
|
|
119
|
+
'top left',
|
|
120
|
+
'top right',
|
|
121
|
+
'bottom left',
|
|
122
|
+
'bottom right',
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'altText',
|
|
127
|
+
type: 'string',
|
|
128
|
+
helperText: 'Text to display when the user has images off',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
name: 'title',
|
|
132
|
+
type: 'string',
|
|
133
|
+
helperText: 'Text to display when hovering over the asset',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'aspectRatio',
|
|
137
|
+
type: 'number',
|
|
138
|
+
helperText: "This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",
|
|
139
|
+
advanced: true,
|
|
140
|
+
defaultValue: 0.7041,
|
|
141
|
+
},
|
|
75
142
|
],
|
|
76
143
|
noWrap: true,
|
|
77
|
-
static: true,
|
|
78
144
|
});
|
|
79
145
|
//# sourceMappingURL=Img.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Img.js","sourceRoot":"","sources":["../../../../../src/blocks/raw/Img.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"Img.js","sourceRoot":"","sources":["../../../../../src/blocks/raw/Img.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,10 @@ export interface ImgProps {
|
|
|
3
3
|
attributes?: any;
|
|
4
4
|
image?: string;
|
|
5
5
|
builderBlock?: BuilderElement;
|
|
6
|
+
aspectRatio?: number;
|
|
7
|
+
backgroundSize?: string;
|
|
8
|
+
backgroundPosition?: string;
|
|
9
|
+
altText?: string;
|
|
10
|
+
title?: string;
|
|
6
11
|
}
|
|
7
12
|
export declare const Img: Function;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "8.2.
|
|
1
|
+
export declare const SDK_VERSION = "8.2.6";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builder.io/react",
|
|
3
|
-
"version": "8.2.
|
|
3
|
+
"version": "8.2.6",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"main": "dist/builder-react.cjs.js",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"react-dom": ">=16.8.0 || ^19.0.0-rc"
|
|
98
98
|
},
|
|
99
99
|
"dependencies": {
|
|
100
|
-
"@builder.io/sdk": "6.1.
|
|
100
|
+
"@builder.io/sdk": "6.1.2",
|
|
101
101
|
"@emotion/core": "^10.0.17",
|
|
102
102
|
"hash-sum": "^2.0.0",
|
|
103
103
|
"isolated-vm": "^5.0.0",
|
package/src/blocks/raw/Img.tsx
CHANGED
|
@@ -9,6 +9,11 @@ export interface ImgProps {
|
|
|
9
9
|
attributes?: any;
|
|
10
10
|
image?: string;
|
|
11
11
|
builderBlock?: BuilderElement;
|
|
12
|
+
aspectRatio?: number;
|
|
13
|
+
backgroundSize?: string;
|
|
14
|
+
backgroundPosition?: string;
|
|
15
|
+
altText?: string;
|
|
16
|
+
title?: string;
|
|
12
17
|
}
|
|
13
18
|
|
|
14
19
|
// TODO: srcset, alt text input, object size/position input, etc
|
|
@@ -31,21 +36,39 @@ class ImgComponent extends React.Component<ImgProps> {
|
|
|
31
36
|
render() {
|
|
32
37
|
const attributes = this.props.attributes || {};
|
|
33
38
|
const srcset = this.getSrcSet();
|
|
39
|
+
|
|
40
|
+
const { style: userStyle, ...restAttributes } = attributes;
|
|
41
|
+
|
|
42
|
+
const defaultStyle: React.CSSProperties = {
|
|
43
|
+
objectFit: this.props.backgroundSize as React.CSSProperties['objectFit'],
|
|
44
|
+
objectPosition: this.props.backgroundPosition as React.CSSProperties['objectPosition'],
|
|
45
|
+
aspectRatio: this.props.aspectRatio as unknown as React.CSSProperties['aspectRatio'],
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const mergedStyle = {
|
|
49
|
+
...defaultStyle,
|
|
50
|
+
...(userStyle as React.CSSProperties),
|
|
51
|
+
};
|
|
52
|
+
|
|
34
53
|
return (
|
|
35
54
|
<img
|
|
36
55
|
loading="lazy"
|
|
37
|
-
{...
|
|
56
|
+
{...restAttributes}
|
|
38
57
|
src={this.props.image || attributes.src}
|
|
39
58
|
srcSet={srcset}
|
|
59
|
+
alt={this.props.altText}
|
|
60
|
+
title={this.props.title}
|
|
61
|
+
style={mergedStyle}
|
|
62
|
+
className="builder-raw-img"
|
|
40
63
|
/>
|
|
41
64
|
);
|
|
42
65
|
}
|
|
43
66
|
}
|
|
44
67
|
|
|
45
68
|
export const Img = withBuilder(ImgComponent, {
|
|
46
|
-
// friendlyName?
|
|
47
69
|
name: 'Raw:Img',
|
|
48
70
|
hideFromInsertMenu: true,
|
|
71
|
+
|
|
49
72
|
image:
|
|
50
73
|
'https://firebasestorage.googleapis.com/v0/b/builder-3b0a2.appspot.com/o/images%2Fbaseline-insert_photo-24px.svg?alt=media&token=4e5d0ef4-f5e8-4e57-b3a9-38d63a9b9dc4',
|
|
51
74
|
inputs: [
|
|
@@ -56,7 +79,58 @@ export const Img = withBuilder(ImgComponent, {
|
|
|
56
79
|
allowedFileTypes: IMAGE_FILE_TYPES,
|
|
57
80
|
required: true,
|
|
58
81
|
},
|
|
82
|
+
{
|
|
83
|
+
name: 'backgroundSize',
|
|
84
|
+
type: 'text',
|
|
85
|
+
defaultValue: 'cover',
|
|
86
|
+
enum: [
|
|
87
|
+
{
|
|
88
|
+
label: 'contain',
|
|
89
|
+
value: 'contain',
|
|
90
|
+
helperText: 'The image should never get cropped',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
label: 'cover',
|
|
94
|
+
value: 'cover',
|
|
95
|
+
helperText: "The image should fill it's box, cropping when needed",
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'backgroundPosition',
|
|
101
|
+
type: 'text',
|
|
102
|
+
defaultValue: 'center',
|
|
103
|
+
enum: [
|
|
104
|
+
'center',
|
|
105
|
+
'top',
|
|
106
|
+
'left',
|
|
107
|
+
'right',
|
|
108
|
+
'bottom',
|
|
109
|
+
'top left',
|
|
110
|
+
'top right',
|
|
111
|
+
'bottom left',
|
|
112
|
+
'bottom right',
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: 'altText',
|
|
117
|
+
type: 'string',
|
|
118
|
+
helperText: 'Text to display when the user has images off',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: 'title',
|
|
122
|
+
type: 'string',
|
|
123
|
+
helperText: 'Text to display when hovering over the asset',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'aspectRatio',
|
|
127
|
+
type: 'number',
|
|
128
|
+
helperText:
|
|
129
|
+
"This is the ratio of height/width, e.g. set to 1.5 for a 300px wide and 200px tall photo. Set to 0 to not force the image to maintain it's aspect ratio",
|
|
130
|
+
advanced: true,
|
|
131
|
+
defaultValue: 0.7041,
|
|
132
|
+
},
|
|
59
133
|
],
|
|
134
|
+
|
|
60
135
|
noWrap: true,
|
|
61
|
-
static: true,
|
|
62
136
|
});
|