cloudcommerce 0.40.4 → 0.41.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 (102) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/action.yml +4 -0
  3. package/package.json +4 -4
  4. package/packages/api/package.json +1 -1
  5. package/packages/apps/affilate-program/package.json +1 -1
  6. package/packages/apps/correios/package.json +2 -2
  7. package/packages/apps/custom-payment/package.json +1 -1
  8. package/packages/apps/custom-shipping/package.json +1 -1
  9. package/packages/apps/datafrete/package.json +2 -2
  10. package/packages/apps/discounts/package.json +1 -1
  11. package/packages/apps/emails/package.json +1 -1
  12. package/packages/apps/fb-conversions/package.json +2 -2
  13. package/packages/apps/flash-courier/package.json +2 -2
  14. package/packages/apps/frenet/lib/frenet-events.js +1 -1
  15. package/packages/apps/frenet/lib/frenet-events.js.map +1 -1
  16. package/packages/apps/frenet/package.json +2 -2
  17. package/packages/apps/frenet/src/frenet-events.ts +1 -1
  18. package/packages/apps/galaxpay/package.json +2 -2
  19. package/packages/apps/google-analytics/package.json +2 -2
  20. package/packages/apps/jadlog/package.json +2 -2
  21. package/packages/apps/loyalty-points/lib/loyalty-points-events.js +1 -1
  22. package/packages/apps/loyalty-points/lib/loyalty-points-events.js.map +1 -1
  23. package/packages/apps/loyalty-points/package.json +1 -1
  24. package/packages/apps/loyalty-points/src/loyalty-points-events.ts +1 -1
  25. package/packages/apps/mandae/package.json +2 -2
  26. package/packages/apps/melhor-envio/lib/melhor-envio-events.js +1 -1
  27. package/packages/apps/melhor-envio/lib/melhor-envio-events.js.map +1 -1
  28. package/packages/apps/melhor-envio/package.json +2 -2
  29. package/packages/apps/melhor-envio/src/melhor-envio-events.ts +1 -1
  30. package/packages/apps/mercadopago/package.json +2 -2
  31. package/packages/apps/pagarme/package.json +2 -2
  32. package/packages/apps/pagarme-v5/package.json +2 -2
  33. package/packages/apps/paghiper/package.json +2 -2
  34. package/packages/apps/pix/package.json +2 -2
  35. package/packages/apps/tiny-erp/package.json +2 -2
  36. package/packages/apps/webhooks/package.json +2 -2
  37. package/packages/cli/package.json +1 -1
  38. package/packages/config/package.json +1 -1
  39. package/packages/emails/package.json +3 -3
  40. package/packages/eslint/package.json +2 -2
  41. package/packages/eslint/storefront.eslintrc.cjs +2 -0
  42. package/packages/events/lib/firebase.js +2 -0
  43. package/packages/events/lib/firebase.js.map +1 -1
  44. package/packages/events/package.json +2 -1
  45. package/packages/events/src/firebase.ts +2 -0
  46. package/packages/feeds/package.json +1 -1
  47. package/packages/firebase/lib/helpers/firestore.d.ts +2 -0
  48. package/packages/firebase/lib/helpers/firestore.js +24 -0
  49. package/packages/firebase/lib/helpers/firestore.js.map +1 -0
  50. package/packages/firebase/package.json +2 -1
  51. package/packages/firebase/src/helpers/firestore.ts +31 -0
  52. package/packages/i18n/package.json +1 -1
  53. package/packages/modules/package.json +2 -2
  54. package/packages/passport/package.json +1 -1
  55. package/packages/ssr/events.js +1 -0
  56. package/packages/ssr/lib/firebase.js +1 -1
  57. package/packages/ssr/lib/firebase.js.map +1 -1
  58. package/packages/ssr/lib/index.js +1 -1
  59. package/packages/ssr/lib/index.js.map +1 -1
  60. package/packages/ssr/lib/lib/analytics/send-to-ga4.js.map +1 -0
  61. package/packages/ssr/lib/lib/analytics/send-to-meta.js.map +1 -0
  62. package/packages/ssr/lib/lib/analytics/send-to-tiktok.js.map +1 -0
  63. package/packages/ssr/lib/{analytics-events.js → lib/analytics-events.js} +4 -3
  64. package/packages/ssr/lib/lib/analytics-events.js.map +1 -0
  65. package/packages/ssr/lib/lib/cron-ssr-save-views.js +57 -0
  66. package/packages/ssr/lib/lib/cron-ssr-save-views.js.map +1 -0
  67. package/packages/ssr/lib/{firebase → lib}/serve-storefront.js +1 -1
  68. package/packages/ssr/lib/lib/serve-storefront.js.map +1 -0
  69. package/packages/ssr/lib/ssr-events.js +18 -0
  70. package/packages/ssr/lib/ssr-events.js.map +1 -0
  71. package/packages/ssr/package.json +5 -4
  72. package/packages/ssr/src/firebase.ts +1 -1
  73. package/packages/ssr/src/index.ts +1 -1
  74. package/packages/ssr/src/{analytics-events.ts → lib/analytics-events.ts} +4 -3
  75. package/packages/ssr/src/lib/cron-ssr-save-views.ts +56 -0
  76. package/packages/ssr/src/{firebase → lib}/serve-storefront.ts +2 -2
  77. package/packages/ssr/src/ssr-events.ts +17 -0
  78. package/packages/storefront/astro.config.mjs +3 -0
  79. package/packages/storefront/config/storefront.cms.js +14 -7
  80. package/packages/storefront/config/storefront.config.mjs +14 -1
  81. package/packages/storefront/package.json +8 -7
  82. package/packages/storefront/scripts/build-prod.sh +1 -0
  83. package/packages/storefront/src/lib/components/AccountLink.vue +9 -3
  84. package/packages/storefront/src/lib/composables/use-product-shelf.ts +3 -1
  85. package/packages/storefront/src/lib/content.d.ts +2 -2
  86. package/packages/storefront/src/lib/layouts/BaseHead.astro +1 -0
  87. package/packages/storefront/src/lib/layouts/use-page-main.ts +48 -20
  88. package/packages/storefront/src/lib/ssr-context.ts +1 -3
  89. package/packages/storefront/src/lib/state/use-analytics.ts +5 -2
  90. package/packages/test-base/package.json +1 -1
  91. package/packages/types/package.json +1 -1
  92. package/packages/ssr/lib/analytics/send-to-ga4.js.map +0 -1
  93. package/packages/ssr/lib/analytics/send-to-meta.js.map +0 -1
  94. package/packages/ssr/lib/analytics/send-to-tiktok.js.map +0 -1
  95. package/packages/ssr/lib/analytics-events.js.map +0 -1
  96. package/packages/ssr/lib/firebase/serve-storefront.js.map +0 -1
  97. /package/packages/ssr/lib/{analytics → lib/analytics}/send-to-ga4.js +0 -0
  98. /package/packages/ssr/lib/{analytics → lib/analytics}/send-to-meta.js +0 -0
  99. /package/packages/ssr/lib/{analytics → lib/analytics}/send-to-tiktok.js +0 -0
  100. /package/packages/ssr/src/{analytics → lib/analytics}/send-to-ga4.ts +0 -0
  101. /package/packages/ssr/src/{analytics → lib/analytics}/send-to-meta.ts +0 -0
  102. /package/packages/ssr/src/{analytics → lib/analytics}/send-to-tiktok.ts +0 -0
