cloudcommerce 2.3.1 → 2.3.2

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 (150) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  3. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  4. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  5. package/ecomplus-stores/barra-doce/package.json +2 -2
  6. package/package.json +6 -6
  7. package/packages/api/package.json +1 -1
  8. package/packages/apps/affiliate-program/package.json +1 -1
  9. package/packages/apps/correios/package.json +2 -2
  10. package/packages/apps/custom-payment/package.json +1 -1
  11. package/packages/apps/custom-shipping/package.json +1 -1
  12. package/packages/apps/datafrete/package.json +1 -1
  13. package/packages/apps/discounts/package.json +1 -1
  14. package/packages/apps/emails/package.json +1 -1
  15. package/packages/apps/fb-conversions/package.json +2 -2
  16. package/packages/apps/flash-courier/package.json +1 -1
  17. package/packages/apps/frenet/package.json +1 -1
  18. package/packages/apps/galaxpay/package.json +1 -1
  19. package/packages/apps/google-analytics/package.json +1 -1
  20. package/packages/apps/jadlog/package.json +1 -1
  21. package/packages/apps/loyalty-points/package.json +1 -1
  22. package/packages/apps/mandae/package.json +1 -1
  23. package/packages/apps/melhor-envio/package.json +1 -1
  24. package/packages/apps/mercadopago/package.json +1 -1
  25. package/packages/apps/pagarme/package.json +1 -1
  26. package/packages/apps/pagarme-v5/package.json +1 -1
  27. package/packages/apps/paghiper/package.json +1 -1
  28. package/packages/apps/pix/package.json +1 -1
  29. package/packages/apps/tiny-erp/package.json +1 -1
  30. package/packages/apps/webhooks/package.json +1 -1
  31. package/packages/cli/package.json +1 -1
  32. package/packages/config/package.json +1 -1
  33. package/packages/emails/package.json +1 -1
  34. package/packages/eslint/package.json +5 -5
  35. package/packages/events/package.json +1 -1
  36. package/packages/feeds/package.json +1 -1
  37. package/packages/firebase/package.json +2 -2
  38. package/packages/i18n/package.json +1 -1
  39. package/packages/modules/package.json +1 -1
  40. package/packages/passport/package.json +1 -1
  41. package/packages/ssr/lib/lib/analytics/send-to-ga4.js +2 -1
  42. package/packages/ssr/lib/lib/analytics/send-to-ga4.js.map +1 -1
  43. package/packages/ssr/lib/lib/analytics-events.js +11 -1
  44. package/packages/ssr/lib/lib/analytics-events.js.map +1 -1
  45. package/packages/ssr/lib/lib/serve-storefront.js +35 -21
  46. package/packages/ssr/lib/lib/serve-storefront.js.map +1 -1
  47. package/packages/ssr/package.json +3 -3
  48. package/packages/ssr/src/lib/analytics/send-to-ga4.ts +2 -0
  49. package/packages/ssr/src/lib/analytics-events.ts +11 -1
  50. package/packages/ssr/src/lib/serve-storefront.ts +36 -22
  51. package/packages/storefront/astro.config.mjs +4 -1
  52. package/packages/storefront/config/astro/vue-server.mjs +64 -0
  53. package/packages/storefront/dist/client/_astro/{AccountPage.3-eqV6OR.js → AccountPage.0M6_FdU6.js} +1 -1
  54. package/packages/storefront/dist/client/_astro/{CartSidebar.-Gy6eqIy.js → CartSidebar.L0Vbhsdt.js} +1 -1
  55. package/packages/storefront/dist/client/_astro/ProductDetails.FQtM5kpd.js +7 -0
  56. package/packages/storefront/dist/client/_astro/{ProductShelf.qbTNzuvn.js → ProductShelf.-4fsYkPB.js} +1 -1
  57. package/packages/storefront/dist/client/_astro/{ProductShelf.b77WjhZZ.js → ProductShelf.GAAhKdTN.js} +1 -1
  58. package/packages/storefront/dist/client/_astro/{SearchModal.WzDMBjqi.js → SearchModal.rasg5jV6.js} +1 -1
  59. package/packages/storefront/dist/client/_astro/SearchShowcase.kA6jICYo.js +1 -0
  60. package/packages/storefront/dist/client/_astro/ShopHeader.v_L96Y90.js +7 -0
  61. package/packages/storefront/dist/client/_astro/{_slug_.WkuZ8tvp.css → _slug_.4W7qhV-L.css} +1 -1
  62. package/packages/storefront/dist/client/_astro/customer-session.ZD6tLDQJ.js +7 -0
  63. package/packages/storefront/dist/client/_astro/{firebase-app.VduCDgof.js → firebase-app.iLdzDVjL.js} +1 -1
  64. package/packages/storefront/dist/client/_astro/hoisted.GaT7bmE3.js +1 -0
  65. package/packages/storefront/dist/client/_astro/{hoisted.xTPkED8g.js → hoisted.ICXGWNEA.js} +1 -1
  66. package/packages/storefront/dist/client/_astro/hoisted.XOXTrHqn.js +1 -0
  67. package/packages/storefront/dist/client/_astro/{index-dd468b12.fl8bpn8l.js → index-bea2a320.eWykogwr.js} +93 -93
  68. package/packages/storefront/dist/client/_astro/{shopping-cart.v-dB3kHB.js → shopping-cart.nSNNOrp9.js} +1 -1
  69. package/packages/storefront/dist/client/_astro/use-analytics.wTmoP8B1.js +1 -0
  70. package/packages/storefront/dist/client/_astro/{use-product-card.nNtSJVtB.js → use-product-card.UFr8SCuD.js} +1 -1
  71. package/packages/storefront/dist/client/_astro/use-text-value.lKqoIagH.js +4 -0
  72. package/packages/storefront/dist/server/chunks/{CartSidebar_blvgfFa-.mjs → CartSidebar_3_1aFp67.mjs} +1 -1
  73. package/packages/storefront/dist/server/chunks/{SearchModal_Sktaq643.mjs → SearchModal_2azP1u7P.mjs} +1 -1
  74. package/packages/storefront/dist/server/chunks/_.._19fCuQdO.mjs +5 -0
  75. package/packages/storefront/dist/server/chunks/{_page__9PfWVh79.mjs → _page__qqIVxbal.mjs} +1 -1
  76. package/packages/storefront/dist/server/chunks/{account_R4bpY7O1.mjs → account_vK6pmJlz.mjs} +1 -1
  77. package/packages/storefront/dist/server/chunks/astro/{assets-service_oQ4-9MNg.mjs → assets-service_631fRtTy.mjs} +66 -11
  78. package/packages/storefront/dist/server/chunks/{astro_ECsNQeA2.mjs → astro_u-oSb215.mjs} +8 -2
  79. package/packages/storefront/dist/server/chunks/{index__PeYBuja.mjs → index__05fnqFh.mjs} +1 -1
  80. package/packages/storefront/dist/server/chunks/{node_njrZIjT6.mjs → node_zqXXqc-u.mjs} +1 -1
  81. package/packages/storefront/dist/server/chunks/pages/{__XOsz50la.mjs → __ZucPYaOo.mjs} +380 -118
  82. package/packages/storefront/dist/server/chunks/pages/{_page__cIw_KTpN.mjs → _page__0sN9U0SD.mjs} +19 -3
  83. package/packages/storefront/dist/server/chunks/pages/account_OQr_6KN1.mjs +33 -0
  84. package/packages/storefront/dist/server/chunks/pages/{index_KP7Gn0ld.mjs → index_3IjgOEIq.mjs} +15 -4
  85. package/packages/storefront/dist/server/chunks/pages/node_OmjWRf8D.mjs +112 -0
  86. package/packages/storefront/dist/server/chunks/pages/~fallback_133FK-CP.mjs +59 -0
  87. package/packages/storefront/dist/server/chunks/~fallback_Wahcp9Wk.mjs +5 -0
  88. package/packages/storefront/dist/server/entry.mjs +9 -9
  89. package/packages/storefront/dist/server/manifest_9FASPYUE.mjs +202 -0
  90. package/packages/storefront/dist/server/renderers.mjs +45 -34
  91. package/packages/storefront/package.json +4 -4
  92. package/packages/storefront/server.d.ts +0 -1
  93. package/packages/storefront/src/lib/$storefront.d.ts +23 -16
  94. package/packages/storefront/src/lib/composables/use-pagination.ts +1 -3
  95. package/packages/storefront/src/lib/layouts/BaseHead.astro +5 -0
  96. package/packages/storefront/src/lib/scripts/push-analytics-events.ts +8 -6
  97. package/packages/storefront/src/lib/ssr-context.ts +46 -6
  98. package/packages/storefront/src/lib/state/use-analytics.ts +12 -11
  99. package/packages/storefront/src/lib/state/use-storage.ts +23 -9
  100. package/packages/test-base/package.json +1 -1
  101. package/packages/types/package.json +1 -1
  102. package/packages/storefront/dist/client/_astro/ProductDetails.ATGXfGhG.js +0 -7
  103. package/packages/storefront/dist/client/_astro/SearchShowcase.9gIA4Cq0.js +0 -1
  104. package/packages/storefront/dist/client/_astro/ShopHeader.Ee4OJr3q.js +0 -7
  105. package/packages/storefront/dist/client/_astro/customer-session.dSYHWdP4.js +0 -7
  106. package/packages/storefront/dist/client/_astro/ecom-icon_12falx.png +0 -0
  107. package/packages/storefront/dist/client/_astro/ecom-icon_15pqnO.png +0 -0
  108. package/packages/storefront/dist/client/_astro/ecom-icon_t3guw.png +0 -0
  109. package/packages/storefront/dist/client/_astro/headphone_T2Jjc.avif +0 -0
  110. package/packages/storefront/dist/client/_astro/headphone_Z1CG18r.webp +0 -0
  111. package/packages/storefront/dist/client/_astro/hoisted.d2SGwVMl.js +0 -1
  112. package/packages/storefront/dist/client/_astro/hoisted.x1b7VHef.js +0 -1
  113. package/packages/storefront/dist/client/_astro/logo_1UBsBq.webp +0 -0
  114. package/packages/storefront/dist/client/_astro/logo_Z1K5PE9.png +0 -0
  115. package/packages/storefront/dist/client/_astro/logo_Z1KIIl1.avif +0 -0
  116. package/packages/storefront/dist/client/_astro/passion_LHbe9.webp +0 -0
  117. package/packages/storefront/dist/client/_astro/passion_Z23MeUb.avif +0 -0
  118. package/packages/storefront/dist/client/_astro/rect8589_1TtOHY.png +0 -0
  119. package/packages/storefront/dist/client/_astro/rect8589_1f5opX.webp +0 -0
  120. package/packages/storefront/dist/client/_astro/rect8589_IUskt.webp +0 -0
  121. package/packages/storefront/dist/client/_astro/rect8589_Uxfdf.png +0 -0
  122. package/packages/storefront/dist/client/_astro/rect8589_Z15uApA.png +0 -0
  123. package/packages/storefront/dist/client/_astro/rect8589_Z1Ap1Im.avif +0 -0
  124. package/packages/storefront/dist/client/_astro/rect8589_Z1JT1HB.webp +0 -0
  125. package/packages/storefront/dist/client/_astro/rect8589_ZY9mtN.avif +0 -0
  126. package/packages/storefront/dist/client/_astro/rect8589_tMFW0.avif +0 -0
  127. package/packages/storefront/dist/client/_astro/rect859_1TgQXS.avif +0 -0
  128. package/packages/storefront/dist/client/_astro/rect859_2Nm1z.avif +0 -0
  129. package/packages/storefront/dist/client/_astro/rect859_DIqwR.png +0 -0
  130. package/packages/storefront/dist/client/_astro/rect859_Z1IKDb2.png +0 -0
  131. package/packages/storefront/dist/client/_astro/rect859_Z29FI4V.webp +0 -0
  132. package/packages/storefront/dist/client/_astro/rect859_Z2kFHGk.avif +0 -0
  133. package/packages/storefront/dist/client/_astro/rect859_ZkpPFI.webp +0 -0
  134. package/packages/storefront/dist/client/_astro/rect859_jXzBi.png +0 -0
  135. package/packages/storefront/dist/client/_astro/rect859_x1l16.webp +0 -0
  136. package/packages/storefront/dist/client/_astro/rect89_1TSfW7.avif +0 -0
  137. package/packages/storefront/dist/client/_astro/rect89_Z1re32x.webp +0 -0
  138. package/packages/storefront/dist/client/_astro/use-analytics._ef6TM4P.js +0 -1
  139. package/packages/storefront/dist/client/_astro/use-text-value.0OP9HCfP.js +0 -4
  140. package/packages/storefront/dist/client/~fallback.html +0 -99
  141. package/packages/storefront/dist/client/~index.html +0 -131
  142. package/packages/storefront/dist/server/chunks/_.._yTK2xBRC.mjs +0 -5
  143. package/packages/storefront/dist/server/chunks/pages/account_l-FHyDJd.mjs +0 -23
  144. package/packages/storefront/dist/server/chunks/pages/node_FoLtkdH1.mjs +0 -257
  145. package/packages/storefront/dist/server/chunks/pages/~fallback_KPp6Nh_p.mjs +0 -34
  146. package/packages/storefront/dist/server/chunks/~fallback_p7P7NIL5.mjs +0 -5
  147. package/packages/storefront/dist/server/images.dist.csv +0 -30
  148. package/packages/storefront/dist/server/images.src.csv +0 -11
  149. package/packages/storefront/dist/server/manifest_E6KbHQrT.mjs +0 -202
  150. package/packages/storefront/dist/server/static-builds.csv +0 -71
