@developer_tribe/react-builder 1.2.20 → 1.2.21

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.
Files changed (151) hide show
  1. package/dist/attribute-analyser/style/web/useExtractTextStyle.d.ts +1 -1
  2. package/dist/build-components/BIcon/BIconProps.generated.d.ts +2 -0
  3. package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +2 -0
  4. package/dist/build-components/Button/ButtonProps.generated.d.ts +2 -0
  5. package/dist/build-components/Carousel/CarouselProps.generated.d.ts +2 -0
  6. package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +2 -0
  7. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +2 -0
  8. package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +2 -0
  9. package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +2 -0
  10. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +2 -0
  11. package/dist/build-components/Counter/CounterProps.generated.d.ts +2 -0
  12. package/dist/build-components/Image/ImageProps.generated.d.ts +2 -0
  13. package/dist/build-components/Main/MainProps.generated.d.ts +2 -0
  14. package/dist/build-components/Onboard/OnboardProps.generated.d.ts +2 -0
  15. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +2 -0
  16. package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +2 -0
  17. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +2 -0
  18. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +2 -0
  19. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +2 -0
  20. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +2 -0
  21. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +2 -0
  22. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +2 -0
  23. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +2 -0
  24. package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +2 -0
  25. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +2 -0
  26. package/dist/build-components/PaywallCounter/PaywallCounterProps.generated.d.ts +2 -0
  27. package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +2 -0
  28. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +2 -0
  29. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +2 -0
  30. package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +2 -0
  31. package/dist/build-components/Text/TextProps.generated.d.ts +2 -0
  32. package/dist/build-components/View/View.d.ts +1 -1
  33. package/dist/build-components/View/ViewProps.generated.d.ts +2 -0
  34. package/dist/build-components/patterns.generated.d.ts +287 -2
  35. package/dist/components/BuilderButton.d.ts +3 -1
  36. package/dist/index.cjs.js +3 -3
  37. package/dist/index.cjs.js.map +1 -1
  38. package/dist/index.esm.js +4 -4
  39. package/dist/index.esm.js.map +1 -1
  40. package/dist/index.web.cjs.js +4 -4
  41. package/dist/index.web.cjs.js.map +1 -1
  42. package/dist/index.web.esm.js +4 -4
  43. package/dist/index.web.esm.js.map +1 -1
  44. package/dist/store.d.ts +2 -0
  45. package/dist/styles.css +1 -1
  46. package/dist/utils/extractTextStyle/extractTextStyle.d.ts +1 -0
  47. package/package.json +1 -1
  48. package/scripts/migrate-patterns-to-v2.mjs +13 -8
  49. package/scripts/prebuild/icon-generator.js +34 -37
  50. package/src/assets/loading_animation.json +2587 -1
  51. package/src/assets/meta.json +1 -1
  52. package/src/assets/samples/carousel-sample.json +279 -197
  53. package/src/assets/samples/getSamples.ts +16 -1
  54. package/src/assets/samples/paywall-1.json +16 -0
  55. package/src/assets/samples/paywall-2.json +2 -2
  56. package/src/assets/samples/paywall-app-delete-offer.json +353 -0
  57. package/src/assets/samples/paywall-app-open-offer.json +353 -0
  58. package/src/assets/samples/paywall-back-offer.json +353 -0
  59. package/src/assets/samples/paywall-notification-offer.json +353 -0
  60. package/src/assets/samples/vpn-onboard-1.json +23 -12
  61. package/src/assets/samples/vpn-onboard-2.json +23 -12
  62. package/src/assets/samples/vpn-onboard-3.json +23 -12
  63. package/src/assets/samples/vpn-onboard-4.json +23 -12
  64. package/src/assets/samples/vpn-onboard-5.json +23 -12
  65. package/src/assets/samples/vpn-onboard-6.json +23 -12
  66. package/src/attribute-analyser/style/web/useExtractTextStyle.ts +9 -2
  67. package/src/build-components/BIcon/BIconProps.generated.ts +2 -0
  68. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +2 -0
  69. package/src/build-components/Button/ButtonProps.generated.ts +2 -0
  70. package/src/build-components/Carousel/CarouselProps.generated.ts +2 -0
  71. package/src/build-components/Carousel/pattern.json +2 -8
  72. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +2 -0
  73. package/src/build-components/CarouselButtons/pattern.json +2 -9
  74. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +2 -0
  75. package/src/build-components/CarouselDots/pattern.json +1 -3
  76. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +2 -0
  77. package/src/build-components/CarouselItem/pattern.json +1 -3
  78. package/src/build-components/CarouselProvider/CarouselProvider.tsx +5 -44
  79. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +2 -0
  80. package/src/build-components/CarouselProvider/pattern.json +6 -0
  81. package/src/build-components/CountDown/CountDownProps.generated.ts +2 -0
  82. package/src/build-components/CountDown/pattern.json +0 -1
  83. package/src/build-components/Counter/CounterProps.generated.ts +2 -0
  84. package/src/build-components/Counter/pattern.json +0 -1
  85. package/src/build-components/Image/Image.tsx +1 -1
  86. package/src/build-components/Image/ImageProps.generated.ts +2 -0
  87. package/src/build-components/Main/MainProps.generated.ts +2 -0
  88. package/src/build-components/Main/pattern.json +1 -3
  89. package/src/build-components/Onboard/OnboardProps.generated.ts +2 -0
  90. package/src/build-components/Onboard/pattern.json +2 -6
  91. package/src/build-components/OnboardButton/OnboardButton.tsx +0 -4
  92. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +2 -0
  93. package/src/build-components/OnboardButton/pattern.json +9 -14
  94. package/src/build-components/OnboardButtons/OnboardButtons.tsx +17 -20
  95. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +2 -0
  96. package/src/build-components/OnboardButtons/pattern.json +15 -15
  97. package/src/build-components/OnboardDot/OnboardDot.tsx +0 -3
  98. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +2 -0
  99. package/src/build-components/OnboardFooter/OnboardFooter.tsx +63 -51
  100. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +2 -0
  101. package/src/build-components/OnboardFooter/pattern.json +6 -3
  102. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +2 -0
  103. package/src/build-components/OnboardImage/pattern.json +1 -5
  104. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +2 -0
  105. package/src/build-components/OnboardItem/pattern.json +3 -11
  106. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +2 -0
  107. package/src/build-components/OnboardProvider/pattern.json +2 -8
  108. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +2 -0
  109. package/src/build-components/OnboardSubtitle/pattern.json +1 -4
  110. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +2 -0
  111. package/src/build-components/OnboardTitle/pattern.json +1 -4
  112. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +2 -0
  113. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +2 -0
  114. package/src/build-components/PaywallCloseButton/pattern.json +1 -3
  115. package/src/build-components/PaywallCounter/PaywallCounterProps.generated.ts +2 -0
  116. package/src/build-components/PaywallCounter/pattern.json +0 -1
  117. package/src/build-components/PaywallOptions/PaywallOptions.tsx +1 -1
  118. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +2 -0
  119. package/src/build-components/PaywallOptions/pattern.json +1 -3
  120. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +2 -0
  121. package/src/build-components/PaywallProvider/pattern.json +1 -3
  122. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +2 -0
  123. package/src/build-components/PaywallSubscribeButton/pattern.json +1 -3
  124. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +2 -0
  125. package/src/build-components/RadioButton/pattern.json +1 -3
  126. package/src/build-components/RenderNode.generated.tsx +1 -1
  127. package/src/build-components/Text/TextProps.generated.ts +2 -0
  128. package/src/build-components/View/View.tsx +11 -7
  129. package/src/build-components/View/ViewProps.generated.ts +2 -0
  130. package/src/build-components/View/pattern.json +8 -0
  131. package/src/build-components/patterns.generated.ts +277 -2
  132. package/src/build-components/useNode.ts +2 -2
  133. package/src/components/Builder.tsx +98 -8
  134. package/src/components/BuilderButton.tsx +39 -7
  135. package/src/components/DeviceButton.tsx +5 -1
  136. package/src/pages/DebugJsonPage.tsx +30 -1
  137. package/src/pages/ProjectDebug.tsx +0 -1
  138. package/src/pages/ProjectPage.tsx +2 -2
  139. package/src/store.ts +8 -0
  140. package/src/styles/base/_global.scss +0 -5
  141. package/src/styles/components/_editor-shell.scss +18 -3
  142. package/src/styles/components/_onboard.scss +0 -17
  143. package/src/styles/foundation/_colors.scss +1 -4
  144. package/src/styles/foundation/_typography.scss +0 -1
  145. package/src/styles/layout/_builder.scss +20 -0
  146. package/src/styles/modals/_product-presets-modal.scss +0 -2
  147. package/src/utils/extractTextStyle/extractTextStyle.ts +47 -13
  148. package/src/utils/extractViewStyle/extractViewStyle.ts +118 -39
  149. package/src/utils/logRenderStore.ts +7 -9
  150. package/src/utils/logger.ts +1 -5
  151. package/src/utils/repairNodeKeys.ts +1 -4
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "supportedProjectVersion": "1.1.2",
3
- "reactBuilderVersion": "1.2.19"
3
+ "reactBuilderVersion": "1.2.20"
4
4
  }