@@ -1,5 +1,6 @@
1
1
  import fs from 'node:fs';
2
2
  import { join as joinPath, resolve as resolvePath } from 'node:path';
3
+ import { parse as parseYaml } from 'yaml';
3
4
  import config from '@cloudcommerce/config';
4
5
  import './storefront.cms.js';
5
6
 
@@ -15,13 +16,25 @@ export default () => {
15
16
  config.set({ storeId: Number(ECOM_STORE_ID) });
16
17
  }
17
18
 
19
+ const parseFrontmatter = (markdown) => {
20
+ let matter = {};
21
+ if (markdown.substring(0, 4) === '---\n') {
22
+ const [frontmatter, _md] = markdown.substring(4).split('\n---\n');
23
+ markdown = _md;
24
+ const _matter = parseYaml(frontmatter);
25
+ if (typeof _matter === 'object' && _matter && !Array.isArray(_matter)) {
26
+ matter = _matter;
27
+ }
28
+ }
29
+ return { markdown, matter };
30
+ };
18
31
  const {
19
32
  domain,
20
33
  primaryColor,
21
34
  secondaryColor,
22
35
  settings,
23
36
  getContent,
24
- } = global.__storefrontCMS(fs, resolvePath);
37
+ } = global.__storefrontCMS(fs, resolvePath, parseFrontmatter);
25
38
  config.set({ settingsContent: settings });
