@soma-vertical-web/multi-lib 0.0.57 → 0.0.59

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 (59) hide show
  1. package/contexts/contexts/cart/MiniCartData.d.ts +7 -0
  2. package/contexts/store/cart.d.ts +1 -1
  3. package/data/helpers/cart/index.d.ts +1 -1
  4. package/index-BR5lPUsH.js +1 -0
  5. package/index-C3QT-3iu.mjs +355 -0
  6. package/index-CuKKHhKx.mjs +355 -0
  7. package/index.js +20 -20
  8. package/index.mjs +5537 -4443
  9. package/index2.js +1 -1
  10. package/index2.mjs +1 -1
  11. package/layout/index.d.ts +53 -1
  12. package/layout/team-component/Header/index.d.ts +1 -1
  13. package/layout/template/MiniCart/Composite/Card/Card.d.ts +7 -0
  14. package/layout/template/MiniCart/Composite/Card/Composite/Actions.d.ts +7 -0
  15. package/layout/template/MiniCart/Composite/Card/Composite/Gift.d.ts +7 -0
  16. package/layout/template/MiniCart/Composite/Card/Composite/Media.d.ts +9 -0
  17. package/layout/template/MiniCart/Composite/Card/Composite/Name.d.ts +10 -0
  18. package/layout/template/MiniCart/Composite/Card/Composite/Price.d.ts +8 -0
  19. package/layout/template/MiniCart/Composite/Card/Composite/Sku.d.ts +7 -0
  20. package/layout/template/MiniCart/Composite/Card/Composite/Stepper.d.ts +7 -0
  21. package/layout/template/MiniCart/Composite/Card/Composite/Style.d.ts +7 -0
  22. package/layout/template/MiniCart/Composite/Card/Composite/Wishlist.d.ts +4 -0
  23. package/layout/template/MiniCart/Composite/Card/helpers.d.ts +8 -0
  24. package/layout/template/MiniCart/Composite/Card/index.d.ts +45 -0
  25. package/layout/template/MiniCart/Composite/Cashback.d.ts +7 -0
  26. package/layout/template/MiniCart/Composite/CouponSeller/CouponSeller.d.ts +7 -0
  27. package/layout/template/MiniCart/Composite/CouponSeller/index.d.ts +1 -0
  28. package/layout/template/MiniCart/Composite/Feedback.d.ts +7 -0
  29. package/layout/template/MiniCart/Composite/Field/Field.d.ts +7 -0
  30. package/layout/template/MiniCart/Composite/Field/Input.d.ts +7 -0
  31. package/layout/template/MiniCart/Composite/Field/index.d.ts +1 -0
  32. package/layout/template/MiniCart/Composite/Modal/Body.d.ts +7 -0
  33. package/layout/template/MiniCart/Composite/Modal/Footer/Discount/Discount.d.ts +7 -0
  34. package/layout/template/MiniCart/Composite/Modal/Footer/Discount/index.d.ts +1 -0
  35. package/layout/template/MiniCart/Composite/Modal/Footer/Footer.d.ts +7 -0
  36. package/layout/template/MiniCart/Composite/Modal/Footer/Resume/Items.d.ts +7 -0
  37. package/layout/template/MiniCart/Composite/Modal/Footer/Resume/Totals.d.ts +9 -0
  38. package/layout/template/MiniCart/Composite/Modal/Footer/index.d.ts +1 -0
  39. package/layout/template/MiniCart/Composite/Modal/Header.d.ts +7 -0
  40. package/layout/template/MiniCart/Composite/Notifications/Item/Item.d.ts +7 -0
  41. package/layout/template/MiniCart/Composite/Notifications/Item/index.d.ts +1 -0
  42. package/layout/template/MiniCart/Composite/Notifications/Notifications.d.ts +7 -0
  43. package/layout/template/MiniCart/Composite/Notifications/index.d.ts +1 -0
  44. package/layout/template/MiniCart/Composite/Shipping/Shipping.d.ts +7 -0
  45. package/layout/template/MiniCart/Composite/Shipping/index.d.ts +1 -0
  46. package/layout/template/MiniCart/Composite/TagMessage.d.ts +5 -0
  47. package/layout/template/MiniCart/Composite/Variations/Options.d.ts +17 -0
  48. package/layout/template/MiniCart/Composite/Variations/ProductVariations.d.ts +4 -0
  49. package/layout/template/MiniCart/Composite/Variations/VariationList.d.ts +3 -0
  50. package/layout/template/MiniCart/MiniCart.d.ts +4 -0
  51. package/layout/template/MiniCart/helpers.d.ts +7 -0
  52. package/layout/template/MiniCart/index.d.ts +53 -0
  53. package/package.json +1 -1
  54. package/style.css +1 -1
  55. package/types/constants.d.ts +34 -0
  56. package/types/contexts/contexts/cart/index.d.ts +9 -0
  57. package/types/contexts/store/cart.d.ts +2 -2
  58. package/types/layout/team-components/Header/index.d.ts +12 -2
  59. package/types/layout/templates/MiniCart/index.d.ts +192 -0