@@ -6,245 +6,327 @@
6
6
  "theme": "light"
7
7
  },
8
8
  "data": {
9
- "type": "carouselProvider",
10
- "children": [
11
- {
12
- "type": "carousel",
13
- "attributes": {
14
- "loop": true,
15
- "align": "center",
16
- "dragFree": true,
17
- "description": "carousel element 1 in sample.",
18
- "title": "carousel 1"
19
- },
20
- "children": [
21
- {
22
- "type": "carouselItem",
23
- "attributes": {
24
- "description": "carouselItem element 1 in sample.",
25
- "title": "carouselItem 1",
26
- "styles": {
27
- "minWidth": 0
28
- }
29
- },
30
- "children": {
31
- "type": "view",
9
+ "type": "Main",
10
+ "isMain": true,
11
+ "attributes": {
12
+ "styles": {
13
+ "backgroundColor": "#f8fafc",
14
+ "minHeight": "100vh",
15
+ "padding": "24px"
16
+ }
17
+ },
18
+ "children": {
19
+ "type": "carouselProvider",
20
+ "children": [
21
+ {
22
+ "type": "carousel",
23
+ "attributes": {
24
+ "loop": true,
25
+ "align": "center",
26
+ "dragFree": true,
27
+ "description": "carousel element 1 in sample.",
28
+ "title": "carousel 1"
29
+ },
30
+ "children": [
31
+ {
32
+ "type": "carouselItem",
32
33
  "attributes": {
33
- "description": "view element 1 in sample.",
34
- "title": "view 1",
34
+ "description": "carouselItem element 1 in sample.",
35
+ "title": "carouselItem 1",
35
36
  "styles": {
36
- "padding": "22px",
37
- "borderRadius": 18,
38
- "backgroundImage": "linear-gradient(135deg, #eef2ff 0%, #ffffff 55%, #ecfeff 100%)",
39
- "boxShadow": "0 10px 30px rgba(15, 23, 42, 0.10)",
40
- "gap": 14,
41
- "height": "100%",
42
- "justifyContent": "center"
37
+ "minWidth": 0
43
38
  }
44
39
  },
45
- "children": [
46
- {
47
- "type": "image",
48
- "attributes": {
49
- "src": "https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=1200&q=80",
50
- "resizeMode": "cover",
51
- "styles": {
52
- "width": "100%",
53
- "height": 230,
54
- "borderRadius": 14
55
- }
40
+ "children": {
41
+ "type": "view",
42
+ "attributes": {
43
+ "description": "view element 1 in sample.",
44
+ "title": "view 1",
45
+ "styles": {
46
+ "padding": "22px",
47
+ "borderRadius": 18,
48
+ "backgroundImage": "linear-gradient(135deg, #eef2ff 0%, #ffffff 55%, #ecfeff 100%)",
49
+ "boxShadow": "0 10px 30px rgba(15, 23, 42, 0.10)",
50
+ "gap": 14,
51
+ "height": "100%"
56
52
  }
57
53
  },
58
- {
59
- "type": "text",
60
- "attributes": {
61
- "description": "text element 1 in sample.",
62
- "title": "text 1",
63
- "styles": {
64
- "fontSize": 28,
65
- "fontWeight": "700",
66
- "textAlign": "center",
67
- "color": "#0f172a"
68
- }
54
+ "children": [
55
+ {
56
+ "type": "image",
57
+ "attributes": {
58
+ "src": "https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=1200&q=80",
59
+ "resizeMode": "cover",
60
+ "styles": {
61
+ "width": "auto",
62
+ "maxWidth": "100%",
63
+ "borderRadius": 14
64
+ }
65
+ },
66
+ "key": "image-49ojfyhl4d7"
69
67
  },
70
- "children": "Welcome aboard"
71
- },
72
- {
73
- "type": "text",
74
- "attributes": {
75
- "description": "text element 2 in sample.",
76
- "title": "text 2",
77
- "styles": {
78
- "fontSize": 16,
79
- "textAlign": "center",
80
- "color": "#334155",
81
- "paddingHorizontal": 8
82
- }
68
+ {
69
+ "type": "text",
70
+ "attributes": {
71
+ "description": "text element 1 in sample.",
72
+ "title": "text 1",
73
+ "styles": {
74
+ "fontSize": 28,
75
+ "fontWeight": "700",
76
+ "textAlign": "center",
77
+ "color": "#0f172a"
78
+ }
79
+ },
80
+ "children": "Welcome aboard",
81
+ "key": "text-3ougfj4mxnh"
83
82
  },
84
- "children": "Swipe through a beautiful, validated carousel sample with images."
85
- }
86
- ]
87
- }
88
- },
89
- {
90
- "type": "carouselItem",
91
- "attributes": {
92
- "description": "carouselItem element 2 in sample.",
93
- "title": "carouselItem 2",
94
- "styles": {
95
- "minWidth": 0
96
- }
83
+ {
84
+ "type": "text",
85
+ "attributes": {
86
+ "description": "text element 2 in sample.",
87
+ "title": "text 2",
88
+ "styles": {
89
+ "fontSize": 16,
90
+ "textAlign": "center",
91
+ "color": "#334155",
92
+ "paddingHorizontal": 8
93
+ }
94
+ },
95
+ "children": "Swipe through a beautiful, validated carousel sample with images.",
96
+ "key": "text-2dol8grshke"
97
+ }
98
+ ],
99
+ "key": "view-a8hfkdvfy7"
100
+ },
101
+ "key": "carouselItem-5bw9x33s7ie"
97
102
  },
98
- "children": {
99
- "type": "view",
103
+ {
104
+ "type": "carouselItem",
100
105
  "attributes": {
101
- "description": "view element 2 in sample.",
102
- "title": "view 2",
106
+ "description": "carouselItem element 2 in sample.",
107
+ "title": "carouselItem 2",
103
108
  "styles": {
104
- "padding": "22px",
105
- "borderRadius": 18,
106
- "backgroundImage": "linear-gradient(135deg, #f0fdf4 0%, #ffffff 55%, #eff6ff 100%)",
107
- "boxShadow": "0 10px 30px rgba(15, 23, 42, 0.10)",
108
- "gap": 14,
109
- "height": "100%",
110
- "justifyContent": "center"
109
+ "minWidth": 0
111
110
  }
112
111
  },
113
- "children": [
114
- {
115
- "type": "image",
116
- "attributes": {
117
- "src": "https://images.unsplash.com/photo-1553877522-43269d4ea984?auto=format&fit=crop&w=1200&q=80",
118
- "resizeMode": "cover",
119
- "styles": {
120
- "width": "100%",
121
- "height": 230,
122
- "borderRadius": 14
123
- }
112
+ "children": {
113
+ "type": "view",
114
+ "attributes": {
115
+ "description": "view element 2 in sample.",
116
+ "title": "view 2",
117
+ "styles": {
118
+ "padding": "22px",
119
+ "borderRadius": 18,
120
+ "backgroundImage": "linear-gradient(135deg, #f0fdf4 0%, #ffffff 55%, #eff6ff 100%)",
121
+ "boxShadow": "0 10px 30px rgba(15, 23, 42, 0.10)",
122
+ "gap": 14,
123
+ "height": "100%"
124
124
  }
125
125
  },
126
- {
127
- "type": "text",
128
- "attributes": {
129
- "description": "text element 3 in sample.",
130
- "title": "text 3",
131
- "styles": {
132
- "fontSize": 28,
133
- "fontWeight": "700",
134
- "textAlign": "center",
135
- "color": "#0f172a"
136
- }
126
+ "children": [
127
+ {
128
+ "type": "image",
129
+ "attributes": {
130
+ "src": "https://images.unsplash.com/photo-1553877522-43269d4ea984?auto=format&fit=crop&w=1200&q=80",
131
+ "resizeMode": "cover",
132
+ "styles": {
133
+ "width": "auto",
134
+ "maxWidth": "100%",
135
+ "borderRadius": 14
136
+ }
137
+ },
138
+ "key": "image-riwntk91k9"
137
139
  },
138
- "children": "Discover features"
139
- },
140
- {
141
- "type": "text",
142
- "attributes": {
143
- "description": "text element 4 in sample.",
144
- "title": "text 4",
145
- "styles": {
146
- "fontSize": 16,
147
- "textAlign": "center",
148
- "color": "#334155",
149
- "paddingHorizontal": 8
150
- }
140
+ {
141
+ "type": "text",
142
+ "attributes": {
143
+ "description": "text element 3 in sample.",
144
+ "title": "text 3",
145
+ "styles": {
146
+ "fontSize": 28,
147
+ "fontWeight": "700",
148
+ "textAlign": "center",
149
+ "color": "#0f172a"
150
+ }
151
+ },
152
+ "children": "Discover features",
153
+ "key": "text-hmuk6f7ml4v"
151
154
  },
152
- "children": "Dots + buttons are included, and slide sizing comes from the carousel CSS."
155
+ {
156
+ "type": "text",
157
+ "attributes": {
158
+ "description": "text element 4 in sample.",
159
+ "title": "text 4",
160
+ "styles": {
161
+ "fontSize": 16,
162
+ "textAlign": "center",
163
+ "color": "#334155",
164
+ "paddingHorizontal": 8
165
+ }
166
+ },
167
+ "children": "Dots + buttons are included, and slide sizing comes from the carousel CSS.",
168
+ "key": "text-dnhhoqiiri"
169
+ }
170
+ ],
171
+ "key": "view-9hyw3wys30w"
172
+ },
173
+ "key": "carouselItem-lyq2hr0qh8h"
174
+ },
175
+ {
176
+ "type": "carouselItem",
177
+ "attributes": {
178
+ "description": "carouselItem element 3 in sample.",
179
+ "title": "carouselItem 3",
180
+ "styles": {
181
+ "minWidth": 0
153
182
  }
154
- ]
183
+ },
184
+ "children": {
185
+ "type": "view",
186
+ "attributes": {
187
+ "description": "view element 3 in sample.",
188
+ "title": "view 3",
189
+ "styles": {
190
+ "padding": "22px",
191
+ "borderRadius": 18,
192
+ "backgroundImage": "linear-gradient(135deg, #fff7ed 0%, #ffffff 55%, #f5f3ff 100%)",
193
+ "boxShadow": "0 10px 30px rgba(15, 23, 42, 0.10)",
194
+ "gap": 14,
195
+ "height": "100%"
196
+ }
197
+ },
198
+ "children": [
199
+ {
200
+ "type": "image",
201
+ "attributes": {
202
+ "src": "https://images.unsplash.com/photo-1551434678-e076c223a692?auto=format&fit=crop&w=1200&q=80",
203
+ "resizeMode": "cover",
204
+ "styles": {
205
+ "width": "auto",
206
+ "maxWidth": "100%",
207
+ "borderRadius": 14
208
+ }
209
+ },
210
+ "key": "image-j9ru3r8g7km"
211
+ },
212
+ {
213
+ "type": "text",
214
+ "attributes": {
215
+ "description": "text element 5 in sample.",
216
+ "title": "text 5",
217
+ "styles": {
218
+ "fontSize": 28,
219
+ "fontWeight": "700",
220
+ "textAlign": "center",
221
+ "color": "#0f172a"
222
+ }
223
+ },
224
+ "children": "Get started",
225
+ "key": "text-01u3fwwtkd8p"
226
+ },
227
+ {
228
+ "type": "text",
229
+ "attributes": {
230
+ "description": "text element 6 in sample.",
231
+ "title": "text 6",
232
+ "styles": {
233
+ "fontSize": 16,
234
+ "textAlign": "center",
235
+ "color": "#334155",
236
+ "paddingHorizontal": 8
237
+ }
238
+ },
239
+ "children": "This sample stays within validation rules (no string flex shorthand).",
240
+ "key": "text-w8rwg9y1hj"
241
+ }
242
+ ],
243
+ "key": "view-tsjfbzn8kdj"
244
+ },
245
+ "key": "carouselItem-6r53yswjyee"
246
+ }
247
+ ],
248
+ "key": "carousel-2qa4gn0ms32"
249
+ },
250
+ {
251
+ "type": "view",
252
+ "attributes": {
253
+ "title": "Carousel Controls",
254
+ "description": "carousel controls view element in sample.",
255
+ "styles": {
256
+ "flex": 1,
257
+ "gap": 24,
258
+ "alignItems": "center",
259
+ "paddingTop": 32
155
260
  }
156
261
  },
157
- {
158
- "type": "carouselItem",
159
- "attributes": {
160
- "description": "carouselItem element 3 in sample.",
161
- "title": "carouselItem 3",
162
- "styles": {
163
- "minWidth": 0
164
- }
262
+ "children": [
263
+ {
264
+ "type": "carouselDots",
265
+ "attributes": {
266
+ "dotType": "expanding_dot"
267
+ },
268
+ "key": "carouselDots-r5ji67uoxxg"
165
269
  },
166
- "children": {
270
+ {
167
271
  "type": "view",
168
272
  "attributes": {
169
- "description": "view element 3 in sample.",
170
- "title": "view 3",
273
+ "title": "Nav Buttons",
274
+ "description": "navigation buttons wrapper",
171
275
  "styles": {
172
- "padding": "22px",
173
- "borderRadius": 18,
174
- "backgroundImage": "linear-gradient(135deg, #fff7ed 0%, #ffffff 55%, #f5f3ff 100%)",
175
- "boxShadow": "0 10px 30px rgba(15, 23, 42, 0.10)",
176
- "gap": 14,
177
- "height": "100%",
276
+ "flexDirection": "row",
277
+ "gap": 12,
278
+ "alignItems": "center",
178
279
  "justifyContent": "center"
179
280
  }
180
281
  },
181
282
  "children": [
182
283
  {
183
- "type": "image",
184
- "attributes": {
185
- "src": "https://images.unsplash.com/photo-1551434678-e076c223a692?auto=format&fit=crop&w=1200&q=80",
186
- "resizeMode": "cover",
187
- "styles": {
188
- "width": "100%",
189
- "height": 230,
190
- "borderRadius": 14
191
- }
192
- }
193
- },
194
- {
195
- "type": "text",
284
+ "type": "carouselButtons",
196
285
  "attributes": {
197
- "description": "text element 5 in sample.",
198
- "title": "text 5",
286
+ "buttonType": ["previous_button"],
199
287
  "styles": {
200
- "fontSize": 28,
201
- "fontWeight": "700",
202
- "textAlign": "center",
203
- "color": "#0f172a"
288
+ "backgroundColor": "#6366f1",
289
+ "borderRadius": 12,
290
+ "padding": "12px 24px",
291
+ "minWidth": 100
204
292
  }
205
293
  },
206
- "children": "Get started"
294
+ "key": "carouselButtons-prev"
207
295
  },
208
296
  {
209
- "type": "text",
297
+ "type": "carouselButtons",
210
298
  "attributes": {
211
- "description": "text element 6 in sample.",
212
- "title": "text 6",
299
+ "buttonType": ["next_button"],
213
300
  "styles": {
214
- "fontSize": 16,
215
- "textAlign": "center",
216
- "color": "#334155",
217
- "paddingHorizontal": 8
301
+ "backgroundColor": "#8b5cf6",
302
+ "borderRadius": 12,
303
+ "padding": "12px 24px",
304
+ "minWidth": 100
218
305
  }
219
306
  },
220
- "children": "This sample stays within validation rules (no string flex shorthand)."
307
+ "key": "carouselButtons-next"
221
308
  }
222
- ]
309
+ ],
310
+ "key": "view-nav-buttons"
223
311
  }
224
- }
225
- ]
226
- },
227
- {
228
- "type": "carouselDots",
229
- "attributes": {
230
- "dotType": "expanding_dot"
231
- }
232
- },
233
- {
234
- "type": "carouselButtons",
235
- "attributes": {
236
- "buttonType": [
237
- "previous_button",
238
- "next_button",
239
- "skip_button"
240
312
  ],
241
- "skipNumber": 3
313
+ "key": "view-controls-wrapper"
242
314
  }
243
- }
244
- ],
245
- "attributes": {
246
- "description": "carouselProvider element 1 in sample.",
247
- "title": "carouselProvider 1"
248
- }
315
+ ],
316
+ "attributes": {
317
+ "description": "carouselProvider element 1 in sample.",
318
+ "title": "carouselProvider 1",
319
+ "styles": {
320
+ "backgroundColor": "#ffffff",
321
+ "borderRadius": 24,
322
+ "padding": "32px",
323
+ "boxShadow": "0 4px 20px rgba(0, 0, 0, 0.08)",
324
+ "maxWidth": "600px",
325
+ "margin": "0 auto"
326
+ }
327
+ },
328
+ "key": "carouselProvider-152n4dkqvam"
329
+ },
330
+ "key": "Main-u1cavjag9sr"
249
331
  }
250
332
  }
@@ -9,6 +9,10 @@ import unmigratedBuilder1 from './unmigrated-builder1.json';
9
9
  import unmigratedBuilder1_1_1 from './unmigrated-builder-1.1.1.json';
10
10
  import paywall1 from './paywall-1.json';
11
11
  import paywall2 from './paywall-2.json';
12
+ import paywallBackOffer from './paywall-back-offer.json';
13
+ import paywallNotificationOffer from './paywall-notification-offer.json';
14
+ import paywallAppOpenOffer from './paywall-app-open-offer.json';
15
+ import paywallAppDeleteOffer from './paywall-app-delete-offer.json';
12
16
  import vpnOnboard1 from './vpn-onboard-1.json';
13
17
  import vpnOnboard2 from './vpn-onboard-2.json';
14
18
  import vpnOnboard3 from './vpn-onboard-3.json';
@@ -45,6 +49,10 @@ export function getSamples(): Project[] {
45
49
  normalizeSample(unmigratedBuilder1_1_1),
46
50
  normalizeSample(paywall1),
47
51
  normalizeSample(paywall2),
52
+ normalizeSample(paywallBackOffer),
53
+ normalizeSample(paywallNotificationOffer),
54
+ normalizeSample(paywallAppOpenOffer),
55
+ normalizeSample(paywallAppDeleteOffer),
48
56
  ...onboardSamples,
49
57
  ];
50
58
  }
@@ -70,5 +78,12 @@ export function getOnboardSamples(): Project[] {
70
78
  }
71
79
 
72
80
  export function getPaywallSamples(): Project[] {
73
- return [normalizeSample(paywall1), normalizeSample(paywall2)];
81
+ return [
82
+ normalizeSample(paywall1),
83
+ normalizeSample(paywall2),
84
+ normalizeSample(paywallBackOffer),
85
+ normalizeSample(paywallNotificationOffer),
86
+ normalizeSample(paywallAppOpenOffer),
87
+ normalizeSample(paywallAppDeleteOffer),
88
+ ];
74
89
  }
@@ -30,6 +30,7 @@
30
30
  "type": "PaywallProvider",
31
31
  "attributes": {
32
32
  "scrollable": true,
33
+ "delay": 5000,
33
34
  "description": "Paywall ana sağlayıcısı. (#1)",
34
35
  "title": "Main Paywall",
35
36
  "styles": {
@@ -292,6 +293,21 @@
292
293
  }
293
294
  ]
294
295
  },
296
+ {
297
+ "type": "CountDown",
298
+ "attributes": {
299
+ "count": 5000,
300
+ "description": "Countdown timer (5 seconds).",
301
+ "title": "Countdown",
302
+ "styles": {
303
+ "color": "#FF0000",
304
+ "fontWeight": "700",
305
+ "fontSize": 40,
306
+ "textAlign": "center"
307
+ }
308
+ },
309
+ "children": null
310
+ },
295
311
  {
296
312
  "type": "View",
297
313
  "attributes": {
@@ -294,8 +294,8 @@
294
294
  {
295
295
  "type": "CountDown",
296
296
  "attributes": {
297
- "count": 10000,
298
- "description": "Countdown timer (10 seconds).",
297
+ "count": 5000,
298
+ "description": "Countdown timer (5 seconds).",
299
299
  "title": "Countdown",
300
300
  "styles": {
301
301
  "color": "#FF0000",