@builder.io/react 2.0.11-5 → 2.0.12-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/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 +1 -1
- 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 +1 -1
- package/dist/builder-react.unpkg.js.map +1 -1
- package/dist/lib/package.json +1 -1
- package/dist/lib/src/blocks/Columns.js +11 -3
- package/dist/lib/src/blocks/Columns.js.map +1 -1
- package/dist/lib/src/blocks/Image.js +10 -7
- package/dist/lib/src/blocks/Image.js.map +1 -1
- package/dist/lib/src/components/builder-block.component.js +1 -1
- package/dist/lib/src/components/builder-block.component.js.map +1 -1
- package/dist/lib/src/components/builder-component.component.js +25 -7
- package/dist/lib/src/components/builder-component.component.js.map +1 -1
- package/dist/lib/test/basic.test.js +36 -3
- package/dist/lib/test/basic.test.js.map +1 -1
- package/dist/types/src/blocks/Image.d.ts +2 -1
- package/dist/types/src/components/builder-component.component.d.ts +2 -1
- package/dist/types/src/constants/device-sizes.constant.d.ts +1 -1
- package/package.json +1 -1
- package/src/blocks/Columns.tsx +12 -2
- package/src/blocks/Image.tsx +16 -6
- package/src/components/builder-block.component.tsx +0 -1
- package/src/components/builder-component.component.tsx +29 -6
- package/src/constants/device-sizes.constant.ts +1 -1
- package/test/__snapshots__/basic.test.tsx.snap +52 -14
- package/test/basic.test.tsx +43 -3
|
@@ -157,7 +157,7 @@ describe('Content changes when new content provided', function () {
|
|
|
157
157
|
});
|
|
158
158
|
});
|
|
159
159
|
describe('Builder Pixel', function () {
|
|
160
|
-
it('Should be added
|
|
160
|
+
it('Should NOT be added if missing in blocksString', function () {
|
|
161
161
|
var renderedBlock = reactTestRenderer.create(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
|
|
162
162
|
id: 'id',
|
|
163
163
|
data: {
|
|
@@ -166,7 +166,7 @@ describe('Builder Pixel', function () {
|
|
|
166
166
|
} }));
|
|
167
167
|
expect(renderedBlock).toMatchSnapshot();
|
|
168
168
|
});
|
|
169
|
-
it('Should be added
|
|
169
|
+
it('Should NOT be added if missing in blocks array', function () {
|
|
170
170
|
var renderedBlock = reactTestRenderer.create(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
|
|
171
171
|
id: 'id',
|
|
172
172
|
data: {
|
|
@@ -175,7 +175,7 @@ describe('Builder Pixel', function () {
|
|
|
175
175
|
} }));
|
|
176
176
|
expect(renderedBlock).toMatchSnapshot();
|
|
177
177
|
});
|
|
178
|
-
it('Should
|
|
178
|
+
it('Should NOT be added again if already present in blocks array', function () {
|
|
179
179
|
var renderedBlock = reactTestRenderer.create(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
|
|
180
180
|
id: 'id',
|
|
181
181
|
data: {
|
|
@@ -184,5 +184,38 @@ describe('Builder Pixel', function () {
|
|
|
184
184
|
} }));
|
|
185
185
|
expect(renderedBlock).toMatchSnapshot();
|
|
186
186
|
});
|
|
187
|
+
it('Should be added if pixel is missing and blocks array has other block(s)', function () {
|
|
188
|
+
var renderedBlock = reactTestRenderer.create(React.createElement(builder_react_1.BuilderPage, { model: "page", content: {
|
|
189
|
+
id: 'id',
|
|
190
|
+
data: {
|
|
191
|
+
blocks: [
|
|
192
|
+
{
|
|
193
|
+
'@type': '@builder.io/sdk:Element',
|
|
194
|
+
'@version': 2,
|
|
195
|
+
id: 'builder-270035a08d734ae88ea177daff3595c0',
|
|
196
|
+
component: {
|
|
197
|
+
name: 'Text',
|
|
198
|
+
options: {
|
|
199
|
+
text: '<p>some text...</p>',
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
responsiveStyles: {
|
|
203
|
+
large: {
|
|
204
|
+
display: 'flex',
|
|
205
|
+
flexDirection: 'column',
|
|
206
|
+
position: 'relative',
|
|
207
|
+
flexShrink: '0',
|
|
208
|
+
boxSizing: 'border-box',
|
|
209
|
+
marginTop: '20px',
|
|
210
|
+
lineHeight: 'normal',
|
|
211
|
+
height: 'auto',
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
},
|
|
217
|
+
} }));
|
|
218
|
+
expect(renderedBlock).toMatchSnapshot();
|
|
219
|
+
});
|
|
187
220
|
});
|
|
188
221
|
//# sourceMappingURL=basic.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic.test.js","sourceRoot":"","sources":["../../../test/basic.test.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"basic.test.js","sourceRoot":"","sources":["../../../test/basic.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BuilderElement } from '@builder.io/sdk';
|
|
2
|
+
import { Breakpoints } from '../constants/device-sizes.constant';
|
|
2
3
|
export declare function updateQueryParam(uri: string | undefined, key: string, value: string | number | boolean): string;
|
|
3
4
|
export declare function getSrcSet(url: string): string;
|
|
4
|
-
export declare const getSizes: (sizes: string, block: BuilderElement) => string;
|
|
5
|
+
export declare const getSizes: (sizes: string, block: BuilderElement, contentBreakpoints?: Breakpoints) => string;
|
|
5
6
|
export declare const Image: Function;
|
|
@@ -4,6 +4,7 @@ import { BuilderContent } from './builder-content.component';
|
|
|
4
4
|
import { Builder, GetContentOptions, Subscription, BehaviorSubject, BuilderElement, BuilderContent as Content } from '@builder.io/sdk';
|
|
5
5
|
import onChange from '../../lib/on-change';
|
|
6
6
|
export { onChange };
|
|
7
|
+
import { Breakpoints } from '../constants/device-sizes.constant';
|
|
7
8
|
import { Url } from 'url';
|
|
8
9
|
export interface BuilderComponentProps {
|
|
9
10
|
/**
|
|
@@ -193,6 +194,7 @@ export interface BuilderComponentState {
|
|
|
193
194
|
updates: number;
|
|
194
195
|
context: any;
|
|
195
196
|
key: number;
|
|
197
|
+
breakpoints?: Breakpoints;
|
|
196
198
|
}
|
|
197
199
|
/**
|
|
198
200
|
* Responsible for rendering Builder content of type: 'page' or 'section' to
|
|
@@ -279,7 +281,6 @@ export declare class BuilderComponent extends React.Component<BuilderComponentPr
|
|
|
279
281
|
get deviceSizeState(): string;
|
|
280
282
|
messageListener: (event: MessageEvent) => void;
|
|
281
283
|
resizeFn: () => void;
|
|
282
|
-
resizeListener: (this: any) => any;
|
|
283
284
|
static renderInto(elementOrSelector: string | HTMLElement, props?: BuilderComponentProps, hydrate?: boolean, fresh?: boolean): void;
|
|
284
285
|
mounted: boolean;
|
|
285
286
|
componentDidMount(): void;
|
package/package.json
CHANGED
package/src/blocks/Columns.tsx
CHANGED
|
@@ -6,6 +6,7 @@ import { BuilderElement } from '@builder.io/sdk';
|
|
|
6
6
|
import { BuilderBlocks } from '../components/builder-blocks.component';
|
|
7
7
|
import { withBuilder } from '../functions/with-builder';
|
|
8
8
|
import { Link } from '../components/Link';
|
|
9
|
+
import { Breakpoints, getSizesForBreakpoints } from '../constants/device-sizes.constant';
|
|
9
10
|
|
|
10
11
|
const DEFAULT_ASPECT_RATIO = 0.7004048582995948;
|
|
11
12
|
|
|
@@ -85,6 +86,9 @@ class ColumnsComponent extends React.Component<any> {
|
|
|
85
86
|
|
|
86
87
|
render() {
|
|
87
88
|
const { columns, gutterSize } = this;
|
|
89
|
+
const contentBreakpoints: Breakpoints =
|
|
90
|
+
this.props.builderState?.context.builderContent?.meta?.breakpoints || {};
|
|
91
|
+
const breakpointSizes = getSizesForBreakpoints(contentBreakpoints);
|
|
88
92
|
|
|
89
93
|
return (
|
|
90
94
|
// FIXME: make more elegant
|
|
@@ -94,7 +98,11 @@ class ColumnsComponent extends React.Component<any> {
|
|
|
94
98
|
css={{
|
|
95
99
|
display: 'flex',
|
|
96
100
|
...(this.props.stackColumnsAt !== 'never' && {
|
|
97
|
-
[`@media (max-width: ${
|
|
101
|
+
[`@media (max-width: ${
|
|
102
|
+
this.props.stackColumnsAt !== 'tablet'
|
|
103
|
+
? breakpointSizes.small.max
|
|
104
|
+
: breakpointSizes.medium.max
|
|
105
|
+
}px)`]: {
|
|
98
106
|
flexDirection: this.props.reverseColumnsWhenStacked ? 'column-reverse' : 'column',
|
|
99
107
|
alignItems: 'stretch',
|
|
100
108
|
},
|
|
@@ -125,7 +133,9 @@ class ColumnsComponent extends React.Component<any> {
|
|
|
125
133
|
marginLeft: index === 0 ? 0 : gutterSize,
|
|
126
134
|
...(this.props.stackColumnsAt !== 'never' && {
|
|
127
135
|
[`@media (max-width: ${
|
|
128
|
-
this.props.stackColumnsAt !== 'tablet'
|
|
136
|
+
this.props.stackColumnsAt !== 'tablet'
|
|
137
|
+
? breakpointSizes.small.max
|
|
138
|
+
: breakpointSizes.medium.max
|
|
129
139
|
}px)`]: {
|
|
130
140
|
width: '100%',
|
|
131
141
|
marginLeft: 0,
|
package/src/blocks/Image.tsx
CHANGED
|
@@ -7,6 +7,7 @@ import { BuilderElement, Builder } from '@builder.io/sdk';
|
|
|
7
7
|
import { BuilderMetaContext } from '../store/builder-meta';
|
|
8
8
|
import { withBuilder } from '../functions/with-builder';
|
|
9
9
|
import { throttle } from '../functions/throttle';
|
|
10
|
+
import { Breakpoints, getSizesForBreakpoints } from '../constants/device-sizes.constant';
|
|
10
11
|
|
|
11
12
|
// Taken from (and modified) the shopify theme script repo
|
|
12
13
|
// https://github.com/Shopify/theme-scripts/blob/bcfb471f2a57d439e2f964a1bb65b67708cc90c3/packages/theme-images/images.js#L59
|
|
@@ -92,7 +93,11 @@ export function getSrcSet(url: string): string {
|
|
|
92
93
|
return url;
|
|
93
94
|
}
|
|
94
95
|
|
|
95
|
-
export const getSizes = (
|
|
96
|
+
export const getSizes = (
|
|
97
|
+
sizes: string,
|
|
98
|
+
block: BuilderElement,
|
|
99
|
+
contentBreakpoints: Breakpoints = {}
|
|
100
|
+
) => {
|
|
96
101
|
let useSizes = '';
|
|
97
102
|
|
|
98
103
|
if (sizes) {
|
|
@@ -117,9 +122,10 @@ export const getSizes = (sizes: string, block: BuilderElement) => {
|
|
|
117
122
|
let hasSmallOrMediumSize = false;
|
|
118
123
|
const unitRegex = /^\d+/;
|
|
119
124
|
|
|
125
|
+
const breakpointSizes = getSizesForBreakpoints(contentBreakpoints);
|
|
120
126
|
if (block.responsiveStyles?.small?.width?.match(unitRegex)) {
|
|
121
127
|
hasSmallOrMediumSize = true;
|
|
122
|
-
const mediaQuery =
|
|
128
|
+
const mediaQuery = `(max-width: ${breakpointSizes.small.max}px)`;
|
|
123
129
|
const widthAndQuery = `${mediaQuery} ${block.responsiveStyles.small.width.replace(
|
|
124
130
|
'%',
|
|
125
131
|
'vw'
|
|
@@ -129,7 +135,7 @@ export const getSizes = (sizes: string, block: BuilderElement) => {
|
|
|
129
135
|
|
|
130
136
|
if (block.responsiveStyles?.medium?.width?.match(unitRegex)) {
|
|
131
137
|
hasSmallOrMediumSize = true;
|
|
132
|
-
const mediaQuery =
|
|
138
|
+
const mediaQuery = `(max-width: ${breakpointSizes.medium.max}px)`;
|
|
133
139
|
const widthAndQuery = `${mediaQuery} ${block.responsiveStyles.medium.width.replace(
|
|
134
140
|
'%',
|
|
135
141
|
'vw'
|
|
@@ -267,11 +273,15 @@ class ImageComponent extends React.Component<any, { imageLoaded: boolean; load:
|
|
|
267
273
|
}
|
|
268
274
|
|
|
269
275
|
render() {
|
|
270
|
-
const { aspectRatio, lazy } = this.props;
|
|
276
|
+
const { aspectRatio, lazy, builderBlock, builderState } = this.props;
|
|
271
277
|
const children = this.props.builderBlock && this.props.builderBlock.children;
|
|
272
278
|
|
|
273
279
|
let srcset = this.props.srcset;
|
|
274
|
-
const sizes = getSizes(
|
|
280
|
+
const sizes = getSizes(
|
|
281
|
+
this.props.sizes,
|
|
282
|
+
builderBlock,
|
|
283
|
+
builderState?.context.builderContent?.meta?.breakpoints || {}
|
|
284
|
+
);
|
|
275
285
|
const image = this.image;
|
|
276
286
|
|
|
277
287
|
if (srcset && image && image.includes('builder.io/api/v1/image')) {
|
|
@@ -283,7 +293,7 @@ class ImageComponent extends React.Component<any, { imageLoaded: boolean; load:
|
|
|
283
293
|
srcset = this.getSrcSet();
|
|
284
294
|
}
|
|
285
295
|
|
|
286
|
-
const isPixel =
|
|
296
|
+
const isPixel = builderBlock?.id.startsWith('builder-pixel-');
|
|
287
297
|
const { fitContent } = this.props;
|
|
288
298
|
|
|
289
299
|
return (
|
|
@@ -18,7 +18,7 @@ import onChange from '../../lib/on-change';
|
|
|
18
18
|
|
|
19
19
|
export { onChange };
|
|
20
20
|
|
|
21
|
-
import { getSizesForBreakpoints, Sizes } from '../constants/device-sizes.constant';
|
|
21
|
+
import { Breakpoints, getSizesForBreakpoints, Sizes } from '../constants/device-sizes.constant';
|
|
22
22
|
import {
|
|
23
23
|
BuilderAsyncRequestsContext,
|
|
24
24
|
RequestOrPromise,
|
|
@@ -291,6 +291,7 @@ export interface BuilderComponentState {
|
|
|
291
291
|
updates: number;
|
|
292
292
|
context: any;
|
|
293
293
|
key: number;
|
|
294
|
+
breakpoints?: Breakpoints;
|
|
294
295
|
}
|
|
295
296
|
|
|
296
297
|
function searchToObject(location: Location | Url) {
|
|
@@ -477,6 +478,28 @@ export class BuilderComponent extends React.Component<
|
|
|
477
478
|
messageListener = (event: MessageEvent) => {
|
|
478
479
|
const info = event.data;
|
|
479
480
|
switch (info.type) {
|
|
481
|
+
case 'builder.configureSdk': {
|
|
482
|
+
const data = info.data;
|
|
483
|
+
|
|
484
|
+
if (!data.contentId || data.contentId !== this.useContent?.id) {
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
this.sizes = getSizesForBreakpoints(data.breakpoints || {});
|
|
489
|
+
|
|
490
|
+
this.setState({
|
|
491
|
+
state: Object.assign(this.rootState, {
|
|
492
|
+
deviceSize: this.deviceSizeState,
|
|
493
|
+
// TODO: will user attributes be ready here?
|
|
494
|
+
device: this.device,
|
|
495
|
+
}),
|
|
496
|
+
updates: ((this.state && this.state.updates) || 0) + 1,
|
|
497
|
+
breakpoints: data.breakpoints,
|
|
498
|
+
});
|
|
499
|
+
|
|
500
|
+
break;
|
|
501
|
+
}
|
|
502
|
+
|
|
480
503
|
case 'builder.updateSpacer': {
|
|
481
504
|
const data = info.data;
|
|
482
505
|
const currentSpacer = this.rootState._spacer;
|
|
@@ -535,8 +558,6 @@ export class BuilderComponent extends React.Component<
|
|
|
535
558
|
}
|
|
536
559
|
};
|
|
537
560
|
|
|
538
|
-
resizeListener = Builder.isEditing ? throttle(this.resizeFn, 200) : debounce(this.resizeFn, 400);
|
|
539
|
-
|
|
540
561
|
static renderInto(
|
|
541
562
|
elementOrSelector: string | HTMLElement,
|
|
542
563
|
props: BuilderComponentProps = {},
|
|
@@ -669,7 +690,6 @@ export class BuilderComponent extends React.Component<
|
|
|
669
690
|
|
|
670
691
|
if (Builder.isBrowser) {
|
|
671
692
|
// TODO: remove event on unload
|
|
672
|
-
window.addEventListener('resize', this.resizeListener);
|
|
673
693
|
if (Builder.isEditing) {
|
|
674
694
|
window.addEventListener('message', this.messageListener);
|
|
675
695
|
}
|
|
@@ -801,7 +821,6 @@ export class BuilderComponent extends React.Component<
|
|
|
801
821
|
componentWillUnmount() {
|
|
802
822
|
this.unsubscribe();
|
|
803
823
|
if (Builder.isBrowser) {
|
|
804
|
-
window.removeEventListener('resize', this.resizeListener);
|
|
805
824
|
window.removeEventListener('message', this.messageListener);
|
|
806
825
|
}
|
|
807
826
|
}
|
|
@@ -1011,6 +1030,10 @@ export class BuilderComponent extends React.Component<
|
|
|
1011
1030
|
return null;
|
|
1012
1031
|
}
|
|
1013
1032
|
if (fullData && fullData.id) {
|
|
1033
|
+
if (this.state.breakpoints) {
|
|
1034
|
+
fullData.meta = fullData.meta || {};
|
|
1035
|
+
fullData.meta.breakpoints = this.state.breakpoints;
|
|
1036
|
+
}
|
|
1014
1037
|
this.state.context.builderContent = fullData;
|
|
1015
1038
|
}
|
|
1016
1039
|
if (Builder.isBrowser) {
|
|
@@ -1076,7 +1099,7 @@ export class BuilderComponent extends React.Component<
|
|
|
1076
1099
|
block.id?.startsWith('builder-pixel')
|
|
1077
1100
|
);
|
|
1078
1101
|
|
|
1079
|
-
if (data && !hasPixel) {
|
|
1102
|
+
if (data && !hasPixel && blocks.length > 0) {
|
|
1080
1103
|
blocks.push(getBuilderPixel(builder.apiKey!));
|
|
1081
1104
|
}
|
|
1082
1105
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
|
-
exports[`Builder Pixel Should be added
|
|
3
|
+
exports[`Builder Pixel Should NOT be added if missing in blocksString 1`] = `
|
|
4
4
|
<div
|
|
5
5
|
className="builder-component builder-component-id"
|
|
6
6
|
data-name="page"
|
|
@@ -21,24 +21,15 @@ exports[`Builder Pixel Should be added automatically if missing in blocks array
|
|
|
21
21
|
|
|
22
22
|
<div
|
|
23
23
|
builder-type="blocks"
|
|
24
|
-
className="builder-blocks css-h47494"
|
|
24
|
+
className="builder-blocks no-blocks css-h47494"
|
|
25
25
|
onClick={[Function]}
|
|
26
|
-
|
|
27
|
-
<img
|
|
28
|
-
aria-hidden="true"
|
|
29
|
-
builder-id="builder-pixel-4fzzzxjylrx"
|
|
30
|
-
className="builder-block builder-pixel-4fzzzxjylrx css-1mvsfya"
|
|
31
|
-
role="presentation"
|
|
32
|
-
src="https://cdn.builder.io/api/v1/pixel?apiKey=null"
|
|
33
|
-
style={Object {}}
|
|
34
|
-
/>
|
|
35
|
-
</div>
|
|
26
|
+
/>
|
|
36
27
|
</div>
|
|
37
28
|
</div>
|
|
38
29
|
</div>
|
|
39
30
|
`;
|
|
40
31
|
|
|
41
|
-
exports[`Builder Pixel Should be added
|
|
32
|
+
exports[`Builder Pixel Should NOT be added again if already present in blocks array 1`] = `
|
|
42
33
|
<div
|
|
43
34
|
className="builder-component builder-component-id"
|
|
44
35
|
data-name="page"
|
|
@@ -76,7 +67,36 @@ exports[`Builder Pixel Should be added automatically if missing in blocksString
|
|
|
76
67
|
</div>
|
|
77
68
|
`;
|
|
78
69
|
|
|
79
|
-
exports[`Builder Pixel Should
|
|
70
|
+
exports[`Builder Pixel Should NOT be added if missing in blocks array 1`] = `
|
|
71
|
+
<div
|
|
72
|
+
className="builder-component builder-component-id"
|
|
73
|
+
data-name="page"
|
|
74
|
+
data-source="Rendered by Builder.io"
|
|
75
|
+
onClick={[Function]}
|
|
76
|
+
>
|
|
77
|
+
<div
|
|
78
|
+
builder-content-id="id"
|
|
79
|
+
builder-model="page"
|
|
80
|
+
className="builder-content"
|
|
81
|
+
onClick={[Function]}
|
|
82
|
+
>
|
|
83
|
+
<div
|
|
84
|
+
data-builder-component="page"
|
|
85
|
+
data-builder-content-id="id"
|
|
86
|
+
data-builder-variation-id="id"
|
|
87
|
+
>
|
|
88
|
+
|
|
89
|
+
<div
|
|
90
|
+
builder-type="blocks"
|
|
91
|
+
className="builder-blocks no-blocks css-h47494"
|
|
92
|
+
onClick={[Function]}
|
|
93
|
+
/>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
`;
|
|
98
|
+
|
|
99
|
+
exports[`Builder Pixel Should be added if pixel is missing and blocks array has other block(s) 1`] = `
|
|
80
100
|
<div
|
|
81
101
|
className="builder-component builder-component-id"
|
|
82
102
|
data-name="page"
|
|
@@ -100,6 +120,24 @@ exports[`Builder Pixel Should not be added if already present in blocks array 1`
|
|
|
100
120
|
className="builder-blocks css-h47494"
|
|
101
121
|
onClick={[Function]}
|
|
102
122
|
>
|
|
123
|
+
<div
|
|
124
|
+
builder-id="builder-270035a08d734ae88ea177daff3595c0"
|
|
125
|
+
className="builder-block builder-270035a08d734ae88ea177daff3595c0 builder-has-component css-hgfgng"
|
|
126
|
+
style={Object {}}
|
|
127
|
+
>
|
|
128
|
+
<span
|
|
129
|
+
className="builder-text css-1qggkls"
|
|
130
|
+
dangerouslySetInnerHTML={
|
|
131
|
+
Object {
|
|
132
|
+
"__html": "<p>some text...</p>",
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
onBlur={[Function]}
|
|
136
|
+
onFocus={[Function]}
|
|
137
|
+
onInput={[Function]}
|
|
138
|
+
onKeyDown={[Function]}
|
|
139
|
+
/>
|
|
140
|
+
</div>
|
|
103
141
|
<img
|
|
104
142
|
aria-hidden="true"
|
|
105
143
|
builder-id="builder-pixel-4fzzzxjylrx"
|
package/test/basic.test.tsx
CHANGED
|
@@ -184,7 +184,7 @@ describe('Content changes when new content provided', () => {
|
|
|
184
184
|
});
|
|
185
185
|
|
|
186
186
|
describe('Builder Pixel', () => {
|
|
187
|
-
it('Should be added
|
|
187
|
+
it('Should NOT be added if missing in blocksString', () => {
|
|
188
188
|
const renderedBlock = reactTestRenderer.create(
|
|
189
189
|
<BuilderPage
|
|
190
190
|
model="page"
|
|
@@ -199,7 +199,7 @@ describe('Builder Pixel', () => {
|
|
|
199
199
|
expect(renderedBlock).toMatchSnapshot();
|
|
200
200
|
});
|
|
201
201
|
|
|
202
|
-
it('Should be added
|
|
202
|
+
it('Should NOT be added if missing in blocks array', () => {
|
|
203
203
|
const renderedBlock = reactTestRenderer.create(
|
|
204
204
|
<BuilderPage
|
|
205
205
|
model="page"
|
|
@@ -215,7 +215,7 @@ describe('Builder Pixel', () => {
|
|
|
215
215
|
expect(renderedBlock).toMatchSnapshot();
|
|
216
216
|
});
|
|
217
217
|
|
|
218
|
-
it('Should
|
|
218
|
+
it('Should NOT be added again if already present in blocks array', () => {
|
|
219
219
|
const renderedBlock = reactTestRenderer.create(
|
|
220
220
|
<BuilderPage
|
|
221
221
|
model="page"
|
|
@@ -230,4 +230,44 @@ describe('Builder Pixel', () => {
|
|
|
230
230
|
|
|
231
231
|
expect(renderedBlock).toMatchSnapshot();
|
|
232
232
|
});
|
|
233
|
+
|
|
234
|
+
it('Should be added if pixel is missing and blocks array has other block(s)', () => {
|
|
235
|
+
const renderedBlock = reactTestRenderer.create(
|
|
236
|
+
<BuilderPage
|
|
237
|
+
model="page"
|
|
238
|
+
content={{
|
|
239
|
+
id: 'id',
|
|
240
|
+
data: {
|
|
241
|
+
blocks: [
|
|
242
|
+
{
|
|
243
|
+
'@type': '@builder.io/sdk:Element',
|
|
244
|
+
'@version': 2,
|
|
245
|
+
id: 'builder-270035a08d734ae88ea177daff3595c0',
|
|
246
|
+
component: {
|
|
247
|
+
name: 'Text',
|
|
248
|
+
options: {
|
|
249
|
+
text: '<p>some text...</p>',
|
|
250
|
+
},
|
|
251
|
+
},
|
|
252
|
+
responsiveStyles: {
|
|
253
|
+
large: {
|
|
254
|
+
display: 'flex',
|
|
255
|
+
flexDirection: 'column',
|
|
256
|
+
position: 'relative',
|
|
257
|
+
flexShrink: '0',
|
|
258
|
+
boxSizing: 'border-box',
|
|
259
|
+
marginTop: '20px',
|
|
260
|
+
lineHeight: 'normal',
|
|
261
|
+
height: 'auto',
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
],
|
|
266
|
+
},
|
|
267
|
+
}}
|
|
268
|
+
/>
|
|
269
|
+
);
|
|
270
|
+
|
|
271
|
+
expect(renderedBlock).toMatchSnapshot();
|
|
272
|
+
});
|
|
233
273
|
});
|