26
39
 
27
40
  let { storeId } = config.get();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/storefront",
3
3
  "type": "module",
4
- "version": "0.40.4",
4
+ "version": "0.41.0",
5
5
  "description": "E-Com Plus Cloud Commerce storefront with Astro",
6
6
  "bin": {
7
7
  "storefront": "./scripts/build-prod.sh"
@@ -38,27 +38,28 @@
38
38
  "@fastify/deepmerge": "^1.3.0",
39
39
  "@iconify-json/fa6-brands": "^1.1.18",
40
40
  "@iconify-json/heroicons": "^1.1.19",
41
- "@iconify-json/logos": "^1.1.41",
41
+ "@iconify-json/logos": "^1.1.42",
42
42
  "@types/gtag.js": "^0.0.18",
43
43
  "@vite-pwa/astro": "^0.2.0",
44
- "@vueuse/core": "10.7.0",
44
+ "@vueuse/core": "10.7.1",
45
45
  "astro": "4.0.8",
46
46
  "astro-capo": "^0.0.1",
47
47
  "chroma-js": "^2.4.2",
48
48
  "dotenv": "^16.3.1",
49
49
  "firebase": "^10.7.1",
50
- "image-size": "^1.0.2",
50
+ "image-size": "^1.1.0",
51
51
  "mime": "^3.0.0",
52
52
  "mitt": "^3.0.1",
53
53
  "semver": "^7.5.4",
54
54
  "sharp": "^0.33.1",
55
55
  "tailwindcss": "^3.4.0",
56
- "unocss": "^0.58.0",
57
- "unplugin-auto-import": "^0.17.2",
56
+ "unocss": "^0.58.2",
57
+ "unplugin-auto-import": "^0.17.3",
58
58
  "vite": "^5.0.10",
59
59
  "vite-plugin-pwa": "^0.17.4",
60
60
  "vue": "^3.4.0",
61
- "wade": "0.3.3"
61
+ "wade": "0.3.3",
62
+ "yaml": "^2.3.4"
62
63
  },
