cloudcommerce 0.34.0 → 0.35.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 (276) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/action.yml +11 -3
  3. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  4. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  5. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  6. package/ecomplus-stores/barra-doce/package.json +2 -2
  7. package/package.json +7 -7
  8. package/packages/api/lib/api.js +1 -1
  9. package/packages/api/lib/api.js.map +1 -1
  10. package/packages/api/package.json +1 -1
  11. package/packages/api/src/api.ts +1 -1
  12. package/packages/apps/affilate-program/lib/events-to-affilate-program.js.map +1 -1
  13. package/packages/apps/affilate-program/package.json +2 -2
  14. package/packages/apps/correios/package.json +2 -2
  15. package/packages/apps/custom-payment/lib/custom-payment-create-transaction.js.map +1 -1
  16. package/packages/apps/custom-payment/lib/custom-payment-list-payments.js.map +1 -1
  17. package/packages/apps/custom-payment/package.json +1 -1
  18. package/packages/apps/custom-shipping/package.json +1 -1
  19. package/packages/apps/datafrete/lib/datafrete-webhook.js.map +1 -1
  20. package/packages/apps/datafrete/package.json +2 -2
  21. package/packages/apps/discounts/package.json +1 -1
  22. package/packages/apps/emails/lib/events-to-app-emails.js.map +1 -1
  23. package/packages/apps/emails/lib/functios-lib/abandoned-carts.js.map +1 -1
  24. package/packages/apps/emails/lib/functios-lib/handle-orders.js.map +1 -1
  25. package/packages/apps/emails/package.json +2 -2
  26. package/packages/apps/fb-conversions/lib/fb-conversions-events.js.map +1 -1
  27. package/packages/apps/fb-conversions/lib/functions-lib/create-fb-objects.js.map +1 -1
  28. package/packages/apps/fb-conversions/package.json +2 -2
  29. package/packages/apps/flash-courier/package.json +1 -1
  30. package/packages/apps/frenet/lib/functions-lib/database.js.map +1 -1
  31. package/packages/apps/frenet/lib/functions-lib/events-to-frenet.js.map +1 -1
  32. package/packages/apps/frenet/lib/functions-lib/remove-delivered.js.map +1 -1
  33. package/packages/apps/frenet/lib/functions-lib/tracking-codes.js.map +1 -1
  34. package/packages/apps/frenet/lib/functions-lib/update-fulfillments.js.map +1 -1
  35. package/packages/apps/frenet/package.json +2 -2
  36. package/packages/apps/galaxpay/lib/functions-lib/all-parses.js.map +1 -1
  37. package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.js.map +1 -1
  38. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-access.js.map +1 -1
  39. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-axios.js.map +1 -1
  40. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/gerate-token.js.map +1 -1
  41. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.js.map +1 -1
  42. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.js.map +1 -1
  43. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.d.ts +1 -0
  44. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js.map +1 -1
  45. package/packages/apps/galaxpay/lib/galaxpay-create-transaction.js +2 -2
  46. package/packages/apps/galaxpay/lib/galaxpay-create-transaction.js.map +1 -1
  47. package/packages/apps/galaxpay/lib/galaxpay-events.js.map +1 -1
  48. package/packages/apps/galaxpay/lib/galaxpay-list-payments.js +1 -1
  49. package/packages/apps/galaxpay/lib/galaxpay-list-payments.js.map +1 -1
  50. package/packages/apps/galaxpay/package.json +2 -2
  51. package/packages/apps/google-analytics/lib/google-analytics-events.js +4 -4
  52. package/packages/apps/google-analytics/lib/google-analytics-events.js.map +1 -1
  53. package/packages/apps/google-analytics/package.json +2 -2
  54. package/packages/apps/google-analytics/src/google-analytics-events.ts +4 -4
  55. package/packages/apps/jadlog/package.json +1 -1
  56. package/packages/apps/loyalty-points/lib/functions-lib/cron-add-points.js.map +1 -1
  57. package/packages/apps/loyalty-points/lib/functions-lib/get-program-id.js.map +1 -1
  58. package/packages/apps/loyalty-points/lib/functions-lib/handle-loyalty-points-event.js.map +1 -1
  59. package/packages/apps/loyalty-points/lib/loyalty-create-transaction.js.map +1 -1
  60. package/packages/apps/loyalty-points/lib/loyalty-list-payments.js.map +1 -1
  61. package/packages/apps/loyalty-points/lib/loyalty-points-events.js.map +1 -1
  62. package/packages/apps/loyalty-points/package.json +1 -1
  63. package/packages/apps/mandae/package.json +1 -1
  64. package/packages/apps/melhor-envio/lib/functions-lib/database.js.map +1 -1
  65. package/packages/apps/melhor-envio/lib/functions-lib/events-to-melhor-envio.js.map +1 -1
  66. package/packages/apps/melhor-envio/lib/functions-lib/new-label.js.map +1 -1
  67. package/packages/apps/melhor-envio/lib/functions-lib/order-is-valid.js.map +1 -1
  68. package/packages/apps/melhor-envio/lib/functions-lib/tracking-codes.js.map +1 -1
  69. package/packages/apps/melhor-envio/package.json +2 -2
  70. package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +1 -1
  71. package/packages/apps/mercadopago/lib/mp-list-payments.js.map +1 -1
  72. package/packages/apps/mercadopago/lib/mp-webhook.js.map +1 -1
  73. package/packages/apps/mercadopago/package.json +2 -2
  74. package/packages/apps/pagarme/lib/functions-lib/add-installments.js.map +1 -1
  75. package/packages/apps/pagarme/lib/functions-lib/parse-status-to-ecom.js.map +1 -1
  76. package/packages/apps/pagarme/lib/pagarme-create-transaction.js.map +1 -1
  77. package/packages/apps/pagarme/lib/pagarme-list-payments.js.map +1 -1
  78. package/packages/apps/pagarme/lib/pagarme-webhook.js.map +1 -1
  79. package/packages/apps/pagarme/package.json +2 -2
  80. package/packages/apps/pagarme-v5/lib/pagarme-v5-events.js.map +1 -1
  81. package/packages/apps/pagarme-v5/package.json +2 -2
  82. package/packages/apps/paghiper/lib/functions-lib/handle-webhook.d.ts +1 -0
  83. package/packages/apps/paghiper/lib/functions-lib/handle-webhook.js.map +1 -1
  84. package/packages/apps/paghiper/lib/paghiper-create-transaction.js.map +1 -1
  85. package/packages/apps/paghiper/lib/paghiper-list-payments.js.map +1 -1
  86. package/packages/apps/paghiper/lib/paghiper-webhook.js.map +1 -1
  87. package/packages/apps/paghiper/package.json +2 -2
  88. package/packages/apps/pix/lib/functions-lib/get-certificate.js.map +1 -1
  89. package/packages/apps/pix/lib/functions-lib/pix-auth/construtor.js.map +1 -1
  90. package/packages/apps/pix/lib/functions-lib/pix-auth/create-axios.js.map +1 -1
  91. package/packages/apps/pix/lib/functions-lib/pix-auth/oauth.js.map +1 -1
  92. package/packages/apps/pix/lib/pix-create-transaction.js.map +1 -1
  93. package/packages/apps/pix/lib/pix-list-payments.js.map +1 -1
  94. package/packages/apps/pix/lib/pix-webhook.js.map +1 -1
  95. package/packages/apps/pix/package.json +2 -2
  96. package/packages/apps/tiny-erp/lib/event-to-tiny.js.map +1 -1
  97. package/packages/apps/tiny-erp/lib/integration/after-tiny-queue.js.map +1 -1
  98. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js.map +1 -1
  99. package/packages/apps/tiny-erp/lib/integration/export-product-to-tiny.js.map +1 -1
  100. package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js.map +1 -1
  101. package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js.map +1 -1
  102. package/packages/apps/tiny-erp/lib/integration/parsers/order-from-tiny.js.map +1 -1
  103. package/packages/apps/tiny-erp/lib/integration/parsers/order-to-tiny.js.map +1 -1
  104. package/packages/apps/tiny-erp/lib/integration/parsers/product-from-tiny.js.map +1 -1
  105. package/packages/apps/tiny-erp/lib/integration/parsers/product-to-tiny.js.map +1 -1
  106. package/packages/apps/tiny-erp/lib/integration/parsers/status-from-tiny.js.map +1 -1
  107. package/packages/apps/tiny-erp/lib/integration/parsers/status-to-tiny.js.map +1 -1
  108. package/packages/apps/tiny-erp/lib/integration/post-tiny-erp.js.map +1 -1
  109. package/packages/apps/tiny-erp/lib/tiny-webhook.js.map +1 -1
  110. package/packages/apps/tiny-erp/package.json +2 -2
  111. package/packages/apps/webhooks/lib/events-to-webhooks-app.js.map +1 -1
  112. package/packages/apps/webhooks/package.json +2 -2
  113. package/packages/cli/package.json +1 -1
  114. package/packages/config/lib/config.js.map +1 -1
  115. package/packages/config/lib/env.js.map +1 -1
  116. package/packages/config/package.json +1 -1
  117. package/packages/emails/lib/index.js.map +1 -1
  118. package/packages/emails/lib/parse-template-to-html.js.map +1 -1
  119. package/packages/emails/lib/providers/sendgrid/index.js.map +1 -1
  120. package/packages/emails/lib/providers/sendgrid/parse-to-data.js.map +1 -1
  121. package/packages/emails/lib/providers/smtp/index.js.map +1 -1
  122. package/packages/emails/package.json +1 -1
  123. package/packages/eslint/package.json +1 -1
  124. package/packages/events/package.json +2 -2
  125. package/packages/feeds/lib/firebase/serve-feeds.js.map +1 -1
  126. package/packages/feeds/package.json +1 -1
  127. package/packages/firebase/lib/config.js.map +1 -1
  128. package/packages/firebase/lib/handlers/check-store-events.js.map +1 -1
  129. package/packages/firebase/lib/helpers/pubsub.js.map +1 -1
  130. package/packages/firebase/lib/helpers/update-app-data.js.map +1 -1
  131. package/packages/firebase/package.json +2 -2
  132. package/packages/i18n/package.json +1 -1
  133. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  134. package/packages/modules/lib/firebase/checkout.js.map +1 -1
  135. package/packages/modules/lib/firebase/functions-checkout/fix-items.js.map +1 -1
  136. package/packages/modules/lib/firebase/functions-checkout/get-custumerId.js.map +1 -1
  137. package/packages/modules/lib/firebase/functions-checkout/handle-order-transaction.js.map +1 -1
  138. package/packages/modules/lib/firebase/functions-checkout/new-order.js.map +1 -1
  139. package/packages/modules/lib/firebase/functions-checkout/request-to-module.js.map +1 -1
  140. package/packages/modules/lib/firebase/functions-checkout/utils.js.map +1 -1
  141. package/packages/modules/lib/firebase/handle-module.js.map +1 -1
  142. package/packages/modules/lib/firebase/serve-modules-api.js.map +1 -1
  143. package/packages/modules/lib/firebase.js.map +1 -1
  144. package/packages/modules/package.json +2 -2
  145. package/packages/passport/lib/firebase/authenticate-customer.js.map +1 -1
  146. package/packages/passport/lib/firebase/serve-passport-api.js.map +1 -1
  147. package/packages/passport/lib/firebase.js.map +1 -1
  148. package/packages/passport/package.json +2 -2
  149. package/packages/ssr/lib/analytics/send-to-ga4.js +44 -0
  150. package/packages/ssr/lib/analytics/send-to-ga4.js.map +1 -0
  151. package/packages/ssr/lib/analytics/send-to-meta.js +44 -0
  152. package/packages/ssr/lib/analytics/send-to-meta.js.map +1 -0
  153. package/packages/ssr/lib/analytics/send-to-tiktok.js +44 -0
  154. package/packages/ssr/lib/analytics/send-to-tiktok.js.map +1 -0
  155. package/packages/ssr/lib/analytics-events.js +52 -24
  156. package/packages/ssr/lib/analytics-events.js.map +1 -1
  157. package/packages/ssr/lib/firebase/serve-storefront.js +16 -3
  158. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
  159. package/packages/ssr/package.json +4 -4
  160. package/packages/ssr/src/analytics/send-to-ga4.ts +56 -0
  161. package/packages/ssr/src/analytics/send-to-meta.ts +50 -0
  162. package/packages/ssr/src/analytics/send-to-tiktok.ts +49 -0
  163. package/packages/ssr/src/analytics-events.ts +57 -27
  164. package/packages/ssr/src/firebase/serve-storefront.ts +17 -3
  165. package/packages/storefront/dist/client/_astro/{AccountPage.6ead88b1.js → AccountPage.77d861e9.js} +1 -1
  166. package/packages/storefront/dist/client/_astro/{CartSidebar.8151e4ee.js → CartSidebar.005ec337.js} +1 -1
  167. package/packages/storefront/dist/client/_astro/{HeroSlider.46474cda.js → HeroSlider.b35ac2f9.js} +1 -1
  168. package/packages/storefront/dist/client/_astro/{PitchBar.fbca6881.js → PitchBar.7965ce11.js} +1 -1
  169. package/packages/storefront/dist/client/_astro/{Prices.311303d8.js → Prices.862d15eb.js} +1 -1
  170. package/packages/storefront/dist/client/_astro/{ProductDetails.d66f9f7e.js → ProductDetails.120b6513.js} +1 -1
  171. package/packages/storefront/dist/client/_astro/{ProductShelf.9536b4c1.js → ProductShelf.4a2f57cf.js} +1 -1
  172. package/packages/storefront/dist/client/_astro/{QuantitySelector.e74e368a.js → QuantitySelector.d7dd044c.js} +1 -1
  173. package/packages/storefront/dist/client/_astro/SearchModal.0bf88bcc.js +1 -0
  174. package/packages/storefront/dist/client/_astro/ShopHeader.57302617.js +4 -0
  175. package/packages/storefront/dist/client/_astro/{_plugin-vue_export-helper.dd1a60ce.js → _plugin-vue_export-helper.d927d271.js} +1 -1
  176. package/packages/storefront/dist/client/_astro/_slug_.f458f318.css +1 -0
  177. package/packages/storefront/dist/client/_astro/{client.7c1b0374.js → client.409c434f.js} +1 -1
  178. package/packages/storefront/dist/client/_astro/customer-session.68901b4c.js +1 -0
  179. package/packages/storefront/dist/client/_astro/ecom-utils.f65876ca.js +1 -0
  180. package/packages/storefront/dist/client/_astro/{format-money.8962a5ab.js → format-money.db179bca.js} +1 -1
  181. package/packages/storefront/dist/client/_astro/hoisted.719d11e3.js +1 -0
  182. package/packages/storefront/dist/client/_astro/hoisted.f4c55052.js +1 -0
  183. package/packages/storefront/dist/client/_astro/{i18n.78f362d9.js → i18n.614beec4.js} +1 -1
  184. package/packages/storefront/dist/client/_astro/{img.bfbd75a8.js → img.27573b8b.js} +1 -1
  185. package/packages/storefront/dist/client/_astro/{index.e02b88b7.js → index.aac4c53d.js} +1 -1
  186. package/packages/storefront/dist/client/_astro/{index.e20e07e3.js → index.d93220be.js} +1 -1
  187. package/packages/storefront/dist/client/_astro/{modules-info.3c447a07.js → modules-info.4373e917.js} +1 -1
  188. package/packages/storefront/dist/client/_astro/name.2999355b.js +1 -0
  189. package/packages/storefront/dist/client/_astro/shopping-cart.608866aa.js +1 -0
  190. package/packages/storefront/dist/client/_astro/{use-analytics.d0c184ef.js → use-analytics.205d2b8f.js} +1 -1
  191. package/packages/storefront/dist/client/_astro/{use-product-card.e0990572.js → use-product-card.cc44716b.js} +1 -1
  192. package/packages/storefront/dist/server/chunks/{CartSidebar_03b51b57.mjs → CartSidebar_6cb69be3.mjs} +1 -1
  193. package/packages/storefront/dist/server/chunks/{SearchModal_2afca4fe.mjs → SearchModal_930845a4.mjs} +2 -2
  194. package/packages/storefront/dist/server/chunks/{_.._4def02ff.mjs → _.._07cccbbe.mjs} +1 -1
  195. package/packages/storefront/dist/server/chunks/{account_2ee873cf.mjs → account_e71f4214.mjs} +1 -1
  196. package/packages/storefront/dist/server/chunks/astro/{assets-service_66a9c838.mjs → assets-service_a9d9ab5f.mjs} +58 -10
  197. package/packages/storefront/dist/server/chunks/{astro_8447f017.mjs → astro_d98f7186.mjs} +7 -1
  198. package/packages/storefront/dist/server/chunks/{index_5dcbbe32.mjs → index_414d53c7.mjs} +1 -1
  199. package/packages/storefront/dist/server/chunks/{index_37bacd45.mjs → index_a7b0afbf.mjs} +1 -1
  200. package/packages/storefront/dist/server/chunks/{node_b3ae36f1.mjs → node_7efff4d0.mjs} +1 -1
  201. package/packages/storefront/dist/server/chunks/pages/{__80fd1c60.mjs → __e7ddf925.mjs} +344 -173
  202. package/packages/storefront/dist/server/chunks/pages/account_f14e6f5a.mjs +28 -0
  203. package/packages/storefront/dist/server/chunks/pages/{index_8e1d063c.mjs → index_b300d887.mjs} +29 -8
  204. package/packages/storefront/dist/server/chunks/pages/node_2b0cb889.mjs +93 -0
  205. package/packages/storefront/dist/server/chunks/pages/{~fallback_6ff698cd.mjs → ~fallback_2bbdf875.mjs} +16 -6
  206. package/packages/storefront/dist/server/chunks/{~fallback_7c4b84d5.mjs → ~fallback_43c17ff0.mjs} +1 -1
  207. package/packages/storefront/dist/server/entry.mjs +8 -8
  208. package/packages/storefront/dist/server/{manifest_2019b8a9.mjs → manifest_4dba1382.mjs} +2 -2
  209. package/packages/storefront/dist/server/renderers.mjs +1 -1
  210. package/packages/storefront/package.json +8 -9
  211. package/packages/storefront/src/lib/assets/forms.css +35 -30
  212. package/packages/storefront/src/lib/components/Carousel.vue +3 -1
  213. package/packages/storefront/src/lib/components/CarouselControl.vue +1 -1
  214. package/packages/storefront/src/lib/components/Drawer.vue +45 -7
  215. package/packages/storefront/src/lib/components/globals/Fade.vue +1 -1
  216. package/packages/storefront/src/lib/composables/use-product-shelf.ts +1 -1
  217. package/packages/storefront/src/lib/scripts/vbeta-app.ts +25 -15
  218. package/packages/storefront/src/lib/state/search-engine.ts +101 -0
  219. package/packages/storefront/src/lib/state/shopping-cart.ts +52 -65
  220. package/packages/storefront/src/lib/state/use-analytics.ts +2 -1
  221. package/packages/storefront/src/lib/state/use-storage.ts +5 -2
  222. package/packages/test-base/lib/endpoints.js.map +1 -1
  223. package/packages/test-base/package.json +1 -1
  224. package/packages/types/package.json +1 -1
  225. package/packages/ssr/lib/analytics-providers/google-analytics.js +0 -48
  226. package/packages/ssr/lib/analytics-providers/google-analytics.js.map +0 -1
  227. package/packages/ssr/lib/analytics-providers/meta-conversions-api.js +0 -44
  228. package/packages/ssr/lib/analytics-providers/meta-conversions-api.js.map +0 -1
  229. package/packages/ssr/src/analytics-providers/google-analytics.ts +0 -67
  230. package/packages/ssr/src/analytics-providers/meta-conversions-api.ts +0 -57
  231. package/packages/storefront/dist/client/_astro/SearchModal.83b73e0b.js +0 -1
  232. package/packages/storefront/dist/client/_astro/ShopHeader.06f4d486.js +0 -4
  233. package/packages/storefront/dist/client/_astro/_slug_.52cde7a0.css +0 -1
  234. package/packages/storefront/dist/client/_astro/customer-session.2d173cc1.js +0 -1
  235. package/packages/storefront/dist/client/_astro/ecom-icon_12falx.png +0 -0
  236. package/packages/storefront/dist/client/_astro/ecom-icon_15pqnO.png +0 -0
  237. package/packages/storefront/dist/client/_astro/ecom-icon_t3guw.png +0 -0
  238. package/packages/storefront/dist/client/_astro/ecom-utils.c385a436.js +0 -1
  239. package/packages/storefront/dist/client/_astro/headphone_T2Jjc.avif +0 -0
  240. package/packages/storefront/dist/client/_astro/headphone_Z1CG18r.webp +0 -0
  241. package/packages/storefront/dist/client/_astro/hoisted.57d8d9d0.js +0 -1
  242. package/packages/storefront/dist/client/_astro/hoisted.f16496bc.js +0 -1
  243. package/packages/storefront/dist/client/_astro/logo_1UBsBq.webp +0 -0
  244. package/packages/storefront/dist/client/_astro/logo_Z1K5PE9.png +0 -0
  245. package/packages/storefront/dist/client/_astro/logo_Z1KIIl1.avif +0 -0
  246. package/packages/storefront/dist/client/_astro/name.3cd31c8b.js +0 -1
  247. package/packages/storefront/dist/client/_astro/passion_LHbe9.webp +0 -0
  248. package/packages/storefront/dist/client/_astro/passion_Z23MeUb.avif +0 -0
  249. package/packages/storefront/dist/client/_astro/rect8589_1TtOHY.png +0 -0
  250. package/packages/storefront/dist/client/_astro/rect8589_1f5opX.webp +0 -0
  251. package/packages/storefront/dist/client/_astro/rect8589_IUskt.webp +0 -0
  252. package/packages/storefront/dist/client/_astro/rect8589_Uxfdf.png +0 -0
  253. package/packages/storefront/dist/client/_astro/rect8589_Z15uApA.png +0 -0
  254. package/packages/storefront/dist/client/_astro/rect8589_Z1Ap1Im.avif +0 -0
  255. package/packages/storefront/dist/client/_astro/rect8589_Z1JT1HB.webp +0 -0
  256. package/packages/storefront/dist/client/_astro/rect8589_ZY9mtN.avif +0 -0
  257. package/packages/storefront/dist/client/_astro/rect8589_tMFW0.avif +0 -0
  258. package/packages/storefront/dist/client/_astro/rect859_1TgQXS.avif +0 -0
  259. package/packages/storefront/dist/client/_astro/rect859_2Nm1z.avif +0 -0
  260. package/packages/storefront/dist/client/_astro/rect859_DIqwR.png +0 -0
  261. package/packages/storefront/dist/client/_astro/rect859_Z1IKDb2.png +0 -0
  262. package/packages/storefront/dist/client/_astro/rect859_Z29FI4V.webp +0 -0
  263. package/packages/storefront/dist/client/_astro/rect859_Z2kFHGk.avif +0 -0
  264. package/packages/storefront/dist/client/_astro/rect859_ZkpPFI.webp +0 -0
  265. package/packages/storefront/dist/client/_astro/rect859_jXzBi.png +0 -0
  266. package/packages/storefront/dist/client/_astro/rect859_x1l16.webp +0 -0
  267. package/packages/storefront/dist/client/_astro/rect89_1TSfW7.avif +0 -0
  268. package/packages/storefront/dist/client/_astro/rect89_Z1re32x.webp +0 -0
  269. package/packages/storefront/dist/client/_astro/shopping-cart.6b03b120.js +0 -1
  270. package/packages/storefront/dist/client/~fallback.html +0 -74
  271. package/packages/storefront/dist/client/~index.html +0 -120
  272. package/packages/storefront/dist/server/chunks/pages/account_bfd9a66a.mjs +0 -21
  273. package/packages/storefront/dist/server/chunks/pages/node_530334cf.mjs +0 -160
  274. package/packages/storefront/dist/server/images.dist.csv +0 -30
  275. package/packages/storefront/dist/server/images.src.csv +0 -11
  276. package/packages/storefront/dist/server/static-builds.csv +0 -66
