@developer_tribe/react-builder 1.0.4 → 1.0.5

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 (499) hide show
  1. package/README.md +6 -0
  2. package/dist/assets/samples/getSamples.d.ts +1 -0
  3. package/dist/background.jpg +0 -0
  4. package/dist/build-components/BIcon/BIcon.d.ts +5 -0
  5. package/dist/build-components/BIcon/BIconProps.generated.d.ts +55 -0
  6. package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +4 -0
  7. package/dist/build-components/Button/ButtonProps.generated.d.ts +4 -0
  8. package/dist/build-components/Carousel/CarouselProps.generated.d.ts +4 -0
  9. package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +4 -0
  10. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +4 -0
  11. package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +4 -0
  12. package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +4 -0
  13. package/dist/build-components/Image/ImageProps.generated.d.ts +4 -0
  14. package/dist/build-components/Main/Main.d.ts +5 -0
  15. package/dist/build-components/Main/MainProps.generated.d.ts +48 -0
  16. package/dist/build-components/Onboard/OnboardProps.generated.d.ts +4 -0
  17. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +4 -0
  18. package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +4 -0
  19. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +4 -0
  20. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +4 -0
  21. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +4 -0
  22. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +4 -0
  23. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +4 -1
  24. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +4 -0
  25. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +4 -0
  26. package/dist/build-components/PaywallBackground/PaywallBackground.d.ts +5 -0
  27. package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +47 -0
  28. package/dist/build-components/PaywallCloseButton/PaywallCloseButton.d.ts +5 -0
  29. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +56 -0
  30. package/dist/build-components/PaywallOptions/PaywallOptionButton.d.ts +9 -0
  31. package/dist/build-components/PaywallOptions/PaywallOptions.d.ts +5 -0
  32. package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +47 -0
  33. package/dist/build-components/PaywallOptions/usePaywallOptionParamsFactory.d.ts +10 -0
  34. package/dist/build-components/PaywallProvider/PaywallProvider.d.ts +5 -0
  35. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +47 -0
  36. package/dist/build-components/PaywallSubscriButton/PaywallSubscriButton.d.ts +5 -0
  37. package/dist/build-components/PaywallSubscriButton/PaywallSubscriButtonProps.generated.d.ts +50 -0
  38. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButton.d.ts +5 -0
  39. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +50 -0
  40. package/dist/build-components/RadioButton/RadioButton.d.ts +11 -0
  41. package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +50 -0
  42. package/dist/build-components/RenderNode.generated.d.ts +1 -1
  43. package/dist/build-components/Text/TextProps.generated.d.ts +4 -0
  44. package/dist/build-components/View/ViewProps.generated.d.ts +4 -0
  45. package/dist/build-components/index.d.ts +10 -1
  46. package/dist/build-components/patterns.generated.d.ts +4831 -661
  47. package/dist/components/AttributesEditorPanel.d.ts +2 -1
  48. package/dist/components/Builder.d.ts +1 -1
  49. package/dist/components/BuilderButton.d.ts +1 -1
  50. package/dist/components/BuilderProvider.d.ts +15 -0
  51. package/dist/components/EditorHeader.d.ts +1 -1
  52. package/dist/components/Icon.generated.d.ts +11 -0
  53. package/dist/components/LocalizationParamsProvider.d.ts +11 -0
  54. package/dist/components/ParamsProvider.d.ts +14 -0
  55. package/dist/hooks/useLocalizationParams.d.ts +1 -0
  56. package/dist/hooks/useLocalize.d.ts +2 -0
  57. package/dist/hooks/useParams.d.ts +1 -0
  58. package/dist/hooks/useSafeAreaViewStyle.d.ts +1 -0
  59. package/dist/index.cjs.js +5 -5
  60. package/dist/index.cjs.js.map +1 -1
  61. package/dist/index.d.ts +8 -0
  62. package/dist/index.esm.js +5 -5
  63. package/dist/index.esm.js.map +1 -1
  64. package/dist/index.native.cjs.js +29 -0
  65. package/dist/index.native.cjs.js.map +1 -0
  66. package/dist/index.native.d.ts +31 -0
  67. package/dist/index.native.esm.js +29 -0
  68. package/dist/index.native.esm.js.map +1 -0
  69. package/dist/mockOS/components/MockOSRouter.d.ts +1 -1
  70. package/dist/mockOS/context/MockOSContext.d.ts +4 -18
  71. package/dist/mockOS/context/MockOSContextBase.d.ts +21 -0
  72. package/dist/mockOS/index.d.ts +3 -2
  73. package/dist/modals/BenefitEditModal.d.ts +13 -0
  74. package/dist/modals/BenefitPresetsModal.d.ts +9 -0
  75. package/dist/modals/IconPickerModal.d.ts +9 -0
  76. package/dist/modals/MockableFeatureModal.d.ts +6 -0
  77. package/dist/modals/ProductEditModal.d.ts +9 -0
  78. package/dist/modals/ProductPresetsModal.d.ts +9 -0
  79. package/dist/modals/index.d.ts +6 -0
  80. package/dist/pages/ProjectPage.d.ts +3 -2
  81. package/dist/pages/tabs/BuilderPanel.d.ts +1 -1
  82. package/dist/pages/tabs/SideTool.d.ts +1 -1
  83. package/dist/paywall/hooks/index.d.ts +5 -0
  84. package/dist/paywall/hooks/useCalculateLocalizedPrice.d.ts +4 -0
  85. package/dist/paywall/hooks/useCarouselOptionsSeperator.d.ts +6 -0
  86. package/dist/paywall/hooks/useCloseStatusPaywall.d.ts +4 -0
  87. package/dist/paywall/hooks/useDiscountRate.d.ts +4 -0
  88. package/dist/paywall/hooks/usePaywallCounter.d.ts +4 -0
  89. package/dist/paywall/types/benefits.d.ts +14 -0
  90. package/dist/paywall/types/paywall-types.d.ts +43 -0
  91. package/dist/store.d.ts +29 -1
  92. package/dist/styles.css +1 -1
  93. package/dist/types/Icons.d.ts +2 -0
  94. package/dist/types/Project.d.ts +5 -0
  95. package/dist/utils/analyseNode.d.ts +1 -4
  96. package/dist/utils/analyseNodeByPatterns.d.ts +16 -0
  97. package/dist/utils/analyseNodeStructural.d.ts +11 -0
  98. package/dist/utils/findNodeByKeyNested.d.ts +2 -0
  99. package/dist/utils/nodeGuards.d.ts +5 -0
  100. package/dist/utils/novaToJson.d.ts +5 -0
  101. package/dist/utils/patterns.d.ts +14 -0
  102. package/dist/utils/replaceLocalizationParams.d.ts +1 -0
  103. package/package.json +33 -3
  104. package/scripts/prebuild/assets/icon.template +71 -0
  105. package/scripts/prebuild/build-components.js +5 -0
  106. package/scripts/prebuild/icon-generator.js +206 -0
  107. package/scripts/prebuild/prebuild.js +10 -1
  108. package/scripts/prebuild/utils/createComponentTsx.js +6 -3
  109. package/scripts/prebuild/utils/createGeneratedProps.js +4 -2
  110. package/scripts/prebuild/utils/createRenderNodeGenerated.js +43 -8
  111. package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +20 -9
  112. package/scripts/prebuild/utils/validatePatternJson.js +3 -2
  113. package/src/AttributesEditor.tsx +178 -34
  114. package/src/DeviceMockFrame.tsx +41 -43
  115. package/src/RenderPage.tsx +8 -49
  116. package/src/assets/benefits.json +24 -0
  117. package/src/assets/iconset/activity-heart.svg +3 -0
  118. package/src/assets/iconset/activity.svg +3 -0
  119. package/src/assets/iconset/alert-circle.svg +3 -0
  120. package/src/assets/iconset/alert-triangle.svg +3 -0
  121. package/src/assets/iconset/anchor.svg +3 -0
  122. package/src/assets/iconset/archive.svg +3 -0
  123. package/src/assets/iconset/arrow-down.svg +3 -0
  124. package/src/assets/iconset/arrow-left.svg +3 -0
  125. package/src/assets/iconset/arrow-narrow-down-left.svg +3 -0
  126. package/src/assets/iconset/arrow-narrow-up-right.svg +3 -0
  127. package/src/assets/iconset/arrow-right-smooth.svg +4 -0
  128. package/src/assets/iconset/arrow-right.svg +7 -0
  129. package/src/assets/iconset/asterisk-01.svg +3 -0
  130. package/src/assets/iconset/asterisk-02.svg +3 -0
  131. package/src/assets/iconset/at-sign.svg +3 -0
  132. package/src/assets/iconset/award.svg +4 -0
  133. package/src/assets/iconset/battery-charging.svg +6 -0
  134. package/src/assets/iconset/bell-01.svg +5 -0
  135. package/src/assets/iconset/bell-02.svg +3 -0
  136. package/src/assets/iconset/bell-ringing-02.svg +3 -0
  137. package/src/assets/iconset/bookmark-add.svg +3 -0
  138. package/src/assets/iconset/bookmark-check.svg +3 -0
  139. package/src/assets/iconset/bookmark-minus.svg +3 -0
  140. package/src/assets/iconset/bookmark-x.svg +3 -0
  141. package/src/assets/iconset/bookmark.svg +3 -0
  142. package/src/assets/iconset/bubble.svg +5 -0
  143. package/src/assets/iconset/building-01.svg +3 -0
  144. package/src/assets/iconset/building-02.svg +3 -0
  145. package/src/assets/iconset/building-03.svg +3 -0
  146. package/src/assets/iconset/building-04.svg +3 -0
  147. package/src/assets/iconset/building-05.svg +3 -0
  148. package/src/assets/iconset/building-06.svg +3 -0
  149. package/src/assets/iconset/building-07.svg +3 -0
  150. package/src/assets/iconset/building-08.svg +3 -0
  151. package/src/assets/iconset/building-09.svg +3 -0
  152. package/src/assets/iconset/camera-01.svg +8 -0
  153. package/src/assets/iconset/camera-steel.svg +4 -0
  154. package/src/assets/iconset/camera.svg +4 -0
  155. package/src/assets/iconset/check-circle-bold.svg +3 -0
  156. package/src/assets/iconset/check-circle-broken.svg +3 -0
  157. package/src/assets/iconset/check-circle.svg +3 -0
  158. package/src/assets/iconset/check-done-01.svg +3 -0
  159. package/src/assets/iconset/check-done-02.svg +3 -0
  160. package/src/assets/iconset/check-heart.svg +3 -0
  161. package/src/assets/iconset/check-square-broken.svg +3 -0
  162. package/src/assets/iconset/check-square.svg +3 -0
  163. package/src/assets/iconset/check-verified-01.svg +3 -0
  164. package/src/assets/iconset/check-verified-02.svg +3 -0
  165. package/src/assets/iconset/check-verified-03.svg +3 -0
  166. package/src/assets/iconset/check.svg +3 -0
  167. package/src/assets/iconset/checkbox.svg +4 -0
  168. package/src/assets/iconset/checkv.svg +3 -0
  169. package/src/assets/iconset/chevron-down.svg +3 -0
  170. package/src/assets/iconset/chevron-down2.svg +3 -0
  171. package/src/assets/iconset/chevron-left-2.svg +3 -0
  172. package/src/assets/iconset/chevron-left.svg +3 -0
  173. package/src/assets/iconset/chevron-right-empty.svg +3 -0
  174. package/src/assets/iconset/chevron-right-smooth.svg +3 -0
  175. package/src/assets/iconset/chevron-right.svg +3 -0
  176. package/src/assets/iconset/chevron-up.svg +3 -0
  177. package/src/assets/iconset/circle.svg +32 -0
  178. package/src/assets/iconset/clock-fast-forward.svg +10 -0
  179. package/src/assets/iconset/clock.svg +3 -0
  180. package/src/assets/iconset/close-circle.svg +3 -0
  181. package/src/assets/iconset/close.svg +3 -0
  182. package/src/assets/iconset/cloud-01.svg +5 -0
  183. package/src/assets/iconset/cloud-blank-01.svg +3 -0
  184. package/src/assets/iconset/cloud-blank-02.svg +3 -0
  185. package/src/assets/iconset/coin.svg +5 -0
  186. package/src/assets/iconset/coins-02.svg +3 -0
  187. package/src/assets/iconset/colors.svg +3 -0
  188. package/src/assets/iconset/copy-01.svg +3 -0
  189. package/src/assets/iconset/copy-02.svg +3 -0
  190. package/src/assets/iconset/copy-03.svg +3 -0
  191. package/src/assets/iconset/copy-04.svg +3 -0
  192. package/src/assets/iconset/copy-05.svg +3 -0
  193. package/src/assets/iconset/copy-06.svg +3 -0
  194. package/src/assets/iconset/copy-07.svg +3 -0
  195. package/src/assets/iconset/corner-down-right.svg +3 -0
  196. package/src/assets/iconset/crypto-bold.svg +4 -0
  197. package/src/assets/iconset/delete-icon.svg +5 -0
  198. package/src/assets/iconset/diamond.svg +3 -0
  199. package/src/assets/iconset/dice-3.svg +3 -0
  200. package/src/assets/iconset/divide-01.svg +3 -0
  201. package/src/assets/iconset/divide-02.svg +3 -0
  202. package/src/assets/iconset/divide-03.svg +3 -0
  203. package/src/assets/iconset/document-check-bold.svg +4 -0
  204. package/src/assets/iconset/dots-circle.svg +10 -0
  205. package/src/assets/iconset/dots-grid.svg +11 -0
  206. package/src/assets/iconset/dots-horizontal.svg +5 -0
  207. package/src/assets/iconset/dots-vertical.svg +5 -0
  208. package/src/assets/iconset/download-01.svg +3 -0
  209. package/src/assets/iconset/download-02.svg +3 -0
  210. package/src/assets/iconset/download-03.svg +3 -0
  211. package/src/assets/iconset/edit-03.svg +3 -0
  212. package/src/assets/iconset/edit-04.svg +3 -0
  213. package/src/assets/iconset/edit-05.svg +3 -0
  214. package/src/assets/iconset/element-3.svg +6 -0
  215. package/src/assets/iconset/ellipse-127.svg +3 -0
  216. package/src/assets/iconset/exclaimation-circle.svg +8 -0
  217. package/src/assets/iconset/eye-off-line.svg +5 -0
  218. package/src/assets/iconset/face-smile.svg +5 -0
  219. package/src/assets/iconset/file-04.svg +3 -0
  220. package/src/assets/iconset/file-05.svg +3 -0
  221. package/src/assets/iconset/file-check-02.svg +3 -0
  222. package/src/assets/iconset/file-plus-01.svg +5 -0
  223. package/src/assets/iconset/file-shield-02.svg +5 -0
  224. package/src/assets/iconset/filter-funnel-01.svg +3 -0
  225. package/src/assets/iconset/flag-03.svg +3 -0
  226. package/src/assets/iconset/flash.svg +3 -0
  227. package/src/assets/iconset/folder-plus.svg +3 -0
  228. package/src/assets/iconset/folder.svg +3 -0
  229. package/src/assets/iconset/gallery.svg +3 -0
  230. package/src/assets/iconset/globe-01.svg +3 -0
  231. package/src/assets/iconset/globe-04.svg +5 -0
  232. package/src/assets/iconset/globe-bold.svg +4 -0
  233. package/src/assets/iconset/guard.svg +3 -0
  234. package/src/assets/iconset/headphones-01.svg +3 -0
  235. package/src/assets/iconset/headphones-02.svg +5 -0
  236. package/src/assets/iconset/headset-bold.svg +4 -0
  237. package/src/assets/iconset/heart-bold.svg +3 -0
  238. package/src/assets/iconset/heart.svg +3 -0
  239. package/src/assets/iconset/help-circle.svg +5 -0
  240. package/src/assets/iconset/home-2.svg +4 -0
  241. package/src/assets/iconset/home-line.svg +3 -0
  242. package/src/assets/iconset/hourglass-02.svg +5 -0
  243. package/src/assets/iconset/image-01.svg +5 -0
  244. package/src/assets/iconset/image-03.svg +3 -0
  245. package/src/assets/iconset/image.svg +4 -0
  246. package/src/assets/iconset/inbox-01.svg +3 -0
  247. package/src/assets/iconset/inbox-arrow-down.svg +3 -0
  248. package/src/assets/iconset/info-circle.svg +3 -0
  249. package/src/assets/iconset/keyboard-line.svg +9 -0
  250. package/src/assets/iconset/lamp-charge.svg +5 -0
  251. package/src/assets/iconset/layer.svg +3 -0
  252. package/src/assets/iconset/light.svg +6 -0
  253. package/src/assets/iconset/like-dislike.svg +6 -0
  254. package/src/assets/iconset/lock-03.svg +3 -0
  255. package/src/assets/iconset/logout.svg +3 -0
  256. package/src/assets/iconset/magicpen.svg +7 -0
  257. package/src/assets/iconset/mail-01.svg +5 -0
  258. package/src/assets/iconset/mail.svg +3 -0
  259. package/src/assets/iconset/marker.svg +3 -0
  260. package/src/assets/iconset/medal-star.svg +5 -0
  261. package/src/assets/iconset/menu-04.svg +3 -0
  262. package/src/assets/iconset/menu.svg +5 -0
  263. package/src/assets/iconset/message-circle-01.svg +5 -0
  264. package/src/assets/iconset/message-plus-circle.svg +3 -0
  265. package/src/assets/iconset/message-question-circle.svg +5 -0
  266. package/src/assets/iconset/message-text-circle-01.svg +5 -0
  267. package/src/assets/iconset/message-text-square-02.svg +3 -0
  268. package/src/assets/iconset/message-x-square.svg +3 -0
  269. package/src/assets/iconset/microphone-02.svg +3 -0
  270. package/src/assets/iconset/microphone-slash.svg +8 -0
  271. package/src/assets/iconset/mirror.svg +4 -0
  272. package/src/assets/iconset/moon-01.svg +3 -0
  273. package/src/assets/iconset/moon-bold.svg +3 -0
  274. package/src/assets/iconset/mouse-circle.svg +4 -0
  275. package/src/assets/iconset/move.svg +5 -0
  276. package/src/assets/iconset/notification-fill.svg +3 -0
  277. package/src/assets/iconset/notification-text.svg +3 -0
  278. package/src/assets/iconset/notification.svg +5 -0
  279. package/src/assets/iconset/pdf-01.svg +6 -0
  280. package/src/assets/iconset/pencil-01.svg +5 -0
  281. package/src/assets/iconset/phone-01.svg +3 -0
  282. package/src/assets/iconset/phone-arrow-down-left.svg +4 -0
  283. package/src/assets/iconset/phone-arrow-up-right.svg +8 -0
  284. package/src/assets/iconset/phone-hang-up.svg +5 -0
  285. package/src/assets/iconset/phone-hangup2.svg +8 -0
  286. package/src/assets/iconset/phone-incoming-01.svg +3 -0
  287. package/src/assets/iconset/phone-outgoing-01.svg +3 -0
  288. package/src/assets/iconset/phone-plus.svg +3 -0
  289. package/src/assets/iconset/phone-x.svg +3 -0
  290. package/src/assets/iconset/phone.svg +3 -0
  291. package/src/assets/iconset/plus-circle.svg +3 -0
  292. package/src/assets/iconset/plus.svg +4 -0
  293. package/src/assets/iconset/printer.svg +3 -0
  294. package/src/assets/iconset/question-mark-circle.svg +5 -0
  295. package/src/assets/iconset/refresh-ccw-01.svg +3 -0
  296. package/src/assets/iconset/refresh-cw-01.svg +3 -0
  297. package/src/assets/iconset/refresh-cw-04.svg +3 -0
  298. package/src/assets/iconset/refresh-right-square-bold.svg +3 -0
  299. package/src/assets/iconset/remove-circle.svg +12 -0
  300. package/src/assets/iconset/repeat-04.svg +3 -0
  301. package/src/assets/iconset/repeat-bold.svg +3 -0
  302. package/src/assets/iconset/ruler-pen.svg +4 -0
  303. package/src/assets/iconset/search-lg.svg +3 -0
  304. package/src/assets/iconset/search-md.svg +5 -0
  305. package/src/assets/iconset/search-refraction.svg +5 -0
  306. package/src/assets/iconset/search.svg +3 -0
  307. package/src/assets/iconset/send-01.svg +3 -0
  308. package/src/assets/iconset/send-02.svg +5 -0
  309. package/src/assets/iconset/send-diagonal.svg +3 -0
  310. package/src/assets/iconset/setting-2.svg +4 -0
  311. package/src/assets/iconset/settings-02.svg +4 -0
  312. package/src/assets/iconset/settings-04.svg +5 -0
  313. package/src/assets/iconset/settings-2.svg +4 -0
  314. package/src/assets/iconset/settings-cog.svg +3 -0
  315. package/src/assets/iconset/settings.svg +4 -0
  316. package/src/assets/iconset/share-01.svg +4 -0
  317. package/src/assets/iconset/share-03.svg +3 -0
  318. package/src/assets/iconset/share-04.svg +3 -0
  319. package/src/assets/iconset/share-05.svg +5 -0
  320. package/src/assets/iconset/share-06.svg +3 -0
  321. package/src/assets/iconset/share-bold.svg +3 -0
  322. package/src/assets/iconset/shield-01.svg +3 -0
  323. package/src/assets/iconset/shield-bold.svg +3 -0
  324. package/src/assets/iconset/solar-check.svg +3 -0
  325. package/src/assets/iconset/speaker-wave.svg +9 -0
  326. package/src/assets/iconset/speaker.svg +5 -0
  327. package/src/assets/iconset/speedometer-03.svg +3 -0
  328. package/src/assets/iconset/star-rounded.svg +3 -0
  329. package/src/assets/iconset/star.svg +3 -0
  330. package/src/assets/iconset/sun.svg +5 -0
  331. package/src/assets/iconset/target-03.svg +3 -0
  332. package/src/assets/iconset/text-input.svg +3 -0
  333. package/src/assets/iconset/translate.svg +7 -0
  334. package/src/assets/iconset/trash-02.svg +3 -0
  335. package/src/assets/iconset/trash-03.svg +5 -0
  336. package/src/assets/iconset/trash-04.svg +3 -0
  337. package/src/assets/iconset/trash.svg +7 -0
  338. package/src/assets/iconset/trush-square-bold.svg +3 -0
  339. package/src/assets/iconset/unlimited.svg +3 -0
  340. package/src/assets/iconset/user-circle.svg +3 -0
  341. package/src/assets/iconset/user-jogging.svg +3 -0
  342. package/src/assets/iconset/user-plus-01.svg +5 -0
  343. package/src/assets/iconset/user-square.svg +5 -0
  344. package/src/assets/iconset/user-x-01.svg +5 -0
  345. package/src/assets/iconset/user-x-02.svg +3 -0
  346. package/src/assets/iconset/user2.svg +3 -0
  347. package/src/assets/iconset/users-02.svg +5 -0
  348. package/src/assets/iconset/users-speaker.svg +7 -0
  349. package/src/assets/iconset/verify.svg +3 -0
  350. package/src/assets/iconset/voice-cricle.svg +8 -0
  351. package/src/assets/iconset/x-circle.svg +3 -0
  352. package/src/assets/iconset/x-close.svg +3 -0
  353. package/src/assets/iconset/x-sm.svg +3 -0
  354. package/src/assets/iconset/zap.svg +3 -0
  355. package/src/assets/images/background.jpg +0 -0
  356. package/src/assets/loading_animation.json +1 -0
  357. package/src/assets/products.json +98 -0
  358. package/src/assets/samples/carousel-sample.json +1 -0
  359. package/src/assets/samples/getSamples.ts +39 -66
  360. package/src/assets/samples/paywall-1.json +220 -0
  361. package/src/assets/samples/simple-1.json +1 -0
  362. package/src/assets/samples/simple-2.json +1 -0
  363. package/src/assets/samples/vpn-onboard-1.json +324 -720
  364. package/src/assets/samples/vpn-onboard-2.json +299 -683
  365. package/src/assets/samples/vpn-onboard-3.json +270 -680
  366. package/src/assets/samples/vpn-onboard-4.json +270 -681
  367. package/src/assets/samples/vpn-onboard-5.json +408 -893
  368. package/src/assets/samples/vpn-onboard-6.json +279 -594
  369. package/src/attributes-editor/SpecialCategorySection.tsx +1 -1
  370. package/src/build-components/BIcon/BIcon.tsx +56 -0
  371. package/src/build-components/BIcon/BIconProps.generated.ts +82 -0
  372. package/src/build-components/BIcon/pattern.json +47 -0
  373. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +4 -0
  374. package/src/build-components/BackgroundImage/pattern.json +2 -2
  375. package/src/build-components/Button/Button.tsx +14 -1
  376. package/src/build-components/Button/ButtonProps.generated.ts +4 -0
  377. package/src/build-components/Button/pattern.json +4 -1
  378. package/src/build-components/Carousel/CarouselProps.generated.ts +4 -0
  379. package/src/build-components/Carousel/pattern.json +2 -2
  380. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +4 -0
  381. package/src/build-components/CarouselButtons/pattern.json +1 -1
  382. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +4 -0
  383. package/src/build-components/CarouselDots/pattern.json +1 -1
  384. package/src/build-components/CarouselItem/CarouselItem.tsx +1 -1
  385. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +4 -0
  386. package/src/build-components/CarouselItem/pattern.json +1 -1
  387. package/src/build-components/CarouselProvider/CarouselProvider.tsx +1 -1
  388. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +4 -0
  389. package/src/build-components/CarouselProvider/pattern.json +1 -1
  390. package/src/build-components/Image/ImageProps.generated.ts +4 -0
  391. package/src/build-components/Image/pattern.json +1 -1
  392. package/src/build-components/Main/Main.tsx +61 -0
  393. package/src/build-components/Main/MainProps.generated.ts +64 -0
  394. package/src/build-components/Main/pattern.json +35 -0
  395. package/src/build-components/Onboard/OnboardProps.generated.ts +4 -0
  396. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +4 -0
  397. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +4 -0
  398. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +4 -0
  399. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +4 -0
  400. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +4 -0
  401. package/src/build-components/OnboardItem/OnboardItem.tsx +1 -1
  402. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +4 -0
  403. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +4 -1
  404. package/src/build-components/OnboardProvider/pattern.json +6 -16
  405. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +4 -0
  406. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +4 -0
  407. package/src/build-components/PaywallBackground/PaywallBackground.tsx +47 -0
  408. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +63 -0
  409. package/src/build-components/PaywallBackground/pattern.json +16 -0
  410. package/src/build-components/PaywallCloseButton/PaywallCloseButton.tsx +62 -0
  411. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +83 -0
  412. package/src/build-components/PaywallCloseButton/pattern.json +23 -0
  413. package/src/build-components/PaywallOptions/PaywallOptionButton.tsx +64 -0
  414. package/src/build-components/PaywallOptions/PaywallOptions.tsx +92 -0
  415. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +63 -0
  416. package/src/build-components/PaywallOptions/pattern.json +22 -0
  417. package/src/build-components/PaywallOptions/usePaywallOptionParamsFactory.ts +42 -0
  418. package/src/build-components/PaywallProvider/PaywallProvider.tsx +78 -0
  419. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +63 -0
  420. package/src/build-components/PaywallProvider/pattern.json +24 -0
  421. package/src/build-components/PaywallSubscriButton/PaywallSubscriButton.tsx +10 -0
  422. package/src/build-components/PaywallSubscriButton/PaywallSubscriButtonProps.generated.ts +77 -0
  423. package/src/build-components/PaywallSubscriButton/pattern.json +27 -0
  424. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButton.tsx +60 -0
  425. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +77 -0
  426. package/src/build-components/PaywallSubscribeButton/pattern.json +27 -0
  427. package/src/build-components/RadioButton/RadioButton.tsx +123 -0
  428. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +66 -0
  429. package/src/build-components/RadioButton/pattern.json +42 -0
  430. package/src/build-components/RenderNode.generated.tsx +140 -37
  431. package/src/build-components/Text/Text.tsx +3 -3
  432. package/src/build-components/Text/TextProps.generated.ts +4 -0
  433. package/src/build-components/Text/pattern.json +1 -1
  434. package/src/build-components/View/ViewProps.generated.ts +4 -0
  435. package/src/build-components/View/pattern.json +42 -4
  436. package/src/build-components/index.ts +55 -10
  437. package/src/build-components/patterns.generated.ts +4909 -706
  438. package/src/components/AttributesEditorPanel.tsx +3 -1
  439. package/src/components/Builder.tsx +3 -5
  440. package/src/components/BuilderButton.tsx +2 -7
  441. package/src/components/BuilderProvider.tsx +45 -0
  442. package/src/components/DeviceNavigationBar.tsx +1 -1
  443. package/src/components/EditorHeader.tsx +4 -1
  444. package/src/components/Icon.generated.tsx +540 -0
  445. package/src/components/LocalizationParamsProvider.tsx +22 -0
  446. package/src/components/ParamsProvider.tsx +38 -0
  447. package/src/hooks/useLocalizationParams.ts +5 -0
  448. package/src/hooks/useLocalize.ts +23 -0
  449. package/src/hooks/useParams.ts +8 -0
  450. package/src/hooks/useSafeAreaViewStyle.ts +67 -0
  451. package/src/index.native.ts +75 -0
  452. package/src/index.ts +26 -0
  453. package/src/mockOS/components/MockOSRouter.tsx +9 -14
  454. package/src/mockOS/context/MockOSContext.tsx +12 -36
  455. package/src/mockOS/context/MockOSContextBase.ts +35 -0
  456. package/src/mockOS/index.ts +3 -2
  457. package/src/modals/AddComponentModal.tsx +1 -0
  458. package/src/modals/BenefitEditModal.tsx +160 -0
  459. package/src/modals/BenefitPresetsModal.tsx +166 -0
  460. package/src/modals/IconPickerModal.tsx +109 -0
  461. package/src/modals/MockableFeatureModal.tsx +292 -0
  462. package/src/modals/ProductEditModal.tsx +215 -0
  463. package/src/modals/ProductPresetsModal.tsx +151 -0
  464. package/src/modals/index.ts +6 -0
  465. package/src/pages/ProjectPage.tsx +72 -15
  466. package/src/pages/tabs/BuilderPanel.tsx +1 -1
  467. package/src/pages/tabs/SideTool.tsx +3 -10
  468. package/src/paywall/hooks/index.ts +5 -0
  469. package/src/paywall/hooks/useCalculateLocalizedPrice.ts +6 -0
  470. package/src/paywall/hooks/useCarouselOptionsSeperator.ts +8 -0
  471. package/src/paywall/hooks/useCloseStatusPaywall.ts +6 -0
  472. package/src/paywall/hooks/useDiscountRate.ts +6 -0
  473. package/src/paywall/hooks/usePaywallCounter.ts +6 -0
  474. package/src/paywall/types/benefits.ts +44 -0
  475. package/src/paywall/types/paywall-types.ts +51 -0
  476. package/src/store.ts +155 -41
  477. package/src/styles/base/_global.scss +49 -41
  478. package/src/styles/components/_attributes-editor.scss +40 -5
  479. package/src/styles/components/_editor-shell.scss +5 -11
  480. package/src/styles/components/_ui-components.scss +2 -1
  481. package/src/styles/index.scss +5 -0
  482. package/src/styles/modals/_benefit-edit-modal.scss +17 -0
  483. package/src/styles/modals/_benefit-presets-modal.scss +79 -0
  484. package/src/styles/modals/_mockable-feature-modal.scss +15 -0
  485. package/src/styles/modals/_product-edit-modal.scss +23 -0
  486. package/src/styles/modals/_product-presets-modal.scss +81 -0
  487. package/src/types/Icons.ts +244 -0
  488. package/src/types/Project.ts +5 -0
  489. package/src/types/jest-globals.d.ts +13 -0
  490. package/src/utils/analyseNode.ts +22 -109
  491. package/src/utils/analyseNodeByPatterns.ts +438 -0
  492. package/src/utils/analyseNodeStructural.ts +52 -0
  493. package/src/utils/extractViewStyle.ts +19 -0
  494. package/src/utils/findNodeByKeyNested.ts +32 -0
  495. package/src/utils/isCarousel.ts +21 -5
  496. package/src/utils/nodeGuards.ts +26 -0
  497. package/src/utils/novaToJson.ts +21 -9
  498. package/src/utils/patterns.ts +62 -3
  499. package/src/utils/replaceLocalizationParams.ts +15 -0