@@ -239,30 +239,44 @@ export default async (req, res) => {
239
239
  const canSetLinkHeader = SSR_SET_LINK_HEADER
240
240
  ? String(SSR_SET_LINK_HEADER).toLowerCase() !== 'false'
241
241
  : true;
242
- if (canSetLinkHeader) {
243
242
  /*
244
- Check Response methods used by Astro Node.js integration:
245
- https://github.com/withastro/astro/blob/main/packages/integrations/node/src/nodeMiddleware.ts
246
- */
247
- const _writeHead = res.writeHead;
248
- /* eslint-disable prefer-rest-params */
249
- // @ts-ignore
250
- res.writeHead = function writeHead(status, headers) {
251
- if (status === 200 && headers && cssFilepath) {
252
- // https://community.cloudflare.com/t/early-hints-need-more-data-before-switching-over/342888/21
253
- const cssLink = `<${(assetsPrefix || '')}${cssFilepath}>; rel=preload; as=style`;
254
- if (!headers.link) {
255
- headers.Link = cssLink;
256
- } else {
257
- if (typeof headers.link === 'string') {
258
- headers.link = [headers.link];
259
- }
260
- headers.link.push(cssLink);
243
+ Check Response methods used by Astro Node.js integration:
244
+ https://github.com/withastro/astro/blob/main/packages/astro/src/core/app/node.ts
245
+ */
246
+ const _writeHead = res.writeHead;
247
+ /* eslint-disable prefer-rest-params */
248
+ // @ts-ignore
249
+ res.writeHead = function writeHead(status, headers) {
250
+ if (canSetLinkHeader && status === 200 && headers && cssFilepath) {
251
+ // https://community.cloudflare.com/t/early-hints-need-more-data-before-switching-over/342888/21
252
+ const cssLink = `<${(assetsPrefix || '')}${cssFilepath}>; rel=preload; as=style`;
253
+ if (!headers.link) {
254
+ headers.Link = cssLink;
255
+ } else {
256
+ if (typeof headers.link === 'string') {
257
+ headers.link = [headers.link];
261
258
  }
259
+ headers.link.push(cssLink);
262
260
  }
263
- _writeHead.apply(res, [status, headers]);
264
- };
265
- }
261
+ }
262
+ // Try to early clear session objects, see storefront/src/lib/ssr-context.ts
263
+ const sessions = global.__sfSessions;
264
+ if (sessions && typeof headers['x-sid'] === 'string') {
265
+ const sid = headers['x-sid'];
266
+ if (sessions[sid]) {
267
+ headers['x-sid'] += '_';
268
+ const _end = res.end;
269
+ // @ts-ignore
270
+ res.end = function end(...args) {
271
+ if (sessions[sid]._timer) clearTimeout(sessions[sid]._timer);
272
+ sessions[sid] = null;
273
+ delete sessions[sid];
274
+ _end.apply(res, args);
275
+ };
276
+ }
277
+ }
278
+ _writeHead.apply(res, [status, headers]);
279
+ };
266
280
  /*
267
281
  https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
268
282
  import { handler as renderStorefront } from '../dist/server/entry.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/lib/serve-storefront.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/lib/serve-storefront.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/ssr",
3
3
  "type": "module",
4
- "version": "2.3.1",
4
+ "version": "2.3.2",
5
5
  "description": "E-Com Plus Cloud Commerce storefront SSR",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -32,7 +32,7 @@
32
32
  "@cloudcommerce/i18n": "workspace:*",
33
33
  "@ecomplus/utils": "1.5.0-rc.6",
34
34
  "@vueuse/core": "10.7.2",
35
- "astro": "4.3.1",
35
+ "astro": "4.3.2",
36
36
  "astro-capo": "^0.0.1",
37
37
  "axios": "^1.6.7",
38
38
  "firebase-admin": "^12.0.0",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "devDependencies": {
45
45
  "@cloudcommerce/types": "workspace:*",
46
- "@cloudflare/workers-types": "^4.20240117.0",
46
+ "@cloudflare/workers-types": "^4.20240129.0",
47
47
  "@firebase/app-types": "^0.9.0",
48
48
  "typescript": "~5.2.2"
49
49
  }
@@ -15,6 +15,7 @@ const sendToGa4 = async (
15
15
  events: AnalyticsEvent[],
16
16
  clientId: string,
17
17
  sessionId: string,
18
+ userProperties?: { [k: string]: { value: string } },
18
19
  utm: {
19
20
  source?: string,
20
21
  medium?: string,
@@ -26,6 +27,7 @@ const sendToGa4 = async (
26
27
  if (process.env.GA_API_SECRET && process.env.GA_MEASUREMENT_ID) {
27
28
  const data = {
28
29
  client_id: clientId,
30
+ user_properties: userProperties,
29
31
  events: [] as AnalyticsEvent[],
30
32
  };
31
33
  for (let i = 0; i < events.length; i++) {
@@ -57,7 +57,17 @@ const sendAnalyticsEvents = async (
57
57
  }
58
58
  const sessionId = payload.g_session_id || payload.session_id;
59
59
  const clientId = payload.g_client_id || payload.client_id;
60
- sendingEvents.push(sendToGa4(gaEvents, clientId, sessionId, payload.utm));
60
+ // https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties?client_type=gtag
61
+ const userProperties = payload.user_agent
62
+ ? {
63
+ user_agent: { value: payload.user_agent },
64
+ } as Record<string, { value: string }>
65
+ : undefined;
66
+ if (userProperties && payload.exp_variant_string) {
67
+ userProperties.exp_variant_string = { value: payload.exp_variant_string };
68
+ }
69
+ const toGa4 = sendToGa4(gaEvents, clientId, sessionId, userProperties, payload.utm);
70
+ sendingEvents.push(toGa4);
61
71
  }
62
72
  if (metaEvents) {
63
73
  const userData = {
@@ -266,30 +266,44 @@ export default async (req: Request, res: Response) => {
266
266
  const canSetLinkHeader = SSR_SET_LINK_HEADER
267
267
  ? String(SSR_SET_LINK_HEADER).toLowerCase() !== 'false'
268
268
  : true;
269
- if (canSetLinkHeader) {
270
- /*
271
- Check Response methods used by Astro Node.js integration:
272
- https://github.com/withastro/astro/blob/main/packages/integrations/node/src/nodeMiddleware.ts
273
- */
274
- const _writeHead = res.writeHead;
275
- /* eslint-disable prefer-rest-params */
276
- // @ts-ignore
277
- res.writeHead = function writeHead(status: number, headers: OutgoingHttpHeaders) {
278
- if (status === 200 && headers && cssFilepath) {
279
- // https://community.cloudflare.com/t/early-hints-need-more-data-before-switching-over/342888/21
280
- const cssLink = `<${(assetsPrefix || '')}${cssFilepath}>; rel=preload; as=style`;
281
- if (!headers.link) {
282
- headers.Link = cssLink;
283
- } else {
284
- if (typeof headers.link === 'string') {
285
- headers.link = [headers.link];
286
- }
287
- headers.link.push(cssLink);
269
+ /*
270
+ Check Response methods used by Astro Node.js integration:
271
+ https://github.com/withastro/astro/blob/main/packages/astro/src/core/app/node.ts
272
+ */
273
+ const _writeHead = res.writeHead;
274
+ /* eslint-disable prefer-rest-params */
275
+ // @ts-ignore
276
+ res.writeHead = function writeHead(status: number, headers: OutgoingHttpHeaders) {
277
+ if (canSetLinkHeader && status === 200 && headers && cssFilepath) {
278
+ // https://community.cloudflare.com/t/early-hints-need-more-data-before-switching-over/342888/21
279
+ const cssLink = `<${(assetsPrefix || '')}${cssFilepath}>; rel=preload; as=style`;
280
+ if (!headers.link) {
281
+ headers.Link = cssLink;
282
+ } else {
283
+ if (typeof headers.link === 'string') {
284
+ headers.link = [headers.link];
288
285
  }
286
+ headers.link.push(cssLink);
289
287
  }
290
- _writeHead.apply(res, [status, headers]);
291
- };
292
- }
288
+ }
289
+ // Try to early clear session objects, see storefront/src/lib/ssr-context.ts
290
+ const sessions = global.__sfSessions;
291
+ if (sessions && typeof headers['x-sid'] === 'string') {
292
+ const sid = headers['x-sid'];
293
+ if (sessions[sid]) {
294
+ headers['x-sid'] += '_';
295
+ const _end = res.end;
296
+ // @ts-ignore
297
+ res.end = function end(...args: any) {
298
+ if (sessions[sid]._timer) clearTimeout(sessions[sid]._timer);
299
+ sessions[sid] = null;
300
+ delete sessions[sid];
301
+ _end.apply(res, args);
302
+ };
303
+ }
304
+ }
305
+ _writeHead.apply(res, [status, headers]);
306
+ };
293
307
 
294
308
  /*
295
309
  https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
@@ -146,7 +146,10 @@ const _vitePWAOptions = {
146
146
  },
147
147
  };
148
148
 
149
- const viteAlias = [];
149
+ const viteAlias = [{
150
+ find: '@astrojs/vue/server.js',
151
+ replacement: joinPath(__dirname, 'config/astro/vue-server.mjs'),
152
+ }];
150
153
  if (isToServerless) {
151
154
  viteAlias.push({
152
155
  find: '@@sf/components/Picture.astro',
@@ -0,0 +1,64 @@
1
+ /* eslint-disable no-restricted-syntax */
2
+ import { h, createSSRApp, defineComponent } from 'vue';
3
+ import { renderToString } from 'vue/server-renderer';
4
+ import { setup } from 'virtual:@astrojs/vue/app';
5
+
6
+ /**
7
+ * Astro passes `children` as a string of HTML, so we need
8
+ * a wrapper `div` to render that content as VNodes.
9
+ *
10
+ * This is the Vue + JSX equivalent of using `<div v-html="value" />`
11
+ */
12
+ const StaticHtml = defineComponent({
13
+ props: {
14
+ value: String,
15
+ name: String,
16
+ hydrate: {
17
+ type: Boolean,
18
+ default: true,
19
+ },
20
+ },
21
+ setup({ name, value, hydrate }) {
22
+ if (!value) return () => null;
23
+ const tagName = hydrate ? 'astro-slot' : 'astro-static-slot';
24
+ return () => h(tagName, { name, innerHTML: value });
25
+ },
26
+ });
27
+
28
+ /**
29
+ * Other frameworks have `shouldComponentUpdate` in order to signal
30
+ * that this subtree is entirely static and will not be updated
31
+ *
32
+ * Fortunately, Vue is smart enough to figure that out without any
33
+ * help from us, so this just works out of the box!
34
+ */
35
+
36
+ function check(Component) {
37
+ return !!Component.ssrRender || !!Component.__ssrInlineRender;
38
+ }
39
+
40
+ async function renderToStaticMarkup(Component, inputProps, slotted, metadata) {
41
+ const slots = {};
42
+ const props = { ...inputProps };
43
+ delete props.slot;
44
+ const sid = this.result?.cookies?.get('sid')?.value;
45
+ for (const [key, value] of Object.entries(slotted)) {
46
+ slots[key] = () => h(StaticHtml, {
47
+ value,
48
+ name: key === 'default' ? undefined : key,
49
+ // Adjust how this is hydrated only when the version of Astro supports `astroStaticSlot`
50
+ hydrate: metadata.astroStaticSlot ? !!metadata.hydrate : true,
51
+ });
52
+ }
53
+ const app = createSSRApp({ render: () => h(Component, props, slots) });
54
+ app.provide('sid', sid);
55
+ await setup(app);
56
+ const html = await renderToString(app);
57
+ return { html };
58
+ }
59
+
60
+ export default {
61
+ check,
62
+ renderToStaticMarkup,
63
+ supportsAstroStaticSlot: true,
64
+ };
@@ -1 +1 @@
1
- import{a as f,w as h,d as P,c as T,N as C,O as l,P as c,$ as F,S as i,T as b,Q as r,R as S,X as k,U as A,V as L,W as U,a3 as V,a4 as M,Y as R,Z as j}from"./sf-utils.c42cbZ9W.js";import{_ as N,a as I,v as B,w as x}from"./_plugin-vue_export-helper.xATGHWd9.js";import{e as O,f as _,E as q,a as D,d as E}from"./customer-session.dSYHWdP4.js";import{u as z}from"./index.ShNlAyu1.js";import{g as W,b as Y,c as $}from"./index-dd468b12.fl8bpn8l.js";import{b as G}from"./index.KfrHdfOH.js";import"./server-data.4C60Esyt.js";const K=m=>{O();const s=m?.canUseUrlParams!==!1?z("history"):{},e=s.sign_up!==void 0&&s.sign_up!=="0",a=s.password!==void 0&&s.password!=="0",u=f(e),n=f(!e&&!a);h(u,p=>{p?(n.value=!0,s.sign_up="1"):s.sign_up="0"}),h(n,p=>{s.password=p?"0":"1"});const o=f(""),d=f(!1),g=G(async p=>{d.value=!0;const v=Date.now(),y=W();if(_.value){window.localStorage.setItem(q,_.value);try{if(n.value){const w=new URL(p||window.location.toString());w.searchParams.append("email",_.value),await Y(y,_.value,{url:w.toString(),handleCodeInApp:!0})}else await $(y,_.value,o.value)}catch(w){console.warn(w.code),console.error(w)}setTimeout(()=>{d.value=!1},Math.min(2e3-(Date.now()-v),1))}},2e3);return{isLinkSignIn:n,isSignUp:u,email:_,password:o,isSubmitting:d,submitLogin:g}},Q=P({__name:"LoginForm",props:{loginLinkActionUrl:{}},setup(m,{expose:t}){t();const{isLinkSignIn:s,isSignUp:e,email:a,password:u,isSubmitting:n,submitLogin:o}=K(),d=f(!1),g=f(0),p=T(()=>g.value>9);h(n,()=>{!n.value&&s.value&&(d.value=!0,g.value+=1)}),h([a,e],()=>{d.value=!1}),h(p,()=>{s.value=!1});const v={isLinkSignIn:s,isSignUp:e,email:a,password:u,isSubmitting:n,submitLogin:o,isEmailSentMsg:d,countEmailsSent:g,isLinkSignInBlocked:p,get customerName(){return D}};return Object.defineProperty(v,"__isScriptSetup",{enumerable:!1,value:!0}),v}}),X={class:"text-base-600 mb-4 text-2xl font-light"},Z={key:0},H={key:1,class:"lowercase"},J={key:0,for:"login-form-email"},ee={class:"relative"},se=["disabled"],te={key:0,class:"text-success-800 absolute left-0 top-0 mt-4 font-medium"},ne=i("i",{class:"i-check mr-1"},null,-1);function ie(m,t,s,e,a,u){const n=C("Fade");return l(),c("form",{class:"text-base-800 w-full max-w-sm bg-white p-6 text-base md:p-8",onSubmit:t[4]||(t[4]=x(()=>e.submitLogin(s.loginLinkActionUrl),["prevent"]))},[F(m.$slots,"head"),i("p",X,[b(r("Olá")+" "),e.customerName?(l(),c("span",Z,r(e.customerName),1)):(l(),c("span",H,r("Visitante")))]),e.isLinkSignIn?(l(),c("label",J,r("Enviar link de acesso por e-mail"))):S("",!0),k(i("input",{id:"login-form-email",type:"email",placeholder:"email@mail.com","onUpdate:modelValue":t[0]||(t[0]=o=>e.email=o),class:"mb-0.5 mt-2 w-full",required:""},null,512),[[I,e.email]]),e.isLinkSignIn?S("",!0):k((l(),c("input",{key:1,type:"password",placeholder:"Senha","onUpdate:modelValue":t[1]||(t[1]=o=>e.password=o),class:"mb-0.5 mt-2 w-full lowercase",required:""},null,512)),[[I,e.password]]),i("div",ee,[i("div",{class:A(["transition-opacity",e.isEmailSentMsg&&"opacity-0 invisible"])},[k(i("a",{href:"?password",class:"text-base-500 ui-link text-right text-sm lowercase",onClick:t[2]||(t[2]=x(o=>e.isLinkSignIn=!e.isLinkSignIn,["prevent"]))},r(e.isLinkSignIn?"Entrar com senha":"Esqueci minha senha"),513),[[B,!e.isSignUp&&!e.isLinkSignInBlocked]]),i("button",{type:"submit",disabled:e.isSubmitting,class:A(["ui-btn-lg ui-btn-primary mb-2 mt-5 w-full",e.isSubmitting&&"opacity-50"])},r(e.isSignUp?"Cadastrar":"Acessar minha conta"),11,se)],2),L(n,{speed:"slow"},{default:U(()=>[e.isEmailSentMsg?(l(),c("p",te,[ne,b(" "+r("Te enviamos o e-mail, verifique sua caixa de entrada e spam se necessário."),1)])):S("",!0)]),_:1}),i("a",{href:"?sign_up",class:"ui-btn-lg ui-btn-contrast block w-full text-center",onClick:t[3]||(t[3]=x(o=>e.isSignUp=!e.isSignUp,["prevent"]))},r(e.isSignUp?"Acessar minha conta":"Criar uma conta"),1)])],32)}const ae=N(Q,[["render",ie]]),oe=P({__name:"AccountPage",setup(m,{expose:t}){t();let s=null;{const{location:a}=window,u=new URLSearchParams(a.search).get("return_url");if(!u){const n=new URL(a.toString());n.pathname="/app/",n.hash=`#${a.pathname.replace("/app/","/")}`,s=n.toString()}h(E,()=>{E.value&&(a.href=u||s)},{immediate:!0})}const e={get loginLinkActionUrl(){return s},set loginLinkActionUrl(a){s=a},LoginForm:ae};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}}),re={class:"from-secondary-700 to-secondary-950 flex min-h-screen w-full flex-col justify-center bg-gradient-to-br"},le={class:"mx-auto p-4"},ce=i("section",{class:"ui-section text-center"},[i("a",{href:"/",class:"text-base-200 hover:text-white"},[i("i",{class:"i-arrow-right mr-1 rotate-180"}),b(" "+r("Ir para a loja"))])],-1),me={class:"overflow-hidden rounded-md shadow-md ring-4 ring-black/10"},ue={class:"mb-5 text-center"},de={href:"/",class:"inline-block"},pe={key:0,class:"ui-section px-0"},ge={class:"mx-auto flex max-w-sm flex-wrap items-center justify-evenly gap-4 px-3"};function _e(m,t,s,e,a,u){const n=C("ALink");return l(),c("article",re,[i("div",le,[ce,i("section",me,[L(e.LoginForm,V(M({loginLinkActionUrl:e.loginLinkActionUrl})),{head:U(()=>[i("div",ue,[i("a",de,[F(m.$slots,"logo")])])]),_:3},16)]),m.$settings.serviceLinks?.length?(l(),c("nav",pe,[i("ul",ge,[(l(!0),c(R,null,j(m.$settings.serviceLinks,({title:o,href:d},g)=>(l(),c("li",{key:`s-${g}`},[L(n,{href:d,class:"text-base-200 ui-link hover:text-white"},{default:U(()=>[b(r(o),1)]),_:2},1032,["href"])]))),128))])])):S("",!0)])])}const xe=N(oe,[["render",_e]]);export{xe as default};
1
+ import{a as f,w as h,d as P,c as T,N as C,O as l,P as c,$ as F,S as i,T as b,Q as r,R as S,X as k,U as A,V as L,W as U,a3 as V,a4 as M,Y as R,Z as j}from"./sf-utils.c42cbZ9W.js";import{_ as N,a as I,v as B,w as x}from"./_plugin-vue_export-helper.xATGHWd9.js";import{e as O,f as _,E as q,a as D,d as E}from"./customer-session.ZD6tLDQJ.js";import{u as z}from"./index.ShNlAyu1.js";import{g as W,b as Y,c as $}from"./index-bea2a320.eWykogwr.js";import{b as G}from"./index.KfrHdfOH.js";import"./server-data.4C60Esyt.js";const K=m=>{O();const s=m?.canUseUrlParams!==!1?z("history"):{},e=s.sign_up!==void 0&&s.sign_up!=="0",a=s.password!==void 0&&s.password!=="0",u=f(e),n=f(!e&&!a);h(u,p=>{p?(n.value=!0,s.sign_up="1"):s.sign_up="0"}),h(n,p=>{s.password=p?"0":"1"});const o=f(""),d=f(!1),g=G(async p=>{d.value=!0;const v=Date.now(),y=W();if(_.value){window.localStorage.setItem(q,_.value);try{if(n.value){const w=new URL(p||window.location.toString());w.searchParams.append("email",_.value),await Y(y,_.value,{url:w.toString(),handleCodeInApp:!0})}else await $(y,_.value,o.value)}catch(w){console.warn(w.code),console.error(w)}setTimeout(()=>{d.value=!1},Math.min(2e3-(Date.now()-v),1))}},2e3);return{isLinkSignIn:n,isSignUp:u,email:_,password:o,isSubmitting:d,submitLogin:g}},Q=P({__name:"LoginForm",props:{loginLinkActionUrl:{}},setup(m,{expose:t}){t();const{isLinkSignIn:s,isSignUp:e,email:a,password:u,isSubmitting:n,submitLogin:o}=K(),d=f(!1),g=f(0),p=T(()=>g.value>9);h(n,()=>{!n.value&&s.value&&(d.value=!0,g.value+=1)}),h([a,e],()=>{d.value=!1}),h(p,()=>{s.value=!1});const v={isLinkSignIn:s,isSignUp:e,email:a,password:u,isSubmitting:n,submitLogin:o,isEmailSentMsg:d,countEmailsSent:g,isLinkSignInBlocked:p,get customerName(){return D}};return Object.defineProperty(v,"__isScriptSetup",{enumerable:!1,value:!0}),v}}),X={class:"text-base-600 mb-4 text-2xl font-light"},Z={key:0},H={key:1,class:"lowercase"},J={key:0,for:"login-form-email"},ee={class:"relative"},se=["disabled"],te={key:0,class:"text-success-800 absolute left-0 top-0 mt-4 font-medium"},ne=i("i",{class:"i-check mr-1"},null,-1);function ie(m,t,s,e,a,u){const n=C("Fade");return l(),c("form",{class:"text-base-800 w-full max-w-sm bg-white p-6 text-base md:p-8",onSubmit:t[4]||(t[4]=x(()=>e.submitLogin(s.loginLinkActionUrl),["prevent"]))},[F(m.$slots,"head"),i("p",X,[b(r("Olá")+" "),e.customerName?(l(),c("span",Z,r(e.customerName),1)):(l(),c("span",H,r("Visitante")))]),e.isLinkSignIn?(l(),c("label",J,r("Enviar link de acesso por e-mail"))):S("",!0),k(i("input",{id:"login-form-email",type:"email",placeholder:"email@mail.com","onUpdate:modelValue":t[0]||(t[0]=o=>e.email=o),class:"mb-0.5 mt-2 w-full",required:""},null,512),[[I,e.email]]),e.isLinkSignIn?S("",!0):k((l(),c("input",{key:1,type:"password",placeholder:"Senha","onUpdate:modelValue":t[1]||(t[1]=o=>e.password=o),class:"mb-0.5 mt-2 w-full lowercase",required:""},null,512)),[[I,e.password]]),i("div",ee,[i("div",{class:A(["transition-opacity",e.isEmailSentMsg&&"opacity-0 invisible"])},[k(i("a",{href:"?password",class:"text-base-500 ui-link text-right text-sm lowercase",onClick:t[2]||(t[2]=x(o=>e.isLinkSignIn=!e.isLinkSignIn,["prevent"]))},r(e.isLinkSignIn?"Entrar com senha":"Esqueci minha senha"),513),[[B,!e.isSignUp&&!e.isLinkSignInBlocked]]),i("button",{type:"submit",disabled:e.isSubmitting,class:A(["ui-btn-lg ui-btn-primary mb-2 mt-5 w-full",e.isSubmitting&&"opacity-50"])},r(e.isSignUp?"Cadastrar":"Acessar minha conta"),11,se)],2),L(n,{speed:"slow"},{default:U(()=>[e.isEmailSentMsg?(l(),c("p",te,[ne,b(" "+r("Te enviamos o e-mail, verifique sua caixa de entrada e spam se necessário."),1)])):S("",!0)]),_:1}),i("a",{href:"?sign_up",class:"ui-btn-lg ui-btn-contrast block w-full text-center",onClick:t[3]||(t[3]=x(o=>e.isSignUp=!e.isSignUp,["prevent"]))},r(e.isSignUp?"Acessar minha conta":"Criar uma conta"),1)])],32)}const ae=N(Q,[["render",ie]]),oe=P({__name:"AccountPage",setup(m,{expose:t}){t();let s=null;{const{location:a}=window,u=new URLSearchParams(a.search).get("return_url");if(!u){const n=new URL(a.toString());n.pathname="/app/",n.hash=`#${a.pathname.replace("/app/","/")}`,s=n.toString()}h(E,()=>{E.value&&(a.href=u||s)},{immediate:!0})}const e={get loginLinkActionUrl(){return s},set loginLinkActionUrl(a){s=a},LoginForm:ae};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}}),re={class:"from-secondary-700 to-secondary-950 flex min-h-screen w-full flex-col justify-center bg-gradient-to-br"},le={class:"mx-auto p-4"},ce=i("section",{class:"ui-section text-center"},[i("a",{href:"/",class:"text-base-200 hover:text-white"},[i("i",{class:"i-arrow-right mr-1 rotate-180"}),b(" "+r("Ir para a loja"))])],-1),me={class:"overflow-hidden rounded-md shadow-md ring-4 ring-black/10"},ue={class:"mb-5 text-center"},de={href:"/",class:"inline-block"},pe={key:0,class:"ui-section px-0"},ge={class:"mx-auto flex max-w-sm flex-wrap items-center justify-evenly gap-4 px-3"};function _e(m,t,s,e,a,u){const n=C("ALink");return l(),c("article",re,[i("div",le,[ce,i("section",me,[L(e.LoginForm,V(M({loginLinkActionUrl:e.loginLinkActionUrl})),{head:U(()=>[i("div",ue,[i("a",de,[F(m.$slots,"logo")])])]),_:3},16)]),m.$settings.serviceLinks?.length?(l(),c("nav",pe,[i("ul",ge,[(l(!0),c(R,null,j(m.$settings.serviceLinks,({title:o,href:d},g)=>(l(),c("li",{key:`s-${g}`},[L(n,{href:d,class:"text-base-200 ui-link hover:text-white"},{default:U(()=>[b(r(o),1)]),_:2},1032,["href"])]))),128))])])):S("",!0)])])}const xe=N(oe,[["render",_e]]);export{xe as default};
@@ -1 +1 @@
1
- import{_ as b,w as x}from"./_plugin-vue_export-helper.xATGHWd9.js";import{c as p,d as v,N as f,O as i,P as m,V as d,W as y,a0 as C,R as h,Q as o,S as t,T as g,Y as I,Z as S}from"./sf-utils.c42cbZ9W.js";import{f as w}from"./modules-info.HP6478mG.js";import{p as V,r as P,s as F,t as z}from"./shopping-cart.v-dB3kHB.js";import{Q as j,C as N}from"./QuantitySelector.v7L8EYOR.js";import{P as k}from"./Prices.xI1rdM1e.js";import{g as A}from"./name.VA3MEpe0.js";import{g as L}from"./img.AnjeGdy_.js";import"./afetch.OifQZgwR.js";import"./server-data.4C60Esyt.js";import"./format-money.1_HtF5S2.js";import"./price.Easct8WC.js";import"./customer-session.dSYHWdP4.js";import"./index.KfrHdfOH.js";import"./i18n.zhlBzJt8.js";const q=a=>{const s=p(()=>!a.item&&a.product?V(a.product):null),r=p(()=>a.item||s.value),e=p(()=>A(r.value)),n=p(()=>{const{slug:l}=r.value;return typeof l=="string"?`/${l}`:null}),u=p(()=>{if(r.value.picture)return L(r.value.picture,void 0,a.pictureSize||"small")}),c=p(()=>r.value.final_price||r.value.price);return{cartItem:r,title:e,link:n,image:u,finalPrice:c}},B=v({__name:"CartItem",props:{item:{},product:{},pictureSize:{}},setup(a,{expose:s}){s();const r=a,{cartItem:e,title:n,link:u,image:c,finalPrice:l}=q(r),_={props:r,cartItem:e,title:n,link:u,image:c,finalPrice:l,get removeCartItem(){return P},QuantitySelector:j,Prices:k};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),Q={class:"relative bg-white shadow-sm"},E={class:"text-base-700 group-hover:text-base-900 flex-auto py-2 text-sm group-hover:underline"},O=t("span",{class:"border-3 border-danger-700/30 text-danger-800 flex size-5 flex-col justify-center rounded-full text-sm leading-none"},[t("i",{class:"i-close mx-auto my-0"})],-1),M=[O],R={class:"border-base-100 flex items-center justify-between border-t-2"},T={class:"border-base-100 border-r-2"};function D(a,s,r,e,n,u){const c=f("AImg"),l=f("ALink");return i(),m("article",Q,[d(l,{href:e.link,class:"group flex items-center gap-5 p-4"},{default:y(()=>[e.image?(i(),C(c,{key:0,picture:e.image,alt:e.title,class:"size-20 object-cover"},null,8,["picture","alt"])):h("",!0),t("p",E,o(e.title),1)]),_:1},8,["href"]),e.cartItem._id?(i(),m("button",{key:0,onClick:s[0]||(s[0]=x(_=>e.removeCartItem(e.cartItem._id),["stop"])),class:"absolute right-0 top-0 p-2 opacity-70 hover:opacity-100","aria-label":"Remover"},M)):h("",!0),t("div",R,[t("div",T,[d(e.QuantitySelector,{modelValue:e.cartItem.quantity,"onUpdate:modelValue":s[1]||(s[1]=_=>e.cartItem.quantity=_),min:e.cartItem.min_quantity,max:e.cartItem.max_quantity},null,8,["modelValue","min","max"])]),d(e.Prices,{"base-price":e.cartItem.base_price,price:e.finalPrice,"has-cashback":!1,"has-price-options":!1,class:"px-4 py-2.5 text-right text-[95%]"},null,8,["base-price","price"])])])}const U=b(B,[["render",D]]),W=v({__name:"CartSidebar",emits:["close"],setup(a,{expose:s,emit:r}){s();const n={emit:r,get freeShippingFromValue(){return w},get shoppingCart(){return F},get totalItems(){return z},CheckoutLink:N,Prices:k,CartItem:U};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Y={class:"flex h-screen flex-col bg-white"},Z={class:"z-10 flex items-center justify-end gap-3 px-6 py-4 shadow ring-1 ring-black/5"},G=t("span",{class:"text-base-600 text-right text-base font-medium"},o("Meu carrinho de compras"),-1),H={class:"min-w-[3rem] text-right"},J={class:"ui-badge-pill-lg"},K={class:"bg-base-50 grow overflow-y-auto"},X={key:0,class:"text-center text-sm"},$={key:0,class:"secondary-subtle p-3"},ee=t("strong",{class:"lowercase"},o("Frete grátis"),-1),te={key:1,class:"bg-success-50 text-success-800 p-3"},re=t("i",{class:"text-success-900 i-check mr-1"},null,-1),se={class:"px-4 pb-2 pt-4"},ae={class:"z-10 px-5 pb-3 pt-4 ring-2 ring-black/5"},oe={class:"grid grid-cols-5 items-center gap-3 text-right"},ie=t("div",{class:"col-span-2"},o("Subtotal"),-1),ne=t("i",{class:"i-check mr-2"},null,-1),ce=t("i",{class:"i-arrow-right mr-1 rotate-180"},null,-1);function le(a,s,r,e,n,u){return i(),m("aside",Y,[t("header",Z,[G,t("span",H,[t("span",J,o(e.totalItems),1)])]),t("article",K,[e.freeShippingFromValue?(i(),m("div",X,[e.freeShippingFromValue>e.shoppingCart.subtotal?(i(),m("div",$,[g(o("Adicione $1 para ganhar".replace("$1",a.$money(e.freeShippingFromValue-e.shoppingCart.subtotal)))+" ",1),ee])):(i(),m("div",te,[re,g(" "+o("Frete grátis a partir de")+" "+o(a.$money(e.freeShippingFromValue)),1)]))])):h("",!0),t("ul",se,[(i(!0),m(I,null,S(e.shoppingCart.items,(c,l)=>(i(),m("li",{key:l},[d(e.CartItem,{item:c,class:"mb-3"},null,8,["item"])]))),128))])]),t("footer",ae,[t("div",oe,[ie,d(e.Prices,{price:e.shoppingCart.subtotal,class:"col-span-3 text-lg"},null,8,["price"])]),d(e.CheckoutLink,{to:"checkout",class:"ui-btn-lg ui-btn-primary my-2.5 w-full text-right"},{default:y(()=>[ne,g(" "+o("Finalizar compra"))]),_:1}),t("a",{href:"#",onClick:s[0]||(s[0]=x(c=>e.emit("close"),["prevent"])),class:"text-base-500 ui-link hover:text-base-700 text-sm"},[ce,g(" "+o("Continuar comprando"))])])])}const Se=b(W,[["render",le]]);export{Se as default};
1
+ import{_ as b,w as x}from"./_plugin-vue_export-helper.xATGHWd9.js";import{c as p,d as v,N as f,O as i,P as m,V as d,W as y,a0 as C,R as h,Q as o,S as t,T as g,Y as I,Z as S}from"./sf-utils.c42cbZ9W.js";import{f as w}from"./modules-info.HP6478mG.js";import{p as V,r as P,s as F,t as z}from"./shopping-cart.nSNNOrp9.js";import{Q as j,C as N}from"./QuantitySelector.v7L8EYOR.js";import{P as k}from"./Prices.xI1rdM1e.js";import{g as A}from"./name.VA3MEpe0.js";import{g as L}from"./img.AnjeGdy_.js";import"./afetch.OifQZgwR.js";import"./server-data.4C60Esyt.js";import"./format-money.1_HtF5S2.js";import"./price.Easct8WC.js";import"./customer-session.ZD6tLDQJ.js";import"./index.KfrHdfOH.js";import"./i18n.zhlBzJt8.js";const q=a=>{const s=p(()=>!a.item&&a.product?V(a.product):null),r=p(()=>a.item||s.value),e=p(()=>A(r.value)),n=p(()=>{const{slug:l}=r.value;return typeof l=="string"?`/${l}`:null}),u=p(()=>{if(r.value.picture)return L(r.value.picture,void 0,a.pictureSize||"small")}),c=p(()=>r.value.final_price||r.value.price);return{cartItem:r,title:e,link:n,image:u,finalPrice:c}},B=v({__name:"CartItem",props:{item:{},product:{},pictureSize:{}},setup(a,{expose:s}){s();const r=a,{cartItem:e,title:n,link:u,image:c,finalPrice:l}=q(r),_={props:r,cartItem:e,title:n,link:u,image:c,finalPrice:l,get removeCartItem(){return P},QuantitySelector:j,Prices:k};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),Q={class:"relative bg-white shadow-sm"},E={class:"text-base-700 group-hover:text-base-900 flex-auto py-2 text-sm group-hover:underline"},O=t("span",{class:"border-3 border-danger-700/30 text-danger-800 flex size-5 flex-col justify-center rounded-full text-sm leading-none"},[t("i",{class:"i-close mx-auto my-0"})],-1),M=[O],R={class:"border-base-100 flex items-center justify-between border-t-2"},T={class:"border-base-100 border-r-2"};function D(a,s,r,e,n,u){const c=f("AImg"),l=f("ALink");return i(),m("article",Q,[d(l,{href:e.link,class:"group flex items-center gap-5 p-4"},{default:y(()=>[e.image?(i(),C(c,{key:0,picture:e.image,alt:e.title,class:"size-20 object-cover"},null,8,["picture","alt"])):h("",!0),t("p",E,o(e.title),1)]),_:1},8,["href"]),e.cartItem._id?(i(),m("button",{key:0,onClick:s[0]||(s[0]=x(_=>e.removeCartItem(e.cartItem._id),["stop"])),class:"absolute right-0 top-0 p-2 opacity-70 hover:opacity-100","aria-label":"Remover"},M)):h("",!0),t("div",R,[t("div",T,[d(e.QuantitySelector,{modelValue:e.cartItem.quantity,"onUpdate:modelValue":s[1]||(s[1]=_=>e.cartItem.quantity=_),min:e.cartItem.min_quantity,max:e.cartItem.max_quantity},null,8,["modelValue","min","max"])]),d(e.Prices,{"base-price":e.cartItem.base_price,price:e.finalPrice,"has-cashback":!1,"has-price-options":!1,class:"px-4 py-2.5 text-right text-[95%]"},null,8,["base-price","price"])])])}const U=b(B,[["render",D]]),W=v({__name:"CartSidebar",emits:["close"],setup(a,{expose:s,emit:r}){s();const n={emit:r,get freeShippingFromValue(){return w},get shoppingCart(){return F},get totalItems(){return z},CheckoutLink:N,Prices:k,CartItem:U};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Y={class:"flex h-screen flex-col bg-white"},Z={class:"z-10 flex items-center justify-end gap-3 px-6 py-4 shadow ring-1 ring-black/5"},G=t("span",{class:"text-base-600 text-right text-base font-medium"},o("Meu carrinho de compras"),-1),H={class:"min-w-[3rem] text-right"},J={class:"ui-badge-pill-lg"},K={class:"bg-base-50 grow overflow-y-auto"},X={key:0,class:"text-center text-sm"},$={key:0,class:"secondary-subtle p-3"},ee=t("strong",{class:"lowercase"},o("Frete grátis"),-1),te={key:1,class:"bg-success-50 text-success-800 p-3"},re=t("i",{class:"text-success-900 i-check mr-1"},null,-1),se={class:"px-4 pb-2 pt-4"},ae={class:"z-10 px-5 pb-3 pt-4 ring-2 ring-black/5"},oe={class:"grid grid-cols-5 items-center gap-3 text-right"},ie=t("div",{class:"col-span-2"},o("Subtotal"),-1),ne=t("i",{class:"i-check mr-2"},null,-1),ce=t("i",{class:"i-arrow-right mr-1 rotate-180"},null,-1);function le(a,s,r,e,n,u){return i(),m("aside",Y,[t("header",Z,[G,t("span",H,[t("span",J,o(e.totalItems),1)])]),t("article",K,[e.freeShippingFromValue?(i(),m("div",X,[e.freeShippingFromValue>e.shoppingCart.subtotal?(i(),m("div",$,[g(o("Adicione $1 para ganhar".replace("$1",a.$money(e.freeShippingFromValue-e.shoppingCart.subtotal)))+" ",1),ee])):(i(),m("div",te,[re,g(" "+o("Frete grátis a partir de")+" "+o(a.$money(e.freeShippingFromValue)),1)]))])):h("",!0),t("ul",se,[(i(!0),m(I,null,S(e.shoppingCart.items,(c,l)=>(i(),m("li",{key:l},[d(e.CartItem,{item:c,class:"mb-3"},null,8,["item"])]))),128))])]),t("footer",ae,[t("div",oe,[ie,d(e.Prices,{price:e.shoppingCart.subtotal,class:"col-span-3 text-lg"},null,8,["price"])]),d(e.CheckoutLink,{to:"checkout",class:"ui-btn-lg ui-btn-primary my-2.5 w-full text-right"},{default:y(()=>[ne,g(" "+o("Finalizar compra"))]),_:1}),t("a",{href:"#",onClick:s[0]||(s[0]=x(c=>e.emit("close"),["prevent"])),class:"text-base-500 ui-link hover:text-base-700 text-sm"},[ce,g(" "+o("Continuar comprando"))])])])}const Se=b(W,[["render",le]]);export{Se as default};
@@ -0,0 +1,7 @@
1
+ import{d as E,a as C,N as P,O as u,P as m,a0 as A,W as V,R as b,S as v,Y as w,U as z,V as k,Z as I,ac as F,a7 as Z,M as H,r as j,w as T,aa as M,c as Q,T as D,Q as S,ad as J,I as K,$ as X}from"./sf-utils.c42cbZ9W.js";import{_ as G,w as $}from"./_plugin-vue_export-helper.xATGHWd9.js";import{u as tt}from"./index.ShNlAyu1.js";import{a as et}from"./shopping-cart.nSNNOrp9.js";import{u as ot}from"./use-product-card.UFr8SCuD.js";import{C as rt,Q as it}from"./QuantitySelector.v7L8EYOR.js";import{P as at}from"./Prices.xI1rdM1e.js";import{_ as B}from"./customer-session.ZD6tLDQJ.js";import"./server-data.4C60Esyt.js";import{g as nt}from"./img-sizes.gxAI9JNh.js";import"./index.KfrHdfOH.js";import{g as st}from"./grid-title.pK2Nn3i-.js";import"./use-analytics.wTmoP8B1.js";import"./price.Easct8WC.js";import"./name.VA3MEpe0.js";import"./i18n.zhlBzJt8.js";import"./img.AnjeGdy_.js";import"./modules-info.HP6478mG.js";import"./afetch.OifQZgwR.js";import"./format-money.1_HtF5S2.js";const R=(r,i,a)=>{if(typeof r!="object"||r===null)return[];let t=[];if(typeof r=="object"&&r!==null)if(Array.isArray(r))r.length&&(r[0].specifications?r.forEach(e=>{t=t.concat(R(e,i,a))}):r[0].text&&(t=r));else{const{specifications:e}=r;if(e)for(const n in e)e[n]&&n===i&&(t=e[i]);if(t&&!t.length&&Array.isArray(a)&&a.length){let n,d;return a&&(d=a.find(s=>s.grid_id===i))&&d.options&&(n=d.options.map(s=>{let l;return s.colors&&s.colors.length?l=s.colors[0]:l=s.option_id,{text:s.text,value:l}})),R(n,i)}}return t},W=R,lt=(r,i,a,t=", ")=>{let e=W(r,i,a);if(e.length){let n=e[0].text;for(let d=1;d<e.length;d++)n+=t+e[d].text;return n}return null},Y=lt,ct=(r,i,a,t)=>{const e=W(r,a,t);for(let n=0;n<e.length;n++)if(e[n].text===i)return e[n].value},dt=ct,ut=(r,i,a,t)=>{let e={};return r&&Array.isArray(r.variations)&&r.variations.forEach(n=>{if(a&&n.quantity<=0)return;let d=n.specifications,s=l=>Y(n,l,t);if(d){if(i){for(let l in i)if(i.hasOwnProperty(l)&&(!d[l]||s(l)!==i[l]))return}for(let l in d)if(d.hasOwnProperty(l)){let p=s(l);if(!e.hasOwnProperty(l))e[l]=[];else if(e[l].indexOf(p)!==-1)continue;e[l].push(p)}}}),e},q=ut,mt=E({__name:"ImagesGallery",props:{pictures:{}},setup(r,{expose:i}){i();const a=C(0),t=C("");let e;const n=C(!1),s={activeIndex:a,psId:t,get lightbox(){return e},set lightbox(l){e=l},isLoadingLightbox:n,zoom:l=>{if(t.value=`ps-${Z()}`,!e&&!n.value){n.value=!0;const p="photoswipe-style";Promise.all([B(()=>import("./photoswipe-lightbox.esm.dZBqKD9u.js"),__vite__mapDeps([])),B(()=>import("./photoswipe.esm.Ylh9TGkz.js"),__vite__mapDeps([])),!document.getElementById(p)&&B(()=>import("./photoswipe.0V7m2jWu.js"),__vite__mapDeps([]))]).then(([{default:o},{default:c},_])=>{if(_){const{default:y}=_,g=document.createElement("style");g.id=p,g.textContent=y,document.head.appendChild(g)}e=new o({gallery:`#${t.value} > div`,children:"a",pswpModule:c,showAnimationDuration:300,hideAnimationDuration:300}),e.init(),e.loadAndOpen(l),n.value=!1})}},get getImgSizes(){return nt}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),pt={class:"-mx-4 flex w-screen gap-3 sm:mx-0 sm:w-full md:h-[525px] 2xl:gap-5"},ft=["onClick"],gt=v("span",{class:"absolute bottom-0 block h-2 w-full bg-gradient-to-b from-transparent to-white"},null,-1),_t={class:"relative aspect-square h-full grow md:aspect-auto"},ht={key:0,class:"bg-base-200 i-arrow-path absolute left-1/2 top-1/2 -ml-7 -mt-7 size-14 animate-spin","aria-label":"Carregando"},vt={key:1,class:"mt-2 flex justify-center gap-1.5 md:hidden"},yt=["aria-label","onClick"];function bt(r,i,a,t,e,n){const d=P("AImg"),s=P("CarouselControl"),l=P("Carousel"),p=P("ALink");return u(),m("div",pt,[a.pictures.length>1?(u(),A(l,{key:0,axis:"y",class:"group hidden w-[300px] shrink-0 md:block"},{controls:V(()=>[v("span",null,[a.pictures.length>6?(u(),A(s,{key:0,class:"text-primary hover:bg-primary-300/60 !bottom-3 !left-1/2 -ml-5 size-10 rounded-full bg-white/60 text-xl opacity-0 shadow-sm ring-1 ring-black/5 group-hover:opacity-90"})):b("",!0),gt])]),default:V(()=>[(u(!0),m(w,null,I(Math.ceil(a.pictures.length/2),o=>(u(),m("li",{key:o,class:z(["grid w-full grid-cols-2 gap-3 px-1 pb-3",o===1&&"pt-1"])},[(u(!0),m(w,null,I([1,2].map(c=>(o-1)*2+(c-1)),c=>(u(),m(w,{key:`${o}-${c}`},[c<a.pictures.length?(u(),m("button",{key:0,class:"bg-secondary-100 block rounded md:h-[175px]",onClick:_=>t.activeIndex=c},[k(d,{picture:a.pictures[c],class:z(["ring-secondary/10 size-full rounded border-2 object-cover opacity-90 transition-colors",c===t.activeIndex?"border-secondary/50 ring-4 cursor-auto":"border-transparent hover:border-primary hover:ring-4 hover:ring-primary/20"])},null,8,["picture","class"])],8,ft)):b("",!0)],64))),128))],2))),128))]),_:1})):b("",!0),v("div",_t,[k(l,{as:"div",index:t.activeIndex,"onUpdate:index":i[1]||(i[1]=o=>t.activeIndex=o),class:z(["text-base-600 [&_i]:i-arrow-right mx-auto size-full max-w-[525px] [&>*]:h-full [&_i]:mx-2 [&_i]:text-2xl",t.isLoadingLightbox&&"opacity-80"]),id:t.psId},{default:V(()=>[i[0]||(F(-1),i[0]=(u(!0),m(w,null,I(a.pictures,(o,c)=>(u(),A(p,{key:`big-${c}`,href:o.zoom?.size&&o.zoom.url,"data-pswp-width":t.getImgSizes(o.zoom||"").width,"data-pswp-height":t.getImgSizes(o.zoom||"").height,target:"_blank",rel:"noreferrer",class:z(["shrink-0 basis-full",o.zoom?.size&&"cursor-zoom-in"]),onClick:$(()=>o.zoom?.size&&t.zoom(c),["prevent"])},{default:V(()=>[k(d,{picture:o,"preferred-size":"big",class:"size-full rounded object-cover",fetchpriority:c===0?"high":"low",loading:c===0?"eager":"lazy"},null,8,["picture","fetchpriority","loading"])]),_:2},1032,["href","data-pswp-width","data-pswp-height","class","onClick"]))),128)),F(1),i[0])]),_:1},8,["index","class","id"]),t.isLoadingLightbox?(u(),m("i",ht)):b("",!0),a.pictures.length>1?(u(),m("ul",vt,[(u(!0),m(w,null,I(a.pictures.length,o=>(u(),m("li",{key:`d-${o}`},[v("button",{class:z(["bg-base-700 block h-1.5 w-3 rounded-full",t.activeIndex!==o-1&&"opacity-40"]),"aria-label":`Imagem ${o}`,onClick:c=>t.activeIndex=o-1},null,10,yt)]))),128))])):b("",!0)])])}const xt=G(mt,[["render",bt]]),kt=r=>{const i=H(r.grids||globalThis.$storefront.data.grids||[]);i.length||window.addEventListener("storefront:data:data",()=>{globalThis.$storefront.data.grids?.forEach(o=>i.push(o))},{once:!0});const a=j({}),t=j({});T(M(r,"variations"),()=>{Object.assign(t,q(r,void 0,!0));const o=q(r);Object.keys(o).forEach(c=>{t[c]?a[c]=t[c]:delete a[c]})},{immediate:!0});const e=Q(()=>Object.keys(a)),n=j({}),d=C(),s=({optionText:o,gridId:c,gridIndex:_})=>{n[c]=o;const y={};for(let f=0;f<=_;f++){const h=e[f];n[h]&&(y[h]=n[h])}const g=q(r,y,!0);for(let f=_+1;f<e.value.length;f++){const h=e[f],O=g[h];t[h]=O,n[h]&&!O.includes(n[h])&&delete n[h]}const x=r.variations.slice(0);for(let f=0;f<x.length;f++){const h=x[f],{specifications:O}=h,N=Object.keys(O);for(let L=0;L<N.length;L++){const U=N[L];if(n[U]!==Y(h,U)){x.splice(f,1),f-=1;break}}}d.value=x[0]?._id||null};return T(M(r,"variationId"),o=>{if(!o||o===d.value)return;const c=r.variations.find(x=>x._id===o);if(!c){d.value=null;return}const{specifications:_}=c,y=Object.keys(_),g=(x=0)=>{const f=y[x];if(y[x]&&_[f]&&_[f].length===1){const h=_[f][0].text;a[f].find(O=>O===h)&&(s({optionText:h,gridId:f,gridIndex:e.value.indexOf(f)}),g(x+1))}};g()},{immediate:!0}),{grids:i,variationsGrids:a,activeVariationsGrids:t,selectOption:s,selectedOptions:n,variationId:d,getGridTitle:o=>st(o,i),getColorOptionBg:o=>{const c=o.split(",").map(_=>dt(r.variations,_.trim(),"colors"));return c.length>1?`background:linear-gradient(to right bottom, ${c[0]} 50%, ${c[1]} 50%)`:`background:${c[0]}`}}},wt=E({__name:"SkuSelector",props:{variations:{},variationId:{},grids:{}},emits:["update:variationId"],setup(r,{expose:i,emit:a}){i();const t=r,e=a,{variationsGrids:n,activeVariationsGrids:d,selectOption:s,selectedOptions:l,variationId:p,getGridTitle:o,getColorOptionBg:c}=kt(t);T(p,y=>{e("update:variationId",y)});const _={props:t,emit:e,variationsGrids:n,activeVariationsGrids:d,selectOption:s,selectedOptions:l,variationId:p,getGridTitle:o,getColorOptionBg:c};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),St={class:"text-base-700 text-sm font-medium"},Ct={key:0,class:"text-base-800"},Ot={key:0,class:"mt-2 flex gap-2"},zt=["onClick"];function Vt(r,i,a,t,e,n){return u(),m("div",null,[(u(!0),m(w,null,I(t.variationsGrids,(d,s)=>(u(),m("div",{key:s,class:"mt-3"},[v("span",St,[D(S(t.getGridTitle(s))+": ",1),t.selectedOptions[s]?(u(),m("strong",Ct,S(t.selectedOptions[s]),1)):b("",!0)]),d.length<7?(u(),m("ul",Ot,[(u(!0),m(w,null,I(d,(l,p)=>(u(),m("li",{key:`${s}-${p}`},[v("button",{class:z(["ring-primary/60 rounded border",[t.selectedOptions[s]===l?"border-primary ring-2":null,s==="colors"?"size-9 text-[0px]":"px-2.5 py-2 leading-none",t.activeVariationsGrids[s].includes(l)?"border-primary-400 bg-primary-100 text-primary-950":"border-primary-300 bg-primary-200 text-primary-600"]]),style:J(s==="colors"&&t.getColorOptionBg(l)),onClick:o=>t.selectOption({optionText:l,gridId:s,gridIndex:p})},S(l),15,zt)]))),128))])):b("",!0)]))),128))])}const It=G(wt,[["render",Vt]]),Pt=E({__name:"ShippingCalculator",setup(r,{expose:i}){i();const a={};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function At(r,i,a,t,e,n){return u(),m("div")}const Tt=G(Pt,[["render",At]]),Et=E({__name:"ProductDetails",props:{product:{default:()=>globalThis.$storefront.apiContext?.doc}},setup(r,{expose:i}){i();const a=r,{product:t,title:e,isActive:n}=ot(a),d=C(t.min_quantity||1),s=tt("history"),l=C(!1),p=C(null);T(p,g=>{g&&(s.var=g,l.value=!1)}),K(()=>{T(s,({var:g})=>{typeof g=="string"&&g&&(p.value=g)},{immediate:!0})});const o=Q(()=>!!(!t.variations?.length||p.value)),c=g=>(o.value?l.value=!1:(g&&g.preventDefault(),l.value=!0),!l.value),y={props:a,product:t,title:e,isActive:n,quantity:d,params:s,hasSkuSelectionAlert:l,variationId:p,isSkuSelected:o,checkVariation:c,addToCart:()=>{c()&&et(t,p.value?p.value:void 0)},CheckoutLink:rt,QuantitySelector:it,Prices:at,ImagesGallery:xt,SkuSelector:It,ShippingCalculator:Tt};return Object.defineProperty(y,"__isScriptSetup",{enumerable:!1,value:!0}),y}}),Gt={class:"ui-section relative grid grid-cols-1 items-start gap-5 md:gap-4 lg:grid-cols-4 2xl:gap-6"},Lt={class:"w-full lg:col-span-3"},jt={class:"lg:sticky-header:translate-y-14 top-0 py-4 transition-transform lg:sticky"},Bt={class:"text-secondary-900 ui-text-brand text-lg"},qt={key:0,class:"mt-5"},Dt={key:0,class:"ui-alert inline-block"},Rt=v("i",{class:"i-arrow-right ml-1 -rotate-90"},null,-1),Nt={class:"mt-5 flex flex-wrap items-center gap-x-4 gap-y-2 md:flex-nowrap lg:mt-4 lg:flex-wrap"},Ut=v("i",{class:"i-chevron-double-right mr-1"},null,-1),Ft=["data-tooltip"],Mt={class:"w-full lg:col-span-3"};function Qt(r,i,a,t,e,n){const d=P("Fade");return u(),m("section",Gt,[v("div",Lt,[t.product.pictures?.length?(u(),A(t.ImagesGallery,{key:0,pictures:t.product.pictures},null,8,["pictures"])):b("",!0)]),v("div",jt,[v("h1",Bt,S(t.title),1),t.isActive?(u(),m("div",qt,[k(t.Prices,{product:t.product,"is-big":"","is-literal":""},null,8,["product"]),t.product.variations?(u(),A(t.SkuSelector,{key:0,variations:t.product.variations,"variation-id":t.variationId,"onUpdate:variationId":i[0]||(i[0]=s=>t.variationId=s),class:"my-4"},null,8,["variations","variation-id"])):b("",!0),k(d,{slide:"down"},{default:V(()=>[t.hasSkuSelectionAlert?(u(),m("div",Dt,[D(S("Por favor selecione uma opção em cada campo acima")+" "),Rt])):b("",!0)]),_:1}),v("div",Nt,[k(t.QuantitySelector,{modelValue:t.quantity,"onUpdate:modelValue":i[1]||(i[1]=s=>t.quantity=s),min:t.product.min_quantity,max:t.product.quantity,class:"border-base-100 rounded md:mr-5 lg:mb-2 lg:mr-auto lg:border-2"},null,8,["modelValue","min","max"]),k(t.CheckoutLink,{class:"ui-btn-lg ui-btn-primary grow text-center",to:"checkout","cart-item":{product_id:t.product._id,quantity:t.quantity,variation_id:t.variationId||void 0},"data-tooltip":t.isSkuSelected?null:"Escolha os detalhes do produto para comprar",onClick:t.checkVariation},{default:V(()=>[Ut,D(" "+S("Comprar"))]),_:1},8,["cart-item","data-tooltip"]),v("button",{class:"ui-btn-lg ui-btn-contrast grow",onClick:$(t.addToCart,["prevent"]),"data-tooltip":t.isSkuSelected?null:"Escolha os detalhes do produto para comprar"},S("Adicionar ao carrinho"),8,Ft)]),k(t.ShippingCalculator)])):b("",!0)]),v("div",Mt,[X(r.$slots,"description")])])}const me=G(Et,[["render",Qt]]);export{me as default};
2
+ function __vite__mapDeps(indexes) {
3
+ if (!__vite__mapDeps.viteFileDeps) {
4
+ __vite__mapDeps.viteFileDeps = []
5
+ }
6
+ return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
7
+ }
@@ -1 +1 @@
1
- import{a as p,M as z,d as I,N as w,O as r,P as d,V as h,W as b,a0 as S,R as C,S as v,T as y,Q as x,a1 as L,U as P,a7 as N,an as R,$ as V,X as j,Y as B,Z as M}from"./sf-utils.c42cbZ9W.js";import{_ as T,w as O,v as D}from"./_plugin-vue_export-helper.xATGHWd9.js";import{b as Q,c as E}from"./index.ShNlAyu1.js";import{b as A}from"./customer-session.dSYHWdP4.js";import{c as G,u as H}from"./use-product-card.nNtSJVtB.js";import{g as q}from"./index.KfrHdfOH.js";import"./server-data.4C60Esyt.js";import{a as F}from"./shopping-cart.v-dB3kHB.js";import{P as U}from"./Prices.xI1rdM1e.js";const Ce="Acima de",Pe="Marcas",we="Categorias",Se="Desconto",Ae="Maior preço",Ie="Menor preço",Le="Nome",W="Produtos relacionados",Te="Lançamentos",ze="Relevância",Ne="Vendas",Re="Até",X=t=>{const s=p(t.title||""),i=p(t.titleLink||""),e=p(!1);let _=null;const u=p(null),n=z(t.products||[]);return t.products||(e.value=!0,_=(async()=>{const f=t.limit||24;let g=`offset=${t.page?(t.page-1)*f:0}&limit=${f}`;if(t.sort&&(g+=`&sort=${t.sort}`),t.isRelatedProducts){const{apiContext:o}=globalThis.$storefront;o?.resource==="products"&&(g=`like=${o.doc._id}`,!s.value&&s.value!==null&&(s.value=W))}else{let o=t.searchQuery||"",a;if(t.collectionId){try{const{data:c}=await A.get(`collections/${t.collectionId}`);a=c}catch(c){console.error(c),u.value=c}const m=a?.products;Array.isArray(m)&&m.length&&(o+=`&_id=${m.slice(0,60).join(",")}`),!s.value&&s.value!==null&&a?.name&&(s.value=a?.name)}g+=o}try{const{data:o}=await A.get(`search/v1?${g}`);if(t.isShuffle){let a=o.result.filter(k=>k.available&&G(k)).length,m,c;for(;a;)c=Math.floor(Math.random()*a--),m=o.result[a],o.result[a]=o.result[c],o.result[c]=m}o.result.forEach(a=>n.push(a))}catch(o){console.error(o),u.value=o}e.value=!1})()),{title:s,titleLink:i,isFetching:e,fetching:_,fetchError:u,products:n}},Y=I({__name:"ProductCard",props:{product:{},productId:{},listName:{},listId:{},headingTag:{default:"h3"}},setup(t,{expose:s}){s();const i=t,{product:e,title:_,link:u,images:n,isInStock:f,isActive:l,discountPercentage:g,hasVariations:o}=H(i),a=p(null),m=Q(a),c=p(!1);q(m,()=>{c.value=!0});const k={props:i,product:e,title:_,link:u,images:n,isInStock:f,isActive:l,discountPercentage:g,hasVariations:o,card:a,isHovered:m,wasHoveredOnce:c,get addProductToCart(){return F},Prices:U};return Object.defineProperty(k,"__isScriptSetup",{enumerable:!1,value:!0}),k}}),Z=["data-sku"],J={class:"aspect-square p-2 transition-transform motion-safe:group-hover:scale-110"},K={class:"relative size-full overflow-hidden rounded bg-white group-hover:rounded-none"},$={key:0,class:"text-xs text-opacity-70"},ee={key:1,class:"from-base-50/20 to-base-100 size-full bg-gradient-to-br"},te={key:0,class:"uno-bm03rg"},oe={class:"relative z-10 flex grow flex-col justify-between p-4"},se={class:"pt-2"},ae={key:0},re={key:1,class:"bg-warning-100 text-warning-700 ui-badge"},ie=v("span",{class:"bg-on-primary text-primary mr-1 inline-block size-4 rounded-full text-center text-base leading-none opacity-80"}," + ",-1);function ne(t,s,i,e,_,u){const n=w("AImg"),f=w("ALink");return r(),d("article",{ref:"card","data-sku":e.product.sku,class:"group relative mx-auto h-full max-w-[350px] px-0.5 py-3 hover:z-[1]"},[h(f,{href:e.link,class:"flex h-full flex-col overflow-hidden rounded bg-white ring-black/5 group-hover:shadow group-hover:ring-1"},{default:b(()=>[v("div",J,[v("div",K,[e.images?.length?(r(),d("span",$,[h(n,{picture:e.images[0],alt:e.title,class:"absolute left-0 top-0 block size-full object-cover"},null,8,["picture","alt"]),e.images[1]&&e.wasHoveredOnce?(r(),S(n,{key:0,picture:e.images[1],alt:e.title,class:"absolute left-0 top-0 z-10 block size-full object-cover text-transparent opacity-0 transition-opacity group-hover:opacity-100 motion-safe:duration-300"},null,8,["picture","alt"])):C("",!0)])):(r(),d("div",ee))])]),e.discountPercentage?(r(),d("span",te,[y(" -"),v("strong",null,x(e.discountPercentage),1),y("% ")])):C("",!0),v("div",oe,[(r(),S(L(i.headingTag),{class:P(["ui-link line-clamp-2 no-underline",[e.isActive?"text-base-700":"text-base-500",e.link?"group-hover:text-primary group-hover:underline":null]])},{default:b(()=>[y(x(e.title),1)]),_:1},8,["class"])),v("div",se,[e.isActive?(r(),d("div",ae,[h(e.Prices,{product:e.product},null,8,["product"])])):(r(),d("span",re,x(e.isInStock?"Inativo":"Sem estoque"),1))]),e.isActive&&!e.hasVariations?(r(),d("button",{key:0,class:"uno-3suct9 ui-btn-sm ui-btn-primary",onClick:s[0]||(s[0]=O(l=>e.addProductToCart(e.product),["stop","prevent"]))},[ie,y(" "+x("Adicionar ao carrinho"))])):C("",!0)])]),_:1},8,["href"])],8,Z)}const le=T(Y,[["render",ne]]),ce=I({__name:"ProductShelf",props:{isGrid:{type:Boolean},collectionId:{},searchQuery:{},sort:{},title:{},titleLink:{},isShuffle:{type:Boolean},limit:{},page:{},products:{},isRelatedProducts:{type:Boolean}},async setup(t,{expose:s}){s();const i=t,[e,_]=E(),{title:u,titleLink:n,fetching:f,products:l}=X(i),g=u.value||`Shelf ${N()}`,o={props:i,DefineCarouselControl:e,ReuseCarouselControl:_,title:u,titleLink:n,fetching:f,products:l,listName:g,ProductCard:le};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),de={class:"ui-section"},ue={key:0,class:"mx-auto mb-4 max-w-prose text-center"},fe={class:"ui-text-brand text-3xl"};function me(t,s,i,e,_,u){const n=w("ALink"),f=w("CarouselControl");return r(),d("section",de,[e.title?(r(),d("div",ue,[v("h2",fe,[h(n,{href:e.titleLink,class:P(e.titleLink?"ui-link":"text-base-700")},{default:b(()=>[y(x(e.title),1)]),_:1},8,["href","class"])])])):C("",!0),(r(),S(L(i.isGrid?"ul":"Carousel"),{class:P(["group/shelf",i.isGrid&&"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4"])},R({default:b(()=>[(r(!0),d(B,null,M(e.products,l=>(r(),d("li",{key:l._id,class:"shrink-0 basis-1/2 md:basis-1/3 lg:basis-1/4"},[h(e.ProductCard,{product:l,"list-name":e.listName},null,8,["product","list-name"])]))),128))]),_:2},[i.isGrid?void 0:{name:"controls",fn:b(()=>[h(e.DefineCarouselControl,null,{default:b(({isPrev:l})=>[j(h(f,{class:P(["uno-t0rdy7",l?"!-left-4":"!-right-4"]),"is-prev":l},null,8,["class","is-prev"]),[[D,e.products.length>2]])]),_:1}),h(e.ReuseCarouselControl,{"is-prev":!0}),h(e.ReuseCarouselControl)]),key:"0"}]),1032,["class"])),V(t.$slots,"append")])}const Ve=T(ce,[["render",me]]);export{Ve as P,we as a,Re as b,Ce as c,ze as d,Ne as e,Ie as f,Ae as g,Se as h,Pe as i,Te as j,Le as k};
1
+ import{a as p,M as z,d as I,N as w,O as r,P as d,V as h,W as b,a0 as S,R as C,S as v,T as y,Q as x,a1 as L,U as P,a7 as N,an as R,$ as V,X as j,Y as B,Z as M}from"./sf-utils.c42cbZ9W.js";import{_ as T,w as O,v as D}from"./_plugin-vue_export-helper.xATGHWd9.js";import{b as Q,c as E}from"./index.ShNlAyu1.js";import{b as A}from"./customer-session.ZD6tLDQJ.js";import{c as G,u as H}from"./use-product-card.UFr8SCuD.js";import{g as q}from"./index.KfrHdfOH.js";import"./server-data.4C60Esyt.js";import{a as F}from"./shopping-cart.nSNNOrp9.js";import{P as U}from"./Prices.xI1rdM1e.js";const Ce="Acima de",Pe="Marcas",we="Categorias",Se="Desconto",Ae="Maior preço",Ie="Menor preço",Le="Nome",W="Produtos relacionados",Te="Lançamentos",ze="Relevância",Ne="Vendas",Re="Até",X=t=>{const s=p(t.title||""),i=p(t.titleLink||""),e=p(!1);let _=null;const u=p(null),n=z(t.products||[]);return t.products||(e.value=!0,_=(async()=>{const f=t.limit||24;let g=`offset=${t.page?(t.page-1)*f:0}&limit=${f}`;if(t.sort&&(g+=`&sort=${t.sort}`),t.isRelatedProducts){const{apiContext:o}=globalThis.$storefront;o?.resource==="products"&&(g=`like=${o.doc._id}`,!s.value&&s.value!==null&&(s.value=W))}else{let o=t.searchQuery||"",a;if(t.collectionId){try{const{data:c}=await A.get(`collections/${t.collectionId}`);a=c}catch(c){console.error(c),u.value=c}const m=a?.products;Array.isArray(m)&&m.length&&(o+=`&_id=${m.slice(0,60).join(",")}`),!s.value&&s.value!==null&&a?.name&&(s.value=a?.name)}g+=o}try{const{data:o}=await A.get(`search/v1?${g}`);if(t.isShuffle){let a=o.result.filter(k=>k.available&&G(k)).length,m,c;for(;a;)c=Math.floor(Math.random()*a--),m=o.result[a],o.result[a]=o.result[c],o.result[c]=m}o.result.forEach(a=>n.push(a))}catch(o){console.error(o),u.value=o}e.value=!1})()),{title:s,titleLink:i,isFetching:e,fetching:_,fetchError:u,products:n}},Y=I({__name:"ProductCard",props:{product:{},productId:{},listName:{},listId:{},headingTag:{default:"h3"}},setup(t,{expose:s}){s();const i=t,{product:e,title:_,link:u,images:n,isInStock:f,isActive:l,discountPercentage:g,hasVariations:o}=H(i),a=p(null),m=Q(a),c=p(!1);q(m,()=>{c.value=!0});const k={props:i,product:e,title:_,link:u,images:n,isInStock:f,isActive:l,discountPercentage:g,hasVariations:o,card:a,isHovered:m,wasHoveredOnce:c,get addProductToCart(){return F},Prices:U};return Object.defineProperty(k,"__isScriptSetup",{enumerable:!1,value:!0}),k}}),Z=["data-sku"],J={class:"aspect-square p-2 transition-transform motion-safe:group-hover:scale-110"},K={class:"relative size-full overflow-hidden rounded bg-white group-hover:rounded-none"},$={key:0,class:"text-xs text-opacity-70"},ee={key:1,class:"from-base-50/20 to-base-100 size-full bg-gradient-to-br"},te={key:0,class:"uno-bm03rg"},oe={class:"relative z-10 flex grow flex-col justify-between p-4"},se={class:"pt-2"},ae={key:0},re={key:1,class:"bg-warning-100 text-warning-700 ui-badge"},ie=v("span",{class:"bg-on-primary text-primary mr-1 inline-block size-4 rounded-full text-center text-base leading-none opacity-80"}," + ",-1);function ne(t,s,i,e,_,u){const n=w("AImg"),f=w("ALink");return r(),d("article",{ref:"card","data-sku":e.product.sku,class:"group relative mx-auto h-full max-w-[350px] px-0.5 py-3 hover:z-[1]"},[h(f,{href:e.link,class:"flex h-full flex-col overflow-hidden rounded bg-white ring-black/5 group-hover:shadow group-hover:ring-1"},{default:b(()=>[v("div",J,[v("div",K,[e.images?.length?(r(),d("span",$,[h(n,{picture:e.images[0],alt:e.title,class:"absolute left-0 top-0 block size-full object-cover"},null,8,["picture","alt"]),e.images[1]&&e.wasHoveredOnce?(r(),S(n,{key:0,picture:e.images[1],alt:e.title,class:"absolute left-0 top-0 z-10 block size-full object-cover text-transparent opacity-0 transition-opacity group-hover:opacity-100 motion-safe:duration-300"},null,8,["picture","alt"])):C("",!0)])):(r(),d("div",ee))])]),e.discountPercentage?(r(),d("span",te,[y(" -"),v("strong",null,x(e.discountPercentage),1),y("% ")])):C("",!0),v("div",oe,[(r(),S(L(i.headingTag),{class:P(["ui-link line-clamp-2 no-underline",[e.isActive?"text-base-700":"text-base-500",e.link?"group-hover:text-primary group-hover:underline":null]])},{default:b(()=>[y(x(e.title),1)]),_:1},8,["class"])),v("div",se,[e.isActive?(r(),d("div",ae,[h(e.Prices,{product:e.product},null,8,["product"])])):(r(),d("span",re,x(e.isInStock?"Inativo":"Sem estoque"),1))]),e.isActive&&!e.hasVariations?(r(),d("button",{key:0,class:"uno-3suct9 ui-btn-sm ui-btn-primary",onClick:s[0]||(s[0]=O(l=>e.addProductToCart(e.product),["stop","prevent"]))},[ie,y(" "+x("Adicionar ao carrinho"))])):C("",!0)])]),_:1},8,["href"])],8,Z)}const le=T(Y,[["render",ne]]),ce=I({__name:"ProductShelf",props:{isGrid:{type:Boolean},collectionId:{},searchQuery:{},sort:{},title:{},titleLink:{},isShuffle:{type:Boolean},limit:{},page:{},products:{},isRelatedProducts:{type:Boolean}},async setup(t,{expose:s}){s();const i=t,[e,_]=E(),{title:u,titleLink:n,fetching:f,products:l}=X(i),g=u.value||`Shelf ${N()}`,o={props:i,DefineCarouselControl:e,ReuseCarouselControl:_,title:u,titleLink:n,fetching:f,products:l,listName:g,ProductCard:le};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),de={class:"ui-section"},ue={key:0,class:"mx-auto mb-4 max-w-prose text-center"},fe={class:"ui-text-brand text-3xl"};function me(t,s,i,e,_,u){const n=w("ALink"),f=w("CarouselControl");return r(),d("section",de,[e.title?(r(),d("div",ue,[v("h2",fe,[h(n,{href:e.titleLink,class:P(e.titleLink?"ui-link":"text-base-700")},{default:b(()=>[y(x(e.title),1)]),_:1},8,["href","class"])])])):C("",!0),(r(),S(L(i.isGrid?"ul":"Carousel"),{class:P(["group/shelf",i.isGrid&&"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4"])},R({default:b(()=>[(r(!0),d(B,null,M(e.products,l=>(r(),d("li",{key:l._id,class:"shrink-0 basis-1/2 md:basis-1/3 lg:basis-1/4"},[h(e.ProductCard,{product:l,"list-name":e.listName},null,8,["product","list-name"])]))),128))]),_:2},[i.isGrid?void 0:{name:"controls",fn:b(()=>[h(e.DefineCarouselControl,null,{default:b(({isPrev:l})=>[j(h(f,{class:P(["uno-t0rdy7",l?"!-left-4":"!-right-4"]),"is-prev":l},null,8,["class","is-prev"]),[[D,e.products.length>2]])]),_:1}),h(e.ReuseCarouselControl,{"is-prev":!0}),h(e.ReuseCarouselControl)]),key:"0"}]),1032,["class"])),V(t.$slots,"append")])}const Ve=T(ce,[["render",me]]);export{Ve as P,we as a,Re as b,Ce as c,ze as d,Ne as e,Ie as f,Ae as g,Se as h,Pe as i,Te as j,Le as k};
@@ -1 +1 @@
1
- import"./sf-utils.c42cbZ9W.js";import{P as j}from"./ProductShelf.qbTNzuvn.js";import"./_plugin-vue_export-helper.xATGHWd9.js";import"./index.ShNlAyu1.js";import"./index.KfrHdfOH.js";import"./customer-session.dSYHWdP4.js";import"./server-data.4C60Esyt.js";import"./use-product-card.nNtSJVtB.js";import"./use-analytics._ef6TM4P.js";import"./shopping-cart.v-dB3kHB.js";import"./price.Easct8WC.js";import"./afetch.OifQZgwR.js";import"./name.VA3MEpe0.js";import"./i18n.zhlBzJt8.js";import"./img.AnjeGdy_.js";import"./Prices.xI1rdM1e.js";import"./modules-info.HP6478mG.js";import"./format-money.1_HtF5S2.js";export{j as default};
1
+ import"./sf-utils.c42cbZ9W.js";import{P as j}from"./ProductShelf.-4fsYkPB.js";import"./_plugin-vue_export-helper.xATGHWd9.js";import"./index.ShNlAyu1.js";import"./index.KfrHdfOH.js";import"./customer-session.ZD6tLDQJ.js";import"./server-data.4C60Esyt.js";import"./use-product-card.UFr8SCuD.js";import"./use-analytics.wTmoP8B1.js";import"./shopping-cart.nSNNOrp9.js";import"./price.Easct8WC.js";import"./afetch.OifQZgwR.js";import"./name.VA3MEpe0.js";import"./i18n.zhlBzJt8.js";import"./img.AnjeGdy_.js";import"./Prices.xI1rdM1e.js";import"./modules-info.HP6478mG.js";import"./format-money.1_HtF5S2.js";export{j as default};
@@ -1 +1 @@
1
- import{_ as Z}from"./_plugin-vue_export-helper.xATGHWd9.js";import{a9 as Q,a as T,w as V,aa as q,d as J,N as j,O as f,P as w,V as F,W as x,U as O,Y as R,Q as L,T as U,Z as M,S,R as H,a0 as z,ab as K}from"./sf-utils.c42cbZ9W.js";import"./server-data.4C60Esyt.js";import{S as X,s as G}from"./use-analytics._ef6TM4P.js";import{P as $}from"./ProductShelf.qbTNzuvn.js";import"./customer-session.dSYHWdP4.js";import"./index.KfrHdfOH.js";import"./shopping-cart.v-dB3kHB.js";import"./price.Easct8WC.js";import"./afetch.OifQZgwR.js";import"./name.VA3MEpe0.js";import"./i18n.zhlBzJt8.js";import"./index.ShNlAyu1.js";import"./use-product-card.nNtSJVtB.js";import"./img.AnjeGdy_.js";import"./Prices.xI1rdM1e.js";import"./modules-info.HP6478mG.js";import"./format-money.1_HtF5S2.js";var ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function te(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Y={exports:{}};(function(n){(function(a,i){n.exports?n.exports=i():a.Wade=i()})(ee,function(){var a={stopWords:["about","after","all","also","am","an","and","another","any","are","as","at","be","because","been","before","being","between","both","but","by","came","can","come","could","did","do","each","for","from","get","got","has","had","he","have","her","here","him","himself","his","how","if","in","into","is","it","like","make","many","me","might","more","most","much","must","my","never","now","of","on","only","or","other","our","out","over","said","same","see","should","since","some","still","such","take","than","that","the","their","them","then","there","these","they","this","those","through","to","too","under","up","very","was","way","we","well","were","what","where","which","while","who","with","would","you","your","a","i"],punctuationRE:/[.,!?:;"']/g},i=function(e,o){for(var r=o,c=0;c<e.length&&(r=r[e[c]])!==void 0;c++);return r},t=function(e,o,r,c){for(var h=null,s=0;s<e.length;s++){var u=e[s];(h=r[u])===void 0?(r[u]=o.length,o.push({index:u,score:c})):o[h].score+=c}},k=function(e,o,r,c,h){var s=i(e,o);s!==void 0&&s.id!==void 0&&t(s.id,r,c,h)},g=function(e,o,r,c,h){var s=i(e,o);if(s!==void 0)for(var u=[s],m=null,d=0;u.length!==0;){(m=u[d]).id!==void 0&&t(m.id,r,c,h),u.pop(),d--;for(var _ in m)u.push(m[_]),d++}},v=function(e){var o=e.length-1;return e[0]===" "&&(e=e.substring(1)),e[o]===" "&&(e=e.substring(0,o)),e.split(" ")},y=function(e){return e.toLowerCase()},p=function(e){return e.replace(a.punctuationRE,"")},E=function(e){for(var o=v(e),r=o.length;r--!=0;)l.config.stopWords.indexOf(o[r])!==-1&&o.splice(r,1);return o.join(" ")},l=function(e){var o=function(u){var m=o.index,d=l.process(u);if(d===!1)return[];for(var _=v(d),W=_.length,b=W-1,C=1/W,B=[],N={},P=0;P<b;P++)k(_[P],m,B,N,C);return g(_[b],m,B,N,C),B};if(Array.isArray(e)){for(var r=e.length,c=new Array(r),h=null,s=0;s<r;s++)(h=l.process(e[s]))!==!1&&(c[s]=h);o.index=l.index(c),o.data=c}else o.index=e.index,o.data=e.data;return o};return l.pipeline=[y,p,E],l.process=function(e){for(var o=l.pipeline,r=0;r<o.length;r++)e=o[r](e);return e.length!==0&&e},l.index=function(e){for(var o={},r=0;r<e.length;r++){var c=e[r];if(c!==void 0)for(var h=v(c),s=0;s<h.length;s++){for(var u=h[s],m=u.length-1,d=o,_=0;_<m;_++){var W=u[_],b=d[W];b=b===void 0?{}:b,d[W]=b,d=b}var C=u[m];d[C]===void 0?d[C]={id:[r]}:(d=d[C]).id===void 0?d.id=[r]:d.id.push(r)}}return o},l.save=function(e){return{data:e.data,index:e.index}},l.config=a,l.version="0.3.3",l})})(Y);var oe=Y.exports;const I=te(oe),A=[];["categories","brands","collections"].forEach(n=>{const a=globalThis.$storefront.data[n];if(a)for(let i=0;i<a.length;i++){const t=a[i];t.name&&t.slug&&A.push({text:Q(`${t.name} ${t.short_description}`),type:n,data:t})}});let D;A.length&&(globalThis.$storefront.settings.lang==="pt_br"&&(I.config.stopWords=["e","a","o","de","para","com","tem"]),D=I(A.map(({text:n})=>n)));const re=n=>{const a=new X({debounce:n.fetchDebounce||300});a.pageSize.value=n.productsLimit||12,a.isWithCount.value=!0,a.isWithBuckets.value=!1;const i=T(0),t=T([]);V(q(n,"term"),async g=>{if(a.fetch(g),D){const v=D(Q(g));t.value=v.map(({index:y})=>{const{name:p,slug:E}=A[y].data;return{title:p,href:`/${E}`}})}},{immediate:!0}),V(a.meta,()=>{i.value=a.meta.count||0});const k=T([]);return V(G,()=>{k.value=G.filter(g=>g!==n.term)},{immediate:!0}),{searchHistory:k,searchEngine:a,isFetching:a.isFetching,products:a.products,productCount:i,linkHits:t}},ne=J({__name:"SearchModal",props:{term:{},fetchDebounce:{},productsLimit:{}},setup(n,{expose:a}){a();const i=n,{searchHistory:t,isFetching:k,products:g,productCount:v,linkHits:y}=re(i),p={props:i,searchHistory:t,isFetching:k,products:g,productCount:v,linkHits:y,get getSearchUrl(){return K},ProductShelf:$};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),ae={class:"relative"},ie={key:0,class:"bg-base-100/80 grid grid-cols-1 items-center gap-4 p-4 backdrop-blur-md md:grid-cols-2 md:rounded-b lg:mt-5 lg:grid-cols-3 lg:rounded"},se={class:"flex items-center justify-end gap-4 md:order-2"},le={key:0,class:"text-base-900 text-right text-sm lowercase"},ce=["href"],de={class:"lg:col-span-2"},ue=["href"],he=S("i",{class:"i-clock m-0","aria-label":"Buscar novamente"},null,-1);function fe(n,a,i,t,k,g){const v=j("ALink"),y=j("Carousel"),p=j("Fade"),E=j("Skeleton");return f(),w("article",ae,[F(p,{slide:"down"},{default:x(()=>[t.linkHits.length?(f(),w("section",{key:0,class:O(["bg-white p-4",!t.isFetching&&t.products.length?"lg:rounded-t":"lg:rounded"])},[S("nav",null,[F(y,{"wrapper-key":i.term,class:"px-6 [&>ul]:gap-3"},{default:x(()=>[(f(!0),w(R,null,M(t.linkHits,({title:l,href:e},o)=>(f(),w("li",{key:o,class:"shrink-0"},[F(v,{href:e,class:"ui-link"},{default:x(()=>[U(L(l),1)]),_:2},1032,["href"])]))),128))]),_:1},8,["wrapper-key"])])],2)):H("",!0)]),_:1}),t.isFetching?(f(),z(E,{key:0,class:"absolute top-0 w-full px-5 pt-20"})):H("",!0),F(p,{"is-leave-to":!1},{default:x(()=>[!t.isFetching&&t.products.length?(f(),z(t.ProductShelf,{key:0,products:t.products,class:O(["m-0 max-w-none bg-white px-4 lg:[&_[data-carousel-control=next]]:!-right-10 lg:[&_[data-carousel-control=previous]]:!-left-10",t.linkHits.length?"lg:rounded-b":"lg:rounded"])},null,8,["products","class"])):H("",!0)]),_:1}),F(p,{"is-leave-to":!1},{default:x(()=>[!t.isFetching&&(t.searchHistory.length||t.productCount>t.products.length)?(f(),w("section",ie,[S("div",se,[t.productCount>1?(f(),w("p",le,[S("strong",null,L(t.productCount),1),U(" "+L("Itens encontrados"))])):H("",!0),t.productCount>t.products.length?(f(),w("a",{key:1,href:t.getSearchUrl(i.term),class:"ui-btn ui-btn-primary w-auto whitespace-nowrap text-center"},L("Ver todos"),8,ce)):H("",!0)]),S("div",de,[S("nav",null,[F(y,{"wrapper-key":i.term,class:"px-6 [&>ul]:gap-2.5"},{previous:x(()=>[he]),default:x(()=>[(f(!0),w(R,null,M(t.searchHistory,(l,e)=>(f(),w("li",{key:e,class:"shrink-0"},[S("a",{href:t.getSearchUrl(l),class:"text-base-700 ui-link text-sm font-normal"},L(l),9,ue)]))),128))]),_:1},8,["wrapper-key"])])])])):H("",!0)]),_:1})])}const Ae=Z(ne,[["render",fe]]);export{Ae as default};
1
+ import{_ as Z}from"./_plugin-vue_export-helper.xATGHWd9.js";import{a9 as Q,a as T,w as V,aa as q,d as J,N as j,O as f,P as w,V as F,W as x,U as O,Y as R,Q as L,T as U,Z as M,S,R as H,a0 as z,ab as K}from"./sf-utils.c42cbZ9W.js";import"./server-data.4C60Esyt.js";import{S as X,s as G}from"./use-analytics.wTmoP8B1.js";import{P as $}from"./ProductShelf.-4fsYkPB.js";import"./customer-session.ZD6tLDQJ.js";import"./index.KfrHdfOH.js";import"./shopping-cart.nSNNOrp9.js";import"./price.Easct8WC.js";import"./afetch.OifQZgwR.js";import"./name.VA3MEpe0.js";import"./i18n.zhlBzJt8.js";import"./index.ShNlAyu1.js";import"./use-product-card.UFr8SCuD.js";import"./img.AnjeGdy_.js";import"./Prices.xI1rdM1e.js";import"./modules-info.HP6478mG.js";import"./format-money.1_HtF5S2.js";var ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function te(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Y={exports:{}};(function(n){(function(a,i){n.exports?n.exports=i():a.Wade=i()})(ee,function(){var a={stopWords:["about","after","all","also","am","an","and","another","any","are","as","at","be","because","been","before","being","between","both","but","by","came","can","come","could","did","do","each","for","from","get","got","has","had","he","have","her","here","him","himself","his","how","if","in","into","is","it","like","make","many","me","might","more","most","much","must","my","never","now","of","on","only","or","other","our","out","over","said","same","see","should","since","some","still","such","take","than","that","the","their","them","then","there","these","they","this","those","through","to","too","under","up","very","was","way","we","well","were","what","where","which","while","who","with","would","you","your","a","i"],punctuationRE:/[.,!?:;"']/g},i=function(e,o){for(var r=o,c=0;c<e.length&&(r=r[e[c]])!==void 0;c++);return r},t=function(e,o,r,c){for(var h=null,s=0;s<e.length;s++){var u=e[s];(h=r[u])===void 0?(r[u]=o.length,o.push({index:u,score:c})):o[h].score+=c}},k=function(e,o,r,c,h){var s=i(e,o);s!==void 0&&s.id!==void 0&&t(s.id,r,c,h)},g=function(e,o,r,c,h){var s=i(e,o);if(s!==void 0)for(var u=[s],m=null,d=0;u.length!==0;){(m=u[d]).id!==void 0&&t(m.id,r,c,h),u.pop(),d--;for(var _ in m)u.push(m[_]),d++}},v=function(e){var o=e.length-1;return e[0]===" "&&(e=e.substring(1)),e[o]===" "&&(e=e.substring(0,o)),e.split(" ")},y=function(e){return e.toLowerCase()},p=function(e){return e.replace(a.punctuationRE,"")},E=function(e){for(var o=v(e),r=o.length;r--!=0;)l.config.stopWords.indexOf(o[r])!==-1&&o.splice(r,1);return o.join(" ")},l=function(e){var o=function(u){var m=o.index,d=l.process(u);if(d===!1)return[];for(var _=v(d),W=_.length,b=W-1,C=1/W,B=[],N={},P=0;P<b;P++)k(_[P],m,B,N,C);return g(_[b],m,B,N,C),B};if(Array.isArray(e)){for(var r=e.length,c=new Array(r),h=null,s=0;s<r;s++)(h=l.process(e[s]))!==!1&&(c[s]=h);o.index=l.index(c),o.data=c}else o.index=e.index,o.data=e.data;return o};return l.pipeline=[y,p,E],l.process=function(e){for(var o=l.pipeline,r=0;r<o.length;r++)e=o[r](e);return e.length!==0&&e},l.index=function(e){for(var o={},r=0;r<e.length;r++){var c=e[r];if(c!==void 0)for(var h=v(c),s=0;s<h.length;s++){for(var u=h[s],m=u.length-1,d=o,_=0;_<m;_++){var W=u[_],b=d[W];b=b===void 0?{}:b,d[W]=b,d=b}var C=u[m];d[C]===void 0?d[C]={id:[r]}:(d=d[C]).id===void 0?d.id=[r]:d.id.push(r)}}return o},l.save=function(e){return{data:e.data,index:e.index}},l.config=a,l.version="0.3.3",l})})(Y);var oe=Y.exports;const I=te(oe),A=[];["categories","brands","collections"].forEach(n=>{const a=globalThis.$storefront.data[n];if(a)for(let i=0;i<a.length;i++){const t=a[i];t.name&&t.slug&&A.push({text:Q(`${t.name} ${t.short_description}`),type:n,data:t})}});let D;A.length&&(globalThis.$storefront.settings.lang==="pt_br"&&(I.config.stopWords=["e","a","o","de","para","com","tem"]),D=I(A.map(({text:n})=>n)));const re=n=>{const a=new X({debounce:n.fetchDebounce||300});a.pageSize.value=n.productsLimit||12,a.isWithCount.value=!0,a.isWithBuckets.value=!1;const i=T(0),t=T([]);V(q(n,"term"),async g=>{if(a.fetch(g),D){const v=D(Q(g));t.value=v.map(({index:y})=>{const{name:p,slug:E}=A[y].data;return{title:p,href:`/${E}`}})}},{immediate:!0}),V(a.meta,()=>{i.value=a.meta.count||0});const k=T([]);return V(G,()=>{k.value=G.filter(g=>g!==n.term)},{immediate:!0}),{searchHistory:k,searchEngine:a,isFetching:a.isFetching,products:a.products,productCount:i,linkHits:t}},ne=J({__name:"SearchModal",props:{term:{},fetchDebounce:{},productsLimit:{}},setup(n,{expose:a}){a();const i=n,{searchHistory:t,isFetching:k,products:g,productCount:v,linkHits:y}=re(i),p={props:i,searchHistory:t,isFetching:k,products:g,productCount:v,linkHits:y,get getSearchUrl(){return K},ProductShelf:$};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),ae={class:"relative"},ie={key:0,class:"bg-base-100/80 grid grid-cols-1 items-center gap-4 p-4 backdrop-blur-md md:grid-cols-2 md:rounded-b lg:mt-5 lg:grid-cols-3 lg:rounded"},se={class:"flex items-center justify-end gap-4 md:order-2"},le={key:0,class:"text-base-900 text-right text-sm lowercase"},ce=["href"],de={class:"lg:col-span-2"},ue=["href"],he=S("i",{class:"i-clock m-0","aria-label":"Buscar novamente"},null,-1);function fe(n,a,i,t,k,g){const v=j("ALink"),y=j("Carousel"),p=j("Fade"),E=j("Skeleton");return f(),w("article",ae,[F(p,{slide:"down"},{default:x(()=>[t.linkHits.length?(f(),w("section",{key:0,class:O(["bg-white p-4",!t.isFetching&&t.products.length?"lg:rounded-t":"lg:rounded"])},[S("nav",null,[F(y,{"wrapper-key":i.term,class:"px-6 [&>ul]:gap-3"},{default:x(()=>[(f(!0),w(R,null,M(t.linkHits,({title:l,href:e},o)=>(f(),w("li",{key:o,class:"shrink-0"},[F(v,{href:e,class:"ui-link"},{default:x(()=>[U(L(l),1)]),_:2},1032,["href"])]))),128))]),_:1},8,["wrapper-key"])])],2)):H("",!0)]),_:1}),t.isFetching?(f(),z(E,{key:0,class:"absolute top-0 w-full px-5 pt-20"})):H("",!0),F(p,{"is-leave-to":!1},{default:x(()=>[!t.isFetching&&t.products.length?(f(),z(t.ProductShelf,{key:0,products:t.products,class:O(["m-0 max-w-none bg-white px-4 lg:[&_[data-carousel-control=next]]:!-right-10 lg:[&_[data-carousel-control=previous]]:!-left-10",t.linkHits.length?"lg:rounded-b":"lg:rounded"])},null,8,["products","class"])):H("",!0)]),_:1}),F(p,{"is-leave-to":!1},{default:x(()=>[!t.isFetching&&(t.searchHistory.length||t.productCount>t.products.length)?(f(),w("section",ie,[S("div",se,[t.productCount>1?(f(),w("p",le,[S("strong",null,L(t.productCount),1),U(" "+L("Itens encontrados"))])):H("",!0),t.productCount>t.products.length?(f(),w("a",{key:1,href:t.getSearchUrl(i.term),class:"ui-btn ui-btn-primary w-auto whitespace-nowrap text-center"},L("Ver todos"),8,ce)):H("",!0)]),S("div",de,[S("nav",null,[F(y,{"wrapper-key":i.term,class:"px-6 [&>ul]:gap-2.5"},{previous:x(()=>[he]),default:x(()=>[(f(!0),w(R,null,M(t.searchHistory,(l,e)=>(f(),w("li",{key:e,class:"shrink-0"},[S("a",{href:t.getSearchUrl(l),class:"text-base-700 ui-link text-sm font-normal"},L(l),9,ue)]))),128))]),_:1},8,["wrapper-key"])])])])):H("",!0)]),_:1})])}const Ae=Z(ne,[["render",fe]]);export{Ae as default};
@@ -0,0 +1 @@
1
+ import{a as L,c as _,d as z,a8 as he,I as ae,w as A,m as re,Y as U,ae as ge,af as xe,a6 as _e,ag as D,F as N,M as ye,ah as Oe,aa as Pe,N as se,O as P,P as S,S as g,V as E,W as C,U as q,Z as Q,Q as w,T as j,$ as ke,a0 as G,X as ne,R as I,a1 as Se}from"./sf-utils.c42cbZ9W.js";import{_ as Y,w as te,b as oe,v as we}from"./_plugin-vue_export-helper.xATGHWd9.js";import{u as Le}from"./index.ShNlAyu1.js";import{i as Fe}from"./server-data.4C60Esyt.js";import{i as Re,a as Ce,b as ie,c as $e,d as Ee,e as Me,f as Te,g as Ae,h as Be,j as De,k as Ie,P as je}from"./ProductShelf.-4fsYkPB.js";import{S as Ue}from"./use-analytics.wTmoP8B1.js";import{u as ue,g as Ve}from"./index.KfrHdfOH.js";import{g as ze}from"./grid-title.pK2Nn3i-.js";import{f as W}from"./format-money.1_HtF5S2.js";import{u as V,f as Ne,c as M,w as Ke,a as We,h as qe,o as T,t as Qe,i as X,b as He,E as Ge,s as Xe,A as Z,T as Ye,I as le,d as Ze,l as Je,N as ce,p as et,e as tt,O as at,g as R,D as st}from"./use-text-value.lKqoIagH.js";import"./customer-session.ZD6tLDQJ.js";import"./use-product-card.UFr8SCuD.js";import"./price.Easct8WC.js";import"./name.VA3MEpe0.js";import"./i18n.zhlBzJt8.js";import"./img.AnjeGdy_.js";import"./shopping-cart.nSNNOrp9.js";import"./Prices.xI1rdM1e.js";import"./modules-info.HP6478mG.js";import"./afetch.OifQZgwR.js";function nt(e,s,r){let a=L(r?.value),d=_(()=>e.value!==void 0);return[_(()=>d.value?e.value:a.value),function(l){return d.value||(a.value=l),s?.(l)}]}function de(e={},s=null,r=[]){for(let[a,d]of Object.entries(e))fe(r,pe(s,a),d);return r}function pe(e,s){return e?e+"["+s+"]":s}function fe(e,s,r){if(Array.isArray(r))for(let[a,d]of r.entries())fe(e,pe(s,a.toString()),d);else r instanceof Date?e.push([s,r.toISOString()]):typeof r=="boolean"?e.push([s,r?"1":"0"]):typeof r=="string"?e.push([s,r]):typeof r=="number"?e.push([s,`${r}`]):r==null?e.push([s,""]):de(r,s,e)}function lt(e,s){return e===s}var rt=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(rt||{}),ot=(e=>(e[e.Single=0]="Single",e[e.Multi=1]="Multi",e))(ot||{}),it=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(it||{});function ut(e){requestAnimationFrame(()=>requestAnimationFrame(e))}let ve=Symbol("ListboxContext");function J(e){let s=_e(ve,null);if(s===null){let r=new Error(`<${e} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,J),r}return s}let ct=z({name:"Listbox",emits:{"update:modelValue":e=>!0},props:{as:{type:[Object,String],default:"template"},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],default:()=>lt},horizontal:{type:[Boolean],default:!1},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},multiple:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(e,{slots:s,attrs:r,emit:a}){let d=L(1),l=L(null),t=L(null),u=L(null),p=L([]),m=L(""),v=L(null),c=L(1);function i(f=n=>n){let n=v.value!==null?p.value[v.value]:null,o=at(f(p.value.slice()),y=>T(y.dataRef.domRef)),b=n?o.indexOf(n):null;return b===-1&&(b=null),{options:o,activeOptionIndex:b}}let O=_(()=>e.multiple?1:0),[x,h]=nt(_(()=>e.modelValue),f=>a("update:modelValue",f),_(()=>e.defaultValue)),k=_(()=>x.value===void 0?V(O.value,{1:[],0:void 0}):x.value),F={listboxState:d,value:k,mode:O,compare(f,n){if(typeof e.by=="string"){let o=e.by;return f?.[o]===n?.[o]}return e.by(f,n)},orientation:_(()=>e.horizontal?"horizontal":"vertical"),labelRef:l,buttonRef:t,optionsRef:u,disabled:_(()=>e.disabled),options:p,searchQuery:m,activeOptionIndex:v,activationTrigger:c,closeListbox(){e.disabled||d.value!==1&&(d.value=1,v.value=null)},openListbox(){e.disabled||d.value!==0&&(d.value=0)},goToOption(f,n,o){if(e.disabled||d.value===1)return;let b=i(),y=Ne(f===M.Specific?{focus:M.Specific,id:n}:{focus:f},{resolveItems:()=>b.options,resolveActiveIndex:()=>b.activeOptionIndex,resolveId:$=>$.id,resolveDisabled:$=>$.dataRef.disabled});m.value="",v.value=y,c.value=o??1,p.value=b.options},search(f){if(e.disabled||d.value===1)return;let n=m.value!==""?0:1;m.value+=f.toLowerCase();let o=(v.value!==null?p.value.slice(v.value+n).concat(p.value.slice(0,v.value+n)):p.value).find(y=>y.dataRef.textValue.startsWith(m.value)&&!y.dataRef.disabled),b=o?p.value.indexOf(o):-1;b===-1||b===v.value||(v.value=b,c.value=1)},clearSearch(){e.disabled||d.value!==1&&m.value!==""&&(m.value="")},registerOption(f,n){let o=i(b=>[...b,{id:f,dataRef:n}]);p.value=o.options,v.value=o.activeOptionIndex},unregisterOption(f){let n=i(o=>{let b=o.findIndex(y=>y.id===f);return b!==-1&&o.splice(b,1),o});p.value=n.options,v.value=n.activeOptionIndex,c.value=1},theirOnChange(f){e.disabled||h(f)},select(f){e.disabled||h(V(O.value,{0:()=>f,1:()=>{let n=D(F.value.value).slice(),o=D(f),b=n.findIndex(y=>F.compare(o,D(y)));return b===-1?n.push(o):n.splice(b,1),n}}))}};Ke([t,u],(f,n)=>{var o;F.closeListbox(),We(n,qe.Loose)||(f.preventDefault(),(o=T(t))==null||o.focus())},_(()=>d.value===0)),he(ve,F),Qe(_(()=>V(d.value,{0:X.Open,1:X.Closed})));let B=_(()=>{var f;return(f=T(t))==null?void 0:f.closest("form")});return ae(()=>{A([B],()=>{if(!B.value||e.defaultValue===void 0)return;function f(){F.theirOnChange(e.defaultValue)}return B.value.addEventListener("reset",f),()=>{var n;(n=B.value)==null||n.removeEventListener("reset",f)}},{immediate:!0})}),()=>{let{name:f,modelValue:n,disabled:o,form:b,...y}=e,$={open:d.value===0,disabled:o,value:k.value};return re(U,[...f!=null&&k.value!=null?de({[f]:k.value}).map(([K,ee])=>re(He,Ge({features:Xe.Hidden,key:K,as:"input",type:"hidden",hidden:!0,readOnly:!0,form:b,name:K,value:ee}))):[],Z({ourProps:{},theirProps:{...r,...Ye(y,["defaultValue","onUpdate:modelValue","horizontal","multiple","by"])},slot:$,slots:s,attrs:r,name:"Listbox"})])}}}),dt=z({name:"ListboxButton",props:{as:{type:[Object,String],default:"button"},id:{type:String,default:null}},setup(e,{attrs:s,slots:r,expose:a}){var d;let l=(d=e.id)!=null?d:`headlessui-listbox-button-${le()}`,t=J("ListboxButton");a({el:t.buttonRef,$el:t.buttonRef});function u(c){switch(c.key){case R.Space:case R.Enter:case R.ArrowDown:c.preventDefault(),t.openListbox(),N(()=>{var i;(i=T(t.optionsRef))==null||i.focus({preventScroll:!0}),t.value.value||t.goToOption(M.First)});break;case R.ArrowUp:c.preventDefault(),t.openListbox(),N(()=>{var i;(i=T(t.optionsRef))==null||i.focus({preventScroll:!0}),t.value.value||t.goToOption(M.Last)});break}}function p(c){switch(c.key){case R.Space:c.preventDefault();break}}function m(c){t.disabled.value||(t.listboxState.value===0?(t.closeListbox(),N(()=>{var i;return(i=T(t.buttonRef))==null?void 0:i.focus({preventScroll:!0})})):(c.preventDefault(),t.openListbox(),ut(()=>{var i;return(i=T(t.optionsRef))==null?void 0:i.focus({preventScroll:!0})})))}let v=Ze(_(()=>({as:e.as,type:s.type})),t.buttonRef);return()=>{var c,i;let O={open:t.listboxState.value===0,disabled:t.disabled.value,value:t.value.value},{...x}=e,h={ref:t.buttonRef,id:l,type:v.value,"aria-haspopup":"listbox","aria-controls":(c=T(t.optionsRef))==null?void 0:c.id,"aria-expanded":t.listboxState.value===0,"aria-labelledby":t.labelRef.value?[(i=T(t.labelRef))==null?void 0:i.id,l].join(" "):void 0,disabled:t.disabled.value===!0?!0:void 0,onKeydown:u,onKeyup:p,onClick:m};return Z({ourProps:h,theirProps:x,slot:O,attrs:s,slots:r,name:"ListboxButton"})}}}),pt=z({name:"ListboxOptions",props:{as:{type:[Object,String],default:"ul"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(e,{attrs:s,slots:r,expose:a}){var d;let l=(d=e.id)!=null?d:`headlessui-listbox-options-${le()}`,t=J("ListboxOptions"),u=L(null);a({el:t.optionsRef,$el:t.optionsRef});function p(c){switch(u.value&&clearTimeout(u.value),c.key){case R.Space:if(t.searchQuery.value!=="")return c.preventDefault(),c.stopPropagation(),t.search(c.key);case R.Enter:if(c.preventDefault(),c.stopPropagation(),t.activeOptionIndex.value!==null){let i=t.options.value[t.activeOptionIndex.value];t.select(i.dataRef.value)}t.mode.value===0&&(t.closeListbox(),N(()=>{var i;return(i=T(t.buttonRef))==null?void 0:i.focus({preventScroll:!0})}));break;case V(t.orientation.value,{vertical:R.ArrowDown,horizontal:R.ArrowRight}):return c.preventDefault(),c.stopPropagation(),t.goToOption(M.Next);case V(t.orientation.value,{vertical:R.ArrowUp,horizontal:R.ArrowLeft}):return c.preventDefault(),c.stopPropagation(),t.goToOption(M.Previous);case R.Home:case R.PageUp:return c.preventDefault(),c.stopPropagation(),t.goToOption(M.First);case R.End:case R.PageDown:return c.preventDefault(),c.stopPropagation(),t.goToOption(M.Last);case R.Escape:c.preventDefault(),c.stopPropagation(),t.closeListbox(),N(()=>{var i;return(i=T(t.buttonRef))==null?void 0:i.focus({preventScroll:!0})});break;case R.Tab:c.preventDefault(),c.stopPropagation();break;default:c.key.length===1&&(t.search(c.key),u.value=setTimeout(()=>t.clearSearch(),350));break}}let m=Je(),v=_(()=>m!==null?(m.value&X.Open)===X.Open:t.listboxState.value===0);return()=>{var c,i;let O={open:t.listboxState.value===0},{...x}=e,h={"aria-activedescendant":t.activeOptionIndex.value===null||(c=t.options.value[t.activeOptionIndex.value])==null?void 0:c.id,"aria-multiselectable":t.mode.value===1?!0:void 0,"aria-labelledby":(i=T(t.buttonRef))==null?void 0:i.id,"aria-orientation":t.orientation.value,id:l,onKeydown:p,role:"listbox",tabIndex:0,ref:t.optionsRef};return Z({ourProps:h,theirProps:x,slot:O,attrs:s,slots:r,features:ce.RenderStrategy|ce.Static,visible:v.value,name:"ListboxOptions"})}}}),ft=z({name:"ListboxOption",props:{as:{type:[Object,String],default:"li"},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},id:{type:String,default:null}},setup(e,{slots:s,attrs:r,expose:a}){var d;let l=(d=e.id)!=null?d:`headlessui-listbox-option-${le()}`,t=J("ListboxOption"),u=L(null);a({el:u,$el:u});let p=_(()=>t.activeOptionIndex.value!==null?t.options.value[t.activeOptionIndex.value].id===l:!1),m=_(()=>V(t.mode.value,{0:()=>t.compare(D(t.value.value),D(e.value)),1:()=>D(t.value.value).some(f=>t.compare(D(f),D(e.value)))})),v=_(()=>V(t.mode.value,{1:()=>{var f;let n=D(t.value.value);return((f=t.options.value.find(o=>n.some(b=>t.compare(D(b),D(o.dataRef.value)))))==null?void 0:f.id)===l},0:()=>m.value})),c=et(u),i=_(()=>({disabled:e.disabled,value:e.value,get textValue(){return c()},domRef:u}));ae(()=>t.registerOption(l,i)),ge(()=>t.unregisterOption(l)),ae(()=>{A([t.listboxState,m],()=>{t.listboxState.value===0&&m.value&&V(t.mode.value,{1:()=>{v.value&&t.goToOption(M.Specific,l)},0:()=>{t.goToOption(M.Specific,l)}})},{immediate:!0})}),xe(()=>{t.listboxState.value===0&&p.value&&t.activationTrigger.value!==0&&N(()=>{var f,n;return(n=(f=T(u))==null?void 0:f.scrollIntoView)==null?void 0:n.call(f,{block:"nearest"})})});function O(f){if(e.disabled)return f.preventDefault();t.select(e.value),t.mode.value===0&&(t.closeListbox(),N(()=>{var n;return(n=T(t.buttonRef))==null?void 0:n.focus({preventScroll:!0})}))}function x(){if(e.disabled)return t.goToOption(M.Nothing);t.goToOption(M.Specific,l)}let h=tt();function k(f){h.update(f)}function F(f){h.wasMoved(f)&&(e.disabled||p.value||t.goToOption(M.Specific,l,0))}function B(f){h.wasMoved(f)&&(e.disabled||p.value&&t.goToOption(M.Nothing))}return()=>{let{disabled:f}=e,n={active:p.value,selected:m.value,disabled:f},{value:o,disabled:b,...y}=e,$={id:l,ref:u,role:"option",tabIndex:f===!0?void 0:-1,"aria-disabled":f===!0?!0:void 0,"aria-selected":m.value,disabled:void 0,onClick:O,onFocus:x,onPointerenter:k,onMouseenter:k,onPointermove:F,onMousemove:F,onPointerleave:B,onMouseleave:B};return Z({ourProps:$,theirProps:y,slot:n,attrs:r,slots:s,name:"ListboxOption"})}}});const me=({searchEngine:e,fixedParams:s})=>{const r=_(()=>{const d={};return Object.keys(e.params).forEach(l=>{if(s?.[l])return;const t=e.params[l];if(t!==void 0){switch(l){case"sort":case"term":case"limit":case"offset":case"count":case"buckets":case"fields":return}d[l]=t}}),d}),a=_(()=>{const d=Object.keys(r.value),l=[];return d.forEach(t=>{const u=t.replace(/[^\w.]/g,"");if(u==="specs"&&Array.isArray(r.value[t])){r.value[t].forEach(p=>{const[m]=p.split(":"),v=`specs.${m}`;l.includes(v)||l.push(v)});return}l.includes(u)||l.push(u)}),l.length});return{activeFilters:r,filtersCount:a}},vt=e=>{const{searchEngine:s,fixedParams:r}=e,a=_(()=>s.meta),d=_(()=>s.meta.buckets),{activeFilters:l,filtersCount:t}=me(e);A(s.params,()=>{s.fetch()});let u=null;const p=()=>{Object.keys(s.params).forEach(n=>{r?.[n]||delete s.params[n]}),u=null},m=({min:n,max:o})=>`${n||null}/${o||null}`,v=_(()=>{const{params:n}=s;return{min:Number(n["price>"]),max:Number(n["price<"])}}),c=L([]),i=ue(()=>{c.value.splice(0),d.value?.prices?.forEach(n=>{n.min&&(n.min=Math.round(n.min*100)/100),n.max&&(n.max=Math.round(n.max*100)/100),c.value.push({range:n,key:m(n)})}),Number.isNaN(v.value.min)||c.value.find(({range:o})=>o.min===v.value.min&&o.max===v.value.max)||c.value.unshift({range:{...v.value,count:a.value.count||0,avg:null},key:m(v.value)})},50);i();const O=L(m(v.value));A(O,()=>{u="price";const n=c.value.find(({range:o})=>m(o)===O.value);if(n){const{min:o,max:b}=n.range;o?s.params["price>"]=o:delete s.params["price>"],b?s.params["price<"]=b:delete s.params["price<"];return}delete s.params["price>"],delete s.params["price<"]});const x=({min:n,max:o})=>n&&o?o===n?W(o):`${W(n)} ${ie.toLowerCase()} ${W(o)}`:!n&&o?`${ie} ${W(o)}`:`${$e} ${W(n||0)}`,h=L([]),k=ue(()=>{for(let o=0;o<h.value.length;o++){const{field:b}=h.value[o];b!==u&&(h.value.splice(o,1),o-=1)}const n=d.value;if(n&&([["brands",Re],["categories",Ce]].forEach(([o,b])=>{const y=`${o}.name`;n[y]&&u!==y&&h.value.push({title:b,options:n[y],field:y})}),n.specs)){const{grids:o}=globalThis.$storefront.data;Object.keys(n.specs).forEach(b=>{const[y,$]=b.split(":");if($){const K=`specs.${y}`;if(u===K)return;const ee=ze(y,o||[]);let H=h.value.find(be=>be.field===K);H||(H={title:ee,options:{},field:K},h.value.push(H)),H.options[$]=n.specs[b]}})}},50);k();const F=(n,o)=>{const[,b]=n.split(".");return["specs,",`${b}:${o}`]},B=(n,o)=>{n.startsWith("specs.")&&([n,o]=F(n,o));const b=l.value[n];return!!(b===o||Array.isArray(b)&&b.includes(o))},f=(n,o)=>{u=n,console.log({_lastParamChanged:u}),n.startsWith("specs.")&&([n,o]=F(n,o));const b=!B(n,o);let y=s.params[n];if(Array.isArray(y)||(y=[],s.params[n]=y),b)y.push(o);else for(let $=0;$<y.length;$++)if(y[$]===o){y.splice($,1);break}};return A(d,()=>{u!=="price"&&i(),k()}),{resultMeta:a,resultBuckets:d,activeFilters:l,filtersCount:t,clearFilters:p,getPriceRangeKey:m,priceRanges:c,priceRangeKey:O,getPriceRangeLabel:x,filterOptions:h,checkFilterOption:B,toggleFilterOption:f}},mt=e=>{let{term:s}=e;const a=e.canUseUrlParams!==!1?Le("history"):null;e.ssrError&&(console.error(new Error(`SSR search error: ${e.ssrError}`)),window.location.pathname.startsWith("/s/")&&(window.location.href=`/s?q=${encodeURIComponent(s||"")}`));const d=ye(e.products||[]),l=new Ue({debounce:50});s===void 0&&(s=new URLSearchParams(window.location.search).get("q")||null),s!==void 0&&(l.term.value=s),e.pageSize&&(l.pageSize.value=e.pageSize),Object.assign(l.params,e.fixedParams);let t=!1;a&&Object.keys(a).forEach(x=>{if(a[x]){if(x.startsWith("f\\")){const h=x.substring(2);l.params[h]=a[x],e.fixedParams?.[h]!==a[x]&&(t=!0);return}if(x==="sort"){if(l.params.sort=a.sort,typeof a.sort=="string"&&e.resultMeta?.sort?.length===1){const{field:h,order:k}=e.resultMeta.sort[0];if((k?h:`-${h}`)===a.sort)return}t=!0;return}if(x==="p"){const h=parseInt(String(a.p),10);if(h>=1){if(l.pageNumber.value=h,e.resultMeta?.limit){const{offset:k,limit:F}=e.resultMeta;if((k?Math.ceil(k/F):1)===h)return}t=!0}}}}),l.wasFetched.value||((e.products||e.resultMeta)&&!t&&l.setResult({result:e.products,meta:e.resultMeta}),(!e.products||t)&&l.fetch().catch(console.error)),l.isWithCount.value=!0,l.isWithBuckets.value=!0;const u=L({count:0,...e.resultMeta||l.meta});A(l.products,()=>{d.splice(0),l.products.forEach(x=>d.push(x)),u.value={count:0,...l.meta}});const p=_(()=>{const{count:x}=l.meta;return!x||d.length<2?1:Math.ceil(x/l.pageSize.value)});A(l.pageNumber,x=>{a&&(a.p=`${x}`),l.fetch()});const m=()=>{A(l.isFetching,x=>{const h=e.showcase?.value;!x&&h&&setTimeout(()=>{Oe(h,Fe?-25:0)},50)})};l.wasFetched.value?m():Ve(l.wasFetched,m);const{activeFilters:v,filtersCount:c}=me({searchEngine:l,fixedParams:e.fixedParams});a&&A(v,x=>{a&&Object.keys(a).forEach(h=>{h.startsWith("f\\")&&delete a[h]}),Object.keys(x).forEach(h=>{const k=x[h];if(typeof k=="string"||typeof k=="number"){a[`f\\${h}`]=`${k}`;return}Array.isArray(k)&&typeof k[0]=="string"&&(a[`f\\${h}`]=k)})});const i=[{value:null,label:Ee},{value:"-sales",label:Me},{value:"price",label:Te},{value:"-price",label:Ae},{value:"-price_discount",label:Be},{value:"-created_at",label:De},{value:"name",label:Ie}],O=L(null);return A(O,()=>{l.params.sort=O.value||void 0,l.fetch()}),a&&(typeof a.sort=="string"&&a.sort&&(O.value=a.sort),A(l.params,x=>{delete a.sort,x.sort&&(a.sort=String(x.sort))})),{searchEngine:l,fetching:l.fetching.value,isFetching:l.isFetching,products:d,resultMeta:u,totalPages:p,activeFilters:v,filtersCount:c,sortOptions:i,sortOption:O}},bt=e=>{const s=_(()=>e.totalPages?e.totalPages:e.totalItems&&e.pageSize?Math.ceil(e.totalItems/e.pageSize):1),r=_(()=>{const i=e.page||1;return i<1?1:i>s.value?s.value:i}),a=_(()=>e.maxPages||10),d=_(()=>{if(s.value<=a.value)return 1;const i=Math.floor(a.value/2),O=Math.ceil(a.value/2)-1;return r.value<=i?1:r.value+O>=s.value?s.value-a.value+1:r.value-i}),l=_(()=>{if(s.value<=a.value)return s.value;const i=Math.floor(a.value/2),O=Math.ceil(a.value/2)-1;return r.value<=i?a.value:r.value+O>=s.value?s.value:r.value+O}),t=_(()=>Array.from(Array(l.value+1-d.value).keys()).map(i=>d.value+i)),u=L("");A(Pe(e,"isUrlPath"),()=>{const{url:i}=globalThis.$storefront;e.isUrlPath&&!i.pathname.endsWith("/")?i.pathname+="/":i.searchParams.delete("p"),u.value=`${i.pathname}${i.search}`},{immediate:!0});const p=i=>e.isUrlPath?`../${i}`:`?p=${i}`,m=_(()=>t.value.map(i=>u.value+p(i))),v=_(()=>r.value<=1?null:u.value+p(r.value-1)),c=_(()=>r.value>=s.value?null:u.value+p(r.value+1));return{totalPages:s,startPage:d,endPage:l,pages:t,pageLinks:m,prevPageLink:v,nextPageLink:c}},ht=z({__name:"Pagination",props:{totalItems:{},totalPages:{},page:{default:1},pageSize:{},maxPages:{default:7},isUrlPath:{type:Boolean,default:!1}},emits:["update:page"],setup(e,{expose:s,emit:r}){s();const a=e,d=r,{pages:l,pageLinks:t,prevPageLink:u,nextPageLink:p}=bt(a),m={props:a,emit:d,pages:l,pageLinks:t,prevPageLink:u,nextPageLink:p};return Object.defineProperty(m,"__isScriptSetup",{enumerable:!1,value:!0}),m}}),gt={class:"text-base-900 flex justify-center gap-1.5 text-center text-sm font-medium leading-9"},xt=g("i",{class:"i-arrow-right rotate-180"},null,-1),_t=g("span",{class:"ml-1.5 hidden md:inline"},w("Anterior"),-1),yt=g("span",{class:"mr-1.5 hidden md:inline"},w("Próximo"),-1),Ot=g("i",{class:"i-arrow-right"},null,-1);function Pt(e,s,r,a,d,l){const t=se("ALink");return P(),S("ol",gt,[g("li",null,[E(t,{href:a.prevPageLink,onClick:s[0]||(s[0]=te(u=>a.prevPageLink&&a.emit("update:page",r.page-1),["prevent"])),class:q(["mr-1 block min-w-9 rounded border px-3",a.prevPageLink?"border-base-100 hover:bg-base-100":"border-transparent text-base-500"])},{default:C(()=>[xt,_t]),_:1},8,["href","class"])]),(P(!0),S(U,null,Q(a.pages,(u,p)=>(P(),S("li",{key:u},[E(t,{href:u!==r.page?a.pageLinks[p]:null,onClick:te(m=>a.emit("update:page",u),["prevent"]),class:q(["block w-9 rounded border ring-black/10",u===r.page?"bg-base-50 border-base-100 ring text-base-700":"border-transparent hover:bg-base-100"])},{default:C(()=>[j(w(u),1)]),_:2},1032,["href","onClick","class"])]))),128)),g("li",null,[E(t,{href:a.nextPageLink,onClick:s[1]||(s[1]=te(u=>a.nextPageLink&&a.emit("update:page",r.page+1),["prevent"])),class:q(["ml-1 block min-w-9 rounded border px-3",a.nextPageLink?"border-base-100 hover:bg-base-100":"border-transparent text-base-500"])},{default:C(()=>[yt,Ot]),_:1},8,["href","class"])])])}const kt=Y(ht,[["render",Pt]]),St=z({__name:"Collapse",props:{title:{}},setup(e,{expose:s}){s();const r={};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),wt={class:"group my-4 md:my-5 [&_i]:open:-rotate-90"},Lt={role:"button",class:"text-base-700 hover:text-base-800 [&>i]:hover:text-primary list-none text-2xl font-medium lowercase group-open:mb-3"},Ft=g("i",{class:"i-chevron-right mr-1 rotate-90"},null,-1);function Rt(e,s,r,a,d,l){return P(),S("details",wt,[g("summary",Lt,[Ft,g("span",null,w(r.title),1)]),ke(e.$slots,"default")])}const Ct=Y(St,[["render",Rt]]),$t=z({__name:"SearchFilters",props:{searchEngine:{},fixedParams:{}},setup(e,{expose:s}){s();const r=e,{resultBuckets:a,activeFilters:d,filtersCount:l,clearFilters:t,priceRanges:u,priceRangeKey:p,getPriceRangeLabel:m,filterOptions:v,checkFilterOption:c,toggleFilterOption:i}=vt(r),O={props:r,resultBuckets:a,activeFilters:d,filtersCount:l,clearFilters:t,priceRanges:u,priceRangeKey:p,getPriceRangeLabel:m,filterOptions:v,checkFilterOption:c,toggleFilterOption:i,Collapse:Ct};return Object.defineProperty(O,"__isScriptSetup",{enumerable:!1,value:!0}),O}}),Et={class:"bg-base-50/40 h-screen overflow-y-auto"},Mt={class:"px-6 pb-3 pt-5 text-center"},Tt=g("i",{class:"i-trash ml-0.5"},null,-1),At={key:1,class:"text-base-500 border border-transparent pb-1 text-base font-semibold"},Bt={key:0,class:"px-6 pb-3"},Dt={class:"space-y-1.5"},It=["id","value"],jt=["for"],Ut={class:"text-base-500 font-medium"},Vt={key:0,class:"flex items-center"},zt=g("label",{for:"priceRange-null",class:"cursor-pointer px-3 text-sm"},w("Qualquer preço"),-1),Nt={class:"space-y-1.5"},Kt=["id","value","checked","onChange"],Wt=["for"],qt={class:"text-base-500 font-medium"};function Qt(e,s,r,a,d,l){return P(),S("aside",Et,[g("header",Mt,[a.filtersCount?(P(),S("button",{key:0,class:"ui-btn-sm ui-btn-danger py-1",onClick:s[0]||(s[0]=(...t)=>a.clearFilters&&a.clearFilters(...t))},[j(w("Limpar filtros")+" "),Tt])):(P(),S("p",At,w("Filtrar resultados")))]),a.resultBuckets?(P(),S("article",Bt,[a.priceRanges?(P(),G(a.Collapse,{key:0,title:"Preço",class:"[&>summary]:text-xl",open:""},{default:C(()=>[g("div",Dt,[(P(!0),S(U,null,Q(a.priceRanges,({range:t,key:u})=>(P(),S("div",{key:`prices-${u}`,class:"flex items-center"},[ne(g("input",{type:"radio",id:`priceRange-${u}`,name:"priceRange",value:u,"onUpdate:modelValue":s[1]||(s[1]=p=>a.priceRangeKey=p)},null,8,It),[[oe,a.priceRangeKey]]),g("label",{for:`priceRange-${u}`,class:"cursor-pointer px-3 text-sm"},[j(w(a.getPriceRangeLabel(t))+" ",1),g("small",Ut," ("+w(t.count)+") ",1)],8,jt)]))),128)),a.activeFilters["price<"]||a.activeFilters["price>"]?(P(),S("div",Vt,[ne(g("input",{type:"radio",id:"priceRange-null",name:"priceRange",value:null,"onUpdate:modelValue":s[2]||(s[2]=t=>a.priceRangeKey=t)},null,512),[[oe,a.priceRangeKey]]),zt])):I("",!0)])]),_:1})):I("",!0),(P(!0),S(U,null,Q(a.filterOptions,({title:t,options:u,field:p})=>(P(),G(a.Collapse,{key:p,title:t,class:"[&>summary]:text-xl",open:!!a.activeFilters[p]},{default:C(()=>[g("div",Nt,[(P(!0),S(U,null,Q(u,(m,v,c)=>(P(),S("div",{key:`${p}-${c}`,class:"flex items-center"},[g("input",{type:"checkbox",id:`${p}-${v}`,value:v,checked:a.checkFilterOption(p,v),onChange:i=>a.toggleFilterOption(p,v)},null,40,Kt),g("label",{for:`${p}-${v}`,class:"cursor-pointer px-3 text-sm"},[j(w(v)+" ",1),g("small",qt," ("+w(m)+") ",1)],8,Wt)]))),128))])]),_:2},1032,["title","open"]))),128))])):I("",!0)])}const Ht=Y($t,[["render",Qt]]),Gt=z({__name:"SearchShowcase",props:{term:{},pageSize:{},fixedParams:{},products:{},resultMeta:{},ssrError:{},canUseUrlParams:{type:Boolean,default:!0},showcase:{}},async setup(e,{expose:s}){s();const r=e,a=L(null),{searchEngine:d,fetching:l,isFetching:t,products:u,resultMeta:p,totalPages:m,filtersCount:v,sortOptions:c,sortOption:i}=mt({...r,showcase:a}),O=_(()=>d.wasFetched.value),x=_(()=>d.term.value),h=_(()=>O&&!!(p.value.count>4||v.value)),k=L(!1),F={props:r,showcase:a,searchEngine:d,fetching:l,isFetching:t,products:u,resultMeta:p,totalPages:m,filtersCount:v,sortOptions:c,sortOption:i,wasFetched:O,searchTerm:x,hasFiltersBar:h,isFiltersOpen:k,get Listbox(){return ct},get ListboxButton(){return dt},get ListboxOptions(){return pt},get ListboxOption(){return ft},Drawer:st,Pagination:kt,ProductShelf:je,SearchFilters:Ht};return Object.defineProperty(F,"__isScriptSetup",{enumerable:!1,value:!0}),F}}),Xt={class:"text-base-800 inline font-bold italic"},Yt={key:1,class:"ui-section relative min-h-[300px]"},Zt={ref:"showcase",class:"relative"},Jt={key:0,class:"to-base-100 ui-section-slim sticky-header:translate-y-16 lg:sticky-header:translate-y-14 sticky top-0 z-[12] flex items-center justify-between rounded-b bg-white/80 px-6 py-4 shadow-sm backdrop-blur-sm transition-transform"},ea={class:"text-base-700 font-medium lowercase"},ta=g("span",{class:"hidden lg:inline"},w("Itens encontrados"),-1),aa=g("span",{class:"lg:hidden"},w("Produtos"),-1),sa={class:"flex items-center gap-4"},na=g("span",{class:"hidden text-xl leading-none md:block"},[g("i",{class:"text-base-600 i-adjustments-horizontal m-0"})],-1),la=g("span",{class:"hidden md:inline"},w("Filtrar produtos"),-1),ra=g("span",{class:"md:hidden"},[g("i",{class:"i-adjustments-horizontal mr-1"}),j(" "+w("Filtrar"))],-1),oa={key:0,class:"outline-3 outline-secondary/80 ui-badge-pill-sm absolute -right-1.5 -top-1 outline"},ia={class:"w-5"},ua={class:"i-check"},ca={key:0,class:"mt-3 lg:mt-4"},da={key:0,class:"absolute left-0 top-0 z-[14] size-full bg-white/40"};function pa(e,s,r,a,d,l){const t=se("Skeleton"),u=se("Fade");return P(),S(U,null,[a.searchTerm?(P(),S("section",{key:0,class:q(["text-base-700 ui-section-slim px-6 text-center text-xl lowercase",a.hasFiltersBar?"relative z-[14] -mb-4":"mb-0"])},[j(w("Buscando por")+" "),g("h1",Xt,w(a.searchTerm),1)],2)):I("",!0),a.isFetching&&!a.products.length?(P(),S("div",Yt,[E(t,{class:"absolute top-0 w-full px-5","is-bold":"","is-large":""})])):I("",!0),g("article",Zt,[E(u,null,{default:C(()=>[a.hasFiltersBar?(P(),S("section",Jt,[g("strong",ea,[a.resultMeta.count>1?(P(),S(U,{key:0},[j(w(a.resultMeta.count)+" ",1),ta,aa],64)):I("",!0)]),g("div",sa,[na,g("button",{onClick:s[0]||(s[0]=p=>a.isFiltersOpen=!a.isFiltersOpen),class:"ui-btn-sm ui-btn-secondary relative"},[la,ra,a.filtersCount?(P(),S("span",oa,w(a.filtersCount),1)):I("",!0)]),E(a.Listbox,{modelValue:a.sortOption,"onUpdate:modelValue":s[1]||(s[1]=p=>a.sortOption=p),as:"div",class:"text-base-800 relative text-sm"},{default:C(()=>[E(a.ListboxButton,{id:e.$useId("ss"),class:"ui-btn-sm ui-btn-secondary"},{default:C(()=>[j(w("Ordenar"))]),_:1},8,["id"]),E(u,null,{default:C(()=>[E(a.ListboxOptions,{class:"divide-base-100 absolute right-0 mt-2 divide-y rounded bg-white shadow ring-1 ring-black/5 focus:outline-none"},{default:C(()=>[(P(!0),S(U,null,Q(a.sortOptions,({label:p,value:m})=>(P(),G(a.ListboxOption,{key:m||"sort",value:m,as:"template"},{default:C(({selected:v,active:c})=>[g("li",null,[(P(),G(Se(v?"div":"button"),{class:q(["flex w-full py-2 pl-3 pr-6",!v&&c&&"bg-secondary-100 text-secondary"])},{default:C(()=>[g("div",ia,[ne(g("i",ua,null,512),[[we,v]])]),j(" "+w(p),1)]),_:2},1032,["class"]))])]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"])])])):I("",!0)]),_:1}),E(a.ProductShelf,{products:a.products,"is-grid":""},{append:C(()=>[E(u,{slide:"down"},{default:C(()=>[!a.isFetching&&a.totalPages>1?(P(),S("nav",ca,[E(a.Pagination,{page:a.searchEngine.pageNumber.value,"onUpdate:page":s[2]||(s[2]=p=>a.searchEngine.pageNumber.value=p),"total-pages":a.totalPages},null,8,["page","total-pages"])])):I("",!0)]),_:1})]),_:1},8,["products"]),E(u,null,{default:C(()=>[a.isFetching?(P(),S("div",da)):I("",!0)]),_:1})],512),E(a.Drawer,{modelValue:a.isFiltersOpen,"onUpdate:modelValue":s[3]||(s[3]=p=>a.isFiltersOpen=p),placement:"end","backdrop-target":null,"can-lock-scroll":!1,class:"!z-[80] bg-white shadow [&_[data-drawer-close]]:bg-white/80"},{default:C(()=>[E(a.SearchFilters,{"search-engine":a.searchEngine},null,8,["search-engine"])]),_:1},8,["modelValue"])],64)}const Ma=Y(Gt,[["render",pa]]);export{Ma as default};