@@ -8,17 +8,25 @@ import {
8
8
 
9
9
  export interface Props {
10
10
  modelValue?: boolean;
11
+ isHidden?: boolean;
11
12
  placement?: 'start' | 'end' | 'top' | 'bottom';
12
13
  position?: 'fixed' | 'absolute';
14
+ animation?: 'slide' | 'scale' | null;
13
15
  hasCloseButton?: boolean;
14
- backdropTarget?: string;
16
+ anchorEl?: HTMLElement | null;
17
+ backdropTarget?: string | null;
18
+ maxWidth?: string;
19
+ class?: string | string[] | Record<string, string | null> | null;
15
20
  }
16
21
 
17
22
  const props = withDefaults(defineProps<Props>(), {
18
23
  modelValue: false,
24
+ isHidden: false,
19
25
  placement: 'start',
20
26
  position: 'fixed',
27
+ animation: 'slide',
21
28
  hasCloseButton: true,
29
+ hasBackdrop: true,
22
30
  backdropTarget: '#teleported-top',
23
31
  });
24
32
  const emit = defineEmits<{
@@ -28,6 +36,7 @@ const close = () => emit('update:modelValue', false);
28
36
  const drawer = ref<HTMLElement | null>(null);
29
37
  const outsideClickListener = (ev: MouseEvent) => {
30
38
  if (!drawer.value?.contains(ev.target as Node)) {
39
+ if (props.anchorEl?.contains(ev.target as Node)) return;
31
40
  close();
32
41
  }
33
42
  };
@@ -54,6 +63,7 @@ watch(toRef(props, 'modelValue'), async (isOpen) => {
54
63
  }
55
64
  });
56
65
  const slideTo = computed(() => {
66
+ if (props.animation !== 'slide') return null;
57
67
  switch (props.placement) {
58
68
  case 'start': return 'left';
59
69
  case 'end': return 'right';
@@ -61,6 +71,27 @@ const slideTo = computed(() => {
61
71
  default: return 'up';
62
72
  }
63
73
  });
74
+ const animationClassName = ref<string | null>(null);
75
+ if (props.animation === 'scale') {
76
+ watch(toRef(props, 'modelValue'), (isShown) => {
77
+ if (!isShown) {
78
+ animationClassName.value = 'transition scale-90';
79
+ } else {
80
+ nextTick(() => {
81
+ setTimeout(() => {
82
+ animationClassName.value = 'transition';
83
+ setTimeout(() => {
84
+ if (props.modelValue) animationClassName.value = '';
85
+ }, 300);
86
+ }, 50);
87
+ });
88
+ }
89
+ }, { immediate: true });
90
+ }
91
+ const customClassList = computed(() => {
92
+ if (Array.isArray(props.class)) return props.class;
93
+ return [props.class];
94
+ });
64
95
  const isFixed = computed(() => {
65
96
  return props.position === 'fixed';
66
97
  });
@@ -73,17 +104,24 @@ const isPlacementX = computed(() => {
73
104
  <Fade :slide="slideTo" speed="slow" is-floating>
74
105
  <dialog
75
106
  v-if="modelValue"
107
+ v-show="!isHidden"
76
108
  ref="drawer"
77
- class="z-50 m-0 w-screen p-0 shadow"
109
+ class="z-40 w-screen p-0"
78
110
  :class="[
79
111
  position,
112
+ isPlacementX ? 'm-0' : 'mx-auto',
113
+ isPlacementX && !maxWidth ? 'max-w-sm' : null,
80
114
  isFixed ? `top-0 ${(isPlacementX ? 'h-screen' : 'max-h-screen')}` : null,
81
115
  isFixed && placement !== 'end' ? 'left-0' : null,
82
116
  isFixed && placement === 'end' ? 'left-auto right-0' : null,
83
- isPlacementX ? 'max-w-sm' : null,
117
+ animationClassName,
118
+ ...customClassList,
84
119
  ]"
85
120
  :style="{
86
- maxWidth: !isPlacementX ? `calc(100vw - ${scrollbarWidth}px)` : undefined,
121
+ maxWidth: maxWidth
122
+ ? `min(${maxWidth}, calc(100vw - ${scrollbarWidth}px))`
123
+ : !isPlacementX
124
+ ? `calc(100vw - ${scrollbarWidth}px)` : undefined,
87
125
  }"
88
126
  :open="modelValue"
89
127
  :data-drawer="placement"
@@ -104,11 +142,11 @@ const isPlacementX = computed(() => {
104
142
  </button>
105
143
  <slot />
106
144
  </div>
107
- <Teleport :to="backdropTarget">
145
+ <Teleport v-if="backdropTarget" :to="backdropTarget">
108
146
  <Fade>
109
147
  <div
110
- v-if="modelValue"
111
- class="fixed left-0 top-0 z-40 h-screen w-screen bg-black/50"
148
+ v-if="modelValue && !isHidden"
149
+ class="fixed left-0 top-0 z-30 h-screen w-screen bg-black/50"
112
150
  data-drawer-backdrop
113
151
  ></div>
114
152
  </Fade>
@@ -3,7 +3,7 @@ import { computed } from 'vue';
3
3
 
4
4
  export interface Props {
5
5
  speed?: 'default' | 'slow' | 'slower',
6
- slide?: 'down' | 'left' | 'right' | 'up',
6
+ slide?: 'down' | 'left' | 'right' | 'up' | null,
7
7
  isFloating?: boolean,
8
8
  isLeaveTo?: boolean,
9
9
  isEnterFrom?: boolean,
@@ -4,7 +4,7 @@ import api from '@cloudcommerce/api';
4
4
  import { inStock as checkInStock } from '@ecomplus/utils';
5
5
 
6
6
  export interface Props {
7
- collectionId: ResourceId | null;
7
+ collectionId?: ResourceId | null;
8
8
  searchQuery?: `&${string}` | '';
9
9
  sort?: '-sales' | '-created_at' | 'price' | '-price' | '-price_discount' | string;
10
10
  title?: string | null;
@@ -33,8 +33,8 @@ const watchAppRoutes = () => {
33
33
  emittedCheckoutSteps.push(evName);
34
34
  if (!params) {
35
35
  params = {
36
- value: fixMoneyValue(shoppingCart.value.subtotal),
37
- items: shoppingCart.value.items.map(getGtagItem),
36
+ value: fixMoneyValue(shoppingCart.subtotal || 0),
37
+ items: shoppingCart.items.map(getGtagItem),
38
38
  };
39
39
  }
40
40
  if (evName !== 'view_cart') {
@@ -63,8 +63,8 @@ const watchAppRoutes = () => {
63
63
  };
64
64
  const params: Gtag.EventParams = {
65
65
  transaction_id: orderId,
66
- value: fixMoneyValue(amount?.total || shoppingCart.value.subtotal),
67
- items: shoppingCart.value.items.map(getGtagItem),
66
+ value: fixMoneyValue(amount?.total || shoppingCart.subtotal || 0),
67
+ items: shoppingCart.items.map(getGtagItem),
68
68
  coupon: order
69
69
  ? order.extra_discount?.discount_coupon
70
70
  : getCouponApplied(),
@@ -182,19 +182,29 @@ if (!import.meta.env.SSR) {
182
182
  if (Object.keys(utm).length) {
183
183
  sessionStorage.setItem('ecomUtm', JSON.stringify(utm));
184
184
  }
185
+ let querystring = window.location.search;
186
+ if (!querystring && window.location.hash) {
187
+ querystring = '?' + window.location.hash.split('?')[1];
188
+ }
189
+ const searchParams = new URLSearchParams(querystring);
190
+ if (searchParams.get('product_id') && searchParams.get('quantity') === '1') {
191
+ localStorage.setItem('ecomShoppingCart__tmp', JSON.stringify({
192
+ items: [{
193
+ product_id: searchParams.get('product_id'),
194
+ variation_id: searchParams.get('variation_id') || undefined,
195
+ quantity: 1,
196
+ }],
197
+ }));
198
+ (window as any).ECOM_CART_STORAGE_KEY = 'ecomShoppingCart__tmp';
199
+ }
185
200
  const { hostname } = window.location;
186
201
  const { domain } = globalThis.$storefront.settings;
187
202
  const apiBaseUri = `https://ecomplus.io/v2/:${window.ECOM_STORE_ID}/`;
188
- // @ts-ignore
189
- window.ECOMCLIENT_API_STORE = apiBaseUri;
190
- // @ts-ignore
191
- window.ECOMCLIENT_API_STORE_CACHE = apiBaseUri;
192
- // @ts-ignore
193
- window.ECOMCLIENT_API_PASSPORT = apiBaseUri;
194
- // @ts-ignore
195
- window.ECOMCLIENT_API_SEARCH = `${apiBaseUri}/search/_els/`;
196
- // @ts-ignore
197
- window.ECOMCLIENT_API_MODULES = hostname !== 'localhost' && hostname !== '127.0.0.1'
203
+ (window as any).ECOMCLIENT_API_STORE = apiBaseUri;
204
+ (window as any).ECOMCLIENT_API_STORE_CACHE = apiBaseUri;
205
+ (window as any).ECOMCLIENT_API_PASSPORT = apiBaseUri;
206
+ (window as any).ECOMCLIENT_API_SEARCH = `${apiBaseUri}/search/_els/`;
207
+ (window as any).ECOMCLIENT_API_MODULES = ['localhost', '127.0.0.1'].includes(hostname)
198
208
  ? `https://${domain}/_api/modules/`
199
209
  : '/_api/modules/';
200
210
 
@@ -227,7 +237,7 @@ if (!import.meta.env.SSR) {
227
237
  };
228
238
 
229
239
  const appScript = document.createElement('script');
230
- appScript.src = 'https://cdn.jsdelivr.net/npm/@ecomplus/storefront-app@2.0.0-beta.188/dist/lib/js/app.js';
240
+ appScript.src = 'https://cdn.jsdelivr.net/npm/@ecomplus/storefront-app@2.0.0-beta.190/dist/lib/js/app.js';
231
241
  appScript.onload = onLoad;
232
242
  document.body.appendChild(appScript);
233
243
  }
@@ -0,0 +1,101 @@
1
+ import type { SearchItem } from '@cloudcommerce/types';
2
+ import { ref, watch, shallowReactive } from 'vue';
3
+ import { useDebounceFn } from '@vueuse/core';
4
+ import api from '@cloudcommerce/api';
5
+ import useStorage from '@@sf/state/use-storage';
6
+
7
+ const storageKey = 'ecomSeachHistory';
8
+
9
+ export const searchHistory = useStorage<string[]>(storageKey, []);
10
+
11
+ export const search = async ({
12
+ term,
13
+ params,
14
+ fields,
15
+ url = 'search/v1',
16
+ }: {
17
+ term: string,
18
+ params?: Record<string, any>,
19
+ fields?: readonly string[],
20
+ url?: 'search/v1' | `search/v1?${string}`,
21
+ }) => {
22
+ term = term.trim();
23
+ if (term.length < 2) {
24
+ return { data: { result: [], meta: null } };
25
+ }
26
+ const response = await api.get(url, {
27
+ fields,
28
+ params: {
29
+ ...params,
30
+ term,
31
+ },
32
+ });
33
+ if (response.data.result.length && !searchHistory.includes(term)) {
34
+ const termIndex = searchHistory.findIndex((_term) => term.startsWith(_term));
35
+ if (termIndex > -1) {
36
+ searchHistory[termIndex] = term;
37
+ } else {
38
+ searchHistory.unshift(term);
39
+ }
40
+ while (searchHistory.length > 20) {
41
+ searchHistory.pop();
42
+ }
43
+ }
44
+ return response;
45
+ };
46
+
47
+ export class SearchEngine {
48
+ url: 'search/v1' | `search/v1?${string}`;
49
+ fields?: readonly string[];
50
+ term = ref('');
51
+ params = shallowReactive<Record<string, any>>({});
52
+ pageSize = ref(24);
53
+ pageNumber = ref(1);
54
+ products = shallowReactive<SearchItem[]>([]);
55
+ #search: ReturnType<typeof useDebounceFn<typeof search>>;
56
+ constructor({
57
+ fields,
58
+ url = 'search/v1',
59
+ debounce = 150,
60
+ }: {
61
+ fields?: readonly string[],
62
+ url?: 'search/v1' | `search/v1?${string}`,
63
+ debounce?: number,
64
+ } = {}) {
65
+ this.fields = fields;
66
+ this.url = url;
67
+ this.products = shallowReactive([]);
68
+ this.#search = useDebounceFn(search, debounce);
69
+ watch([this.term, this.params], () => {
70
+ this.pageNumber.value = 1;
71
+ });
72
+ }
73
+
74
+ async fetch(term?: string) {
75
+ if (term && term !== this.term.value) {
76
+ this.term.value = term;
77
+ this.pageNumber.value = 1;
78
+ }
79
+ const limit = this.pageSize.value;
80
+ const offset = limit * (this.pageNumber.value - 1);
81
+ const response = await this.#search({
82
+ term: this.term.value,
83
+ params: {
84
+ limit,
85
+ offset,
86
+ ...this.params,
87
+ },
88
+ url: this.url,
89
+ fields: this.fields,
90
+ });
91
+ if (response) {
92
+ const { data } = response;
93
+ if (data.meta) {
94
+ this.products.splice(0);
95
+ }
96
+ data.result.forEach((item) => this.products.push(item));
97
+ }
98
+ }
99
+ }
100
+
101
+ export default SearchEngine;
@@ -1,6 +1,6 @@
1
1
  import type { Products, CartSet, SearchItem } from '@cloudcommerce/api/types';
2
- import { computed } from 'vue';
3
- import { watchDebounced } from '@vueuse/core';
2
+ import { computed, watch } from 'vue';
3
+ import { useDebounceFn } from '@vueuse/core';
4
4
  import mitt from 'mitt';
5
5
  import useStorage from '@@sf/state/use-storage';
6
6
  import addItem from '@@sf/state/shopping-cart/add-cart-item';
@@ -11,79 +11,31 @@ const storageKey = 'ecomShoppingCart';
11
11
  const emptyCart = {
12
12
  items: [],
13
13
  };
14
- const cart = useStorage<CartSet>(storageKey, emptyCart);
15
-
16
- const cartItems = computed(() => {
17
- return cart.items.map((item) => {
18
- let finalPrice = item.kit_product?.price && item.kit_product.pack_quantity
19
- ? item.kit_product.price / item.kit_product.pack_quantity
20
- : item.price;
21
- if (Array.isArray(item.customizations)) {
22
- item.customizations.forEach((customization) => {
23
- if (customization.add_to_price) {
24
- const { type, addition } = customization.add_to_price;
25
- finalPrice += type === 'fixed'
26
- ? addition
27
- : item.price * (addition / 100);
28
- }
29
- });
30
- }
31
- item.final_price = finalPrice;
32
- const min = item.min_quantity || 1;
33
- const max = item.max_quantity;
34
- if (
35
- typeof item.quantity !== 'number'
36
- || Number.isNaN(item.quantity)
37
- || item.quantity < min
38
- ) {
39
- item.quantity = min;
40
- } else if (max && item.quantity > max) {
41
- item.quantity = max;
42
- }
43
- return item;
44
- });
45
- });
46
- const subtotal = computed(() => {
47
- return cartItems.value.reduce((acc, item) => {
48
- return acc + (item.quantity * (item.final_price || item.price));
49
- }, 0);
50
- });
14
+ const shoppingCart = useStorage<CartSet>(storageKey, emptyCart);
51
15
  const totalItems = computed(() => {
52
- return cartItems.value.reduce((acc, item) => {
16
+ return shoppingCart.items.reduce((acc, item) => {
53
17
  return acc + item.quantity;
54
18
  }, 0);
55
19
  });
56
- const shoppingCart = computed({
57
- get() {
58
- return {
59
- ...cart,
60
- subtotal: subtotal.value,
61
- };
62
- },
63
- set(newCart) {
64
- Object.assign(cart, newCart, {
65
- subtotal: subtotal.value,
66
- });
67
- },
68
- });
69
20
 
70
21
  const addCartItem = (newItem: CartItem) => {
71
- const cartObj = shoppingCart.value;
72
- const upsertedItem = addItem(cartObj, newItem);
73
- if (upsertedItem) {
74
- // Force reactivity
75
- shoppingCart.value.items = cartObj.items;
76
- }
22
+ addItem(shoppingCart, newItem);
77
23
  };
78
24
  const removeCartItem = (itemId: string) => {
79
- for (let i = 0; i < shoppingCart.value.items.length; i++) {
80
- const item = shoppingCart.value.items[i];
25
+ for (let i = 0; i < shoppingCart.items.length; i++) {
26
+ const item = shoppingCart.items[i];
81
27
  if (item._id === itemId) {
82
- shoppingCart.value.items.splice(i, 1);
28
+ shoppingCart.items.splice(i, 1);
83
29
  break;
84
30
  }
85
31
  }
86
32
  };
33
+ const resetCartItems = (items?: CartItem[]) => {
34
+ while (shoppingCart.items.length) {
35
+ shoppingCart.items.pop();
36
+ }
37
+ items?.forEach(addCartItem);
38
+ };
87
39
  const addProductToCart = (
88
40
  product: (Partial<Products> | Partial<SearchItem>) & { _id: Products['_id'] },
89
41
  variationId?: Products['_id'],
@@ -97,6 +49,7 @@ export {
97
49
  shoppingCart,
98
50
  addCartItem,
99
51
  removeCartItem,
52
+ resetCartItems,
100
53
  parseProduct,
101
54
  addProductToCart,
102
55
  };
@@ -106,9 +59,9 @@ type CartEvent = {
106
59
  removeCartItem: CartItem,
107
60
  };
108
61
  const cartEmitter = mitt<CartEvent>();
109
- const cloneItems = () => shoppingCart.value.items.map((item) => ({ ...item }));
62
+ const cloneItems = () => shoppingCart.items.map((item) => ({ ...item }));
110
63
  let oldItems = cloneItems();
111
- watchDebounced(shoppingCart, ({ items }) => {
64
+ const emitCartEvents = useDebounceFn((items: CartItem[]) => {
112
65
  ['addCartItem' as const, 'removeCartItem' as const].forEach((evName) => {
113
66
  const isAdd = evName === 'addCartItem';
114
67
  const baseItems = isAdd ? items : oldItems;
@@ -126,7 +79,41 @@ watchDebounced(shoppingCart, ({ items }) => {
126
79
  });
127
80
  });
128
81
  oldItems = cloneItems();
129
- }, { debounce: 200 });
82
+ }, 200);
83
+
84
+ watch(shoppingCart.items, (items) => {
85
+ items.forEach((item) => {
86
+ let finalPrice = item.kit_product?.price && item.kit_product.pack_quantity
87
+ ? item.kit_product.price / item.kit_product.pack_quantity
88
+ : item.price;
89
+ if (Array.isArray(item.customizations)) {
90
+ item.customizations.forEach((customization) => {
91
+ if (customization.add_to_price) {
92
+ const { type, addition } = customization.add_to_price;
93
+ finalPrice += type === 'fixed'
94
+ ? addition
95
+ : item.price * (addition / 100);
96
+ }
97
+ });
98
+ }
99
+ item.final_price = finalPrice;
100
+ const min = item.min_quantity || 1;
101
+ const max = item.max_quantity;
102
+ if (
103
+ typeof item.quantity !== 'number'
104
+ || Number.isNaN(item.quantity)
105
+ || item.quantity < min
106
+ ) {
107
+ item.quantity = min;
108
+ } else if (max && item.quantity > max) {
109
+ item.quantity = max;
110
+ }
111
+ });
112
+ shoppingCart.subtotal = items.reduce((acc, item) => {
113
+ return acc + (item.quantity * (item.final_price || item.price));
114
+ }, 0);
115
+ emitCartEvents(items);
116
+ });
130
117
 
131
118
  export const cartEvents = {
132
119
  on: cartEmitter.on,
@@ -11,6 +11,7 @@ export const trackingIds: {
11
11
  g_session_id?: string,
12
12
  fbclid?: string,
13
13
  fbp?: string,
14
+ ttclid?: string,
14
15
  client_id?: string,
15
16
  session_id?: string,
16
17
  } = {};
@@ -242,7 +243,7 @@ export const useAnalytics = () => {
242
243
  });
243
244
  }
244
245
  const url = new URL(window.location.toString());
245
- ['gclid', 'fbclid'].forEach((key) => {
246
+ ['gclid', 'fbclid', 'ttclid'].forEach((key) => {
246
247
  const id = trackingIds[key] || url.searchParams.get(key);
247
248
  if (id) {
248
249
  trackingIds[key] = id;
@@ -1,4 +1,5 @@
1
- import { reactive, watch } from 'vue';
1
+ import { reactive } from 'vue';
2
+ import { watchDebounced } from '@vueuse/core';
2
3
 
3
4
  const useStorage = <T extends {}>(
4
5
  key: string,
@@ -19,8 +20,10 @@ const useStorage = <T extends {}>(
19
20
  }
20
21
  }
21
22
  const state = reactive<T>(persistedValue || initialValue);
22
- watch(state, () => {
23
+ watchDebounced(state, () => {
23
24
  storage.setItem(key, JSON.stringify(state));
25
+ }, {
26
+ debounce: 50,
24
27
  });
25
28
  return state;
26
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,EACJ,aAAa,EACb,mBAAmB,GACpB,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhB,MAAM,MAAM,GAAG,aAAa,IAAI,UAAU,CAAC;AAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAExD,IAAI,SAAS,GAAG,mBAAmB,CAAC;AACpC,IAAI,CAAC,SAAS,EAAE;IACd,IAAI;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAC3B,EAAE,CAAC,YAAY,CACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAClC,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CACF,CAAC;QACF,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;KACzC;IAAC,OAAO,CAAC,EAAE;QACV,SAAS,GAAG,YAAY,CAAC;KAC1B;CACF;AAED,MAAM,OAAO,GAAG,yBAAyB,SAAS,IAAI,MAAM,EAAE,CAAC;AAC/D,MAAM,UAAU,GAAG,GAAG,OAAO,UAAU,CAAC;AACxC,MAAM,WAAW,GAAG,GAAG,OAAO,WAAW,CAAC;AAE1C,OAAO,EACL,OAAO,EACP,UAAU,EACV,WAAW,GACZ,CAAC"}
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,EACJ,aAAa,EACb,mBAAmB,GACpB,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhB,MAAM,MAAM,GAAG,aAAa,IAAI,UAAU,CAAC;AAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAExD,IAAI,SAAS,GAAG,mBAAmB,CAAC;AACpC,IAAI,CAAC,SAAS,EAAE,CAAC;IACf,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAC3B,EAAE,CAAC,YAAY,CACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAClC,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CACF,CAAC;QACF,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,SAAS,GAAG,YAAY,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,yBAAyB,SAAS,IAAI,MAAM,EAAE,CAAC;AAC/D,MAAM,UAAU,GAAG,GAAG,OAAO,UAAU,CAAC;AACxC,MAAM,WAAW,GAAG,GAAG,OAAO,WAAW,CAAC;AAE1C,OAAO,EACL,OAAO,EACP,UAAU,EACV,WAAW,GACZ,CAAC"}
@@ -2,7 +2,7 @@
2
2
  "name": "@cloudcommerce/test-base",
3
3
  "private": true,
4
4
  "type": "module",
5
- "version": "0.34.0",
5
+ "version": "0.35.0",
6
6
  "description": "E-Com Plus Cloud Commerce basic setup for testing",
7
7
  "main": "lib/index.js",
8
8
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.34.0",
4
+ "version": "0.35.0",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {
@@ -1,48 +0,0 @@
1
- import axios from 'axios';
2
-
3
- const ga4Axios = axios.create({
4
- baseURL: 'https://www.google-analytics.com',
5
- headers: {
6
- 'Content-Type': 'application/json',
7
- },
8
- });
9
- const url = `/mp/collect?api_secret=${process.env.GA_API_TOKEN}`
10
- + `&measurement_id=${process.env.GA_MEASUREMENT_ID}`;
11
- const sendEvent = (analyticsEvents, clientId, sessionId, utm) => {
12
- if (process.env.GA_API_TOKEN && process.env.GA_MEASUREMENT_ID) {
13
- const requests = [];
14
- let events = [];
15
- analyticsEvents.forEach((event, index) => {
16
- if (event.params) {
17
- Object.assign(event.params, { session_id: sessionId });
18
- }
19
- const body = event;
20
- if (body.name === 'page_view') {
21
- body.name = 'campaign_details';
22
- body.params = {
23
- source: utm?.source,
24
- medium: utm?.medium,
25
- campaign: utm?.campaign,
26
- term: utm?.term,
27
- content: utm?.content,
28
- session_id: sessionId,
29
- };
30
- }
31
- events.push(body);
32
- if (events.length === 25 || index === analyticsEvents.length - 1) {
33
- events.push(body);
34
- requests.push(ga4Axios.post(url, {
35
- client_id: clientId,
36
- events,
37
- }));
38
- events = [];
39
- }
40
- });
41
- return requests;
42
- }
43
- // throw new Error('Google Analytics credentials not found');
44
- return null;
45
- };
46
-
47
- export default sendEvent;
48
- // # sourceMappingURL=google-analytics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-analytics.js","sourceRoot":"","sources":["../../src/analytics-providers/google-analytics.ts"],"names":[],"mappings":"AACA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,kCAAkC;IAC3C,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,0BAA0B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;MAC5D,mBAAmB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAEvD,MAAM,SAAS,GAAG,CAChB,eAAiC,EACjC,QAAgB,EAChB,SAAiB,EACjB,GAMC,EACD,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QAC7D,MAAM,QAAQ,GAAuC,EAAE,CAAC;QACxD,IAAI,MAAM,GAAqB,EAAE,CAAC;QAElC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACvC,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;aACxD;YAED,MAAM,IAAI,GAAG,KAAK,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC7B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;gBAC/B,IAAI,CAAC,MAAM,GAAG;oBACZ,MAAM,EAAE,GAAG,EAAE,MAAM;oBACnB,MAAM,EAAE,GAAG,EAAE,MAAM;oBACnB,QAAQ,EAAE,GAAG,EAAE,QAAQ;oBACvB,IAAI,EAAE,GAAG,EAAE,IAAI;oBACf,OAAO,EAAE,GAAG,EAAE,OAAO;oBACrB,UAAU,EAAE,SAAS;iBACtB,CAAC;aACH;YAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,KAAK,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,QAAQ,CAAC,IAAI,CACX,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;oBACjB,SAAS,EAAE,QAAQ;oBACnB,MAAM;iBACP,CAAC,CACH,CAAC;gBACF,MAAM,GAAG,EAAE,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;KACjB;IACD,6DAA6D;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,44 +0,0 @@
1
- import axios from 'axios';
2
-
3
- const version = 'v18.0';
4
- const metaAxios = axios.create({
5
- baseURL: `https://graph.facebook.com/${version}`,
6
- headers: {
7
- 'Content-Type': 'application/json',
8
- },
9
- });
10
- const url = `/${process.env.FB_PIXEL_ID}/events?access_token=${process.env.FB_GRAPH_TOKEN}`;
11
- const sendEvent = (metaEvents, pageLocation, userData) => {
12
- if (process.env.FB_PIXEL_ID && process.env.FB_GRAPH_TOKEN) {
13
- const requests = [];
14
- let data = [];
15
- metaEvents.forEach((event, index) => {
16
- const body = event;
17
- if (body.name === 'PageView') {
18
- body.name = 'Lead';
19
- body.params = {
20
- content_name: event.params?.page_title,
21
- };
22
- }
23
- data.push({
24
- event_name: body.name,
25
- event_time: Date.now(),
26
- event_source_url: pageLocation,
27
- action_source: 'website',
28
- user_data: userData,
29
- custom_data: body.params,
30
- });
31
- if (data.length === 1000 || index === metaEvents.length - 1) {
32
- requests.push(metaAxios.post(url, { data }));
33
- data = [];
34
- }
35
- });
36
- return requests;
37
- }
38
- // throw new Error('Meta credentials not found');
39
- return null;
40
- };
41
-
42
- // https://developers.facebook.com/docs/meta-pixel/reference#standard-events
43
- export default sendEvent;
44
- // # sourceMappingURL=meta-conversions-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meta-conversions-api.js","sourceRoot":"","sources":["../../src/analytics-providers/meta-conversions-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,MAAM,OAAO,GAAG,OAAO,CAAC;AACxB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,8BAA8B,OAAO,EAAE;IAChD,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,wBAAwB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;AAE5F,MAAM,SAAS,GAAG,CAChB,UAA4B,EAC5B,YAAoB,EACpB,QAA6C,EAE7C,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;QACzD,MAAM,QAAQ,GAAuC,EAAE,CAAC;QACxD,IAAI,IAAI,GAA2B,EAAE,CAAC;QAEtC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC;YACnB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;gBACnB,IAAI,CAAC,MAAM,GAAG;oBACZ,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU;iBACvC,CAAC;aACH;YAED,IAAI,CAAC,IAAI,CAAC;gBACR,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,YAAY;gBAC9B,aAAa,EAAE,SAAS;gBACxB,SAAS,EAAE,QAAQ;gBACnB,WAAW,EAAE,IAAI,CAAC,MAAM;aACzB,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3D,QAAQ,CAAC,IAAI,CACX,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAC9B,CAAC;gBACF,IAAI,GAAG,EAAE,CAAC;aACX;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;KACjB;IACD,iDAAiD;IACjD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,4EAA4E;AAC5E,eAAe,SAAS,CAAC"}