shoplazza-cli 1.1.2 → 2.0.0

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 (400) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/README.md +206 -332
  4. package/README.zh.md +318 -0
  5. package/package.json +24 -70
  6. package/scripts/install.js +144 -0
  7. package/scripts/jsbuild/dev/index.js +123 -0
  8. package/scripts/jsbuild/index.js +77 -0
  9. package/{lib/checkout/build → scripts/jsbuild}/plugin/vite-plugin-add-extension-id.js +4 -2
  10. package/scripts/jsbuild/vite.config.js +35 -0
  11. package/scripts/run.js +29 -0
  12. package/.editorconfig +0 -28
  13. package/.prettierrc +0 -9
  14. package/bin/shoplazza +0 -137
  15. package/fixtures/assets/blog.scss +0 -74
  16. package/fixtures/assets/cart_modal.scss +0 -450
  17. package/fixtures/assets/collection_detail.js +0 -234
  18. package/fixtures/assets/collection_detail.scss +0 -345
  19. package/fixtures/assets/collection_list.scss +0 -11
  20. package/fixtures/assets/collection_slider.scss +0 -169
  21. package/fixtures/assets/feature_columns.scss +0 -26
  22. package/fixtures/assets/feature_product.scss +0 -109
  23. package/fixtures/assets/footer.js +0 -58
  24. package/fixtures/assets/footer.scss +0 -337
  25. package/fixtures/assets/four_images.scss +0 -29
  26. package/fixtures/assets/gallery.scss +0 -55
  27. package/fixtures/assets/header.js +0 -178
  28. package/fixtures/assets/header.scss +0 -929
  29. package/fixtures/assets/image_text.scss +0 -72
  30. package/fixtures/assets/logo_bar.scss +0 -11
  31. package/fixtures/assets/newsletter.scss +0 -90
  32. package/fixtures/assets/not_found.scss +0 -39
  33. package/fixtures/assets/page_detail.scss +0 -16
  34. package/fixtures/assets/pagination.scss +0 -150
  35. package/fixtures/assets/postcss.config.js +0 -6
  36. package/fixtures/assets/product_description.scss +0 -88
  37. package/fixtures/assets/product_detail.js +0 -634
  38. package/fixtures/assets/product_detail.scss +0 -1106
  39. package/fixtures/assets/relative_product.scss +0 -45
  40. package/fixtures/assets/reviews.scss +0 -70
  41. package/fixtures/assets/rich_text.scss +0 -71
  42. package/fixtures/assets/search.js +0 -87
  43. package/fixtures/assets/search.scss +0 -67
  44. package/fixtures/assets/slide.scss +0 -51
  45. package/fixtures/assets/slider.scss +0 -141
  46. package/fixtures/assets/test.scss +0 -1
  47. package/fixtures/assets/theme.css +0 -976
  48. package/fixtures/assets/theme.scss +0 -1100
  49. package/fixtures/assets/three_images.scss +0 -20
  50. package/fixtures/assets/tools.scss +0 -23
  51. package/fixtures/assets/two_images.scss +0 -24
  52. package/fixtures/assets/video.scss +0 -45
  53. package/fixtures/assets/video_text.scss +0 -63
  54. package/fixtures/config/settings_data.json +0 -107
  55. package/fixtures/config/settings_schema.json +0 -690
  56. package/fixtures/layout/theme.liquid +0 -76
  57. package/fixtures/locales/ar-SA.json +0 -212
  58. package/fixtures/locales/de-DE.json +0 -290
  59. package/fixtures/locales/en-US.json +0 -290
  60. package/fixtures/locales/es-ES.json +0 -290
  61. package/fixtures/locales/fr-FR.json +0 -290
  62. package/fixtures/locales/id-ID.json +0 -212
  63. package/fixtures/locales/it-IT.json +0 -212
  64. package/fixtures/locales/ja-JP.json +0 -289
  65. package/fixtures/locales/ko-KR.json +0 -290
  66. package/fixtures/locales/nl-NL.json +0 -290
  67. package/fixtures/locales/pl-PL.json +0 -290
  68. package/fixtures/locales/pt-PT.json +0 -212
  69. package/fixtures/locales/ru-RU.json +0 -212
  70. package/fixtures/locales/th-TH.json +0 -212
  71. package/fixtures/locales/zh-CN.json +0 -290
  72. package/fixtures/locales/zh-TW.json +0 -290
  73. package/fixtures/sections/apps.liquid +0 -47
  74. package/fixtures/sections/blog.liquid +0 -137
  75. package/fixtures/sections/collection_desc.liquid +0 -34
  76. package/fixtures/sections/collection_detail.liquid +0 -436
  77. package/fixtures/sections/collection_image.liquid +0 -104
  78. package/fixtures/sections/collection_list.liquid +0 -161
  79. package/fixtures/sections/collection_name.liquid +0 -34
  80. package/fixtures/sections/collection_slider.liquid +0 -330
  81. package/fixtures/sections/feature_columns.liquid +0 -275
  82. package/fixtures/sections/feature_product.liquid +0 -227
  83. package/fixtures/sections/footer.liquid +0 -488
  84. package/fixtures/sections/four_images.liquid +0 -160
  85. package/fixtures/sections/gallery.liquid +0 -258
  86. package/fixtures/sections/header.liquid +0 -1157
  87. package/fixtures/sections/html.liquid +0 -40
  88. package/fixtures/sections/image_text.liquid +0 -350
  89. package/fixtures/sections/instagram_plus.liquid +0 -393
  90. package/fixtures/sections/logo_bar.liquid +0 -183
  91. package/fixtures/sections/newsletter.liquid +0 -225
  92. package/fixtures/sections/not_found.liquid +0 -39
  93. package/fixtures/sections/overlay_image.liquid +0 -648
  94. package/fixtures/sections/page_detail.liquid +0 -39
  95. package/fixtures/sections/photo_collection.liquid +0 -433
  96. package/fixtures/sections/product_description.liquid +0 -208
  97. package/fixtures/sections/product_detail.liquid +0 -611
  98. package/fixtures/sections/products.liquid +0 -216
  99. package/fixtures/sections/relative_product.liquid +0 -121
  100. package/fixtures/sections/reviews.liquid +0 -115
  101. package/fixtures/sections/rich_text.liquid +0 -157
  102. package/fixtures/sections/search.liquid +0 -163
  103. package/fixtures/sections/slide.liquid +0 -719
  104. package/fixtures/sections/three_images.liquid +0 -157
  105. package/fixtures/sections/two_images.liquid +0 -125
  106. package/fixtures/sections/video.liquid +0 -95
  107. package/fixtures/sections/video_text.liquid +0 -128
  108. package/fixtures/snippets/bgset.liquid +0 -21
  109. package/fixtures/snippets/card_title.liquid +0 -8
  110. package/fixtures/snippets/cart_modal.liquid +0 -74
  111. package/fixtures/snippets/collection.liquid +0 -77
  112. package/fixtures/snippets/collection_filter_modal.liquid +0 -56
  113. package/fixtures/snippets/default_image_4.liquid +0 -14
  114. package/fixtures/snippets/default_image_6.liquid +0 -18
  115. package/fixtures/snippets/default_image_8.liquid +0 -23
  116. package/fixtures/snippets/four_images_item.liquid +0 -8
  117. package/fixtures/snippets/header_ads.liquid +0 -95
  118. package/fixtures/snippets/hero_image.liquid +0 -94
  119. package/fixtures/snippets/icon_video_play_large.liquid +0 -1
  120. package/fixtures/snippets/icon_video_play_medium.liquid +0 -4
  121. package/fixtures/snippets/icon_video_play_small.liquid +0 -4
  122. package/fixtures/snippets/lazyimg.liquid +0 -22
  123. package/fixtures/snippets/lazyimg_art.liquid +0 -36
  124. package/fixtures/snippets/lazysizes.liquid +0 -41
  125. package/fixtures/snippets/link.liquid +0 -2
  126. package/fixtures/snippets/pagination.liquid +0 -48
  127. package/fixtures/snippets/product.liquid +0 -126
  128. package/fixtures/snippets/product_art_tpl.liquid +0 -152
  129. package/fixtures/snippets/product_info_body.liquid +0 -337
  130. package/fixtures/snippets/product_info_tpl.liquid +0 -423
  131. package/fixtures/snippets/product_label.liquid +0 -46
  132. package/fixtures/snippets/settings.liquid +0 -295
  133. package/fixtures/snippets/social-meta-tags.liquid +0 -106
  134. package/fixtures/snippets/video_html.liquid +0 -11
  135. package/fixtures/snippets/video_source.liquid +0 -98
  136. package/fixtures/snippets/video_thumb_icon.liquid +0 -2
  137. package/fixtures/templates/404.liquid +0 -1
  138. package/fixtures/templates/collection.liquid +0 -92
  139. package/fixtures/templates/index.liquid +0 -206
  140. package/fixtures/templates/page.liquid +0 -1
  141. package/fixtures/templates/product.liquid +0 -99
  142. package/fixtures/templates/search.liquid +0 -1
  143. package/jest.config.js +0 -192
  144. package/lib/__tests__/log.test.js +0 -15
  145. package/lib/__tests__/utils.test.js +0 -69
  146. package/lib/app/api/cli.js +0 -225
  147. package/lib/app/api/openapi.js +0 -121
  148. package/lib/app/api/partnerOpenapi.js +0 -104
  149. package/lib/app/bin/index.js +0 -20
  150. package/lib/app/bin/javy/javy-arm-linux-v5.0.1 +0 -0
  151. package/lib/app/bin/javy/javy-arm-macos-v5.0.1 +0 -0
  152. package/lib/app/bin/javy/javy-x86_64-linux-v5.0.1 +0 -0
  153. package/lib/app/bin/javy/javy-x86_64-macos-v5.0.1 +0 -0
  154. package/lib/app/bin/javy/javy-x86_64-windows-v5.0.1 +0 -0
  155. package/lib/app/commands/config/actions/link.js +0 -189
  156. package/lib/app/commands/config/actions/use.js +0 -40
  157. package/lib/app/commands/config/index.js +0 -25
  158. package/lib/app/commands/config/link.js +0 -11
  159. package/lib/app/commands/config/use.js +0 -11
  160. package/lib/app/commands/deploy/actions/deploy.js +0 -196
  161. package/lib/app/commands/deploy/index.js +0 -11
  162. package/lib/app/commands/dev/actions/dev.js +0 -206
  163. package/lib/app/commands/dev/index.js +0 -11
  164. package/lib/app/commands/generate/actions/extension.js +0 -97
  165. package/lib/app/commands/generate/actions/generateCheckout.js +0 -58
  166. package/lib/app/commands/generate/actions/generateFunction.js +0 -56
  167. package/lib/app/commands/generate/actions/generateTheme.js +0 -128
  168. package/lib/app/commands/generate/extension.js +0 -11
  169. package/lib/app/commands/generate/index.js +0 -22
  170. package/lib/app/commands/index.js +0 -82
  171. package/lib/app/commands/info/actions/info.js +0 -168
  172. package/lib/app/commands/info/index.js +0 -11
  173. package/lib/app/commands/init/actions/init.js +0 -176
  174. package/lib/app/commands/init/index.js +0 -14
  175. package/lib/app/commands/versions/actions/list.js +0 -210
  176. package/lib/app/commands/versions/index.js +0 -22
  177. package/lib/app/commands/versions/list.js +0 -14
  178. package/lib/app/constant/code.js +0 -7
  179. package/lib/app/constant/color.js +0 -18
  180. package/lib/app/constant/extension.js +0 -16
  181. package/lib/app/constant/host.js +0 -23
  182. package/lib/app/constant/sso.js +0 -7
  183. package/lib/app/index.js +0 -8
  184. package/lib/app/services/auth/config.js +0 -33
  185. package/lib/app/services/auth/index.js +0 -9
  186. package/lib/app/services/auth/oauth-server.js +0 -70
  187. package/lib/app/services/auth/partner-token.js +0 -45
  188. package/lib/app/services/auth/sso-token.js +0 -69
  189. package/lib/app/services/auth/store-token.js +0 -100
  190. package/lib/app/services/auth/url-builder.js +0 -23
  191. package/lib/app/services/config/index.js +0 -41
  192. package/lib/app/services/devServer/app.js +0 -76
  193. package/lib/app/services/devServer/index.js +0 -103
  194. package/lib/app/services/devServer/middleware/hmacValidatorMiddleWare.js +0 -20
  195. package/lib/app/services/devServer/middleware/index.js +0 -5
  196. package/lib/app/services/devServer/tunnel/index.js +0 -43
  197. package/lib/app/services/devServer/tunnel/providers/cloudflare.js +0 -364
  198. package/lib/app/services/devServer/tunnel/providers/ngrok.js +0 -70
  199. package/lib/app/services/devServer/utils/index.js +0 -5
  200. package/lib/app/services/devServer/utils/secureCompare.js +0 -5
  201. package/lib/app/services/devServer/views/app.ejs +0 -133
  202. package/lib/app/services/extension-build/buildCheckout.js +0 -47
  203. package/lib/app/services/extension-build/buildFunction.js +0 -57
  204. package/lib/app/services/extension-build/buildTheme.js +0 -100
  205. package/lib/app/services/extension-build/index.js +0 -23
  206. package/lib/app/services/extension-build/plugins/vite-plugin-add-extension-id.js +0 -26
  207. package/lib/app/services/extension-diff/index.js +0 -132
  208. package/lib/app/services/extension-upsert/index.js +0 -21
  209. package/lib/app/services/extension-upsert/upsertCheckout.js +0 -44
  210. package/lib/app/services/extension-upsert/upsertFunction.js +0 -52
  211. package/lib/app/services/extension-upsert/upsertTheme.js +0 -113
  212. package/lib/app/services/oss/index.js +0 -45
  213. package/lib/app/services/partner/index.js +0 -52
  214. package/lib/app/store/base-store.js +0 -37
  215. package/lib/app/store/config-store.js +0 -55
  216. package/lib/app/store/config.js +0 -21
  217. package/lib/app/store/index.js +0 -14
  218. package/lib/app/store/install-store.js +0 -41
  219. package/lib/app/store/sso-store.js +0 -55
  220. package/lib/app/utils/asyncPool.js +0 -42
  221. package/lib/app/utils/debug/index.js +0 -16
  222. package/lib/app/utils/env.js +0 -24
  223. package/lib/app/utils/error.js +0 -20
  224. package/lib/app/utils/git.js +0 -20
  225. package/lib/app/utils/json.js +0 -27
  226. package/lib/app/utils/path.js +0 -33
  227. package/lib/app/utils/platform.js +0 -37
  228. package/lib/app/utils/request/cli.js +0 -72
  229. package/lib/app/utils/request/debug.js +0 -13
  230. package/lib/app/utils/request/openapi.js +0 -67
  231. package/lib/app/utils/request/partnerOpenapi.js +0 -47
  232. package/lib/app/utils/toml.js +0 -56
  233. package/lib/app/utils/views/message.js +0 -68
  234. package/lib/app/utils/views/select.js +0 -36
  235. package/lib/app/utils/withTempDir.js +0 -55
  236. package/lib/auth/__mocks__/getCode.js +0 -7
  237. package/lib/auth/__mocks__/index.js +0 -0
  238. package/lib/auth/child.js +0 -23
  239. package/lib/auth/getCode.js +0 -39
  240. package/lib/auth/index.js +0 -134
  241. package/lib/check.js +0 -28
  242. package/lib/checkout/api.js +0 -164
  243. package/lib/checkout/build/plugin/vite-plugin-transform-extension-html.js +0 -207
  244. package/lib/checkout/build/vite.config.js +0 -34
  245. package/lib/checkout/build.js +0 -38
  246. package/lib/checkout/config.js +0 -97
  247. package/lib/checkout/create.js +0 -132
  248. package/lib/checkout/delete.js +0 -26
  249. package/lib/checkout/deploy.js +0 -59
  250. package/lib/checkout/dev/index.js +0 -143
  251. package/lib/checkout/fields.js +0 -29
  252. package/lib/checkout/index.js +0 -63
  253. package/lib/checkout/preview.js +0 -52
  254. package/lib/checkout/pull.js +0 -22
  255. package/lib/checkout/push.js +0 -141
  256. package/lib/checkout/template/README.md +0 -34
  257. package/lib/checkout/template/_gitignore +0 -4
  258. package/lib/checkout/template/extension.config.js +0 -4
  259. package/lib/checkout/template/extensions/extension-template/extension.json +0 -10
  260. package/lib/checkout/template/extensions/extension-template/src/content.html +0 -3
  261. package/lib/checkout/template/extensions/extension-template/src/index.html +0 -5
  262. package/lib/checkout/template/extensions/extension-template/src/index.js +0 -11
  263. package/lib/checkout/template/extensions/extension-template/src/script.html +0 -3
  264. package/lib/checkout/template/extensions/extension-template/src/style.html +0 -3
  265. package/lib/checkout/template/package.json +0 -17
  266. package/lib/checkout/undeploy.js +0 -40
  267. package/lib/checkout/util.js +0 -201
  268. package/lib/checkout/verify.js +0 -16
  269. package/lib/checkout/version.js +0 -7
  270. package/lib/commands/__tests__/login.test.js +0 -77
  271. package/lib/commands/__tests__/logout.test.js +0 -29
  272. package/lib/commands/__tests__/store.test.js +0 -44
  273. package/lib/commands/__tests__/switch.test.js +0 -45
  274. package/lib/commands/login.js +0 -120
  275. package/lib/commands/logout.js +0 -23
  276. package/lib/commands/store.js +0 -14
  277. package/lib/commands/switch.js +0 -52
  278. package/lib/commands/theme/__tests__/delete.test.js +0 -49
  279. package/lib/commands/theme/__tests__/init.test.js +0 -21
  280. package/lib/commands/theme/__tests__/list.test.js +0 -80
  281. package/lib/commands/theme/__tests__/package.test.js +0 -17
  282. package/lib/commands/theme/__tests__/publish.test.js +0 -61
  283. package/lib/commands/theme/__tests__/pull.test.js +0 -69
  284. package/lib/commands/theme/__tests__/push.test.js +0 -63
  285. package/lib/commands/theme/__tests__/serve.test.js +0 -107
  286. package/lib/commands/theme/delete.js +0 -64
  287. package/lib/commands/theme/init.js +0 -51
  288. package/lib/commands/theme/list.js +0 -28
  289. package/lib/commands/theme/package.js +0 -37
  290. package/lib/commands/theme/publish.js +0 -56
  291. package/lib/commands/theme/pull.js +0 -62
  292. package/lib/commands/theme/push.js +0 -106
  293. package/lib/commands/theme/serve.js +0 -153
  294. package/lib/commands/theme/share.js +0 -20
  295. package/lib/commands/version.js +0 -6
  296. package/lib/common/constants.js +0 -24
  297. package/lib/common/db/partner.js +0 -91
  298. package/lib/common/inquirers/choose-app.js +0 -79
  299. package/lib/common/inquirers/choose-partner.js +0 -74
  300. package/lib/common/log.js +0 -15
  301. package/lib/common/login.js +0 -125
  302. package/lib/common/logout.js +0 -16
  303. package/lib/db/__mocks__/index.js +0 -9
  304. package/lib/db/__tests__/analytics.test.js +0 -19
  305. package/lib/db/__tests__/user.test.js +0 -20
  306. package/lib/db/analytics.js +0 -48
  307. package/lib/db/index.js +0 -9
  308. package/lib/db/user.js +0 -71
  309. package/lib/function/bin/index.js +0 -20
  310. package/lib/function/bin/javy/javy-arm-linux-v5.0.1 +0 -0
  311. package/lib/function/bin/javy/javy-arm-macos-v5.0.1 +0 -0
  312. package/lib/function/bin/javy/javy-x86_64-linux-v5.0.1 +0 -0
  313. package/lib/function/bin/javy/javy-x86_64-macos-v5.0.1 +0 -0
  314. package/lib/function/bin/javy/javy-x86_64-windows-v5.0.1 +0 -0
  315. package/lib/function/commands/compile.js +0 -43
  316. package/lib/function/commands/create.js +0 -77
  317. package/lib/function/commands/list.js +0 -18
  318. package/lib/function/commands/release.js +0 -69
  319. package/lib/function/index.js +0 -24
  320. package/lib/function/template/js/README.md +0 -37
  321. package/lib/function/template/js/_gitignore +0 -4
  322. package/lib/function/template/js/extension.config.json +0 -5
  323. package/lib/function/template/js/package.json +0 -17
  324. package/lib/function/template/js/src/index.js +0 -64
  325. package/lib/function/utils.js +0 -29
  326. package/lib/log.js +0 -13
  327. package/lib/openAPI/__mocks__/index.js +0 -20
  328. package/lib/openAPI/api.js +0 -76
  329. package/lib/openAPI/index.js +0 -56
  330. package/lib/oss.js +0 -102
  331. package/lib/partner-api/axios.js +0 -67
  332. package/lib/partner-api/index.js +0 -79
  333. package/lib/report.js +0 -37
  334. package/lib/theme-extension/api/index.js +0 -96
  335. package/lib/theme-extension/commands/build.js +0 -114
  336. package/lib/theme-extension/commands/connect.js +0 -73
  337. package/lib/theme-extension/commands/create.js +0 -105
  338. package/lib/theme-extension/commands/deploy.js +0 -56
  339. package/lib/theme-extension/commands/list.js +0 -35
  340. package/lib/theme-extension/commands/release.js +0 -59
  341. package/lib/theme-extension/commands/serve.js +0 -179
  342. package/lib/theme-extension/commands/versions.js +0 -55
  343. package/lib/theme-extension/index.js +0 -29
  344. package/lib/theme-extension/template/basic-app/README.md +0 -125
  345. package/lib/theme-extension/template/basic-app/extension.config.json +0 -4
  346. package/lib/theme-extension/template/basic-app/package.json +0 -18
  347. package/lib/theme-extension/template/basic-app/theme-app/assets/index.css +0 -4
  348. package/lib/theme-extension/template/basic-app/theme-app/assets-manifest.json +0 -1
  349. package/lib/theme-extension/template/basic-app/theme-app/blocks/index.liquid +0 -16
  350. package/lib/theme-extension/template/basic-app/theme-app/locales/ar-SA.json +0 -1
  351. package/lib/theme-extension/template/basic-app/theme-app/locales/de-DE.json +0 -1
  352. package/lib/theme-extension/template/basic-app/theme-app/locales/en-US.json +0 -6
  353. package/lib/theme-extension/template/basic-app/theme-app/locales/es-ES.json +0 -1
  354. package/lib/theme-extension/template/basic-app/theme-app/locales/fr-FR.json +0 -1
  355. package/lib/theme-extension/template/basic-app/theme-app/locales/id-ID.json +0 -1
  356. package/lib/theme-extension/template/basic-app/theme-app/locales/it-IT.json +0 -1
  357. package/lib/theme-extension/template/basic-app/theme-app/locales/ja-JP.json +0 -1
  358. package/lib/theme-extension/template/basic-app/theme-app/locales/ko-KR.json +0 -1
  359. package/lib/theme-extension/template/basic-app/theme-app/locales/nl-NL.json +0 -1
  360. package/lib/theme-extension/template/basic-app/theme-app/locales/pl-PL.json +0 -1
  361. package/lib/theme-extension/template/basic-app/theme-app/locales/pt-PT.json +0 -1
  362. package/lib/theme-extension/template/basic-app/theme-app/locales/ru-RU.json +0 -1
  363. package/lib/theme-extension/template/basic-app/theme-app/locales/th-TH.json +0 -1
  364. package/lib/theme-extension/template/basic-app/theme-app/locales/zh-CN.json +0 -6
  365. package/lib/theme-extension/template/basic-app/theme-app/locales/zh-TW.json +0 -1
  366. package/lib/theme-extension/template/basic-app/theme-app/snippets/index.liquid +0 -8
  367. package/lib/theme-extension/template/embed-app/README.md +0 -125
  368. package/lib/theme-extension/template/embed-app/extension.config.json +0 -4
  369. package/lib/theme-extension/template/embed-app/package.json +0 -18
  370. package/lib/theme-extension/template/embed-app/theme-app/assets-manifest.json +0 -1
  371. package/lib/theme-extension/template/embed-app/theme-app/blocks/index.liquid +0 -18
  372. package/lib/theme-extension/template/embed-app/theme-app/locales/ar-SA.json +0 -1
  373. package/lib/theme-extension/template/embed-app/theme-app/locales/de-DE.json +0 -1
  374. package/lib/theme-extension/template/embed-app/theme-app/locales/en-US.json +0 -6
  375. package/lib/theme-extension/template/embed-app/theme-app/locales/es-ES.json +0 -1
  376. package/lib/theme-extension/template/embed-app/theme-app/locales/fr-FR.json +0 -1
  377. package/lib/theme-extension/template/embed-app/theme-app/locales/id-ID.json +0 -1
  378. package/lib/theme-extension/template/embed-app/theme-app/locales/it-IT.json +0 -1
  379. package/lib/theme-extension/template/embed-app/theme-app/locales/ja-JP.json +0 -1
  380. package/lib/theme-extension/template/embed-app/theme-app/locales/ko-KR.json +0 -1
  381. package/lib/theme-extension/template/embed-app/theme-app/locales/nl-NL.json +0 -1
  382. package/lib/theme-extension/template/embed-app/theme-app/locales/pl-PL.json +0 -1
  383. package/lib/theme-extension/template/embed-app/theme-app/locales/pt-PT.json +0 -1
  384. package/lib/theme-extension/template/embed-app/theme-app/locales/ru-RU.json +0 -1
  385. package/lib/theme-extension/template/embed-app/theme-app/locales/th-TH.json +0 -1
  386. package/lib/theme-extension/template/embed-app/theme-app/locales/zh-CN.json +0 -6
  387. package/lib/theme-extension/template/embed-app/theme-app/locales/zh-TW.json +0 -1
  388. package/lib/theme-extension/template/embed-app/theme-app/snippets/index.liquid +0 -8
  389. package/lib/theme-extension/template/embed-app/theme-app/snippets/index_css.liquid +0 -6
  390. package/lib/theme-extension/utils/config.js +0 -32
  391. package/lib/theme-extension/utils/index.js +0 -213
  392. package/lib/tracing.js +0 -50
  393. package/lib/utils/config.js +0 -12
  394. package/lib/utils/console.js +0 -33
  395. package/lib/utils/env.js +0 -17
  396. package/lib/utils/file.js +0 -48
  397. package/lib/utils/platform.js +0 -37
  398. package/lib/utils/utils.js +0 -165
  399. /package/{lib/checkout → scripts/jsbuild}/dev/client.js +0 -0
  400. /package/{lib/app/services/extension-build/plugins → scripts/jsbuild/plugin}/vite-plugin-transform-extension-html.js +0 -0