63
64
  "devDependencies": {
64
65
  "@cloudcommerce/eslint": "workspace:*",
@@ -1,6 +1,7 @@
1
1
  #!/bin/bash
2
2
 
3
3
  BUILD_OUTPUT=static \
4
+ BUILD_MINIMAL=true \
4
5
  BUILD_OUT_DIR=./.cloudcommerce/sf-tmp-dist \
5
6
  npx astro build
6
7
  DEPLOY_RUNTIME=serverless npx astro build
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { computed } from 'vue';
2
+ import { ref, computed, nextTick } from 'vue';
3
3
 
4
4
  export interface Props {
5
5
  to?: 'orders' | 'favorites';
@@ -10,17 +10,23 @@ export interface Props {
10
10
 
11
11
  const props = withDefaults(defineProps<Props>(), {
12
12
  accountUrl: globalThis.$storefront?.settings.accountUrl || '/app/account',
13
- returnUrl: globalThis.location?.href,
14
13
  });
14
+ const locationUrl = ref('');
15
+ if (globalThis.location?.href) {
16
+ nextTick(() => {
17
+ locationUrl.value = globalThis.location.href;
18
+ });
19
+ }
15
20
  const href = computed(() => {
16
21
  let url = props.accountUrl;
22
+ const returnUrl = props.returnUrl || locationUrl.value;
17
23
  if (!props.to) {
18
24
  if (props.isSignUp) {
19
25
  url += '?sign_up&';
20
26
  } else {
21
27
  url += '?';
22
28
  }
23
- return props.returnUrl ? `${url}return_url=${props.returnUrl}` : url;
29
+ return returnUrl ? `${url}return_url=${returnUrl}` : url;
24
30
  }
25
31
  const { settings } = globalThis.$storefront;
26
32
  if (props.to === 'orders' && settings.ordersUrl) {
@@ -38,7 +38,9 @@ const useProductShelf = (props: Props) => {
38
38
  const { apiContext } = globalThis.$storefront;
39
39
  if (apiContext?.resource === 'products') {
40
40
  endpointQuery = `like=${apiContext.doc._id}`;
41
- title.value = i19relatedProducts;
41
+ if (!title.value && title.value !== null) {
42
+ title.value = i19relatedProducts;
43
+ }
42
44
  }
43
45
  } else {
44
46
  let searchQuery = props.searchQuery || '';
@@ -38,7 +38,7 @@ export interface PageContent {
38
38
  thumbnail?: string;
39
39
  author?: string;
40
40
  description?: string;
41
- body?: string;
41
+ markdown?: string;
42
42
  }
43
43
 
44
44
  export type ContentFilename = 'settings'
@@ -50,7 +50,7 @@ export type ContentData<T extends ContentFilename> =
50
50
  T extends `${string}/` ? Array<string> :
51
51
  T extends 'settings' ? SettingsContent :
52
52
  T extends 'layout' ? LayoutContent :
53
- T extends `${string}/${string}` ? PageContent :
53
+ T extends `${string}/${string}` ? PageContent | null :
54
54
  null;
55
55
 
56
56
  export type ContentGetter = <T extends ContentFilename>(filename: T) =>
@@ -53,6 +53,7 @@ if (searchPageTerm) {
53
53
  const description = state.meta_description ||
54
54
  state.metaDescription ||
55
55
  state.short_description ||
56
+ state.description ||
56
57
  settings.description;
57
58
  const favicon = settings.icon ? getIconUrl(32) : '/favicon.ico';
58
59
  const shortcutIcon = settings.icon ? getIconUrl(192) : null;
@@ -49,7 +49,15 @@ type ProductDetailsProps = { hasDescription?: boolean, hasSpecifications?: boole
49
49
 
50
50
  export const usePageSections = async <T extends CustomSection = CustomSection>
51
51
  ({ routeContext, handleCustomSection }: Props) => {
52
- const sectionsContent = routeContext.cmsContent?.sections;
52
+ const { cmsContent } = routeContext;
53
+ let sectionsContent = cmsContent?.sections;
54
+ if (
55
+ cmsContent?.markdown
56
+ && !sectionsContent?.find(({ type }) => type === 'content-entry')
57
+ ) {
58
+ if (!sectionsContent) sectionsContent = [];
59
+ sectionsContent.push({ type: 'content-entry' });
60
+ }
53
61
  const sections: Array<
54
62
  T
55
63
  | { type: 'product-shelf', props: UseProductShelfProps }
@@ -62,11 +70,13 @@ export const usePageSections = async <T extends CustomSection = CustomSection>
62
70
  | { type: 'product-specifications', props: {} }
63
71
  | { type: 'search-showcase' | 'context-showcase', props: UseSearchShowcaseProps }
64
72
  | { type: 'page-title', props: {} }
73
+ | { type: 'content-entry', props: { title: string, markdown: string } }
65
74
  | { type: 'custom-html', props: { html: string } }
66
75
  > = [];
76
+
67
77
  if (sectionsContent) {
68
78
  await Promise.all(sectionsContent.map(async ({ type, ...sectionContent }, index) => {
69
- if (type === 'product-shelf') {
79
+ if (type === 'product-shelf' || type === 'related-products') {
70
80
  const {
71
81
  collectionIdAndInfo,
72
82
  isHeadless,
@@ -119,12 +129,23 @@ export const usePageSections = async <T extends CustomSection = CustomSection>
119
129
  title: isHeadless ? null : title,
120
130
  titleLink,
121
131
  isShuffle,
132
+ isRelatedProducts: type === 'related-products',
122
133
  };
123
- const { fetching, products } = useProductShelf(props);
134
+ const {
135
+ fetching,
136
+ products,
137
+ title: { value: finalTitle },
138
+ titleLink: { value: finalTitleLink },
139
+ } = useProductShelf(props);
124
140
  await fetching;
125
141
  sections[index] = {
126
142
  type,
127
- props: { ...props, products },
143
+ props: {
144
+ ...props,
145
+ title: finalTitle,
146
+ titleLink: finalTitleLink,
147
+ products,
148
+ },
128
149
  };
129
150
  return;
130
151
  }
@@ -170,19 +191,32 @@ export const usePageSections = async <T extends CustomSection = CustomSection>
170
191
  return;
171
192
  }
172
193
 
173
- if (type === 'banners-grid') {
174
- sections[index] = {
175
- type,
176
- props: {
177
- banners: parseBanners(sectionContent.banners || []),
178
- },
179
- };
180
- return;
181
- }
182
194
  switch (type) {
195
+ case 'banners-grid':
196
+ sections[index] = {
197
+ type,
198
+ props: {
199
+ banners: parseBanners(sectionContent.banners || []),
200
+ },
201
+ };
202
+ return;
203
+ case 'custom-html':
204
+ sections[index] = {
205
+ type,
206
+ props: { html: sectionContent.html || '' },
207
+ };
208
+ return;
209
+ case 'content-entry':
210
+ sections[index] = {
211
+ type,
212
+ props: {
213
+ title: sectionContent.title || cmsContent?.title || '',
214
+ markdown: sectionContent.markdown || cmsContent?.markdown || '',
215
+ },
216
+ };
217
+ return;
183
218
  case 'breadcrumbs':
184
219
  case 'product-details':
185
- case 'related-products':
186
220
  case 'doc-description':
187
221
  case 'doc-banners':
188
222
  case 'product-specifications':
@@ -193,12 +227,6 @@ export const usePageSections = async <T extends CustomSection = CustomSection>
193
227
  props: sectionContent,
194
228
  };
195
229
  return;
196
- case 'custom-html':
197
- sections[index] = {
198
- type,
199
- props: { html: sectionContent.html || '' },
200
- };
201
- return;
202
230
  default:
203
231
  }
204
232
  if (typeof handleCustomSection === 'function') {
@@ -5,8 +5,8 @@ import type { ResourceId, CategoriesList, BrandsList } from '@cloudcommerce/api/
5
5
  import type { ContentGetter, SettingsContent, PageContent } from '@@sf/content';
6
6
  import { EventEmitter } from 'node:events';
7
7
  import api from '@cloudcommerce/api';
8
- import { termify } from '../helpers/sf-utils';
9
8
  import _getConfig from '../../config/storefront.config.mjs';
9
+ import { termify } from '../helpers/sf-utils';
10
10
 
11
11
  export type StorefrontConfig = {
12
12
  storeId: BaseConfig['storeId'],
@@ -244,8 +244,6 @@ const loadRouteContext = async (
244
244
  return routeContext;
245
245
  };
246
246
 
247
- export default loadRouteContext;
248
-
249
247
  export {
250
248
  getConfig,
251
249
  loadRouteContext,
@@ -286,9 +286,12 @@ export const useAnalytics = () => {
286
286
  emitGtagEvent('search', { search_term: term });
287
287
  }
288
288
  });
289
- if (window.location.pathname === '/s') {
289
+ if (window.location.pathname.startsWith('/s')) {
290
290
  setTimeout(() => {
291
- const urlSearchQ = new URLSearchParams(window.location.search).get('q');
291
+ let urlSearchQ = new URLSearchParams(window.location.search).get('q');
292
+ if (!urlSearchQ) {
293
+ urlSearchQ = decodeURIComponent(window.location.pathname.split('/')[2]);
294
+ }
292
295
  if (urlSearchQ && typeof urlSearchQ === 'string') {
293
296
  emitGtagEvent('view_search_results', { search_term: urlSearchQ });
294
297
  }
@@ -2,7 +2,7 @@
2
2
  "name": "@cloudcommerce/test-base",
3
3
  "private": true,
4
4
  "type": "module",
5
- "version": "0.40.4",
5
+ "version": "0.41.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.40.4",
4
+ "version": "0.41.0",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-to-ga4.js","sourceRoot":"","sources":["../../src/analytics/send-to-ga4.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,kCAAkC;IAC3C,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,aAAa;MAC1B,eAAe,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE;MAC1C,mBAAmB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAEvD,MAAM,SAAS,GAAG,KAAK,EACrB,MAAwB,EACxB,QAAgB,EAChB,SAAiB,EACjB,MAMI,EAAE,EACN,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;QAC9D,MAAM,IAAI,GAAG;YACX,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,EAAsB;SAC/B,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC9B,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC;gBAChC,KAAK,CAAC,MAAM,GAAG;oBACb,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,UAAU,EAAE,SAAS;iBACtB,CAAC;aACH;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE;gBACvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;aACxD;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxD,4CAA4C;gBAC5C,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;aAClB;SACF;KACF;AACH,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-to-meta.js","sourceRoot":"","sources":["../../src/analytics/send-to-meta.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,4EAA4E;AAC5E,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;AACH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS;MACjD,iBAAiB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;AAElD,MAAM,UAAU,GAAG,KAAK,EACtB,MAAwB,EACxB,YAAoB,EACpB,QAA6C,EAC7C,SAAkB,EAClB,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;QACzD,IAAI,IAAI,GAA+B,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC7B,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;gBACpB,IAAI,SAAS,EAAE;oBACb,KAAK,CAAC,MAAM,GAAG;wBACb,YAAY,EAAE,SAAS;qBACxB,CAAC;iBACH;aACF;YACD,IAAI,CAAC,IAAI,CAAC;gBACR,UAAU,EAAE,KAAK,CAAC,IAAI;gBACtB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,YAAY;gBAC9B,aAAa,EAAE,SAAS;gBACxB,SAAS,EAAE,QAAQ;gBACnB,WAAW,EAAE,KAAK,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,4CAA4C;gBAC5C,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,IAAI,GAAG,EAAE,CAAC;aACX;SACF;KACF;AACH,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-to-tiktok.js","sourceRoot":"","sources":["../../src/analytics/send-to-tiktok.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,kEAAkE;AAClE,kFAAkF;AAClF,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAE,4CAA4C,OAAO,cAAc;IAC1E,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;QAClC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;KAChD;CACF,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,KAAK,EACxB,MAAwB,EACxB,YAAoB,EACpB,IAAyC,EACzC,EAAE;IACF,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;QAClE,IAAI,IAAI,GAA+B,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC7B,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;aACxB;YACD,IAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;gBACtB,IAAI;gBACJ,IAAI,EAAE;oBACJ,GAAG,EAAE,YAAY;iBAClB;gBACD,UAAU,EAAE,KAAK,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,4CAA4C;gBAC5C,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;oBACvB,YAAY,EAAE,KAAK;oBACnB,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;oBAC5C,IAAI;iBACL,CAAC,CAAC;gBACH,IAAI,GAAG,EAAE,CAAC;aACX;SACF;KACF;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-events.js","sourceRoot":"","sources":["../src/analytics-events.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"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"}