@@ -0,0 +1,355 @@
1
+ import { jsxs as y, Fragment as w, jsx as f } from "react/jsx-runtime";
2
+ import { Utils as N } from "@soma-vertical-web/core-components";
3
+ const h = (e, t = !0) => Intl.NumberFormat("pt-BR", {
4
+ style: "currency",
5
+ currency: "BRL",
6
+ minimumFractionDigits: t ? 2 : 0
7
+ }).format(e), O = ({ valueInCents: e, hasFree: t, freeTaxMessage: n }) => e === 0 ? t ? n : h(0) : h(e / 100), I = (e, t) => {
8
+ const [n, s] = e.split(t);
9
+ return { name: n.trim(), size: s ? s.trim() : "" };
10
+ }, P = (e, t) => {
11
+ if (!e)
12
+ return {};
13
+ const [n, s] = e.split(t);
14
+ return { color: n == null ? void 0 : n.trim(), size: s == null ? void 0 : s.trim() };
15
+ }, R = (e, t = "tamanho") => {
16
+ if (e.additionalProperty) {
17
+ const [n] = e.additionalProperty;
18
+ return n != null && n.name ? n.name.toLocaleLowerCase() === t ? n.value : e.name : "";
19
+ }
20
+ return e.name;
21
+ }, F = (e, t) => e.replace(t, "").trim(), z = (e) => e.replace(/\//g, ""), C = ({ items: e, NAME_SPLIT_SYMBOL: t }) => {
22
+ const n = {
23
+ price: 0,
24
+ listPrice: 0,
25
+ installments: {
26
+ count: 0,
27
+ value: 0
28
+ }
29
+ }, s = (r, i) => {
30
+ var m;
31
+ i && (i.sellerId = r.sellerId, i.sellerName = r.sellerName, i.available = !0, i.isSellerDefault = r.sellerDefault);
32
+ const {
33
+ Price: c,
34
+ ListPrice: p,
35
+ PaymentOptions: { installmentOptions: d }
36
+ } = r.commertialOffer;
37
+ n.price = c, n.listPrice = p;
38
+ const l = (m = d == null ? void 0 : d[0]) == null ? void 0 : m.installments;
39
+ if (l) {
40
+ const { count: u, value: g } = l[l.length - 1];
41
+ n.installments = {
42
+ count: u,
43
+ value: g / 100
44
+ };
45
+ }
46
+ };
47
+ let a = !0;
48
+ const o = e.reduce((r, i) => {
49
+ var d;
50
+ const c = {
51
+ name: i.name,
52
+ sku: i.itemId,
53
+ value: ((d = i.Tamanho) == null ? void 0 : d[0]) ?? I(i.nameComplete ?? i.name, t).size,
54
+ available: !1,
55
+ sellerId: "",
56
+ sellerName: "",
57
+ isSellerDefault: !1
58
+ }, p = i.sellers.filter((l) => (l.sellerDefault && l.commertialOffer.IsAvailable && (c.available = !0, s(l, c)), l.commertialOffer.IsAvailable));
59
+ return !c.isSellerDefault && p.length > 0 && (c.available = !0, s(p[0], {
60
+ ...c,
61
+ sellerId: p[0].sellerId,
62
+ sellerName: p[0].sellerName
63
+ })), c.available === !1 && (a = !1), r.push(c), r;
64
+ }, []);
65
+ return {
66
+ ...n,
67
+ sizes: o,
68
+ allSizesAvailable: a
69
+ };
70
+ }, j = (e) => e ? !e.offers.offers.find(({ quantity: t = 0 }) => t > 0) : !1, T = (e, t) => {
71
+ const n = e.find(
72
+ (s) => s.availability.includes("InStock") && s.quantity && s.listPrice > 0 && s.seller.identifier === t
73
+ );
74
+ return n || e.find(
75
+ (s) => s.availability.includes("InStock") && s.quantity && s.listPrice > 0
76
+ );
77
+ }, A = ({ images: e, TEXTURE_IMAGE: t }) => e.find((n) => t.includes(n.imageLabel)) ?? e[0], D = (e, t) => {
78
+ const n = /\/ids\/(\d+)\//, s = e.match(n);
79
+ return s ? e.replace(
80
+ `/${s[1]}/`,
81
+ `/${s[1]}-${t.width}-${t.height}/`
82
+ ) : e;
83
+ }, x = (e, t) => {
84
+ const n = /\/ids\/(\d+)-(\d+)-(\d+)\//, s = e.match(n);
85
+ return s ? e.replace(
86
+ `/${s[1]}-${s[2]}-${s[3]}/`,
87
+ `/${s[1]}-${t.width}-${t.height}/`
88
+ ) : e;
89
+ }, B = ({
90
+ images: e,
91
+ label: t
92
+ }) => {
93
+ const n = e.filter(
94
+ (s) => s.keywords === t.first || s.keywords === t.second || s.alternateName === t.first || s.alternateName === t.second
95
+ );
96
+ return n.length === 0 ? e.slice(0, 2) : n;
97
+ }, E = (e) => {
98
+ const [t, n] = e.split("/").map(Number);
99
+ if (Number.isNaN(t) || Number.isNaN(n))
100
+ throw new Error("[ERROR ASPECT RATIO IMAGE]: Invalid aspect ratio format");
101
+ return n / t;
102
+ }, L = (e, t, n) => {
103
+ t && (e ? (t.getAttribute("src") || (t.src = n ?? ""), t.play()) : t.pause());
104
+ }, ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
105
+ __proto__: null,
106
+ disableSKU: j,
107
+ formatPriceToCurrency: h,
108
+ freightParsePrice: O,
109
+ getAspectRatio: E,
110
+ getColorAndSizeFromSkuName: P,
111
+ getFirstImages: B,
112
+ getProductNameWithoutSku: F,
113
+ getSKUName: R,
114
+ getSkuInfos: C,
115
+ getThumbImage: A,
116
+ getValidOffer: T,
117
+ removeSlashes: z,
118
+ resizingImg: D,
119
+ setVideoPlay: L,
120
+ splitNameAndSizeFromFullName: I,
121
+ updatedResizedImg: x
122
+ }, Symbol.toStringTag, { value: "Module" })), b = "fuzzy", _ = "operator", U = (e) => ({
123
+ isDepartment: e != null && e.length ? e[0].key === "category-1" : !1
124
+ }), te = (e, t) => {
125
+ const n = decodeURIComponent(t ?? "").slice(1).split("/");
126
+ return e.map((s) => {
127
+ if (s.key === "category-2" && s.__typename === "FacetBoolean") {
128
+ const a = s.values;
129
+ return {
130
+ ...s,
131
+ values: a.filter(
132
+ (o) => !n.find(
133
+ (r) => r.toLowerCase() === o.value || r.toLowerCase() === o.name.toLowerCase()
134
+ )
135
+ )
136
+ };
137
+ }
138
+ return s;
139
+ });
140
+ }, S = (e, t) => t ? e === "category-1" : !1, M = (e) => e.key === "operator" && (e.value === "and" || e.value === "or"), q = (e) => e.type === "TEXT", K = (e) => e.key === "fuzzy" && (e.value === "0" || e.value === "1" || e.value === "auto"), V = (e) => {
141
+ const { key: t, name: n, values: s } = e;
142
+ return {
143
+ __typename: "FacetBoolean",
144
+ key: t,
145
+ label: n,
146
+ values: s.slice().sort((a, o) => a.name.localeCompare(o.name))
147
+ };
148
+ }, Y = ({ key: e, values: t }) => ({
149
+ __typename: "FacetRange",
150
+ key: e,
151
+ values: t
152
+ }), ne = (e, t, n) => {
153
+ if (!(e instanceof Object) || !("facets" in e))
154
+ return [];
155
+ const { facets: s = [] } = e, a = t != null && t.length ? t[0].key === "category-1" : !1;
156
+ return s.filter(
157
+ (r) => !n || !S(r.key, a)
158
+ ).map(
159
+ (r) => q(r) ? V(r) : Y(r)
160
+ );
161
+ }, se = (e, t) => {
162
+ const n = e.find(({ key: a }) => a === b) ?? null, s = e.find(({ key: a }) => a === _) ?? null;
163
+ n && K(n) && t.append(b, n.value), s && M(s) && t.append(_, s.value);
164
+ }, J = (e) => e.map((t) => {
165
+ const [n, s] = t.split("/");
166
+ return { key: n, value: s };
167
+ }), re = (e, t) => {
168
+ const n = decodeURIComponent(t ?? "").slice(1).split("/"), s = e.filter(({ value: o }) => !n.includes(decodeURIComponent(o))).map((o) => ({
169
+ ...o,
170
+ value: decodeURIComponent(o.value)
171
+ })), { isDepartment: a } = U(s);
172
+ return s == null ? void 0 : s.filter((o) => !S(o.key, a));
173
+ }, ae = ({ pathname: e, searchParams: t }, n) => {
174
+ const s = t.get("sort") ?? "", a = t.get("query") ?? null, o = parseInt(t.get("page") ?? "1", 10);
175
+ return {
176
+ sort: s,
177
+ facets: J(n),
178
+ term: a,
179
+ base: a ? "" : e,
180
+ page: o
181
+ };
182
+ }, oe = (e) => {
183
+ const t = new URLSearchParams();
184
+ return Object.entries(e).forEach(([n, s]) => {
185
+ Array.isArray(s) ? s.forEach((a) => t.append(n, a)) : s !== void 0 && t.append(n, s);
186
+ }), t;
187
+ }, v = {
188
+ "responsive-mobile-flex": "_responsive-mobile-flex_t5bry_2",
189
+ "responsive-desktop-flex": "_responsive-desktop-flex_t5bry_13",
190
+ "responsive-mobile-block": "_responsive-mobile-block_t5bry_24",
191
+ "responsive-desktop-block": "_responsive-desktop-block_t5bry_35"
192
+ }, $ = {}, ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
193
+ __proto__: null,
194
+ default: $
195
+ }, Symbol.toStringTag, { value: "Module" })), le = ({
196
+ children: e,
197
+ data: t,
198
+ SectionZone: n,
199
+ className: s
200
+ }) => {
201
+ var d, l;
202
+ const a = ((d = t == null ? void 0 : t.filter((m) => {
203
+ var u, g;
204
+ return ((g = (u = m.config) == null ? void 0 : u.responsive) == null ? void 0 : g.deviceType) === "mobile";
205
+ })[0]) == null ? void 0 : d.sections) || [], o = ((l = t == null ? void 0 : t.filter((m) => {
206
+ var u, g;
207
+ return ((g = (u = m.config) == null ? void 0 : u.responsive) == null ? void 0 : g.deviceType) === "desktop";
208
+ })[0]) == null ? void 0 : l.sections) || [], r = a.slice(0, 1), i = a.slice(1, a.length), c = o.slice(0, 1), p = o.slice(1, o.length);
209
+ return /* @__PURE__ */ y(w, { children: [
210
+ /* @__PURE__ */ y("div", { className: s, children: [
211
+ /* @__PURE__ */ f("div", { className: v["responsive-mobile-flex"], children: /* @__PURE__ */ f(n, { data: r ?? [] }) }),
212
+ /* @__PURE__ */ f("div", { className: v["responsive-desktop-flex"], children: /* @__PURE__ */ f(n, { data: c ?? [] }) })
213
+ ] }),
214
+ e,
215
+ /* @__PURE__ */ f("div", { className: v["responsive-mobile-flex"], children: /* @__PURE__ */ f(n, { data: i ?? [] }) }),
216
+ /* @__PURE__ */ f("div", { className: v["responsive-desktop-flex"], children: /* @__PURE__ */ f(n, { data: p ?? [] }) }),
217
+ /* @__PURE__ */ f(N.Divider, {})
218
+ ] });
219
+ };
220
+ async function W({ contentType: e, storeId: t, CMS_PROJECT_NAME: n, NextCookies: s }) {
221
+ const a = await k({
222
+ contentType: e,
223
+ storeId: t,
224
+ CMS_PROJECT_NAME: n,
225
+ NextCookies: s
226
+ });
227
+ if (a.status === 200) {
228
+ const o = {
229
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
230
+ contentType: e,
231
+ data: a.data
232
+ };
233
+ console.log("Resultado da chamada:", a);
234
+ const r = `backup-${e}-${Date.now()}.json`;
235
+ return await $.writeFile(
236
+ `./backups/${r}`,
237
+ JSON.stringify(o, null, 2),
238
+ "utf-8"
239
+ ), { success: !0, fileName: r };
240
+ }
241
+ return { success: !1, error: a.error || "No data to backup" };
242
+ }
243
+ async function G(e) {
244
+ return W(e);
245
+ }
246
+ async function H({
247
+ contentType: e,
248
+ documentId: t,
249
+ versionId: n,
250
+ storeId: s,
251
+ CMS_PROJECT_NAME: a
252
+ }) {
253
+ const o = t && t.length ? `/${t}` : "", r = n && n.length ? `?versionId=${n}` : "";
254
+ return fetch(
255
+ `https://${s}.myvtex.com/_v/cms/api/${a}/${e}${o}${r}`,
256
+ { cache: "no-cache" }
257
+ );
258
+ }
259
+ async function X({
260
+ contentType: e,
261
+ documents: t,
262
+ NextCookies: n,
263
+ previewId: s,
264
+ CMS_PROJECT_NAME: a,
265
+ storeId: o
266
+ }) {
267
+ var i;
268
+ const r = JSON.parse(
269
+ s ?? ((i = n == null ? void 0 : n().get("cms_preview_data")) == null ? void 0 : i.value) ?? "{}"
270
+ );
271
+ if (r && (r == null ? void 0 : r.contentType) === e) {
272
+ const c = r.documentId && r.documentId.length ? `/${r.documentId}` : "", p = r != null && r.versionId && (r != null && r.versionId.length) ? `?versionId=${r == null ? void 0 : r.versionId}` : "", l = await (await fetch(
273
+ `https://${o}.myvtex.com/_v/cms/api/${a}/${e}${c}${p}`,
274
+ { cache: "no-store" }
275
+ )).json(), m = t.filter(
276
+ (u) => l.id !== u.documentId
277
+ );
278
+ return m.unshift(l), m;
279
+ }
280
+ return t;
281
+ }
282
+ async function k({
283
+ contentType: e,
284
+ NextCookies: t,
285
+ CMS_PROJECT_NAME: n,
286
+ storeId: s,
287
+ previewId: a
288
+ }) {
289
+ var d, l;
290
+ const o = JSON.parse(
291
+ a ?? ((d = t == null ? void 0 : t().get("cms_preview_data")) == null ? void 0 : d.value) ?? "{}"
292
+ ), r = [];
293
+ let i = 1, c = 0, p = !0;
294
+ try {
295
+ do {
296
+ const u = await (await fetch(
297
+ `https://${s}.myvtex.com/_v/cms/api/${n}/${e}?page=${i}`
298
+ )).json();
299
+ i === 1 && (c = u.totalItems), (l = u == null ? void 0 : u.data) != null && l.length && r.push(...u.data), p = u.hasNextPage, i++;
300
+ } while (p && r.length < c);
301
+ if (o.previewMode && r.length) {
302
+ const m = await X({
303
+ contentType: e,
304
+ documents: r,
305
+ NextCookies: t,
306
+ CMS_PROJECT_NAME: n,
307
+ storeId: s
308
+ });
309
+ return {
310
+ status: m.length > 0 ? 200 : 404,
311
+ data: m ?? []
312
+ };
313
+ }
314
+ return {
315
+ status: r.length ? 200 : 404,
316
+ data: r
317
+ };
318
+ } catch (m) {
319
+ return { status: "error", data: [], error: m };
320
+ }
321
+ }
322
+ const ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
323
+ __proto__: null,
324
+ cmsBackup: G,
325
+ getCMSContentType: H,
326
+ getContentType: k
327
+ }, Symbol.toStringTag, { value: "Module" }));
328
+ export {
329
+ le as S,
330
+ ie as _,
331
+ C as a,
332
+ A as b,
333
+ oe as c,
334
+ R as d,
335
+ j as e,
336
+ ee as f,
337
+ P as g,
338
+ h,
339
+ O as i,
340
+ T as j,
341
+ B as k,
342
+ L as l,
343
+ D as m,
344
+ F as n,
345
+ k as o,
346
+ ae as p,
347
+ se as q,
348
+ v as r,
349
+ I as s,
350
+ ne as t,
351
+ x as u,
352
+ te as v,
353
+ re as w,
354
+ ce as x
355
+ };