@developer_tribe/react-builder 1.2.32 → 1.2.33
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/assets/prompt-scheme-onboard.generated.d.ts +1 -0
- package/dist/assets/prompt-scheme-paywall.generated.d.ts +1 -0
- package/dist/components/BuilderProvider.d.ts +2 -4
- 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 +6 -6
- package/dist/index.web.cjs.js.map +1 -1
- package/dist/index.web.esm.js +6 -6
- package/dist/index.web.esm.js.map +1 -1
- package/dist/modals/PromptManagerModal.d.ts +9 -0
- package/dist/modals/index.d.ts +1 -0
- package/dist/styles.css +1 -1
- package/dist/utils/nodeXml.d.ts +11 -0
- package/package.json +5 -1
- package/scripts/prebuild/assets/prompt_scheme.md +44 -0
- package/scripts/prebuild/generate-prompt-schemes.js +328 -0
- package/scripts/prebuild/prebuild.js +4 -0
- package/src/RenderPage.tsx +6 -6
- package/src/assets/meta.json +1 -1
- package/src/assets/prompt-scheme-onboard.generated.ts +4 -0
- package/src/assets/prompt-scheme-paywall.generated.ts +4 -0
- package/src/attribute-analyser/style/native/useExtractImageStyle.ts +1 -1
- package/src/attribute-analyser/style/native/useExtractTextStyle.ts +1 -1
- package/src/attribute-analyser/style/native/useExtractViewStyle.ts +1 -1
- package/src/attribute-analyser/style/web/useExtractImageStyle.ts +1 -1
- package/src/attribute-analyser/style/web/useExtractTextStyle.ts +1 -1
- package/src/attribute-analyser/style/web/useExtractViewStyle.ts +1 -1
- package/src/build-components/BIcon/pattern.json +1 -3
- package/src/build-components/BackgroundImage/pattern.json +2 -10
- package/src/build-components/Button/pattern.json +1 -3
- package/src/build-components/Carousel/pattern.json +2 -8
- package/src/build-components/CarouselDots/CarouselDots.tsx +1 -1
- package/src/build-components/CarouselProvider/pattern.json +1 -4
- package/src/build-components/CountDown/pattern.json +1 -3
- package/src/build-components/Image/pattern.json +2 -9
- package/src/build-components/Main/pattern.json +1 -3
- package/src/build-components/NavigationBarColor/NavigationBarColor.tsx +1 -1
- package/src/build-components/NavigationBarColor/pattern.json +1 -3
- package/src/build-components/Onboard/pattern.json +2 -6
- package/src/build-components/OnboardButton/OnboardButton.tsx +1 -1
- package/src/build-components/OnboardButton/pattern.json +3 -14
- package/src/build-components/OnboardButtons/pattern.json +4 -15
- package/src/build-components/OnboardDot/OnboardDot.tsx +1 -1
- package/src/build-components/OnboardDot/pattern.json +1 -3
- package/src/build-components/OnboardFooter/OnboardFooter.tsx +3 -3
- package/src/build-components/OnboardFooter/pattern.json +1 -3
- package/src/build-components/OnboardItem/pattern.json +3 -11
- package/src/build-components/OnboardProvider/pattern.json +2 -8
- package/src/build-components/OnboardSubtitle/pattern.json +1 -4
- package/src/build-components/OnboardTitle/pattern.json +1 -4
- package/src/build-components/PaywallBackground/pattern.json +1 -3
- package/src/build-components/PaywallCloseButton/pattern.json +1 -3
- package/src/build-components/PaywallOptions/pattern.json +1 -3
- package/src/build-components/PaywallProvider/pattern.json +1 -3
- package/src/build-components/PaywallSubscribeButton/pattern.json +1 -3
- package/src/build-components/PriceTag/pattern.json +2 -8
- package/src/build-components/Pricing/pattern.json +1 -3
- package/src/build-components/Promo/pattern.json +1 -3
- package/src/build-components/Separator/pattern.json +1 -3
- package/src/build-components/StatusBarColor/StatusBarColor.tsx +1 -1
- package/src/build-components/StatusBarColor/pattern.json +1 -3
- package/src/build-components/Text/pattern.json +1 -3
- package/src/build-components/View/pattern.json +4 -16
- package/src/components/BottomBar.tsx +28 -1
- package/src/components/BuilderProvider.tsx +5 -14
- package/src/hooks/useLocalize.ts +1 -1
- package/src/modals/PromptManagerModal.tsx +270 -0
- package/src/modals/index.ts +1 -0
- package/src/styles/index.scss +1 -0
- package/src/styles/modals/_prompt-manager-modal.scss +95 -0
- package/src/utils/nodeXml.ts +196 -0
|
@@ -17,7 +17,7 @@ export function useExtractViewStyle<T extends ViewPropsGenerated['attributes']>(
|
|
|
17
17
|
style: ViewStyle;
|
|
18
18
|
other: Omit<T, StyleAttrKey> & { scrollable?: boolean };
|
|
19
19
|
} {
|
|
20
|
-
const {
|
|
20
|
+
const { selectedTheme: theme, projectColors, baseSize } = useBuilderParams();
|
|
21
21
|
|
|
22
22
|
return useMemo(() => {
|
|
23
23
|
const style = extractViewStyleNative(node, {
|
|
@@ -8,7 +8,7 @@ import { extractImageStyle } from '../../../utils/extractImageStyle';
|
|
|
8
8
|
export function useExtractImageStyle<
|
|
9
9
|
T extends ImagePropsGenerated['attributes'],
|
|
10
10
|
>(node: NodeData<T>): CSSProperties {
|
|
11
|
-
const {
|
|
11
|
+
const { selectedTheme: theme, projectColors, baseSize } = useBuilderParams();
|
|
12
12
|
|
|
13
13
|
return useMemo(
|
|
14
14
|
() => extractImageStyle(node, { theme, projectColors, baseSize }),
|
|
@@ -8,7 +8,7 @@ import { extractViewStyle } from '../../../utils/extractViewStyle';
|
|
|
8
8
|
export function useExtractViewStyle<T extends ViewPropsGenerated['attributes']>(
|
|
9
9
|
node: NodeData<T>,
|
|
10
10
|
): CSSProperties {
|
|
11
|
-
const {
|
|
11
|
+
const { selectedTheme: theme, projectColors, baseSize } = useBuilderParams();
|
|
12
12
|
|
|
13
13
|
return useMemo(
|
|
14
14
|
() => extractViewStyle(node, { theme, projectColors, baseSize }),
|
|
@@ -8,12 +8,7 @@
|
|
|
8
8
|
"extends": "View",
|
|
9
9
|
"attributes": {
|
|
10
10
|
"src": "string",
|
|
11
|
-
"resizeMode": [
|
|
12
|
-
"cover",
|
|
13
|
-
"contain",
|
|
14
|
-
"stretch",
|
|
15
|
-
"center"
|
|
16
|
-
]
|
|
11
|
+
"resizeMode": ["cover", "contain", "stretch", "center"]
|
|
17
12
|
},
|
|
18
13
|
"defaults": {
|
|
19
14
|
"resizeMode": "cover",
|
|
@@ -29,10 +24,7 @@
|
|
|
29
24
|
}
|
|
30
25
|
},
|
|
31
26
|
"meta": {
|
|
32
|
-
"desiredParent": [
|
|
33
|
-
"all",
|
|
34
|
-
"background"
|
|
35
|
-
],
|
|
27
|
+
"desiredParent": ["all", "background"],
|
|
36
28
|
"label": "Background Image",
|
|
37
29
|
"description": "Background image.",
|
|
38
30
|
"styles": {
|
|
@@ -9,17 +9,11 @@
|
|
|
9
9
|
"attributes": {
|
|
10
10
|
"loop": "boolean",
|
|
11
11
|
"dragFree": "boolean",
|
|
12
|
-
"align": [
|
|
13
|
-
"start",
|
|
14
|
-
"center",
|
|
15
|
-
"end"
|
|
16
|
-
]
|
|
12
|
+
"align": ["start", "center", "end"]
|
|
17
13
|
}
|
|
18
14
|
},
|
|
19
15
|
"meta": {
|
|
20
|
-
"desiredParent": [
|
|
21
|
-
"=CarouselProvider"
|
|
22
|
-
],
|
|
16
|
+
"desiredParent": ["=CarouselProvider"],
|
|
23
17
|
"label": "Carousel",
|
|
24
18
|
"description": "Container for carousel items.",
|
|
25
19
|
"styles": {}
|
|
@@ -34,7 +34,7 @@ function CarouselDots({ node }: CarouselDotsComponentProps) {
|
|
|
34
34
|
const onboardApi = useContext(onboardContext);
|
|
35
35
|
const emblaApi = isOnboard ? onboardApi?.emblaApi : carouselApi;
|
|
36
36
|
|
|
37
|
-
const {
|
|
37
|
+
const { selectedTheme: theme, projectColors, baseSize } = useBuilderParams();
|
|
38
38
|
const inactiveDotOpacity =
|
|
39
39
|
(stylesBag?.inactive_dot_opacity as number | undefined) ??
|
|
40
40
|
(attrRecord.inactive_dot_opacity as number | undefined) ??
|
|
@@ -9,12 +9,7 @@
|
|
|
9
9
|
"attributes": {
|
|
10
10
|
"src": "string",
|
|
11
11
|
"styles": {
|
|
12
|
-
"resizeMode": [
|
|
13
|
-
"cover",
|
|
14
|
-
"contain",
|
|
15
|
-
"stretch",
|
|
16
|
-
"center"
|
|
17
|
-
]
|
|
12
|
+
"resizeMode": ["cover", "contain", "stretch", "center"]
|
|
18
13
|
}
|
|
19
14
|
},
|
|
20
15
|
"defaults": {
|
|
@@ -24,9 +19,7 @@
|
|
|
24
19
|
}
|
|
25
20
|
},
|
|
26
21
|
"meta": {
|
|
27
|
-
"desiredParent": [
|
|
28
|
-
"all"
|
|
29
|
-
],
|
|
22
|
+
"desiredParent": ["all"],
|
|
30
23
|
"label": "Image",
|
|
31
24
|
"description": "Shows an image or graphic.",
|
|
32
25
|
"styles": {
|
|
@@ -11,7 +11,7 @@ function NavigationBarColor({ node }: NavigationBarColorComponentProps) {
|
|
|
11
11
|
useLogRender('NavigationBarColor');
|
|
12
12
|
node = useNode(node);
|
|
13
13
|
|
|
14
|
-
const { theme, projectColors } = useBuilderParams();
|
|
14
|
+
const { selectedTheme: theme, projectColors } = useBuilderParams();
|
|
15
15
|
const setNavBarOverrideColor = useRenderStore(
|
|
16
16
|
(s) => s.setNavBarOverrideColor,
|
|
17
17
|
);
|
|
@@ -8,12 +8,8 @@
|
|
|
8
8
|
"extends": "View"
|
|
9
9
|
},
|
|
10
10
|
"meta": {
|
|
11
|
-
"desiredParent": [
|
|
12
|
-
|
|
13
|
-
],
|
|
14
|
-
"desiredChildren": [
|
|
15
|
-
"=OnboardItem"
|
|
16
|
-
],
|
|
11
|
+
"desiredParent": ["=OnboardProvider"],
|
|
12
|
+
"desiredChildren": ["=OnboardItem"],
|
|
17
13
|
"label": "Onboard",
|
|
18
14
|
"description": "Wraps the onboarding flow.",
|
|
19
15
|
"styles": {}
|
|
@@ -18,7 +18,7 @@ export function OnboardButton({ node }: OnboardButtonComponentProps) {
|
|
|
18
18
|
node = useNode(node);
|
|
19
19
|
const attributeName = node.sourceType ?? node.type ?? 'OnboardButton';
|
|
20
20
|
const { emblaApi } = useContext(onboardContext) ?? {};
|
|
21
|
-
const { theme, projectColors } = useBuilderParams();
|
|
21
|
+
const { selectedTheme: theme, projectColors } = useBuilderParams();
|
|
22
22
|
const context = useMockOSContext();
|
|
23
23
|
const mockPermissionManager = useMockPermission(context);
|
|
24
24
|
const handledEventsRef = useRef<EventObjectGenerated[]>([]);
|
|
@@ -31,25 +31,14 @@
|
|
|
31
31
|
},
|
|
32
32
|
"types": {
|
|
33
33
|
"EventObject": {
|
|
34
|
-
"type": [
|
|
35
|
-
|
|
36
|
-
"Navigate"
|
|
37
|
-
],
|
|
38
|
-
"permission": [
|
|
39
|
-
"att",
|
|
40
|
-
"notification",
|
|
41
|
-
"rating",
|
|
42
|
-
"GDPR",
|
|
43
|
-
"null"
|
|
44
|
-
],
|
|
34
|
+
"type": ["Permission", "Navigate"],
|
|
35
|
+
"permission": ["att", "notification", "rating", "GDPR", "null"],
|
|
45
36
|
"navigate_to": "string",
|
|
46
37
|
"targetIndex": "number"
|
|
47
38
|
}
|
|
48
39
|
},
|
|
49
40
|
"meta": {
|
|
50
|
-
"desiredParent": [
|
|
51
|
-
"=OnboardButtons"
|
|
52
|
-
],
|
|
41
|
+
"desiredParent": ["=OnboardButtons"],
|
|
53
42
|
"label": "Onboard Button",
|
|
54
43
|
"description": "Single action button for onboarding.",
|
|
55
44
|
"attributes": {
|
|
@@ -7,21 +7,12 @@
|
|
|
7
7
|
"children": "node",
|
|
8
8
|
"extends": "View",
|
|
9
9
|
"attributes": {
|
|
10
|
-
"buttonType": [
|
|
11
|
-
"previous_button",
|
|
12
|
-
"next_button",
|
|
13
|
-
"skip_button"
|
|
14
|
-
],
|
|
10
|
+
"buttonType": ["previous_button", "next_button", "skip_button"],
|
|
15
11
|
"skipNumber": "number",
|
|
16
|
-
"buttons_direction": [
|
|
17
|
-
"row",
|
|
18
|
-
"column"
|
|
19
|
-
],
|
|
12
|
+
"buttons_direction": ["row", "column"],
|
|
20
13
|
"forIndex": "number",
|
|
21
14
|
"seperatorColor": "color",
|
|
22
|
-
"condition": [
|
|
23
|
-
"carousel-index"
|
|
24
|
-
],
|
|
15
|
+
"condition": ["carousel-index"],
|
|
25
16
|
"conditionVariable": "number"
|
|
26
17
|
},
|
|
27
18
|
"defaults": {
|
|
@@ -37,9 +28,7 @@
|
|
|
37
28
|
}
|
|
38
29
|
},
|
|
39
30
|
"meta": {
|
|
40
|
-
"desiredParent": [
|
|
41
|
-
"=OnboardItem"
|
|
42
|
-
],
|
|
31
|
+
"desiredParent": ["=OnboardItem"],
|
|
43
32
|
"label": "Onboard Buttons",
|
|
44
33
|
"description": "Wrapper for onboarding button set.",
|
|
45
34
|
"styles": {
|
|
@@ -97,15 +97,15 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
|
|
|
97
97
|
const attributeName = node.sourceType ?? node.type ?? 'OnboardFooter';
|
|
98
98
|
const {
|
|
99
99
|
localization: builderLocalization,
|
|
100
|
-
theme,
|
|
101
|
-
|
|
100
|
+
selectedTheme: theme,
|
|
101
|
+
selectedLanguage,
|
|
102
102
|
previewMode,
|
|
103
103
|
selectedKey,
|
|
104
104
|
projectColors: builderProjectColors,
|
|
105
105
|
} = useBuilderParams();
|
|
106
106
|
const localization = builderLocalization ?? defaultLocalization;
|
|
107
107
|
const projectColors = builderProjectColors;
|
|
108
|
-
const lang =
|
|
108
|
+
const lang = selectedLanguage ?? 'en';
|
|
109
109
|
const t = (key?: string) => (key ? (localization?.[lang]?.[key] ?? key) : '');
|
|
110
110
|
|
|
111
111
|
const attrs = node?.attributes;
|
|
@@ -7,15 +7,9 @@
|
|
|
7
7
|
"children": "node",
|
|
8
8
|
"extends": "View",
|
|
9
9
|
"attributes": {
|
|
10
|
-
"display": [
|
|
11
|
-
"flex",
|
|
12
|
-
"block"
|
|
13
|
-
],
|
|
10
|
+
"display": ["flex", "block"],
|
|
14
11
|
"gap": "size",
|
|
15
|
-
"flexDirection": [
|
|
16
|
-
"row",
|
|
17
|
-
"column"
|
|
18
|
-
],
|
|
12
|
+
"flexDirection": ["row", "column"],
|
|
19
13
|
"paddingHorizontal": "size"
|
|
20
14
|
}
|
|
21
15
|
},
|
|
@@ -28,9 +22,7 @@
|
|
|
28
22
|
}
|
|
29
23
|
},
|
|
30
24
|
"meta": {
|
|
31
|
-
"desiredParent": [
|
|
32
|
-
"=Onboard"
|
|
33
|
-
],
|
|
25
|
+
"desiredParent": ["=Onboard"],
|
|
34
26
|
"label": "Onboard Item",
|
|
35
27
|
"description": "Single onboarding screen section.",
|
|
36
28
|
"styles": {},
|
|
@@ -7,11 +7,7 @@
|
|
|
7
7
|
"children": "node",
|
|
8
8
|
"extends": "View",
|
|
9
9
|
"attributes": {
|
|
10
|
-
"theme": [
|
|
11
|
-
"light",
|
|
12
|
-
"dark",
|
|
13
|
-
"all"
|
|
14
|
-
],
|
|
10
|
+
"theme": ["light", "dark", "all"],
|
|
15
11
|
"borderRadius": "never"
|
|
16
12
|
}
|
|
17
13
|
},
|
|
@@ -22,9 +18,7 @@
|
|
|
22
18
|
}
|
|
23
19
|
},
|
|
24
20
|
"meta": {
|
|
25
|
-
"desiredParent": [
|
|
26
|
-
"root"
|
|
27
|
-
],
|
|
21
|
+
"desiredParent": ["root"],
|
|
28
22
|
"label": "Onboard Provider",
|
|
29
23
|
"description": "Provides shared settings for onboarding.",
|
|
30
24
|
"styles": {},
|
|
@@ -14,10 +14,7 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"meta": {
|
|
17
|
-
"desiredParent": [
|
|
18
|
-
">OnboardProvider",
|
|
19
|
-
">OnboardItem"
|
|
20
|
-
],
|
|
17
|
+
"desiredParent": [">OnboardProvider", ">OnboardItem"],
|
|
21
18
|
"label": "Onboard Subtitle",
|
|
22
19
|
"description": "Subtitle text for an onboarding step.",
|
|
23
20
|
"styles": {}
|
|
@@ -10,11 +10,7 @@
|
|
|
10
10
|
"showOriginalPricePossible": "boolean",
|
|
11
11
|
"hideIfItsNotDiscount": "boolean",
|
|
12
12
|
"styles": {
|
|
13
|
-
"textDecorationLine": [
|
|
14
|
-
"none",
|
|
15
|
-
"underline",
|
|
16
|
-
"line-through"
|
|
17
|
-
]
|
|
13
|
+
"textDecorationLine": ["none", "underline", "line-through"]
|
|
18
14
|
}
|
|
19
15
|
}
|
|
20
16
|
},
|
|
@@ -25,9 +21,7 @@
|
|
|
25
21
|
}
|
|
26
22
|
},
|
|
27
23
|
"meta": {
|
|
28
|
-
"desiredParent": [
|
|
29
|
-
">PaywallProvider"
|
|
30
|
-
],
|
|
24
|
+
"desiredParent": [">PaywallProvider"],
|
|
31
25
|
"label": "Price Tag",
|
|
32
26
|
"description": "Displays a price tag text. Extends Text.",
|
|
33
27
|
"styles": {
|
|
@@ -11,7 +11,7 @@ function StatusBarColor({ node }: StatusBarColorComponentProps) {
|
|
|
11
11
|
useLogRender('StatusBarColor');
|
|
12
12
|
node = useNode(node);
|
|
13
13
|
|
|
14
|
-
const { theme, projectColors } = useBuilderParams();
|
|
14
|
+
const { selectedTheme: theme, projectColors } = useBuilderParams();
|
|
15
15
|
const setStatusBarOverrideColor = useRenderStore(
|
|
16
16
|
(s) => s.setStatusBarOverrideColor,
|
|
17
17
|
);
|
|
@@ -8,15 +8,8 @@
|
|
|
8
8
|
"attributes": {
|
|
9
9
|
"scrollable": "boolean",
|
|
10
10
|
"styles": {
|
|
11
|
-
"flexDirection": [
|
|
12
|
-
|
|
13
|
-
"column"
|
|
14
|
-
],
|
|
15
|
-
"flexWrap": [
|
|
16
|
-
"nowrap",
|
|
17
|
-
"wrap",
|
|
18
|
-
"wrap-reverse"
|
|
19
|
-
],
|
|
11
|
+
"flexDirection": ["row", "column"],
|
|
12
|
+
"flexWrap": ["nowrap", "wrap", "wrap-reverse"],
|
|
20
13
|
"alignItems": [
|
|
21
14
|
"flex-start",
|
|
22
15
|
"center",
|
|
@@ -56,10 +49,7 @@
|
|
|
56
49
|
"minHeight": "size",
|
|
57
50
|
"maxHeight": "size",
|
|
58
51
|
"flex": "number",
|
|
59
|
-
"position": [
|
|
60
|
-
"relative",
|
|
61
|
-
"absolute"
|
|
62
|
-
],
|
|
52
|
+
"position": ["relative", "absolute"],
|
|
63
53
|
"top": "size",
|
|
64
54
|
"bottom": "size",
|
|
65
55
|
"left": "size",
|
|
@@ -69,9 +59,7 @@
|
|
|
69
59
|
}
|
|
70
60
|
},
|
|
71
61
|
"meta": {
|
|
72
|
-
"desiredParent": [
|
|
73
|
-
"all"
|
|
74
|
-
],
|
|
62
|
+
"desiredParent": ["all"],
|
|
75
63
|
"label": "View",
|
|
76
64
|
"description": "Base layout container.",
|
|
77
65
|
"specialCategories": {
|