@developer_tribe/react-builder 1.0.8 → 1.0.9

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 (216) hide show
  1. package/dist/build-components/BIcon/BIconProps.generated.d.ts +3 -0
  2. package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +1 -0
  3. package/dist/build-components/Button/ButtonProps.generated.d.ts +1 -0
  4. package/dist/build-components/Carousel/CarouselProps.generated.d.ts +5 -0
  5. package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +1 -0
  6. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +1 -0
  7. package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +1 -0
  8. package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +1 -0
  9. package/dist/build-components/Image/ImageProps.generated.d.ts +1 -0
  10. package/dist/build-components/Main/MainProps.generated.d.ts +1 -1
  11. package/dist/build-components/Onboard/OnboardProps.generated.d.ts +1 -0
  12. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +1 -0
  13. package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +1 -0
  14. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +1 -0
  15. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +3 -0
  16. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +1 -0
  17. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +1 -0
  18. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +3 -0
  19. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +3 -0
  20. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +3 -0
  21. package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +1 -1
  22. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +3 -1
  23. package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +1 -1
  24. package/dist/build-components/PaywallProvider/PaywallContext.d.ts +12 -0
  25. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +1 -1
  26. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +1 -0
  27. package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +1 -1
  28. package/dist/build-components/Text/TextProps.generated.d.ts +3 -0
  29. package/dist/build-components/View/ViewProps.generated.d.ts +1 -0
  30. package/dist/build-components/patterns.generated.d.ts +372 -374
  31. package/dist/components/BuilderProvider.d.ts +2 -0
  32. package/dist/components/ParamsProvider.d.ts +5 -0
  33. package/dist/components/RenderErrorBoundary.d.ts +28 -0
  34. package/dist/hooks/useSyncHtmlThemeClass.d.ts +7 -0
  35. package/dist/index.cjs.js +5 -5
  36. package/dist/index.cjs.js.map +1 -1
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.esm.js +3 -3
  39. package/dist/index.esm.js.map +1 -1
  40. package/dist/index.native.cjs.js +4 -4
  41. package/dist/index.native.cjs.js.map +1 -1
  42. package/dist/index.native.d.ts +1 -0
  43. package/dist/index.native.esm.js +4 -4
  44. package/dist/index.native.esm.js.map +1 -1
  45. package/dist/migrations/migratePipe.d.ts +14 -0
  46. package/dist/migrations/migrations/1.1.0_normalize_style_attributes.d.ts +2 -0
  47. package/dist/migrations/semver.d.ts +8 -0
  48. package/dist/migrations/types.d.ts +8 -0
  49. package/dist/mockOS/components/SubscriptionModal.d.ts +7 -0
  50. package/dist/mockOS/context/MockOSContextBase.d.ts +1 -0
  51. package/dist/mockOS/hooks/useMockIap.d.ts +3 -0
  52. package/dist/mockOS/index.d.ts +4 -0
  53. package/dist/mockOS/managers/mockOSIapManager.d.ts +6 -0
  54. package/dist/mockOS/managers/subscriptionManager.d.ts +10 -0
  55. package/dist/pages/ProjectDebug.d.ts +14 -0
  56. package/dist/pages/ProjectMigrationPage.d.ts +23 -0
  57. package/dist/pages/ProjectValidationPage.d.ts +15 -0
  58. package/dist/styles.css +1 -1
  59. package/dist/types/Device.d.ts +5 -0
  60. package/dist/utils/__special_exceptions.d.ts +7 -0
  61. package/dist/utils/getImage.d.ts +23 -0
  62. package/dist/utils/pasteNode.d.ts +15 -0
  63. package/dist/utils/patterns.d.ts +1 -2
  64. package/package.json +6 -2
  65. package/scripts/migrate-patterns-to-v2.mjs +131 -0
  66. package/scripts/migrate-samples-to-current.ts +79 -0
  67. package/scripts/prebuild/utils/createGeneratedProps.js +4 -5
  68. package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +32 -21
  69. package/scripts/prebuild/utils/validatePatternJson.js +12 -10
  70. package/src/.DS_Store +0 -0
  71. package/src/AttributesEditor.tsx +41 -11
  72. package/src/RenderPage.tsx +55 -0
  73. package/src/assets/.DS_Store +0 -0
  74. package/src/assets/devices.json +91 -0
  75. package/src/assets/samples/carousel-sample.json +141 -29
  76. package/src/assets/samples/getSamples.ts +9 -0
  77. package/src/assets/samples/paywall-1.json +119 -71
  78. package/src/assets/samples/simple-1.json +28 -16
  79. package/src/assets/samples/simple-2.json +157 -82
  80. package/src/assets/samples/unmigrated-builder1.json +42 -0
  81. package/src/assets/samples/unvalidated-builder1.json +49 -0
  82. package/src/assets/samples/unvalidated-crash1.json +19 -0
  83. package/src/assets/samples/unvalidated-crashcomponent1.json +16 -0
  84. package/src/assets/samples/vpn-onboard-1.json +91 -51
  85. package/src/assets/samples/vpn-onboard-2.json +318 -278
  86. package/src/assets/samples/vpn-onboard-3.json +286 -252
  87. package/src/assets/samples/vpn-onboard-4.json +286 -252
  88. package/src/assets/samples/vpn-onboard-5.json +434 -374
  89. package/src/assets/samples/vpn-onboard-6.json +290 -250
  90. package/src/attributes-editor/Field.tsx +1 -1
  91. package/src/attributes-editor/LayoutPreviewPicker.tsx +5 -2
  92. package/src/build-components/BIcon/BIconProps.generated.ts +3 -0
  93. package/src/build-components/BIcon/pattern.json +12 -9
  94. package/src/build-components/BackgroundImage/BackgroundImage.tsx +3 -1
  95. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +1 -0
  96. package/src/build-components/BackgroundImage/pattern.json +25 -16
  97. package/src/build-components/Button/Button.tsx +26 -3
  98. package/src/build-components/Button/ButtonProps.generated.ts +1 -0
  99. package/src/build-components/Button/pattern.json +10 -6
  100. package/src/build-components/Carousel/CarouselProps.generated.ts +5 -0
  101. package/src/build-components/Carousel/pattern.json +19 -8
  102. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +1 -0
  103. package/src/build-components/CarouselButtons/pattern.json +11 -5
  104. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +1 -0
  105. package/src/build-components/CarouselDots/pattern.json +5 -4
  106. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +1 -0
  107. package/src/build-components/CarouselItem/pattern.json +5 -4
  108. package/src/build-components/CarouselProvider/CarouselProvider.tsx +44 -2
  109. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +1 -0
  110. package/src/build-components/Image/Image.tsx +2 -1
  111. package/src/build-components/Image/ImageProps.generated.ts +1 -0
  112. package/src/build-components/Image/pattern.json +11 -5
  113. package/src/build-components/Main/MainProps.generated.ts +1 -1
  114. package/src/build-components/Main/pattern.json +12 -9
  115. package/src/build-components/Onboard/OnboardProps.generated.ts +1 -0
  116. package/src/build-components/Onboard/pattern.json +14 -9
  117. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +1 -0
  118. package/src/build-components/OnboardButton/pattern.json +5 -4
  119. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +1 -0
  120. package/src/build-components/OnboardButtons/pattern.json +5 -4
  121. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +1 -0
  122. package/src/build-components/OnboardDot/pattern.json +5 -4
  123. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +3 -0
  124. package/src/build-components/OnboardFooter/pattern.json +8 -5
  125. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +1 -0
  126. package/src/build-components/OnboardImage/pattern.json +7 -4
  127. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +1 -0
  128. package/src/build-components/OnboardItem/pattern.json +18 -9
  129. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +3 -0
  130. package/src/build-components/OnboardProvider/pattern.json +21 -6
  131. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +3 -0
  132. package/src/build-components/OnboardSubtitle/pattern.json +10 -6
  133. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +3 -0
  134. package/src/build-components/OnboardTitle/pattern.json +11 -7
  135. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +1 -1
  136. package/src/build-components/PaywallBackground/pattern.json +5 -4
  137. package/src/build-components/PaywallCloseButton/PaywallCloseButton.tsx +6 -1
  138. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +3 -1
  139. package/src/build-components/PaywallCloseButton/pattern.json +15 -12
  140. package/src/build-components/PaywallOptions/PaywallOptionButton.tsx +0 -1
  141. package/src/build-components/PaywallOptions/PaywallOptions.tsx +3 -2
  142. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +1 -1
  143. package/src/build-components/PaywallOptions/pattern.json +14 -11
  144. package/src/build-components/PaywallProvider/PaywallContext.ts +25 -0
  145. package/src/build-components/PaywallProvider/PaywallProvider.tsx +102 -5
  146. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +1 -1
  147. package/src/build-components/PaywallProvider/pattern.json +11 -8
  148. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButton.tsx +7 -0
  149. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +1 -0
  150. package/src/build-components/PaywallSubscribeButton/pattern.json +16 -13
  151. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +1 -1
  152. package/src/build-components/RadioButton/pattern.json +5 -4
  153. package/src/build-components/Text/Text.tsx +107 -4
  154. package/src/build-components/Text/TextProps.generated.ts +3 -0
  155. package/src/build-components/Text/pattern.json +19 -4
  156. package/src/build-components/View/ViewProps.generated.ts +1 -0
  157. package/src/build-components/View/pattern.json +28 -13
  158. package/src/build-components/other.tsx +15 -0
  159. package/src/build-components/patterns.generated.ts +340 -235
  160. package/src/build-components/useNode.ts +22 -3
  161. package/src/components/Builder.tsx +20 -6
  162. package/src/components/BuilderButton.tsx +75 -38
  163. package/src/components/BuilderProvider.tsx +22 -2
  164. package/src/components/DeviceButton.tsx +12 -5
  165. package/src/components/EditorHeader.tsx +296 -38
  166. package/src/components/ParamsProvider.tsx +7 -0
  167. package/src/components/RenderErrorBoundary.tsx +200 -0
  168. package/src/hooks/useParams.ts +5 -1
  169. package/src/hooks/useSyncHtmlThemeClass.ts +19 -0
  170. package/src/index.native.ts +7 -0
  171. package/src/index.ts +8 -0
  172. package/src/migrations/migratePipe.ts +59 -0
  173. package/src/migrations/migrations/1.1.0_normalize_style_attributes.ts +80 -0
  174. package/src/migrations/semver.ts +24 -0
  175. package/src/migrations/types.ts +9 -0
  176. package/src/mockOS/components/PermissionModal.tsx +3 -2
  177. package/src/mockOS/components/SubscriptionModal.tsx +400 -0
  178. package/src/mockOS/context/MockOSContext.tsx +61 -10
  179. package/src/mockOS/context/MockOSContextBase.ts +1 -0
  180. package/src/mockOS/hooks/useMockIap.ts +11 -0
  181. package/src/mockOS/index.ts +7 -0
  182. package/src/mockOS/managers/mockOSIapManager.ts +10 -0
  183. package/src/mockOS/managers/subscriptionManager.ts +36 -0
  184. package/src/modals/IconPickerModal.tsx +1 -1
  185. package/src/pages/ProjectDebug.tsx +331 -0
  186. package/src/pages/ProjectMigrationPage.tsx +92 -0
  187. package/src/pages/ProjectPage.tsx +313 -161
  188. package/src/pages/ProjectValidationPage.tsx +54 -0
  189. package/src/styles/base/_global.scss +58 -11
  190. package/src/styles/components/_attributes-editor.scss +1 -1
  191. package/src/styles/components/_bottom-bar.scss +7 -4
  192. package/src/styles/components/_editor-shell.scss +126 -4
  193. package/src/styles/components/_mockos-router.scss +3 -2
  194. package/src/styles/components/_ui-components.scss +10 -5
  195. package/src/styles/foundation/_colors.scss +78 -11
  196. package/src/styles/foundation/_mixins.scss +4 -1
  197. package/src/styles/foundation/_sizes.scss +4 -2
  198. package/src/styles/index.scss +1 -0
  199. package/src/styles/layout/_builder.scss +61 -0
  200. package/src/styles/layout/_project-validation.scss +214 -0
  201. package/src/styles/modals/_add-component.scss +4 -2
  202. package/src/styles/modals/_color-modal.scss +4 -2
  203. package/src/styles/modals/_modal-shell.scss +3 -1
  204. package/src/types/Device.ts +5 -0
  205. package/src/utils/__special_exceptions.ts +88 -0
  206. package/src/utils/analyseNode.ts +8 -2
  207. package/src/utils/analyseNodeByPatterns.ts +43 -9
  208. package/src/utils/extractTextStyle.ts +19 -6
  209. package/src/utils/extractViewStyle.ts +68 -59
  210. package/src/utils/getImage.ts +76 -0
  211. package/src/utils/novaToJson.ts +2 -1
  212. package/src/utils/pasteNode.ts +172 -0
  213. package/src/utils/patterns.ts +4 -3
  214. package/dist/android.svg +0 -43
  215. package/dist/apple.svg +0 -16
  216. package/dist/background.jpg +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "vpn-onboard-6 (legacy)",
