@developer_tribe/react-builder 1.2.36 → 1.2.38
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/build-components/BIcon/BIconProps.generated.d.ts +1 -0
- package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +1 -0
- package/dist/build-components/Button/ButtonProps.generated.d.ts +1 -0
- package/dist/build-components/Carousel/CarouselProps.generated.d.ts +1 -0
- package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +1 -0
- package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +1 -0
- package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +1 -0
- package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +1 -0
- package/dist/build-components/CountDown/CountDownProps.generated.d.ts +1 -0
- package/dist/build-components/Image/ImageProps.generated.d.ts +1 -0
- package/dist/build-components/Main/MainProps.generated.d.ts +1 -0
- package/dist/build-components/NavigationBarColor/NavigationBarColorProps.generated.d.ts +1 -0
- package/dist/build-components/Onboard/OnboardProps.generated.d.ts +1 -0
- package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +2 -0
- package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +1 -0
- package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +1 -0
- package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +1 -0
- package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +1 -0
- package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +1 -0
- package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +1 -0
- package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +1 -0
- package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +1 -0
- package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +1 -0
- package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +1 -0
- package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +1 -0
- package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +1 -0
- package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +1 -0
- package/dist/build-components/PriceTag/PriceTagProps.generated.d.ts +1 -0
- package/dist/build-components/Pricing/PricingProps.generated.d.ts +1 -0
- package/dist/build-components/Promo/PromoProps.generated.d.ts +1 -0
- package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +1 -0
- package/dist/build-components/Separator/SeparatorProps.generated.d.ts +1 -0
- package/dist/build-components/StatusBarColor/StatusBarColorProps.generated.d.ts +1 -39
- package/dist/build-components/Text/TextProps.generated.d.ts +1 -0
- package/dist/build-components/View/ViewProps.generated.d.ts +1 -0
- package/dist/build-components/patterns.generated.d.ts +1445 -1015
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.web.cjs.js +4 -4
- package/dist/index.web.cjs.js.map +1 -1
- package/dist/index.web.esm.js +4 -4
- package/dist/index.web.esm.js.map +1 -1
- package/dist/mockOS/context/MockOSContextBase.d.ts +1 -0
- package/dist/mockOS/managers/mockPermissionManager.d.ts +1 -1
- package/dist/pages/tabs/SideTool.d.ts +8 -1
- package/dist/types/PreviewConfig.d.ts +1 -1
- package/package.json +1 -1
- package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +18 -0
- package/src/RenderPage.tsx +1 -4
- package/src/assets/meta.json +1 -1
- package/src/assets/prompt-scheme-onboard.generated.ts +1 -1
- package/src/assets/prompt-scheme-paywall.generated.ts +1 -1
- package/src/assets/samples/carousel-sample.json +49 -23
- package/src/assets/samples/paywall-1.json +61 -29
- package/src/assets/samples/paywall-2.json +53 -25
- package/src/assets/samples/paywall-app-delete-offer.json +55 -26
- package/src/assets/samples/paywall-app-open-offer.json +55 -26
- package/src/assets/samples/paywall-back-offer.json +55 -26
- package/src/assets/samples/paywall-notification-offer.json +55 -26
- package/src/assets/samples/simple-1.json +9 -3
- package/src/assets/samples/simple-2.json +51 -24
- package/src/assets/samples/unmigrated-builder-1.1.1.json +15 -6
- package/src/assets/samples/unmigrated-builder1.json +9 -3
- package/src/assets/samples/unvalidated-builder1.json +9 -3
- package/src/assets/samples/unvalidated-crash1.json +5 -1
- package/src/assets/samples/unvalidated-crashcomponent1.json +5 -1
- package/src/assets/samples/vpn-onboard-1.json +90 -51
- package/src/assets/samples/vpn-onboard-2.json +90 -51
- package/src/assets/samples/vpn-onboard-3.json +84 -48
- package/src/assets/samples/vpn-onboard-4.json +84 -48
- package/src/assets/samples/vpn-onboard-5.json +126 -73
- package/src/assets/samples/vpn-onboard-6.json +90 -51
- package/src/assets/samples/vpn-onboard-7.json +88 -50
- package/src/build-components/BIcon/BIconProps.generated.ts +1 -0
- package/src/build-components/BIcon/pattern.json +2 -1
- package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +1 -0
- package/src/build-components/BackgroundImage/pattern.json +2 -1
- package/src/build-components/Button/ButtonProps.generated.ts +1 -0
- package/src/build-components/Button/pattern.json +2 -1
- package/src/build-components/Carousel/CarouselProps.generated.ts +1 -0
- package/src/build-components/Carousel/pattern.json +2 -1
- package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +1 -0
- package/src/build-components/CarouselButtons/pattern.json +2 -1
- package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +1 -0
- package/src/build-components/CarouselDots/pattern.json +2 -1
- package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +1 -0
- package/src/build-components/CarouselItem/pattern.json +4 -1
- package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +1 -0
- package/src/build-components/CarouselProvider/pattern.json +3 -0
- package/src/build-components/CountDown/CountDownProps.generated.ts +1 -0
- package/src/build-components/CountDown/pattern.json +2 -1
- package/src/build-components/Image/ImageProps.generated.ts +1 -0
- package/src/build-components/Image/pattern.json +2 -1
- package/src/build-components/Main/MainProps.generated.ts +1 -0
- package/src/build-components/Main/pattern.json +2 -1
- package/src/build-components/NavigationBarColor/NavigationBarColorProps.generated.ts +1 -0
- package/src/build-components/NavigationBarColor/pattern.json +2 -1
- package/src/build-components/Onboard/OnboardProps.generated.ts +1 -0
- package/src/build-components/Onboard/pattern.json +4 -1
- package/src/build-components/OnboardButton/OnboardButton.tsx +6 -6
- package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +2 -0
- package/src/build-components/OnboardButton/pattern.json +2 -1
- package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +1 -0
- package/src/build-components/OnboardButtons/pattern.json +2 -1
- package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +1 -0
- package/src/build-components/OnboardDot/pattern.json +2 -1
- package/src/build-components/OnboardFooter/OnboardFooter.tsx +2 -3
- package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +1 -0
- package/src/build-components/OnboardFooter/pattern.json +2 -1
- package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +1 -0
- package/src/build-components/OnboardImage/pattern.json +2 -1
- package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +1 -0
- package/src/build-components/OnboardItem/pattern.json +2 -1
- package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +1 -0
- package/src/build-components/OnboardProvider/pattern.json +2 -1
- package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +1 -0
- package/src/build-components/OnboardSubtitle/pattern.json +4 -1
- package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +1 -0
- package/src/build-components/OnboardTitle/pattern.json +4 -1
- package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +1 -0
- package/src/build-components/PaywallBackground/pattern.json +3 -0
- package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +1 -0
- package/src/build-components/PaywallCloseButton/pattern.json +4 -1
- package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +1 -0
- package/src/build-components/PaywallOptions/pattern.json +4 -1
- package/src/build-components/PaywallProvider/PaywallProvider.tsx +0 -10
- package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +1 -0
- package/src/build-components/PaywallProvider/pattern.json +2 -1
- package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +1 -0
- package/src/build-components/PaywallSubscribeButton/pattern.json +4 -1
- package/src/build-components/PriceTag/PriceTagProps.generated.ts +1 -0
- package/src/build-components/PriceTag/pattern.json +2 -1
- package/src/build-components/Pricing/PricingProps.generated.ts +1 -0
- package/src/build-components/Pricing/pattern.json +4 -1
- package/src/build-components/Promo/PromoProps.generated.ts +1 -0
- package/src/build-components/Promo/pattern.json +4 -1
- package/src/build-components/RadioButton/RadioButtonProps.generated.ts +1 -0
- package/src/build-components/RadioButton/pattern.json +2 -1
- package/src/build-components/Separator/SeparatorProps.generated.ts +1 -0
- package/src/build-components/Separator/pattern.json +2 -1
- package/src/build-components/StatusBarColor/StatusBarColorProps.generated.ts +1 -51
- package/src/build-components/StatusBarColor/pattern.json +2 -2
- package/src/build-components/Text/TextProps.generated.ts +1 -0
- package/src/build-components/Text/pattern.json +3 -2
- package/src/build-components/View/ViewProps.generated.ts +1 -0
- package/src/build-components/View/pattern.json +2 -1
- package/src/build-components/patterns.generated.ts +1544 -1136
- package/src/mockOS/context/MockOSContext.tsx +32 -0
- package/src/mockOS/context/MockOSContextBase.ts +3 -0
- package/src/mockOS/managers/mockPermissionManager.ts +9 -3
- package/src/modals/InspectModal.tsx +37 -8
- package/src/pages/tabs/SideTool.tsx +2 -0
- package/src/product-base/buildPaywallLocalizationParams.ts +12 -3
- package/src/types/PreviewConfig.ts +70 -46
- package/src/utils/useMergedStyle.ts +1 -1
|
@@ -16,7 +16,7 @@ export function OnboardButton({ node }: OnboardButtonComponentProps) {
|
|
|
16
16
|
useLogRender('OnboardButton');
|
|
17
17
|
node = useNode(node);
|
|
18
18
|
const attributeName = node.sourceType ?? node.type ?? 'OnboardButton';
|
|
19
|
-
const { emblaApi } = useContext(onboardContext) ?? {};
|
|
19
|
+
const { emblaApi, selectedIndex } = useContext(onboardContext) ?? {};
|
|
20
20
|
const { selectedTheme: theme, projectColors } = useBuilderParams();
|
|
21
21
|
const context = useMockOSContext();
|
|
22
22
|
const mockPermissionManager = useMockPermission(context);
|
|
@@ -30,7 +30,7 @@ export function OnboardButton({ node }: OnboardButtonComponentProps) {
|
|
|
30
30
|
const rawTextColor = attrs?.styles?.color as string | undefined;
|
|
31
31
|
const textColor = parseColor(rawTextColor, { projectColors, theme });
|
|
32
32
|
const viewStyle = useExtractViewStyle(node);
|
|
33
|
-
const handleClick = () => {
|
|
33
|
+
const handleClick = async () => {
|
|
34
34
|
//TODO: any ??
|
|
35
35
|
const events: EventObjectGenerated[] = attrs?.events ?? [];
|
|
36
36
|
|
|
@@ -42,20 +42,17 @@ export function OnboardButton({ node }: OnboardButtonComponentProps) {
|
|
|
42
42
|
|
|
43
43
|
if (e.type === 'Permission') {
|
|
44
44
|
const permission = e.permission ?? 'camera';
|
|
45
|
-
mockPermissionManager.requestPermission(permission);
|
|
45
|
+
await mockPermissionManager.requestPermission(permission);
|
|
46
46
|
handledEventsRef.current.push(e);
|
|
47
|
-
//TODO: cause user to click second time
|
|
48
47
|
} else if (e.type === 'Navigate') {
|
|
49
48
|
const eventTargetIndex = e.targetIndex;
|
|
50
49
|
if (typeof eventTargetIndex === 'number') {
|
|
51
50
|
emblaApi?.scrollTo(eventTargetIndex);
|
|
52
51
|
handledEventsRef.current.push(e);
|
|
53
|
-
//TODO: cause user to click second time
|
|
54
52
|
} else if (e.navigate_to) {
|
|
55
53
|
const eventTarget = e.navigate_to;
|
|
56
54
|
if (typeof eventTarget === 'string') {
|
|
57
55
|
handledEventsRef.current.push(e);
|
|
58
|
-
//TODO: cause user to click second time
|
|
59
56
|
if (context) {
|
|
60
57
|
context.navigation(eventTarget as any);
|
|
61
58
|
} else {
|
|
@@ -70,6 +67,9 @@ export function OnboardButton({ node }: OnboardButtonComponentProps) {
|
|
|
70
67
|
|
|
71
68
|
return (
|
|
72
69
|
<button
|
|
70
|
+
{...(attrs?.testID
|
|
71
|
+
? { 'data-testid': `${attrs.testID}-${selectedIndex ?? 0}` }
|
|
72
|
+
: {})}
|
|
73
73
|
attribute-name={attributeName}
|
|
74
74
|
attribute-key={attributeKey}
|
|
75
75
|
onClick={handleClick}
|
|
@@ -4,6 +4,7 @@ import type { NodeData } from '../../types/Node';
|
|
|
4
4
|
|
|
5
5
|
export type TypeOptionType = 'Permission' | 'Navigate';
|
|
6
6
|
export type PermissionOptionType = 'att' | 'notification' | 'rating' | 'GDPR';
|
|
7
|
+
export type TestIDOptionType = 'onboardSkip' | 'onboardNext';
|
|
7
8
|
export type AnimationOptionType =
|
|
8
9
|
| 'simple-animation'
|
|
9
10
|
| 'line-animation'
|
|
@@ -77,6 +78,7 @@ export interface OnboardButtonPropsGenerated {
|
|
|
77
78
|
attributes: {
|
|
78
79
|
styles?: OnboardButtonStyleGenerated;
|
|
79
80
|
scrollable?: boolean;
|
|
81
|
+
testID?: TestIDOptionType;
|
|
80
82
|
labelKey?: string;
|
|
81
83
|
animation?: AnimationOptionType;
|
|
82
84
|
animation_color?: string;
|
|
@@ -67,6 +67,7 @@ export interface OnboardButtonsPropsGenerated {
|
|
|
67
67
|
attributes: {
|
|
68
68
|
styles?: OnboardButtonsStyleGenerated;
|
|
69
69
|
scrollable?: boolean;
|
|
70
|
+
testID?: string;
|
|
70
71
|
buttonType?: ButtonTypeOptionType;
|
|
71
72
|
skipNumber?: number;
|
|
72
73
|
buttons_direction?: ButtonsDirectionOptionType;
|
|
@@ -94,7 +94,6 @@ function buildSegments(
|
|
|
94
94
|
function OnboardFooter({ node }: OnboardFooterComponentProps) {
|
|
95
95
|
useLogRender('OnboardFooter');
|
|
96
96
|
node = useNode(node);
|
|
97
|
-
console.log('node', node);
|
|
98
97
|
const attributeName = node.sourceType ?? node.type ?? 'OnboardFooter';
|
|
99
98
|
const {
|
|
100
99
|
localization: builderLocalization,
|
|
@@ -115,8 +114,8 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
|
|
|
115
114
|
const textStyle = useExtractTextStyle(node, true);
|
|
116
115
|
const viewStyle = useExtractViewStyle(node);
|
|
117
116
|
|
|
118
|
-
const rawFirstColor = attrRecord.
|
|
119
|
-
const rawSecondColor = attrRecord.
|
|
117
|
+
const rawFirstColor = attrRecord.linkedWordSecondColor as string | undefined;
|
|
118
|
+
const rawSecondColor = attrRecord.linkedWordFirstColor as string | undefined;
|
|
120
119
|
|
|
121
120
|
// Parse colors for linked words
|
|
122
121
|
const parsedFirstColor = useMemo(
|
|
@@ -107,16 +107,6 @@ function PaywallProvider({ node }: PaywallProviderComponentProps) {
|
|
|
107
107
|
localize,
|
|
108
108
|
},
|
|
109
109
|
);
|
|
110
|
-
|
|
111
|
-
console.log('[PaywallProvider] extraction debug', {
|
|
112
|
-
platform: platformForExtraction,
|
|
113
|
-
selectedProductId,
|
|
114
|
-
hasSubscriptionOffers: !!selectedProduct?.subscriptionOffers?.length,
|
|
115
|
-
subscriptionOffersCount: selectedProduct?.subscriptionOffers?.length ?? 0,
|
|
116
|
-
detailedProductParams,
|
|
117
|
-
selectedProduct,
|
|
118
|
-
});
|
|
119
|
-
|
|
120
110
|
const handleClose = useCallback(() => {
|
|
121
111
|
if (!isBackAllowed) {
|
|
122
112
|
return;
|
|
@@ -2,65 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import type { NodeData } from '../../types/Node';
|
|
4
4
|
|
|
5
|
-
export type FlexDirectionOptionType = 'row' | 'column';
|
|
6
|
-
export type FlexWrapOptionType = 'nowrap' | 'wrap' | 'wrap-reverse';
|
|
7
|
-
export type AlignItemsOptionType =
|
|
8
|
-
| 'flex-start'
|
|
9
|
-
| 'center'
|
|
10
|
-
| 'flex-end'
|
|
11
|
-
| 'stretch'
|
|
12
|
-
| 'baseline';
|
|
13
|
-
export type JustifyContentOptionType =
|
|
14
|
-
| 'flex-start'
|
|
15
|
-
| 'center'
|
|
16
|
-
| 'flex-end'
|
|
17
|
-
| 'space-between'
|
|
18
|
-
| 'space-around'
|
|
19
|
-
| 'space-evenly';
|
|
20
|
-
export type PositionOptionType = 'relative' | 'absolute';
|
|
21
|
-
|
|
22
5
|
export interface StatusBarColorStyleGenerated {
|
|
23
|
-
flexDirection?: FlexDirectionOptionType;
|
|
24
|
-
flexWrap?: FlexWrapOptionType;
|
|
25
|
-
alignItems?: AlignItemsOptionType;
|
|
26
|
-
justifyContent?: JustifyContentOptionType;
|
|
27
|
-
gap?: string;
|
|
28
|
-
padding?: string;
|
|
29
|
-
paddingHorizontal?: string;
|
|
30
|
-
paddingVertical?: string;
|
|
31
|
-
paddingTop?: string;
|
|
32
|
-
paddingBottom?: string;
|
|
33
|
-
paddingLeft?: string;
|
|
34
|
-
paddingRight?: string;
|
|
35
|
-
margin?: string;
|
|
36
|
-
marginHorizontal?: string;
|
|
37
|
-
marginVertical?: string;
|
|
38
|
-
marginTop?: string;
|
|
39
|
-
marginBottom?: string;
|
|
40
|
-
marginLeft?: string;
|
|
41
|
-
marginRight?: string;
|
|
42
6
|
backgroundColor?: string;
|
|
43
|
-
borderRadius?: string;
|
|
44
|
-
width?: string;
|
|
45
|
-
minWidth?: string;
|
|
46
|
-
maxWidth?: string;
|
|
47
|
-
height?: string;
|
|
48
|
-
minHeight?: string;
|
|
49
|
-
maxHeight?: string;
|
|
50
|
-
flex?: number;
|
|
51
|
-
position?: PositionOptionType;
|
|
52
|
-
top?: string;
|
|
53
|
-
bottom?: string;
|
|
54
|
-
left?: string;
|
|
55
|
-
right?: string;
|
|
56
|
-
zIndex?: number;
|
|
57
7
|
}
|
|
58
8
|
|
|
59
9
|
export interface StatusBarColorPropsGenerated {
|
|
60
10
|
child: string;
|
|
61
11
|
attributes: {
|
|
62
12
|
styles?: StatusBarColorStyleGenerated;
|
|
63
|
-
|
|
13
|
+
testID?: string;
|
|
64
14
|
};
|
|
65
15
|
}
|
|
66
16
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"fontFamily": "fontFamily",
|
|
17
17
|
"fontWeight": "fontWeight",
|
|
18
18
|
"textAlign": "string"
|
|
19
|
-
}
|
|
19
|
+
},
|
|
20
|
+
"testID": "string"
|
|
20
21
|
},
|
|
21
22
|
"defaults": {
|
|
22
23
|
"translateCounter": 1,
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
"category": "style",
|
|
46
47
|
"specialCategory": null,
|
|
47
48
|
"sort": 2,
|
|
48
|
-
"preferredScale": "
|
|
49
|
+
"preferredScale": "f"
|
|
49
50
|
},
|
|
50
51
|
"fontFamily": {
|
|
51
52
|
"label": "Font Family",
|