@@ -1,1106 +0,0 @@
1
- @import './tools.scss';
2
-
3
- @keyframes fadeinout {
4
- 0% {
5
- background-color: #f1f1f1;
6
- }
7
- 50% {
8
- background-color: #e2e2e2;
9
- }
10
- 100% {
11
- background-color: #f1f1f1;
12
- }
13
- }
14
-
15
- /* product detail starts */
16
- .disabled {
17
- background-color: #efefef;
18
- cursor: not-allowed;
19
- }
20
-
21
- .btn-border {
22
- border: 1px solid #e2e2e2;
23
- }
24
-
25
- @media ($pc) {
26
- .product-detail {
27
- .sep-loaded-slider__button {
28
- opacity: 1;
29
- color: #fff;
30
- background-color: rgba(0, 0, 0, 0.6);
31
- &:hover {
32
- background-color: rgba(0, 0, 0, 0.8);
33
- }
34
- }
35
- .sep-loaded-slider__button-prev {
36
- border-radius: 0 50% 50% 0;
37
- transform: translateX(-16px);
38
- text-align: right;
39
- padding-right: 14px;
40
- }
41
- .sep-loaded-slider__button-next {
42
- border-radius: 50% 0 0 50%;
43
- padding-left: 14px;
44
- text-align: left;
45
- transform: translateX(16px);
46
- }
47
- }
48
- }
49
-
50
- @media ($mobile) {
51
- .product-detail {
52
- padding-top: 0;
53
- padding-bottom: 0;
54
- }
55
- }
56
-
57
- .product-image {
58
- position: relative;
59
- width: 100%;
60
- padding: 0;
61
- overflow: hidden;
62
-
63
- .hidden {
64
- opacity: 0;
65
- }
66
-
67
- .swiper-slide {
68
- position: relative;
69
- cursor: pointer;
70
- }
71
-
72
- &__swiper {
73
- position: relative;
74
- overflow: hidden;
75
-
76
- &_bullets {
77
- display: block;
78
- position: absolute;
79
- bottom: px-to-rem(15);
80
- left: 50%;
81
- transform: translateX(-50%);
82
- font-size: px-to-rem(14);
83
- color: #fff;
84
- background: rgba(0, 0, 0, 0.5);
85
- height: px-to-rem(22);
86
- line-height: px-to-rem(22);
87
- padding: 0 px-to-rem(10);
88
- z-index: 1;
89
- border-radius: px-to-rem(11);
90
- }
91
-
92
- &_img {
93
- width: 100%;
94
- position: absolute;
95
- height: 100%;
96
- }
97
- &_img.loading_bg {
98
- background-color: #f1f1f1;
99
- animation-name: fadeinout;
100
- animation-duration: 4s;
101
- animation-iteration-count: infinite;
102
- }
103
-
104
- &-wrapper {
105
- align-items: center;
106
- }
107
-
108
- &_btn {
109
- display: none;
110
- }
111
- }
112
-
113
- &__thumbs {
114
- display: none;
115
- }
116
-
117
- .slick-slide > div {
118
- font-size: 0;
119
- letter-spacing: -3px;
120
- }
121
- .product-image__thumbs-item {
122
- width: 70px !important;
123
- height: 70px !important;
124
- display: inline-block;
125
- margin: 0 5px;
126
- flex: 0 0 auto;
127
- cursor: pointer;
128
- img {
129
- position: absolute;
130
- top: 0;
131
- left: 0;
132
- bottom: 0;
133
- right: 0;
134
- max-width: 100%;
135
- max-height: 100%;
136
- margin: auto;
137
- }
138
- /* 加载过程背景色占位 */
139
- img.lazyload:not(.lazyloaded) {
140
- width: 100%;
141
- height: 100%;
142
- animation-name: fadeinout;
143
- animation-duration: 4s;
144
- animation-iteration-count: infinite;
145
- }
146
- }
147
- }
148
-
149
- .product-info {
150
- padding: px-to-rem(22.5) px-to-rem(15);
151
-
152
- &__header {
153
- color: $black;
154
- // border-bottom: 1px solid #ddd;
155
-
156
- &_title {
157
- font-size: px-to-rem(20);
158
- font-weight: 500;
159
- margin-bottom: px-to-rem(12);
160
-
161
- @media ($mobile) {
162
- &-more-hide {
163
- overflow: hidden;
164
- white-space: nowrap;
165
- text-overflow: ellipsis;
166
- }
167
-
168
- &-hide {
169
- display: none;
170
- }
171
- }
172
- @media ($pc) {
173
- font-size: px-to-rem(26);
174
- }
175
- }
176
-
177
- &_brief {
178
- color: #666;
179
- line-height: 1.5;
180
- font-size: px-to-rem(16);
181
- margin-bottom: px-to-rem(25);
182
- @media ($pc) {
183
- font-size: px-to-rem(14);
184
- }
185
- }
186
-
187
- &_price {
188
- color: $black;
189
- font-size: px-to-rem(17);
190
-
191
- @media ($pc) {
192
- font-size: px-to-rem(22);
193
- }
194
- }
195
-
196
- &_off-ratio {
197
- color: $black;
198
- font-size: px-to-rem(17);
199
- position: relative;
200
- padding-left: px-to-rem(10);
201
- padding-right: px-to-rem(5);
202
-
203
- @media ($pc) {
204
- font-size: px-to-rem(22);
205
- }
206
-
207
- &::before {
208
- content: '';
209
- display: block;
210
- position: absolute;
211
- height: px-to-rem(16);
212
- width: 2px;
213
- background: #000;
214
- left: -1px;
215
- top: 50%;
216
- margin-top: px-to-rem(-8);
217
- }
218
- }
219
-
220
- &_compare-at-price {
221
- font-size: px-to-rem(14);
222
- color: #999;
223
- text-decoration: line-through;
224
-
225
- @media ($pc) {
226
- font-size: px-to-rem(16);
227
- }
228
- }
229
-
230
- &_sales {
231
- font-size: px-to-rem(14);
232
- color: #999;
233
- }
234
-
235
- &_price-wrapper {
236
- display: flex;
237
- flex-wrap: nowrap;
238
- flex-direction: row;
239
- justify-content: space-between;
240
- align-items: center;
241
- padding-bottom: px-to-rem(15);
242
-
243
- &-left {
244
- display: flex;
245
- flex-wrap: wrap;
246
- align-items: center;
247
-
248
- span {
249
- margin-right: px-to-rem(10);
250
-
251
- &:last-of-type {
252
- margin-right: 0;
253
- }
254
- }
255
- }
256
- }
257
- }
258
-
259
- &__variants {
260
- margin-top: px-to-rem(35);
261
-
262
- &_title {
263
- font-size: px-to-rem(16);
264
- font-weight: 500;
265
- color: #2a2a2a;
266
- line-height: px-to-rem(17);
267
- }
268
-
269
- &_size-guide {
270
- color: #666;
271
- font-size: px-to-rem(14);
272
- text-decoration: underline;
273
- float: right;
274
- cursor: pointer;
275
- }
276
-
277
- &_items {
278
- margin-bottom: px-to-rem(16);
279
- select {
280
- -webkit-appearance: none;
281
- -moz-appearance: none;
282
- appearance: none;
283
- background-position: right center;
284
- background-image: url(//static.staticdj.com/themes/ico-select.svg);
285
- background-repeat: no-repeat;
286
- background-position: right 10px center;
287
- background-color: transparent;
288
- background-size: 11px;
289
- display: inline-block;
290
- vertical-align: middle;
291
- padding: 8px 10px;
292
- padding-right: 28px;
293
- width: 100%;
294
- cursor: pointer;
295
- outline: none;
296
- border: 1px solid #bfbfbf;
297
- max-width: 100%;
298
- border-radius: 0;
299
- margin-top: 10px;
300
- }
301
- }
302
-
303
- &_value {
304
- // min-height: px-to-rem(37);
305
- word-break: break-word;
306
- line-height: px-to-rem(28);
307
- min-width: px-to-rem(40);
308
- font-size: px-to-rem(13);
309
- margin-right: px-to-rem(10);
310
- margin-bottom: 0;
311
- position: relative;
312
- color: #2a2a2a;
313
- padding: 0;
314
- margin-top: px-to-rem(10);
315
-
316
- &_color {
317
- line-height: 0;
318
- width: 40px;
319
- height: 40px;
320
- display: inline-flex;
321
- align-items: center;
322
- justify-content: center;
323
-
324
- & label {
325
- width: 32px !important;
326
- height: 32px !important;
327
- border-radius: 50%;
328
- border: 2px solid #e2e2e2;
329
- padding: 0 !important;
330
- }
331
-
332
- & input:disabled ~ label {
333
- cursor: not-allowed;
334
- }
335
- }
336
-
337
- & label {
338
- cursor: inherit;
339
- width: 100%;
340
- padding: 0 1.25rem;
341
- border: 2px solid #e2e2e2;
342
- }
343
-
344
- & input:disabled ~ label {
345
- @extend .disabled;
346
- }
347
-
348
- &.active {
349
- font-weight: 500;
350
- }
351
-
352
- }
353
-
354
- &_value-wrapper {
355
- font-size: 0;
356
- margin-right: -10px;
357
- }
358
- }
359
-
360
- &__qty {
361
- font-size: 0;
362
-
363
- &-dropdown {
364
- border: 1px solid #bfbfbf;
365
- display: flex;
366
- justify-content: space-between;
367
- border-radius: 4px;
368
- & button,
369
- & input {
370
- border: none;
371
- height: 40px;
372
- }
373
- & button {
374
- border-radius: 4px 0 0 4px;
375
- width: 60px;
376
- }
377
- & input {
378
- flex-grow: 1;
379
- }
380
- }
381
-
382
- &_title {
383
- font-size: px-to-rem(16);
384
- font-weight: 500;
385
- color: #2a2a2a;
386
- margin-bottom: px-to-rem(10);
387
- }
388
-
389
- &_stock {
390
- font-weight: 400;
391
- color: #999;
392
- }
393
-
394
- &_btn {
395
- @extend .btn-border;
396
-
397
- width: px-to-rem(32);
398
- height: px-to-rem(32);
399
- text-align: center;
400
- padding: 0;
401
- font-size: px-to-rem(16);
402
-
403
- &:disabled {
404
- @extend .disabled;
405
- }
406
- }
407
-
408
- &_num {
409
- @extend .btn-border;
410
-
411
- display: inline-block;
412
- width: px-to-rem(40);
413
- height: px-to-rem(32);
414
- font-size: px-to-rem(13);
415
- margin: 0 px-to-rem(10);
416
- text-align: center;
417
- padding: 0;
418
- box-shadow: none;
419
- vertical-align: middle;
420
-
421
- &:disabled {
422
- @extend .disabled;
423
- }
424
- }
425
- }
426
-
427
- &__btn {
428
- margin-top: px-to-rem(28);
429
-
430
- button {
431
- width: 100%;
432
- margin-bottom: px-to-rem(15);
433
- height: px-to-rem(44);
434
- font-size: px-to-rem(15);
435
-
436
- @media ($pc) {
437
- height: px-to-rem(50);
438
- }
439
- }
440
- }
441
-
442
- &__url {
443
- margin-top: px-to-rem(23);
444
- font-size: px-to-rem(14);
445
-
446
- > a {
447
- color: #000;
448
- text-decoration: underline;
449
- }
450
- }
451
-
452
- &__additional {
453
- margin: 15px 0;
454
- }
455
- }
456
-
457
- .product-info__variants_radio:checked ~ label[data-iscolor] {
458
- box-shadow: 0px 0px 0px 2px var(--skin_primary_btn_bg_color);
459
- border: 2px solid var(--skin_bg);
460
- }
461
-
462
- .product-info__variants_radio:checked ~ label:not([data-iscolor]) {
463
- border: 2px solid var(--skin_primary_btn_bg_color) !important;
464
- &:before {
465
- content: '';
466
- position: absolute;
467
- width: 10px;
468
- height: 6px;
469
- background: transparent;
470
- bottom: 4px;
471
- right: 2px;
472
- border: 2px solid var(--skin_primary_btn_text_color);
473
- border-top: none;
474
- border-right: none;
475
- -webkit-transform: rotate(-55deg);
476
- -ms-transform: rotate(-55deg);
477
- transform: rotate(-55deg);
478
- z-index: 9;
479
- }
480
- &:after {
481
- content: '';
482
- width: 0px;
483
- height: 0px;
484
- border: 10px solid transparent;
485
- border-bottom: 10px solid var(--skin_primary_btn_bg_color);
486
- border-right: 10px solid var(--skin_primary_btn_bg_color);
487
- position: absolute;
488
- bottom: 0;
489
- right: 0;
490
- }
491
- }
492
-
493
- .product-info__desc-wrap {
494
- width: 100%;
495
- border-bottom: 1px solid rgba(230,230,230,0.6);
496
-
497
- & .product-info__desc-icon{
498
- transition-duration: 300ms;
499
- }
500
- &.is-open .product-info__desc-icon {
501
- transform: scale(1.2) rotate(-180deg);
502
- }
503
- }
504
-
505
- .product-info__desc-text{
506
- flex: 1;
507
- font-weight: 600;
508
- }
509
-
510
- .product-info__desc-tab-header {
511
- display: flex;
512
- align-items: center;
513
- padding: 17px 0px;
514
- font-size: 16px;
515
- cursor: pointer;
516
- margin-bottom: 0px;
517
- }
518
-
519
- .product-info__desc-content {
520
- overflow: hidden;
521
- padding-top: 8px;
522
- padding-bottom: 24px;
523
- }
524
-
525
- .hide-scrollbar::-webkit-scrollbar,.hide-scrollbar ::-webkit-scrollbar {
526
- display:none;
527
- }
528
- .hide-scrollbar {
529
- -ms-overflow-style: none;
530
- scrollbar-width: none;
531
- }
532
- .product-info__desc-tab {
533
- padding-top: 20px;
534
-
535
- &-cb {
536
- display: none;
537
- }
538
- }
539
-
540
- @media ($pc){
541
- .product-info__desc-tab {
542
- padding-top: 40px;
543
- }
544
- .product-info__desc-tab-header {
545
- padding: 17px 16px;
546
-
547
- &:hover {
548
- background: rgba(230,230,230,0.35);
549
- }
550
- i {
551
- display: flex;
552
- align-items: center;
553
- }
554
- }
555
-
556
- .product-info__desc-text{
557
- letter-spacing: 0.3px;
558
- }
559
-
560
- .product-info__desc-content {
561
- padding: 12px 12px 40px 16px;
562
- }
563
- }
564
-
565
- @media ($mobile) {
566
- .product-info__desc-wrap .product-info__desc-tab-header:active {
567
- background: rgba(230,230,230,0.35);
568
- margin: 0 -16px;
569
- padding-right: 16px;
570
- padding-left: 16px;
571
- }
572
- }
573
-
574
- @media ($pc) {
575
- .product-image {
576
- &__swiper {
577
- &_btn.sep-font {
578
- width: px-to-rem(50);
579
- height: px-to-rem(50);
580
- text-align: center;
581
- line-height: px-to-rem(50);
582
- font-size: 12px;
583
- color: $black;
584
- cursor: pointer;
585
- font-weight: 600;
586
- display: none;
587
- background-color: #fff;
588
- opacity: 0.5;
589
-
590
- &.swiper-button-disabled {
591
- background-color: #d6d6d6;
592
- }
593
-
594
- &.swiper-button-prev {
595
- outline: none;
596
- background-image: unset !important;
597
- left: 0;
598
- }
599
-
600
- &.swiper-button-next {
601
- outline: none;
602
- background-image: unset !important;
603
- right: 0;
604
- }
605
-
606
- &:hover {
607
- color: #fff;
608
- background: #4b4b4b;
609
- opacity: 1;
610
- }
611
- }
612
-
613
- &_bullets {
614
- display: none;
615
- }
616
-
617
- &:hover {
618
- .product-image__swiper_btn {
619
- display: block;
620
-
621
- &.swiper-button-disabled {
622
- display: none;
623
- }
624
- }
625
- }
626
- }
627
-
628
- &__thumbs {
629
- margin-top: px-to-rem(15);
630
- display: block;
631
- position: relative;
632
- padding: 0 px-to-rem(35);
633
-
634
- &-content {
635
- display: flex;
636
- flex-wrap: nowrap;
637
- overflow: hidden;
638
- }
639
- .slick-slide {
640
- border: 1px solid transparent;
641
- }
642
- .slick-current {
643
- border-color: #000;
644
- }
645
-
646
- &_list {
647
- &.swiper-wrapper {
648
- white-space: nowrap;
649
- overflow: hidden;
650
- font-size: 0;
651
-
652
- .swiper-slide {
653
- position: relative;
654
- width: 100%;
655
- height: 100%;
656
-
657
- img {
658
- max-width: 100%;
659
- max-height: 100%;
660
- position: absolute;
661
- top: 50%;
662
- left: 50%;
663
- transform: translate(-50%, -50%);
664
- }
665
- }
666
-
667
- .pagination-item {
668
- width: px-to-rem(70);
669
- height: px-to-rem(70);
670
- display: inline-block;
671
- border-radius: 0;
672
- margin: 0 5px;
673
- border: 1px solid transparent;
674
- cursor: pointer;
675
-
676
- &.swiper-pagination-bullet {
677
- margin: 0;
678
- }
679
-
680
- &.swiper-pagination-bullet-active {
681
- border: 1px solid #000;
682
- }
683
-
684
- img {
685
- border: 1px solid rgba(1, 1, 1, 0);
686
- max-width: 100%;
687
- max-height: 100%;
688
- }
689
- }
690
- }
691
- }
692
-
693
- &_btn {
694
- &.sep-font {
695
- width: px-to-rem(20);
696
- top: 50%;
697
- margin-top: px-to-rem(-25);
698
- outline: 0;
699
- height: px-to-rem(50);
700
- text-align: center;
701
- line-height: px-to-rem(50);
702
- background: #212121;
703
- color: #fff;
704
- cursor: pointer;
705
- opacity: 1;
706
- z-index: 1;
707
- position: absolute;
708
- }
709
-
710
- &.slick-disabled {
711
- background-color: #d6d6d6;
712
- pointer-events: none;
713
- }
714
-
715
- &:hover {
716
- background: #000;
717
- opacity: 0.7;
718
- }
719
-
720
- &:active {
721
- background: #000;
722
- opacity: 1;
723
- }
724
-
725
- &.swiper-button-prev {
726
- left: 0;
727
- outline: none;
728
- }
729
-
730
- &.swiper-button-next {
731
- right: 0;
732
- outline: none;
733
- background-image: unset !important;
734
- }
735
- }
736
- }
737
- }
738
-
739
- html[dir='rtl'] .product-image__thumbs_list.swiper-wrapper .pagination-item {
740
- margin: 0 0 0 px-to-rem(10);
741
- }
742
-
743
- .product-info {
744
- padding-top: 0;
745
- padding-left: px-to-rem(42);
746
-
747
- &__btn {
748
- display: flex;
749
- justify-content: space-between;
750
- clear: both;
751
-
752
- &_2 .btn {
753
- width: 48%;
754
- }
755
- }
756
- }
757
- }
758
-
759
- /* quick view modal */
760
- .product-select-modal {
761
- display: flex;
762
- flex-wrap: nowrap;
763
- padding: 40px 30px;
764
- box-shadow: 0px 0px 9px 0px #737373;
765
-
766
- .product-detail {
767
- width: 815px;
768
- padding: 0;
769
-
770
- > .row {
771
- margin: 0;
772
- }
773
- }
774
-
775
- @media ($pc) {
776
- .product-detail {
777
- width: 815px;
778
- padding: 0;
779
-
780
- > .row {
781
- margin: 0;
782
- }
783
- }
784
- }
785
-
786
- .product-info {
787
- width: 45%;
788
- flex: 0 0 auto;
789
- padding: 0 0 0 px-to-rem(24);
790
-
791
- &__variants_value {
792
- min-height: 26px;
793
- line-height: 24px;
794
- }
795
-
796
- &__qty_btn {
797
- width: px-to-rem(24);
798
- }
799
- }
800
-
801
- .product-image {
802
- width: 55%;
803
- max-width: 55%;
804
- height: 100%;
805
- flex: 0 0 auto;
806
- padding: 0;
807
-
808
- .product-image__thumbs {
809
- padding: 0 px-to-rem(27);
810
- }
811
- }
812
- }
813
-
814
- @media ($mobile) {
815
- .product-select-modal {
816
- padding: 0;
817
- display: block;
818
-
819
- .product-detail {
820
- width: auto;
821
- }
822
-
823
- .product-info {
824
- width: 100%;
825
- padding: 0;
826
-
827
- &__header_title,
828
- &__header_brief,
829
- &__url {
830
- display: none;
831
- }
832
-
833
- &__header_price-wrapper-left {
834
- margin-left: px-to-rem(105);
835
- margin-top: px-to-rem(10);
836
- }
837
-
838
- &__header_compare-at-price {
839
- width: 100%;
840
- }
841
-
842
- &__header_price-wrapper {
843
- padding-bottom: px-to-rem(10);
844
- }
845
-
846
- &__body {
847
- padding: px-to-rem(15);
848
- max-height: 50vh;
849
- overflow: auto;
850
- }
851
- }
852
-
853
- .product-image {
854
- position: absolute;
855
- top: -20px;
856
- left: px-to-rem(15);
857
- z-index: 2;
858
- width: px-to-rem(150/2);
859
- height: px-to-rem(150/2);
860
- bottom: px-to-rem(35);
861
- display: flex;
862
- justify-content: center;
863
- align-items: center;
864
- flex-direction: column;
865
- background: #fff;
866
-
867
- .product-image__swiper_bullets {
868
- display: none;
869
- }
870
- }
871
- }
872
- }
873
-
874
- @media ($mobile) {
875
- .product-select-modal {
876
- padding: 0;
877
- display: block;
878
-
879
- .product-detail {
880
- width: auto;
881
- }
882
-
883
- .product-info {
884
- width: 100%;
885
- padding: 0;
886
-
887
- &__header_title,
888
- &__header_brief,
889
- &__url {
890
- display: none;
891
- }
892
-
893
- &__header_price-wrapper-left {
894
- margin-left: px-to-rem(105);
895
- margin-top: px-to-rem(10);
896
- }
897
-
898
- &__header_compare-at-price {
899
- width: 100%;
900
- }
901
-
902
- &__header_price-wrapper {
903
- padding-bottom: px-to-rem(10);
904
- }
905
-
906
- &__body {
907
- padding: px-to-rem(15);
908
- max-height: 50vh;
909
- overflow: auto;
910
- }
911
- }
912
-
913
- .product-image {
914
- position: absolute;
915
- top: -20px;
916
- left: px-to-rem(15);
917
- z-index: 2;
918
- width: px-to-rem(150/2);
919
- height: px-to-rem(150/2);
920
- bottom: px-to-rem(35);
921
- display: flex;
922
- justify-content: center;
923
- align-items: center;
924
- flex-direction: column;
925
- background: #fff;
926
-
927
- .product-image__swiper_bullets {
928
- display: none;
929
- }
930
- }
931
- }
932
- }
933
-
934
- #product-select-modal {
935
- .modal-dialog {
936
- max-width: 875px;
937
- }
938
- }
939
-
940
- @media ($mobile) {
941
- #product-select-modal {
942
- .modal-dialog {
943
- max-width: none;
944
- margin: 0;
945
- min-height: auto;
946
-
947
- .modal-content {
948
- position: fixed;
949
- bottom: 0;
950
-
951
- .product-info__btn button:last-child {
952
- margin-bottom: 0;
953
- }
954
- }
955
- }
956
- }
957
- }
958
-
959
- // 相关推荐
960
- .relative_product {
961
- @media ($pc) {
962
- padding-right: 0;
963
- padding-left: 0;
964
- }
965
- &__content {
966
- margin: 0 -12px;
967
- clear: both;
968
- @media ($mobile) {
969
- margin: 0 -7.5px;
970
- }
971
- }
972
- &__change {
973
- // position: absolute;
974
- float: right;
975
- right: 0;
976
- font-size: 12px;
977
- color: #666;
978
- text-decoration: underline;
979
- margin-bottom: 10px;
980
- cursor: pointer;
981
- }
982
- &__title {
983
- font-size: 24px;
984
- line-height: 29px;
985
- margin-bottom: 56px;
986
- margin-top: 68px;
987
- white-space: nowrap;
988
-
989
- @media ($mobile) {
990
- font-size: 18px;
991
- margin-bottom: 28px;
992
- margin-top: 28px;
993
- }
994
- }
995
- }
996
- html[dir='rtl'] .relative_product {
997
- &__change {
998
- left: 0;
999
- right: unset;
1000
- float: left;
1001
- }
1002
- }
1003
-
1004
- // 社交分享
1005
- .product-info__social-sharing {
1006
- margin-top: 30px;
1007
- white-space: nowrap;
1008
-
1009
- .share-facebook,
1010
- .share-twitter,
1011
- .share-pinterest {
1012
- display: inline-flex;
1013
- align-items: center;
1014
- width: 33.33%; // justify-content: space-around;
1015
- i {
1016
- font-size: 28px;
1017
- margin-right: 15px;
1018
- }
1019
-
1020
- span {
1021
- display: inline-block;
1022
- font-size: 14px; // margin-right: 30px;
1023
- }
1024
- }
1025
-
1026
- .share-pinterest span {
1027
- margin-right: 0;
1028
- }
1029
- }
1030
-
1031
- html[dir='rtl'] {
1032
- .product-info__header_off-ratio::before {
1033
- content: '';
1034
- display: block;
1035
- position: absolute;
1036
- height: px-to-rem(16);
1037
- width: 2px;
1038
- background: #000;
1039
- right: px-to-rem(-4);
1040
- top: 50%;
1041
- margin-top: px-to-rem(-8);
1042
- }
1043
-
1044
- @media ($mobile) {
1045
- .product-info__header_price-wrapper-left {
1046
- padding-right: 0;
1047
- }
1048
- }
1049
-
1050
- @media ($pc) {
1051
- .product-info {
1052
- padding-left: 0;
1053
- padding-right: px-to-rem(24);
1054
- }
1055
- }
1056
-
1057
- .product-info__variants_value {
1058
- margin-right: 0;
1059
- margin-left: px-to-rem(10);
1060
- }
1061
- }
1062
-
1063
- #product-select-modal {
1064
- .product-info__additional {
1065
- display: none;
1066
- }
1067
- }
1068
- @media ($mobile) {
1069
- #product-select-modal {
1070
- .product-info__additional,
1071
- .sep-loaded-slider__button,
1072
- .product-image__swiper_bullets {
1073
- display: none;
1074
- }
1075
- .product-image .position-relative,
1076
- .product-slider {
1077
- width: 100%;
1078
- height: 100%;
1079
- }
1080
- .product-info__variants {
1081
- margin-top: 0;
1082
- }
1083
- }
1084
- }
1085
-
1086
- @keyframes pploading {
1087
- 0% {
1088
- background-position: 0% 0;
1089
- }
1090
- 50% {
1091
- background-position: 100% 0;
1092
- }
1093
- 100% {
1094
- background-position: 200% 0;
1095
- }
1096
- }
1097
- .placeholder-paypal-express-button-container {
1098
- display: block;
1099
- height: 50px;
1100
- width: 100%;
1101
- background-image: linear-gradient(to left, #e6e6e6 0%, #cdcdcd 50%, #e6e6e6 100%);
1102
- animation: 3s linear 0s infinite normal forwards running pploading;
1103
- background-size: 200% 100%;
1104
- border-radius: 4px;
1105
- margin-top: 16px;
1106
- }