3
- "version": "1.0.0",
2
+ "name": "vpn-onboard-6",
3
+ "version": "1.1.0",
4
4
  "type": "onboard",
5
5
  "appConfig": {
6
6
  "theme": "dark",
@@ -85,309 +85,349 @@
85
85
  "children": [
86
86
  {
87
87
  "type": "OnboardProvider",
88
- "children": [
89
- {
90
- "type": "Onboard",
91
88
  "children": [
92
89
  {
93
- "type": "OnboardItem",
94
- "key": "app_onboard-page1",
90
+ "type": "Onboard",
95
91
  "children": [
96
92
  {
97
- "type": "OnboardImage",
98
- "attributes": {
99
- "src": "https://vpn111-stage.s3.eu-central-1.amazonaws.com/onboard/high/9cb1d668b3724655f93a91e5eee771c5.png",
100
- "height": 400,
101
- "resizeMode": "contain"
102
- }
93
+ "type": "OnboardItem",
94
+ "key": "app_onboard-page1",
95
+ "children": [
96
+ {
97
+ "type": "OnboardImage",
98
+ "attributes": {
99
+ "src": "https://vpn111-stage.s3.eu-central-1.amazonaws.com/onboard/high/9cb1d668b3724655f93a91e5eee771c5.png",
100
+ "resizeMode": "contain",
101
+ "style": {
102
+ "height": 400
103
+ }
104
+ }
105
+ },
106
+ {
107
+ "type": "OnboardTitle",
108
+ "attributes": {
109
+ "style": {
110
+ "color": "#F4F5FF"
111
+ }
112
+ },
113
+ "children": "onboard.title.one-page"
114
+ },
115
+ {
116
+ "type": "OnboardSubtitle",
117
+ "attributes": {
118
+ "style": {
119
+ "color": "#DBDDEB"
120
+ }
121
+ },
122
+ "children": "onboard.subtitle.one-page"
123
+ }
124
+ ]
103
125
  },
104
126
  {
105
- "type": "OnboardTitle",
106
- "attributes": {
107
- "color": "#F4F5FF"
108
- },
109
- "children": "onboard.title.one-page"
127
+ "type": "OnboardItem",
128
+ "key": "app_onboard-page2",
129
+ "children": [
130
+ {
131
+ "type": "OnboardImage",
132
+ "attributes": {
133
+ "src": "https://vpn111-stage.s3.eu-central-1.amazonaws.com/onboard/high/f8d0c64bf89cc5f2f14126d0544ba174.png",
134
+ "resizeMode": "contain",
135
+ "style": {
136
+ "height": 400
137
+ }
138
+ }
139
+ },
140
+ {
141
+ "type": "OnboardTitle",
142
+ "attributes": {
143
+ "style": {
144
+ "color": "#F4F5FF"
145
+ }
146
+ },
147
+ "children": "onboard.title.two-page"
148
+ },
149
+ {
150
+ "type": "OnboardSubtitle",
151
+ "attributes": {
152
+ "style": {
153
+ "color": "#DBDDEB"
154
+ }
155
+ },
156
+ "children": "onboard.subtitle.two-page"
157
+ }
158
+ ]
110
159
  },
111
160
  {
112
- "type": "OnboardSubtitle",
113
- "attributes": {
114
- "color": "#DBDDEB"
115
- },
116
- "children": "onboard.subtitle.one-page"
161
+ "type": "OnboardItem",
162
+ "key": "app_onboard-page3",
163
+ "children": [
164
+ {
165
+ "type": "OnboardImage",
166
+ "attributes": {
167
+ "src": "https://vpn111-stage.s3.eu-central-1.amazonaws.com/onboard/high/ad823809885c1a2a8e4632039f35a94e.png",
168
+ "resizeMode": "contain",
169
+ "style": {
170
+ "height": 400
171
+ }
172
+ }
173
+ },
174
+ {
175
+ "type": "OnboardTitle",
176
+ "attributes": {
177
+ "style": {
178
+ "color": "#F4F5FF"
179
+ }
180
+ },
181
+ "children": "onboard.title.three-page"
182
+ },
183
+ {
184
+ "type": "OnboardSubtitle",
185
+ "attributes": {
186
+ "style": {
187
+ "color": "#DBDDEB"
188
+ }
189
+ },
190
+ "children": "onboard.subtitle.three-page"
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ "type": "OnboardItem",
196
+ "key": "app_onboard-page4",
197
+ "children": [
198
+ {
199
+ "type": "OnboardImage",
200
+ "attributes": {
201
+ "src": "https://vpn111-stage.s3.eu-central-1.amazonaws.com/onboard/high/ede1705c51f3434ae9053ed5f29bf5dd.png",
202
+ "resizeMode": "contain",
203
+ "style": {
204
+ "height": 400
205
+ }
206
+ }
207
+ },
208
+ {
209
+ "type": "OnboardTitle",
210
+ "attributes": {
211
+ "style": {
212
+ "color": "#F4F5FF"
213
+ }
214
+ },
215
+ "children": "onboard.title.four-page"
216
+ },
217
+ {
218
+ "type": "OnboardSubtitle",
219
+ "attributes": {
220
+ "style": {
221
+ "color": "#DBDDEB"
222
+ }
223
+ },
224
+ "children": "onboard.subtitle.four-page"
225
+ }
226
+ ]
117
227
  }
118
228
  ]
119
229
  },
120
230
  {
121
- "type": "OnboardItem",
122
- "key": "app_onboard-page2",
231
+ "type": "OnboardDot",
232
+ "attributes": {
233
+ "dotType": "expanding_dot",
234
+ "expanding_dot_width": 20
235
+ }
236
+ },
237
+ {
238
+ "type": "OnboardButtons",
239
+ "attributes": {
240
+ "buttons_direction": "row",
241
+ "condition": "carousel-index",
242
+ "conditionVariable": 0
243
+ },
123
244
  "children": [
124
245
  {
125
- "type": "OnboardImage",
246
+ "type": "OnboardButton",
126
247
  "attributes": {
127
- "src": "https://vpn111-stage.s3.eu-central-1.amazonaws.com/onboard/high/f8d0c64bf89cc5f2f14126d0544ba174.png",
128
- "height": 400,
129
- "resizeMode": "contain"
248
+ "labelKey": "onboard.skip.one-page",
249
+ "button_text_color": "#0450E2",
250
+ "button_background_color": "#161827",
251
+ "events": [
252
+ {
253
+ "type": "Navigate",
254
+ "navigate_to": null,
255
+ "targetIndex": 3
256
+ }
257
+ ],
258
+ "style": {
259
+ "flex": 1
260
+ }
130
261
  }
131
262
  },
132
263
  {
133
- "type": "OnboardTitle",
134
- "attributes": {
135
- "color": "#F4F5FF"
136
- },
137
- "children": "onboard.title.two-page"
138
- },
139
- {
140
- "type": "OnboardSubtitle",
264
+ "type": "OnboardButton",
141
265
  "attributes": {
142
- "color": "#DBDDEB"
143
- },
144
- "children": "onboard.subtitle.two-page"
266
+ "labelKey": "onboard.next.one-page",
267
+ "button_text_color": "#FFFFFF",
268
+ "button_background_color": "#0450E2",
269
+ "events": [
270
+ {
271
+ "type": "Navigate",
272
+ "navigate_to": null,
273
+ "targetIndex": 1
274
+ }
275
+ ],
276
+ "style": {
277
+ "flex": 1
278
+ }
279
+ }
145
280
  }
146
281
  ]
147
282
  },
148
283
  {
149
- "type": "OnboardItem",
150
- "key": "app_onboard-page3",
284
+ "type": "OnboardButtons",
285
+ "attributes": {
286
+ "buttons_direction": "row",
287
+ "condition": "carousel-index",
288
+ "conditionVariable": 1
289
+ },
151
290
  "children": [
152
291
  {
153
- "type": "OnboardImage",
292
+ "type": "OnboardButton",
154
293
  "attributes": {
155
- "src": "https://vpn111-stage.s3.eu-central-1.amazonaws.com/onboard/high/ad823809885c1a2a8e4632039f35a94e.png",
156
- "height": 400,
157
- "resizeMode": "contain"
294
+ "labelKey": "onboard.skip.two-page",
295
+ "button_text_color": "#0450E2",
296
+ "button_background_color": "#161827",
297
+ "events": [
298
+ {
299
+ "type": "Navigate",
300
+ "navigate_to": null,
301
+ "targetIndex": 3
302
+ }
303
+ ],
304
+ "style": {
305
+ "flex": 1
306
+ }
158
307
  }
159
308
  },
160
309
  {
161
- "type": "OnboardTitle",
162
- "attributes": {
163
- "color": "#F4F5FF"
164
- },
165
- "children": "onboard.title.three-page"
166
- },
167
- {
168
- "type": "OnboardSubtitle",
310
+ "type": "OnboardButton",
169
311
  "attributes": {
170
- "color": "#DBDDEB"
171
- },
172
- "children": "onboard.subtitle.three-page"
312
+ "labelKey": "onboard.next.two-page",
313
+ "button_text_color": "#FFFFFF",
314
+ "button_background_color": "#0450E2",
315
+ "events": [
316
+ {
317
+ "type": "Navigate",
318
+ "navigate_to": null,
319
+ "targetIndex": 2
320
+ }
321
+ ],
322
+ "style": {
323
+ "flex": 1
324
+ }
325
+ }
173
326
  }
174
327
  ]
175
328
  },
176
329
  {
177
- "type": "OnboardItem",
178
- "key": "app_onboard-page4",
330
+ "type": "OnboardButtons",
331
+ "attributes": {
332
+ "buttons_direction": "row",
333
+ "condition": "carousel-index",
334
+ "conditionVariable": 2
335
+ },
179
336
  "children": [
180
337
  {
181
- "type": "OnboardImage",
338
+ "type": "OnboardButton",
182
339
  "attributes": {
183
- "src": "https://vpn111-stage.s3.eu-central-1.amazonaws.com/onboard/high/ede1705c51f3434ae9053ed5f29bf5dd.png",
184
- "height": 400,
185
- "resizeMode": "contain"
340
+ "labelKey": "onboard.skip.three-page",
341
+ "button_text_color": "#0450E2",
342
+ "button_background_color": "#161827",
343
+ "events": [
344
+ {
345
+ "type": "Navigate",
346
+ "navigate_to": null,
347
+ "targetIndex": 3
348
+ }
349
+ ],
350
+ "style": {
351
+ "flex": 1
352
+ }
186
353
  }
187
354
  },
188
355
  {
189
- "type": "OnboardTitle",
190
- "attributes": {
191
- "color": "#F4F5FF"
192
- },
193
- "children": "onboard.title.four-page"
194
- },
195
- {
196
- "type": "OnboardSubtitle",
356
+ "type": "OnboardButton",
197
357
  "attributes": {
198
- "color": "#DBDDEB"
199
- },
200
- "children": "onboard.subtitle.four-page"
358
+ "labelKey": "onboard.next.three-page",
359
+ "button_text_color": "#FFFFFF",
360
+ "button_background_color": "#0450E2",
361
+ "events": [
362
+ {
363
+ "type": "Permission",
364
+ "permission": "rating"
365
+ },
366
+ {
367
+ "type": "Navigate",
368
+ "navigate_to": null,
369
+ "targetIndex": 3
370
+ }
371
+ ],
372
+ "style": {
373
+ "flex": 1
374
+ }
375
+ }
201
376
  }
202
377
  ]
203
- }
204
- ]
205
- },
206
- {
207
- "type": "OnboardDot",
208
- "attributes": {
209
- "dotType": "expanding_dot",
210
- "expanding_dot_width": 20
211
- }
212
- },
213
- {
214
- "type": "OnboardButtons",
215
- "attributes": {
216
- "buttons_direction": "row",
217
- "condition": "carousel-index",
218
- "conditionVariable": 0
219
- },
220
- "children": [
221
- {
222
- "type": "OnboardButton",
223
- "attributes": {
224
- "labelKey": "onboard.skip.one-page",
225
- "button_text_color": "#0450E2",
226
- "button_background_color": "#161827",
227
- "flex": 1,
228
- "events": [
229
- {
230
- "type": "Navigate",
231
- "navigate_to": null,
232
- "targetIndex": 3
233
- }
234
- ]
235
- }
236
- },
237
- {
238
- "type": "OnboardButton",
239
- "attributes": {
240
- "labelKey": "onboard.next.one-page",
241
- "button_text_color": "#FFFFFF",
242
- "button_background_color": "#0450E2",
243
- "flex": 1,
244
- "events": [
245
- {
246
- "type": "Navigate",
247
- "navigate_to": null,
248
- "targetIndex": 1
249
- }
250
- ]
251
- }
252
- }
253
- ]
254
- },
255
- {
256
- "type": "OnboardButtons",
257
- "attributes": {
258
- "buttons_direction": "row",
259
- "condition": "carousel-index",
260
- "conditionVariable": 1
261
- },
262
- "children": [
263
- {
264
- "type": "OnboardButton",
265
- "attributes": {
266
- "labelKey": "onboard.skip.two-page",
267
- "button_text_color": "#0450E2",
268
- "button_background_color": "#161827",
269
- "flex": 1,
270
- "events": [
271
- {
272
- "type": "Navigate",
273
- "navigate_to": null,
274
- "targetIndex": 3
275
- }
276
- ]
277
- }
278
378
  },
279
379
  {
280
- "type": "OnboardButton",
281
- "attributes": {
282
- "labelKey": "onboard.next.two-page",
283
- "button_text_color": "#FFFFFF",
284
- "button_background_color": "#0450E2",
285
- "flex": 1,
286
- "events": [
287
- {
288
- "type": "Navigate",
289
- "navigate_to": null,
290
- "targetIndex": 2
291
- }
292
- ]
293
- }
294
- }
295
- ]
296
- },
297
- {
298
- "type": "OnboardButtons",
299
- "attributes": {
300
- "buttons_direction": "row",
301
- "condition": "carousel-index",
302
- "conditionVariable": 2
303
- },
304
- "children": [
305
- {
306
- "type": "OnboardButton",
380
+ "type": "OnboardButtons",
307
381
  "attributes": {
308
- "labelKey": "onboard.skip.three-page",
309
- "button_text_color": "#0450E2",
310
- "button_background_color": "#161827",
311
- "flex": 1,
312
- "events": [
313
- {
314
- "type": "Navigate",
315
- "navigate_to": null,
316
- "targetIndex": 3
382
+ "buttons_direction": "row",
383
+ "condition": "carousel-index",
384
+ "conditionVariable": 3
385
+ },
386
+ "children": [
387
+ {
388
+ "type": "OnboardButton",
389
+ "attributes": {
390
+ "labelKey": "onboard.allow.four-page",
391
+ "button_text_color": "#FFFFFF",
392
+ "button_background_color": "#0450E2",
393
+ "events": [
394
+ {
395
+ "type": "Permission",
396
+ "permission": "notification"
397
+ },
398
+ {
399
+ "type": "Navigate",
400
+ "navigate_to": "subscriptions"
401
+ }
402
+ ],
403
+ "style": {
404
+ "flex": 1
405
+ }
317
406
  }
318
- ]
319
- }
407
+ }
408
+ ]
320
409
  },
321
410
  {
322
- "type": "OnboardButton",
411
+ "type": "OnboardFooter",
323
412
  "attributes": {
324
- "labelKey": "onboard.next.three-page",
325
- "button_text_color": "#FFFFFF",
326
- "button_background_color": "#0450E2",
327
- "flex": 1,
328
- "events": [
329
- {
330
- "type": "Permission",
331
- "permission": "rating"
332
- },
333
- {
334
- "type": "Navigate",
335
- "navigate_to": null,
336
- "targetIndex": 3
337
- }
338
- ]
339
- }
340
- }
341
- ]
342
- },
343
- {
344
- "type": "OnboardButtons",
345
- "attributes": {
346
- "buttons_direction": "row",
347
- "condition": "carousel-index",
348
- "conditionVariable": 3
349
- },
350
- "children": [
351
- {
352
- "type": "OnboardButton",
353
- "attributes": {
354
- "labelKey": "onboard.allow.four-page",
355
- "button_text_color": "#FFFFFF",
356
- "button_background_color": "#0450E2",
357
- "flex": 1,
358
- "events": [
359
- {
360
- "type": "Permission",
361
- "permission": "notification"
362
- },
363
- {
364
- "type": "Navigate",
365
- "navigate_to": "subscriptions"
366
- }
367
- ]
413
+ "textLocalizationKey": "view.onboarding.footer.description",
414
+ "linkedWordFirstLocalizationKey": "view.onboarding.btnPrivacy",
415
+ "linkedWordFirstColor": "#0450E2",
416
+ "linkedWordFirstPage": "privacy",
417
+ "linkedWordSecondLocalizationKey": "view.onboarding.btnTerms",
418
+ "linkedWordSecondColor": "#0450E2",
419
+ "linkedWordSecondPage": "terms",
420
+ "style": {
421
+ "gap": 8,
422
+ "color": "#81838F"
423
+ }
368
424
  }
369
425
  }
370
- ]
371
- },
372
- {
373
- "type": "OnboardFooter",
426
+ ],
374
427
  "attributes": {
375
- "gap": 8,
376
- "textLocalizationKey": "view.onboarding.footer.description",
377
- "textColor": "#81838F",
378
- "linkedWordFirstLocalizationKey": "view.onboarding.btnPrivacy",
379
- "linkedWordFirstColor": "#0450E2",
380
- "linkedWordFirstPage": "privacy",
381
- "linkedWordSecondLocalizationKey": "view.onboarding.btnTerms",
382
- "linkedWordSecondColor": "#0450E2",
383
- "linkedWordSecondPage": "terms"
428
+ "theme": "dark"
384
429
  }
385
430
  }
386
- ],
387
- "attributes": {
388
- "theme": "dark"
389
- }
390
- }
391
431
  ]