@@ -0,0 +1,8 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M6 14.8901C5.59 14.8901 5.25 14.5501 5.25 14.1401V9.8501C5.25 9.4401 5.59 9.1001 6 9.1001C6.41 9.1001 6.75 9.4401 6.75 9.8501V14.1401C6.75 14.5601 6.41 14.8901 6 14.8901Z" fill="#12131A"/>
3
+ <path d="M9 16.3197C8.59 16.3197 8.25 15.9797 8.25 15.5697V8.42969C8.25 8.01969 8.59 7.67969 9 7.67969C9.41 7.67969 9.75 8.01969 9.75 8.42969V15.5697C9.75 15.9897 9.41 16.3197 9 16.3197Z" fill="#12131A"/>
4
+ <path d="M12 17.75C11.59 17.75 11.25 17.41 11.25 17V7C11.25 6.59 11.59 6.25 12 6.25C12.41 6.25 12.75 6.59 12.75 7V17C12.75 17.41 12.41 17.75 12 17.75Z" fill="#12131A"/>
5
+ <path d="M15 16.3197C14.59 16.3197 14.25 15.9797 14.25 15.5697V8.42969C14.25 8.01969 14.59 7.67969 15 7.67969C15.41 7.67969 15.75 8.01969 15.75 8.42969V15.5697C15.75 15.9897 15.41 16.3197 15 16.3197Z" fill="#12131A"/>
6
+ <path d="M18 14.8901C17.59 14.8901 17.25 14.5501 17.25 14.1401V9.8501C17.25 9.4401 17.59 9.1001 18 9.1001C18.41 9.1001 18.75 9.4401 18.75 9.8501V14.1401C18.75 14.5601 18.41 14.8901 18 14.8901Z" fill="#12131A"/>
7
+ <path d="M12 22.75C6.07 22.75 1.25 17.93 1.25 12C1.25 6.07 6.07 1.25 12 1.25C17.93 1.25 22.75 6.07 22.75 12C22.75 17.93 17.93 22.75 12 22.75ZM12 2.75C6.9 2.75 2.75 6.9 2.75 12C2.75 17.1 6.9 21.25 12 21.25C17.1 21.25 21.25 17.1 21.25 12C21.25 6.9 17.1 2.75 12 2.75Z" fill="#12131A"/>
8
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M15 9L9 15M9 9L15 15M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" stroke="#000" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M18 6L6 18M6 6L18 18" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="12" height="12" viewBox="0 0 12 12" stroke="black" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M11 1L1 11M1 1L11 11" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="20" height="22" viewBox="0 0 20 22" fill="none" stroke="#000" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M10.9999 1L2.09332 11.6879C1.74451 12.1064 1.57011 12.3157 1.56744 12.4925C1.56512 12.6461 1.63359 12.7923 1.75312 12.8889C1.89061 13 2.16304 13 2.7079 13H9.99986L8.99986 21L17.9064 10.3121C18.2552 9.89358 18.4296 9.68429 18.4323 9.50754C18.4346 9.35388 18.3661 9.2077 18.2466 9.11111C18.1091 9 17.8367 9 17.2918 9H9.99986L10.9999 1Z" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
Binary file
@@ -0,0 +1 @@
1
+ {"v":"5.6.10","fr":30,"ip":30,"op":210,"w":800,"h":600,"nm":"合成 1","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"形状图层 18","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":340,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"t":30,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":121,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"形状图层 17","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":320,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":10,"s":[0]},{"t":40,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":121,"st":10,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"形状图层 16","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":300,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[0]},{"t":50,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":121,"st":20,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"形状图层 15","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":280,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[0]},{"t":60,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":121,"st":30,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"形状图层 14","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":260,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":40,"s":[0]},{"t":70,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":121,"st":40,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"形状图层 13","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":240,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":50,"s":[0]},{"t":80,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":121,"st":50,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"形状图层 12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":220,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[0]},{"t":90,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181,"st":60,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"形状图层 11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":200,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":70,"s":[0]},{"t":100,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181,"st":70,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"形状图层 10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":180,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":80,"s":[0]},{"t":110,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181,"st":80,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"形状图层 9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":160,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[0]},{"t":120,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181,"st":90,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"形状图层 8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":140,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":100,"s":[0]},{"t":130,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181,"st":100,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"形状图层 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":120,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":110,"s":[0]},{"t":140,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":181,"st":110,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"形状图层 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":100,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":120,"s":[0]},{"t":150,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":78,"op":420,"st":120,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"形状图层 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":80,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[0]},{"t":160,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":78,"op":430,"st":130,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"形状图层 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":60,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":140,"s":[0]},{"t":170,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":78,"op":440,"st":140,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"形状图层 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":40,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":150,"s":[0]},{"t":180,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":78,"op":450,"st":150,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"形状图层 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":20,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":160,"s":[0]},{"t":190,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":78,"op":460,"st":160,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"形状图层 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":170,"s":[0]},{"t":200,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":78,"op":470,"st":170,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"形状图层 24","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":340,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":180,"s":[0]},{"t":210,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":301,"st":180,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"形状图层 23","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":320,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":190,"s":[0]},{"t":220,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":301,"st":190,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"形状图层 22","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":300,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":200,"s":[0]},{"t":230,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":301,"st":200,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"形状图层 21","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":280,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":210,"s":[0]},{"t":240,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":301,"st":210,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"形状图层 20","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":260,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":220,"s":[0]},{"t":250,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":301,"st":220,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"形状图层 19","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":240,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[1.258,2.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":5,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":230,"s":[0]},{"t":260,"s":[120]}],"ix":3},"m":1,"ix":2,"nm":"修剪路径 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.09019607843137255,0.3843137254901961,0.8745098039215686,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":40,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[1.258,2.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":180,"op":301,"st":230,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"预合成 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,300,0],"ix":2},"a":{"a":0,"k":[400,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"简单阻塞工具","np":4,"mn":"ADBE Simple Choker","ix":1,"en":1,"ef":[{"ty":7,"nm":"视图","mn":"ADBE Simple Choker-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"阻塞遮罩","mn":"ADBE Simple Choker-0002","ix":2,"v":{"a":0,"k":14,"ix":2}}]},{"ty":5,"nm":"梯度渐变","np":10,"mn":"ADBE Ramp","ix":2,"en":1,"ef":[{"ty":3,"nm":"渐变起点","mn":"ADBE Ramp-0001","ix":1,"v":{"a":0,"k":[400,0],"ix":1}},{"ty":2,"nm":"起始颜色","mn":"ADBE Ramp-0002","ix":2,"v":{"a":0,"k":[0.263066768646,1,0.867243647575,1],"ix":2}},{"ty":3,"nm":"渐变终点","mn":"ADBE Ramp-0003","ix":3,"v":{"a":0,"k":[400,600],"ix":3}},{"ty":2,"nm":"结束颜色","mn":"ADBE Ramp-0004","ix":4,"v":{"a":0,"k":[0.354580283165,1,0.820018112659,1],"ix":4}},{"ty":7,"nm":"渐变形状","mn":"ADBE Ramp-0005","ix":5,"v":{"a":0,"k":1,"ix":5}},{"ty":0,"nm":"渐变散射","mn":"ADBE Ramp-0006","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"与原始图像混合","mn":"ADBE Ramp-0007","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":6,"nm":"","mn":"ADBE Ramp-0008","ix":8,"v":0}]}],"w":800,"h":600,"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"预合成 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":56,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[400,320,0],"ix":2},"a":{"a":0,"k":[400,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"简单阻塞工具","np":4,"mn":"ADBE Simple Choker","ix":1,"en":1,"ef":[{"ty":7,"nm":"视图","mn":"ADBE Simple Choker-0001","ix":1,"v":{"a":0,"k":1,"ix":1}},{"ty":0,"nm":"阻塞遮罩","mn":"ADBE Simple Choker-0002","ix":2,"v":{"a":0,"k":14,"ix":2}}]},{"ty":5,"nm":"梯度渐变","np":10,"mn":"ADBE Ramp","ix":2,"en":1,"ef":[{"ty":3,"nm":"渐变起点","mn":"ADBE Ramp-0001","ix":1,"v":{"a":0,"k":[400,0],"ix":1}},{"ty":2,"nm":"起始颜色","mn":"ADBE Ramp-0002","ix":2,"v":{"a":0,"k":[0.263066768646,1,0.867243647575,1],"ix":2}},{"ty":3,"nm":"渐变终点","mn":"ADBE Ramp-0003","ix":3,"v":{"a":0,"k":[400,600],"ix":3}},{"ty":2,"nm":"结束颜色","mn":"ADBE Ramp-0004","ix":4,"v":{"a":0,"k":[0.354580283165,1,0.820018112659,1],"ix":4}},{"ty":7,"nm":"渐变形状","mn":"ADBE Ramp-0005","ix":5,"v":{"a":0,"k":1,"ix":5}},{"ty":0,"nm":"渐变散射","mn":"ADBE Ramp-0006","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"与原始图像混合","mn":"ADBE Ramp-0007","ix":7,"v":{"a":0,"k":0,"ix":7}},{"ty":6,"nm":"","mn":"ADBE Ramp-0008","ix":8,"v":0}]},{"ty":29,"nm":"高斯模糊","np":5,"mn":"ADBE Gaussian Blur 2","ix":3,"en":1,"ef":[{"ty":0,"nm":"模糊度","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":0,"k":41.3,"ix":1}},{"ty":7,"nm":"模糊方向","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"重复边缘像素","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}}]}],"w":800,"h":600,"ip":0,"op":300,"st":0,"bm":0}],"markers":[]}
@@ -0,0 +1,98 @@
1
+ {
2
+ "Embeded Paywall": [
3
+ {
4
+ "productId": "com.app.premium.monthly",
5
+ "title": "Premium Monthly",
6
+ "description": "Unlock all premium features for a month.",
7
+ "localizedPrice": "$4.99",
8
+ "price": "4.99",
9
+ "currency": "USD"
10
+ },
11
+ {
12
+ "productId": "com.app.pro.yearly",
13
+ "title": "Pro Yearly",
14
+ "description": "Best value: full access for a year.",
15
+ "localizedPrice": "€39.99",
16
+ "price": "39.99",
17
+ "currency": "EUR"
18
+ },
19
+ {
20
+ "productId": "com.app.plus.weekly",
21
+ "title": "Plus Weekly",
22
+ "description": "Try Plus with a flexible weekly plan.",
23
+ "localizedPrice": "£1.99",
24
+ "price": "1.99",
25
+ "currency": "GBP"
26
+ }
27
+ ],
28
+ "type-1": [
29
+ {
30
+ "productId": "com.app.premium.monthly",
31
+ "title": "Premium Monthly",
32
+ "description": "Unlock all premium features for a month.",
33
+ "localizedPrice": "$4.99",
34
+ "price": "4.99",
35
+ "currency": "USD"
36
+ },
37
+ {
38
+ "productId": "com.app.pro.yearly",
39
+ "title": "Pro Yearly",
40
+ "description": "Best value: full access for a year.",
41
+ "localizedPrice": "€39.99",
42
+ "price": "39.99",
43
+ "currency": "EUR"
44
+ },
45
+ {
46
+ "productId": "com.app.plus.weekly",
47
+ "title": "Plus Weekly",
48
+ "description": "Try Plus with a flexible weekly plan.",
49
+ "localizedPrice": "£1.99",
50
+ "price": "1.99",
51
+ "currency": "GBP"
52
+ }
53
+ ],
54
+ "type-2": [
55
+ {
56
+ "productId": "com.app.starter.monthly",
57
+ "title": "Starter Monthly",
58
+ "description": "Basic access to get started.",
59
+ "localizedPrice": "$2.99",
60
+ "price": "2.99",
61
+ "currency": "USD"
62
+ },
63
+ {
64
+ "productId": "com.app.gold.monthly",
65
+ "title": "Gold Monthly",
66
+ "description": "Gold tier with extra perks.",
67
+ "localizedPrice": "₺149.99",
68
+ "price": "149.99",
69
+ "currency": "TRY"
70
+ },
71
+ {
72
+ "productId": "com.app.premium.yearly",
73
+ "title": "Premium Yearly",
74
+ "description": "Unlock premium for a year.",
75
+ "localizedPrice": "$49.99",
76
+ "price": "49.99",
77
+ "currency": "USD"
78
+ },
79
+ {
80
+ "productId": "com.app.pro.lifetime",
81
+ "title": "Pro Lifetime",
82
+ "description": "One-time purchase for lifetime access.",
83
+ "localizedPrice": "€99.99",
84
+ "price": "99.99",
85
+ "currency": "EUR"
86
+ }
87
+ ],
88
+ "type-3": [
89
+ {
90
+ "productId": "com.app.plus.yearly",
91
+ "title": "Plus Yearly",
92
+ "description": "Yearly plan with a big discount.",
93
+ "localizedPrice": "$24.99",
94
+ "price": "24.99",
95
+ "currency": "USD"
96
+ }
97
+ ]
98
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "carousel-sample",
3
3
  "version": "1.0.0",
4
+ "type": "other",
4
5
  "appConfig": {
5
6
  "theme": "light"
6
7
  },
@@ -1,88 +1,61 @@
1
- import { Project, ProjectBase } from '../../types/Project';
1
+ import { Project } from '../../types/Project';
2
2
  import simple1 from './simple-1.json';
3
3
  import simple2 from './simple-2.json';
4
4
  import carouselSample from './carousel-sample.json';
5
+ import paywall1 from './paywall-1.json';
5
6
  import vpnOnboard1 from './vpn-onboard-1.json';
6
7
  import vpnOnboard2 from './vpn-onboard-2.json';
7
8
  import vpnOnboard3 from './vpn-onboard-3.json';
8
9
  import vpnOnboard4 from './vpn-onboard-4.json';
9
10
  import vpnOnboard5 from './vpn-onboard-5.json';
10
11
  import vpnOnboard6 from './vpn-onboard-6.json';
11
- import { novaToJson } from '../../utils/novaToJson';
12
12
  import { defaultAppConfig } from '../../types/PreviewConfig';
13
13
 
14
+ function normalizeSample(sample: any): Project {
15
+ return {
16
+ ...sample,
17
+ appConfig: { ...defaultAppConfig, ...(sample as any).appConfig },
18
+ } as Project;
19
+ }
20
+
14
21
  export function getSamples(): Project[] {
15
- const legacySamples = [
16
- {
17
- ...vpnOnboard1,
18
- appConfig: { ...defaultAppConfig, ...vpnOnboard1.appConfig },
19
- } as ProjectBase<unknown>,
20
- {
21
- ...vpnOnboard2,
22
- appConfig: { ...defaultAppConfig, ...vpnOnboard2.appConfig },
23
- } as ProjectBase<unknown>,
24
- {
25
- ...vpnOnboard3,
26
- appConfig: { ...defaultAppConfig, ...vpnOnboard3.appConfig },
27
- } as ProjectBase<unknown>,
28
- {
29
- ...vpnOnboard4,
30
- appConfig: { ...defaultAppConfig, ...vpnOnboard4.appConfig },
31
- } as ProjectBase<unknown>,
32
- {
33
- ...vpnOnboard5,
34
- appConfig: { ...defaultAppConfig, ...vpnOnboard5.appConfig },
35
- } as ProjectBase<unknown>,
36
- {
37
- ...vpnOnboard6,
38
- appConfig: { ...defaultAppConfig, ...vpnOnboard6.appConfig },
39
- } as ProjectBase<unknown>,
40
- ];
41
- legacySamples.forEach((sample) => {
42
- sample.data = novaToJson(sample);
43
- });
22
+ const onboardSamples = [
23
+ vpnOnboard1,
24
+ vpnOnboard2,
25
+ vpnOnboard3,
26
+ vpnOnboard4,
27
+ vpnOnboard5,
28
+ vpnOnboard6,
29
+ ].map(normalizeSample);
44
30
 
45
31
  return [
46
- simple1 as Project,
47
- simple2 as Project,
48
- carouselSample as Project,
49
- ...legacySamples,
32
+ normalizeSample(simple1),
33
+ normalizeSample(simple2),
34
+ normalizeSample(carouselSample),
35
+ normalizeSample(paywall1),
36
+ ...onboardSamples,
50
37
  ];
51
38
  }
52
39
 
53
40
  export function getBasicSamples(): Project[] {
54
- return [simple1 as Project, simple2 as Project, carouselSample as Project];
41
+ return [
42
+ normalizeSample(simple1),
43
+ normalizeSample(simple2),
44
+ normalizeSample(carouselSample),
45
+ ];
55
46
  }
56
47
 
57
48
  export function getOnboardSamples(): Project[] {
58
- const legacySamples = [
59
- {
60
- ...vpnOnboard1,
61
- appConfig: { ...defaultAppConfig, ...vpnOnboard1.appConfig },
62
- } as ProjectBase<unknown>,
63
- {
64
- ...vpnOnboard2,
65
- appConfig: { ...defaultAppConfig, ...vpnOnboard2.appConfig },
66
- } as ProjectBase<unknown>,
67
- {
68
- ...vpnOnboard3,
69
- appConfig: { ...defaultAppConfig, ...vpnOnboard3.appConfig },
70
- } as ProjectBase<unknown>,
71
- {
72
- ...vpnOnboard4,
73
- appConfig: { ...defaultAppConfig, ...vpnOnboard4.appConfig },
74
- } as ProjectBase<unknown>,
75
- {
76
- ...vpnOnboard5,
77
- appConfig: { ...defaultAppConfig, ...vpnOnboard5.appConfig },
78
- } as ProjectBase<unknown>,
79
- {
80
- ...vpnOnboard6,
81
- appConfig: { ...defaultAppConfig, ...vpnOnboard6.appConfig },
82
- } as ProjectBase<unknown>,
83
- ];
84
- legacySamples.forEach((sample) => {
85
- sample.data = novaToJson(sample);
86
- });
87
- return legacySamples;
49
+ return [
50
+ vpnOnboard1,
51
+ vpnOnboard2,
52
+ vpnOnboard3,
53
+ vpnOnboard4,
54
+ vpnOnboard5,
55
+ vpnOnboard6,
56
+ ].map(normalizeSample);
57
+ }
58
+
59
+ export function getPaywallSamples(): Project[] {
60
+ return [normalizeSample(paywall1)];
88
61
  }