392
432
  }
393
433
  }
@@ -518,7 +518,7 @@ function ColorPickerButton({
518
518
  borderRadius: 6,
519
519
  border: '1px solid #ddd',
520
520
  padding: '8px 10px',
521
- background: '#fff',
521
+ background: 'hsl(var(--card, var(--rb-card, 0 0% 100%)))',
522
522
  cursor: 'pointer',
523
523
  }}
524
524
  >
@@ -50,7 +50,7 @@ export function LayoutPreviewPicker({
50
50
  width: 110,
51
51
  flex: '0 0 auto',
52
52
  border: isActive ? '2px solid #222' : '1px solid #d5d5d5',
53
- background: '#fff',
53
+ background: 'hsl(var(--card, var(--rb-card, 0 0% 100%)))',
54
54
  textAlign: 'left',
55
55
  display: 'flex',
56
56
  flexDirection: 'column',
@@ -94,7 +94,10 @@ function LayoutPreview({
94
94
  const resolved = resolvePreviewContext(mode, option, layoutContext);
95
95
  const isColumn = resolved.flexDirection?.startsWith('column');
96
96
  const resolvedBackground =
97
- viewAttributes?.backgroundColor ?? (isActive ? '#fffdf5' : '#fafafa');
97
+ viewAttributes?.backgroundColor ??
98
+ (isActive
99
+ ? 'hsl(var(--muted, var(--rb-muted, 220 14.3% 95.9%)) / 0.55)'
100
+ : 'hsl(var(--muted, var(--rb-muted, 220 14.3% 95.9%)))');
98
101
  const resolvedGap = parseNumeric(viewAttributes?.gap) ?? 3;
99
102
  const resolvedBorderRadius = parseNumeric(viewAttributes?.borderRadius) ?? 4;
100
103
 
@@ -34,10 +34,13 @@ export type PositionOptionType = 'relative' | 'absolute';
34
34
  export interface BIconPropsGenerated {
35
35
  child: string;
36
36
  attributes: {
37
+ style?: Record<string, unknown>;
37
38
  color?: string;
38
39
  fontSize?: string;
39
40
  fontWeight?: FontWeightOptionType;
40
41
  textAlign?: TextAlignOptionType;
42
+ adjustsFontSizeToFit?: boolean;
43
+ showEllipsis?: boolean;
41
44
  scrollable?: boolean;
42
45
  flexDirection?: FlexDirectionOptionType;
43
46
  alignItems?: AlignItemsOptionType;