@lanaco/lnc-react-ui 4.0.226 → 4.0.227

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 (79) hide show
  1. package/dist/BannerSectionCarousel.cjs +3 -3
  2. package/dist/BannerSectionCarousel.js +18 -11
  3. package/dist/BlogCardsSponsoredSection.cjs +1 -1
  4. package/dist/BlogCardsSponsoredSection.js +1 -1
  5. package/dist/BlogListSection.cjs +7 -7
  6. package/dist/BlogListSection.js +157 -207
  7. package/dist/BlogSingleSection.cjs +2 -11
  8. package/dist/BlogSingleSection.js +19 -35
  9. package/dist/BlogsSectionDetailed.cjs +1 -1
  10. package/dist/BlogsSectionDetailed.js +1 -1
  11. package/dist/BlogsSectionLarge.cjs +8 -16
  12. package/dist/BlogsSectionLarge.js +40 -58
  13. package/dist/BlogsSectionSimple.cjs +1 -1
  14. package/dist/BlogsSectionSimple.js +1 -1
  15. package/dist/BlogsSectionSimpleCentered.cjs +12 -25
  16. package/dist/BlogsSectionSimpleCentered.js +64 -98
  17. package/dist/BlogsSectionWithFilters.cjs +10 -21
  18. package/dist/BlogsSectionWithFilters.js +106 -154
  19. package/dist/BrandHitsSection.cjs +7 -7
  20. package/dist/BrandHitsSection.js +41 -87
  21. package/dist/DetailedProductsInfinitiveSection.cjs +1 -1
  22. package/dist/DetailedProductsInfinitiveSection.js +2 -2
  23. package/dist/DetailedProductsSection.cjs +1 -1
  24. package/dist/DetailedProductsSection.js +2 -2
  25. package/dist/FieldOfInterestsMasonrySection.cjs +13 -13
  26. package/dist/FieldOfInterestsMasonrySection.js +105 -159
  27. package/dist/FieldOfInterestsWithAvatarsCardsSection.cjs +8 -8
  28. package/dist/FieldOfInterestsWithAvatarsCardsSection.js +93 -124
  29. package/dist/FieldOfInterestsWithTagsCardsSection.cjs +1 -1
  30. package/dist/FieldOfInterestsWithTagsCardsSection.js +1 -1
  31. package/dist/GeneralWithTagsCardsSection.cjs +1 -1
  32. package/dist/GeneralWithTagsCardsSection.js +1 -1
  33. package/dist/GiftCardsSection.cjs +10 -14
  34. package/dist/GiftCardsSection.js +76 -146
  35. package/dist/MasonryGeneralCardsSection.cjs +10 -10
  36. package/dist/MasonryGeneralCardsSection.js +45 -44
  37. package/dist/OverlayGeneralCardsSection.cjs +1 -1
  38. package/dist/OverlayGeneralCardsSection.js +1 -1
  39. package/dist/ProductsWithBannerSection.cjs +13 -13
  40. package/dist/ProductsWithBannerSection.js +87 -168
  41. package/dist/QuattroCardsSection.cjs +1 -1
  42. package/dist/QuattroCardsSection.js +1 -1
  43. package/dist/ReviewsSection.cjs +18 -22
  44. package/dist/ReviewsSection.js +101 -163
  45. package/dist/SalesCampaignsSection.cjs +14 -14
  46. package/dist/SalesCampaignsSection.js +299 -330
  47. package/dist/ShopCardsSection.cjs +6 -19
  48. package/dist/ShopCardsSection.js +54 -100
  49. package/dist/SimpleCategoriesSection.cjs +3 -3
  50. package/dist/SimpleCategoriesSection.js +64 -67
  51. package/dist/SimpleProductsSection.cjs +7 -7
  52. package/dist/SimpleProductsSection.js +65 -138
  53. package/dist/UrgentSaleProductsSection.cjs +1 -1
  54. package/dist/UrgentSaleProductsSection.js +1 -1
  55. package/dist/index-B7fBsitY.js +45 -0
  56. package/dist/index-BMAvJQBG.cjs +9 -0
  57. package/dist/index-BUdvfHpp.cjs +5 -0
  58. package/dist/index-BXT1eY2D.js +753 -0
  59. package/dist/index-C6amCwRZ.js +25 -0
  60. package/dist/index-C8R9lsWG.cjs +1 -0
  61. package/dist/index-CeQvy566.cjs +11 -0
  62. package/dist/index-Cyt4EUZ6.js +20 -0
  63. package/dist/index-D3QZziO_.cjs +368 -0
  64. package/dist/index-VTkAaA-n.js +18 -0
  65. package/dist/style-BFPpppS9.js +73 -0
  66. package/dist/style-CQdEALKR.cjs +59 -0
  67. package/package.json +1 -1
  68. package/dist/index-BGNavrtB.cjs +0 -368
  69. package/dist/index-BHcrzV2G.js +0 -54
  70. package/dist/index-Bj1KWOV4.cjs +0 -11
  71. package/dist/index-BsAddfgC.cjs +0 -1
  72. package/dist/index-Cn4bq6ZX.js +0 -84
  73. package/dist/index-CuRcxKQH.js +0 -42
  74. package/dist/index-DB1J-G6Z.js +0 -38
  75. package/dist/index-DkPva6Gr.cjs +0 -20
  76. package/dist/index-fzBXDy05.cjs +0 -16
  77. package/dist/index-gFZSZLba.js +0 -882
  78. package/dist/style-DvkivBNg.js +0 -74
  79. package/dist/style-Ito6YFqi.cjs +0 -64
@@ -0,0 +1,25 @@
1
+ import { jsx as e, jsxs as s, Fragment as m } from "react/jsx-runtime";
2
+ import { Suspense as a } from "react";
3
+ import { b as d, c as l, a as r } from "./style-BFPpppS9.js";
4
+ import { s as c } from "./emotion-styled.browser.esm-DfbrHHed.js";
5
+ import { d as p } from "./breakpoints-BubDitvo.js";
6
+ const S = c(d)`
7
+ @media ${p("S")} {
8
+ flex-direction: column;
9
+
10
+ & > div {
11
+ flex-direction: column;
12
+ }
13
+ }
14
+ `, h = ({ keyPrefix: o }) => /* @__PURE__ */ e(S, { children: [1, 2].map((n) => /* @__PURE__ */ s(l, { children: [
15
+ /* @__PURE__ */ e(r, { width: "100%", height: "11.25rem" }),
16
+ /* @__PURE__ */ e(r, { width: "100%", height: "11.25rem" })
17
+ ] }, `${o}-${n}`)) }), k = ({
18
+ keyPrefix: o,
19
+ isLoading: n = !1,
20
+ fallbackComponent: t = /* @__PURE__ */ e(m, {}),
21
+ children: i
22
+ }) => /* @__PURE__ */ e(a, { fallbackComponent: t, children: n === !0 ? /* @__PURE__ */ e(h, { keyPrefix: o }) : i });
23
+ export {
24
+ k as S
25
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react/jsx-runtime"),c=require("react"),s=require("./style-CQdEALKR.cjs"),i=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),u=i.styled(s.SkeletonAnimationContainer)``,l=({keyPrefix:t})=>e.jsx(u,{children:[1,2,3].map(r=>e.jsx(s.SkeletonRect,{width:"5rem",borderRadius:"0.75rem"},`${t}-${r}`))}),a=({keyPrefix:t,isLoading:r=!1,fallbackComponent:n=e.jsx(e.Fragment,{}),children:o})=>e.jsx(c.Suspense,{fallbackComponent:n,children:r===!0?e.jsx(l,{keyPrefix:t}):o});exports.SuspenseSelectBar=a;
@@ -0,0 +1,11 @@
1
+ "use strict";const e=require("react/jsx-runtime"),a=require("react"),n=require("./style-CQdEALKR.cjs"),l=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),d=require("./breakpoints-CcVm-gVm.cjs"),o=l.styled(n.SkeletonAnimationContainer)`
2
+ &.skeleton__tags {
3
+ max-width: 50rem;
4
+ }
5
+
6
+ @media ${d.down("S")} {
7
+ &.skeleton__tags {
8
+ overflow-x: hidden;
9
+ }
10
+ }
11
+ `,c=({keyPrefix:s})=>e.jsx(o,{className:"skeleton__cards",children:[1,2,3].map(t=>e.jsx(n.SkeletonRect,{width:"100%",height:"13.75rem"},`${s}-${t}`))}),u=({keyPrefix:s,isLoading:t=!1,fallbackComponent:r=e.jsx(e.Fragment,{}),children:i})=>e.jsx(a.Suspense,{fallbackComponent:r,children:t===!0?e.jsx(c,{keyPrefix:s}):i}),h=({keyPrefix:s})=>e.jsx(o,{className:"skeleton__tags",children:[1,2,3,4,5].map(t=>e.jsx(n.SkeletonColumnContainer,{alignItems:"center",gap:"0.5rem",children:e.jsx(n.SkeletonRect,{height:"1.5rem",width:"8rem"})},`${s}-${t}`))}),m=({keyPrefix:s,isLoading:t=!1,fallbackComponent:r=e.jsx(e.Fragment,{}),children:i})=>e.jsx(a.Suspense,{fallbackComponent:r,children:t===!0?e.jsx(h,{keyPrefix:s}):i});exports.SuspenseFieldOfInterestsWithTagsCard=u;exports.SuspenseFieldOfInterestsWithTagsTag=m;
@@ -0,0 +1,20 @@
1
+ import { jsx as e, Fragment as s } from "react/jsx-runtime";
2
+ import { Suspense as a } from "react";
3
+ import { S as m, a as i } from "./style-BFPpppS9.js";
4
+ import { s as l } from "./emotion-styled.browser.esm-DfbrHHed.js";
5
+ const S = l(m)``, c = ({ keyPrefix: r }) => /* @__PURE__ */ e(S, { children: [1, 2, 3].map((t) => /* @__PURE__ */ e(
6
+ i,
7
+ {
8
+ width: "5rem",
9
+ borderRadius: "0.75rem"
10
+ },
11
+ `${r}-${t}`
12
+ )) }), h = ({
13
+ keyPrefix: r,
14
+ isLoading: t = !1,
15
+ fallbackComponent: n = /* @__PURE__ */ e(s, {}),
16
+ children: o
17
+ }) => /* @__PURE__ */ e(a, { fallbackComponent: n, children: t === !0 ? /* @__PURE__ */ e(c, { keyPrefix: r }) : o });
18
+ export {
19
+ h as S
20
+ };
@@ -0,0 +1,368 @@
1
+ "use strict";const r=require("react/jsx-runtime"),l=require("react"),N=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),I=require("./breakpoints-CcVm-gVm.cjs"),t=require("./utils-CITgSxXe.cjs"),$e=require("./index-DsINTjQk.cjs"),z=require("./Badge.cjs"),Ee=require("./Popover.cjs"),Fe=require("./PopoverTrigger.cjs"),ze=require("./PopoverContent.cjs"),De=require("./useDetectMobile-DYV6V1yw.cjs"),J=require("./Icon.cjs"),h=require("./style-CQdEALKR.cjs"),Ve=N.styled.a`
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 0.5rem;
5
+ cursor: pointer;
6
+ overflow: hidden;
7
+ width: 100%;
8
+ text-decoration: none;
9
+ color: var(--gray-950, #14161a);
10
+ position: relative;
11
+
12
+ & .prevent-el {
13
+ height: 0;
14
+ width: 0;
15
+ }
16
+ & .seller {
17
+ text-transform: uppercase;
18
+ ${t.truncateText()}
19
+ color: var(--gray-500);
20
+ font-size: 0.625rem;
21
+ font-weight: 400;
22
+ }
23
+
24
+ & .wrapper-card-1 {
25
+ display: flex;
26
+ flex-direction: column;
27
+ gap: 0.12rem;
28
+ }
29
+
30
+ & .wrapper-card-2 {
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: 0;
34
+ }
35
+
36
+ & .wrapper-card-3 {
37
+ display: flex;
38
+ flex-wrap: wrap;
39
+ gap: 0.25rem;
40
+
41
+ & > div {
42
+ & > div {
43
+ width: 100% !important;
44
+ }
45
+ }
46
+ }
47
+
48
+ & .tag {
49
+ height: 1.5rem;
50
+ gap: 0.25rem;
51
+ padding: 0.25rem 0.375rem;
52
+ border-radius: 0.375rem;
53
+ background: #f9fafb;
54
+ border: 1px solid var(--gray-95012, #14161a1f);
55
+ font-weight: 400;
56
+ font-size: 0.75rem;
57
+ line-height: 1rem;
58
+ letter-spacing: 0.025rem;
59
+ color: var(--gray-950, #14161a);
60
+ white-space: nowrap;
61
+ flex: 0 0 auto;
62
+
63
+ & i {
64
+ color: var(--yellow-500, #f59e0b);
65
+ }
66
+ }
67
+
68
+ & .card-title {
69
+ font-size: 0.875rem;
70
+ font-weight: 600;
71
+ ${t.truncateTextInRows(2)}
72
+ }
73
+
74
+ & .price-text {
75
+ font-size: 1rem;
76
+ font-weight: 600;
77
+ ${t.truncateText()}
78
+ display: flex;
79
+ align-items: end;
80
+ gap: 0.5rem;
81
+ color: var(--gray-950, #14161a);
82
+
83
+ &.new-price {
84
+ color: var(--danger-600, #e11d48);
85
+ }
86
+
87
+ & .full-price {
88
+ text-decoration: line-through;
89
+ font-size: 0.75rem;
90
+ font-weight: 400;
91
+ padding-bottom: 0.125rem;
92
+ color: var(--gray-600, #676e79);
93
+ ${t.truncateText()}
94
+ }
95
+ }
96
+
97
+ & .location-text {
98
+ font-size: 0.75rem;
99
+ font-weight: 400;
100
+ color: var(--gray-600, #676e79);
101
+ ${t.truncateText()}
102
+ }
103
+
104
+ & .tags-wrapper {
105
+ display: flex;
106
+ gap: 0.5rem;
107
+ }
108
+
109
+ & .tags-popover__trigger {
110
+ display: flex;
111
+ gap: 0.25rem;
112
+ }
113
+
114
+ & .campaign-badges {
115
+ position: absolute;
116
+ top: 0.5rem;
117
+ left: 0.75rem;
118
+ display: flex;
119
+ gap: 0.25rem;
120
+ flex-wrap: wrap;
121
+ justify-content: flex-start;
122
+ z-index: 1;
123
+ width: max-content;
124
+ max-width: 7rem;
125
+ }
126
+
127
+ & .campaign-badge {
128
+ width: fit-content;
129
+ height: 1.5rem;
130
+ border-radius: 0.25rem;
131
+ display: flex;
132
+ align-items: center;
133
+ justify-content: center;
134
+ color: white;
135
+ font-size: 1rem;
136
+ padding-inline: 0.15rem;
137
+
138
+ i {
139
+ ::before {
140
+ margin-inline: 0;
141
+ }
142
+ }
143
+ }
144
+
145
+ & .campaign-badge-adddiscount {
146
+ background-color: #f43f5e;
147
+ }
148
+
149
+ & .campaign-badge-freeshipping {
150
+ background-color: #1abc86;
151
+ }
152
+
153
+ & .campaign-badge-freequantity {
154
+ background-color: #2691d9;
155
+ }
156
+
157
+ & .campaign-badge-includegifts {
158
+ background-color: #8b5cf6;
159
+ }
160
+
161
+ & .campaign-badge-urgent {
162
+ background-color: #e11d48;
163
+ width: fit-content;
164
+ padding-inline: 0.5rem;
165
+ }
166
+
167
+ @media ${I.down("S")} {
168
+ overflow: visible;
169
+
170
+ & .wrapper-card-3 {
171
+ flex-wrap: nowrap;
172
+ justify-content: flex-start;
173
+ overflow-x: scroll;
174
+ width: 8.875rem !important;
175
+
176
+ -webkit-overflow-scrolling: touch;
177
+ ::-webkit-scrollbar {
178
+ -webkit-appearance: none;
179
+ }
180
+ -ms-overflow-style: none;
181
+ /* Internet Explorer 10+ */
182
+ scrollbar-width: none;
183
+ /* Firefox */
184
+
185
+ &::-webkit-scrollbar {
186
+ display: none;
187
+ /* Safari and Chrome */
188
+ }
189
+
190
+ & > div {
191
+ & > div {
192
+ width: 8.875rem !important;
193
+ }
194
+ }
195
+ }
196
+
197
+ & .tags-popover__trigger {
198
+ overflow-x: scroll;
199
+ justify-content: flex-start;
200
+ width: 100%;
201
+
202
+ -webkit-overflow-scrolling: touch;
203
+ ::-webkit-scrollbar {
204
+ -webkit-appearance: none;
205
+ }
206
+ -ms-overflow-style: none;
207
+ /* Internet Explorer 10+ */
208
+ scrollbar-width: none;
209
+ /* Firefox */
210
+
211
+ &::-webkit-scrollbar {
212
+ display: none;
213
+ /* Safari and Chrome */
214
+ }
215
+ }
216
+
217
+ & .price-text {
218
+ font-size: 0.875rem;
219
+ font-weight: 600;
220
+
221
+ & .full-price {
222
+ display: none;
223
+ }
224
+ }
225
+ }
226
+
227
+ &:hover .product-image-wrapper img {
228
+ transform: scale(1.1);
229
+ }
230
+ `,Re=N.styled.div`
231
+ position: relative;
232
+ overflow: hidden;
233
+ border-radius: 0.75rem;
234
+ width: 100%;
235
+ aspect-ratio: 1 / 1;
236
+ border: 1px solid #0c15201f;
237
+
238
+ & .bookmarking-btn {
239
+ position: absolute;
240
+ right: 0.5rem;
241
+ top: 0.5rem;
242
+ z-index: 1;
243
+
244
+ display: none;
245
+
246
+ align-items: center;
247
+ justify-content: center;
248
+
249
+ width: 2.25rem;
250
+ height: 2.25rem;
251
+ border-radius: ${d=>t.getBorderRadiusValueWithUnits(d.theme,"curved")};
252
+ border: 1px solid var(--gray-95008);
253
+ background-color: white;
254
+ color: var(--gray-950);
255
+ transition: transform 0.2s ease;
256
+
257
+ &:hover {
258
+ transform: scale(1.05);
259
+ }
260
+
261
+ i {
262
+ color: #14161a;
263
+ font-size: 1.1rem;
264
+ line-height: 1;
265
+ }
266
+ }
267
+
268
+ &:hover {
269
+ & .bookmarking-btn {
270
+ display: flex;
271
+ }
272
+ }
273
+
274
+ & img {
275
+ display: block;
276
+ width: 100%;
277
+ height: 100%;
278
+ object-fit: cover;
279
+ border-radius: 0.75rem;
280
+ transition: var(--transition, all 0.3s ease);
281
+ }
282
+
283
+ @media ${I.down("S")} {
284
+ & img {
285
+ width: 8.875rem;
286
+ height: 8.875rem;
287
+ min-width: 8.875rem;
288
+ min-height: 8.875rem;
289
+ object-fit: cover;
290
+ }
291
+
292
+ & .bookmarking-btn {
293
+ display: flex;
294
+ bottom: 0.5rem;
295
+ top: unset;
296
+ }
297
+ }
298
+ `,qe=N.styled.div`
299
+ background: var(--white, #fff);
300
+ z-index: 1;
301
+
302
+ border: 1px solid var(--gray-200, #dddfe4);
303
+ border-radius: 0.5rem;
304
+ line-height: 1rem;
305
+ position: absolute;
306
+ padding: 0.5rem 0.75rem;
307
+ top: 0.5rem;
308
+ left: 25%;
309
+ transform: translateX(-50%);
310
+ min-width: 13rem;
311
+
312
+ &::before,
313
+ &::after {
314
+ content: "";
315
+ position: absolute;
316
+ left: 50%;
317
+ transform: translateX(-50%);
318
+ border-style: solid;
319
+ border-width: 0.625rem;
320
+ }
321
+
322
+ &::after {
323
+ top: -1.1875rem;
324
+ border-color: transparent transparent var(--white, #fff) transparent;
325
+ }
326
+
327
+ &::before {
328
+ top: -1.25rem;
329
+ border-color: transparent transparent var(--gray-200, #dddfe4) transparent;
330
+ }
331
+
332
+ & .tags-popover__content {
333
+ display: flex;
334
+ flex-wrap: wrap;
335
+ flex-direction: column;
336
+ gap: 0.375rem;
337
+ font-size: 0.75rem;
338
+ font-weight: 400;
339
+
340
+ & .tags-popover__name {
341
+ color: var(--gray-600, #676e79);
342
+ }
343
+
344
+ & .tags-popover__value {
345
+ color: var(--gray-950, #14161a);
346
+ }
347
+ }
348
+ `,Ie=N.styled.div`
349
+ display: flex;
350
+ align-items: center;
351
+ gap: 0.25rem;
352
+ color: var(--gray-500);
353
+ font-size: 0.75rem;
354
+ font-weight: 500;
355
+
356
+ & i {
357
+ font-size: 1rem;
358
+ color: var(--warning-500, #F59E0B);
359
+ }
360
+ `,Oe=l.forwardRef(({sponsoredText:d="Sponsored"},w)=>r.jsxs(Ie,{ref:w,className:"sponsored-line",children:[r.jsx("i",{className:"mng-lnc-paw2"}),r.jsx("span",{children:d})]})),Ue="Vehicles_Cars",Be="Vehicles_Motorcycles",We="Vehicles_Trucks",Me="Vehicles_AgriculturalMachines_Tractors",Te="Vehicles_ConstructionMachines",Ge="Vehicles_Bus",Le="Vehicles_Campers",Ae="RealEstates_",s={Mileage:{icon:"mng-lnc-road",measure:"km"},YearOfProduction:{icon:"mng-lnc-calendar",measure:""},Fuel:{icon:"mng-lnc-gas-station",measure:""},EnginePowerKW:{icon:"mng-lnc-engine",measure:"kW"},Transmission:{icon:"mng-lnc-transmission",measure:""},Model:{icon:"mng-lnc-application",measure:""},Brand:{icon:"mng-lnc-car--front",measure:""},SurfaceArea:{icon:"mng-lnc-right-angle",measure:""},Floor:{icon:"mng-lnc-elevator",measure:""},FurnishedCondition:{icon:"mng-lnc-sofa-01",measure:""},AdType:{icon:"mng-lnc-notes",measure:""},NumberOfRooms:{icon:"mng-lnc-meeting-room",measure:""},HeatingType:{icon:"mng-lnc-heat",measure:""},AirConditioning:{icon:"mng-lnc-air-conditioner",measure:""},Type:{icon:"mng-lnc-house-building",measure:""},Parking:{icon:"mng-lnc-parking-area-circle",measure:""},Internet:{icon:"mng-lnc-wifi-02",measure:""},State:{icon:"mng-lnc-settings-1",measure:""},NumberOfPremises:{icon:"mng-lnc-meeting-room",measure:""},Pool:{icon:"mng-lnc-pool",measure:""},Approach:{icon:"mng-lnc-driveway",measure:""},NumberOfBeds:{icon:"mng-lnc-bed",measure:""},Kitchen:{icon:"mng-lnc-fridge",measure:""},BathroomToilet:{icon:"mng-lnc-bath",measure:""},default:{icon:" mng-lnc-clock--filled",measure:""}},y={ADDDISCOUNT:" mng-lnc-percentage",URGENT:" mng-lnc-flash",FREEQUANTITY:" mng-lnc-3d-software",INCLUDEGIFTS:" mng-lnc-gift",FREESHIPPING:" mng-lnc-delivery--parcel"},Xe=l.forwardRef((d,w)=>{const{uuid:m,sellerUuid:D,name:Z,price:S=0,sellingPrice:C,currency:_,isNegotiable:P,isFree:$,imageUrl:ee,location:re,sponsored:ne,imageComponent:O,freeText:oe="Free",negotiableText:te="Negotiable",tags:o=[],categoryCode:E,categoryName:ie,condition:U,quantity:V,trade:B,sponsoredText:se,forCart:ae,forOrder:ce,contactSeller:le,hasVariants:de,hasQuantities:me,status:pe,onBookmark:R=()=>{},actionComponent:b,bookmarked:W,bookmarkLists:ue,metadata:x,sellerName:M,nameSlug:F,onSelectCard:ge=()=>{},activeSalesPackages:p,urgentText:he="Urgent",LinkComponent:T,hasFreeShipping:fe}=d,ve=T||"a",q=De.useDetectMobile(),we=()=>{var c;if(!t.isDefined(b))return r.jsx(r.Fragment,{});const e=b,n=(c=b==null?void 0:b.props)==null?void 0:c.children,i=l.cloneElement(n,{key:`bookmark_pr__${W}`,bookmarked:W,productUuid:m,onAddToBookmark:()=>R(!0,m),onRemoveFromBookmark:()=>R(!1,m),bookmarkedUuidList:ue,sellerUuid:D,handleBookmarking:R,forCart:ae,forOrder:ce,contactSeller:le,hasVariants:de,status:pe,quantity:V,hasQuantities:me,productBasicInfo:{uuid:m,price:S,sellingPrice:C,categoryCode:E,categoryName:ie,currency:_,isNegotiable:P,isFree:$}});return l.cloneElement(e,void 0,i)},G=[Ue,Be,We,Me,Te,Ge,Le,Ae].some(e=>E==null?void 0:E.includes(e)),[be,L]=l.useState(!1),xe=()=>{L(!0)},je=()=>{L(!1)},a=l.useRef(null),f=l.useRef([]),[ye,A]=l.useState(o==null?void 0:o.length),Ce=()=>{var c,j,k;if(!(a!=null&&a.current)||((c=f==null?void 0:f.current)==null?void 0:c.length)===0)return;if(q){A(o==null?void 0:o.length);return}const e=(j=a==null?void 0:a.current)==null?void 0:j.offsetWidth;let n=0,i=0;for(let u=0;u<(o==null?void 0:o.length);u++){const v=((k=f==null?void 0:f.current[u])==null?void 0:k.offsetWidth)||0,g=n+v+4;if(g<=e)n+=g,i++;else break}A(i)};l.useEffect(()=>{const e=a==null?void 0:a.current;if(!e)return;const n=new ResizeObserver(()=>{Ce()});return n.observe(e),()=>{n.disconnect()}},[o,q]);const _e=()=>{var e;return r.jsx("div",{className:"tags-popover__trigger",children:(e=o==null?void 0:o.slice(0,ye))==null?void 0:e.map((n,i)=>{var v,g,H,K,Q;const c=((v=s==null?void 0:s[n==null?void 0:n.code])==null?void 0:v.icon)??((g=s==null?void 0:s.default)==null?void 0:g.icon)??"",j=((H=n==null?void 0:n.measurementUnit)==null?void 0:H.symbol)??((K=s==null?void 0:s[n==null?void 0:n.code])==null?void 0:K.measure)??"",u=[(n==null?void 0:n.value)??((Q=n==null?void 0:n.multiOptions)==null?void 0:Q[0])??"",j].filter(Boolean).join(" ");return r.jsxs(z,{ref:Pe=>f.current[i]=Pe,className:"tag",children:[r.jsx("i",{className:c}),u]},`detailed-products-section-tag__${i+1}`)})})},ke=()=>r.jsx("div",{className:"tags-popover__content",children:o==null?void 0:o.map((e,n)=>{var u,v,g;const i=((u=e==null?void 0:e.measurementUnit)==null?void 0:u.symbol)??((v=s==null?void 0:s[e==null?void 0:e.code])==null?void 0:v.measure)??"",j=[(e==null?void 0:e.value)??((g=e==null?void 0:e.multiOptions)==null?void 0:g[0])??"",i].filter(Boolean).join(" "),k=e==null?void 0:e.name;return r.jsxs("div",{children:[r.jsx("span",{className:"tags-popover__name",children:`${k}: `}),r.jsx("span",{className:"tags-popover__value",children:j})]},`detailed-products-section-tag-dropdown__${n+1}`)})}),Ne=()=>r.jsxs(r.Fragment,{children:[U&&r.jsx(z,{className:"tag",children:U},"detailed-products-section-tag__condition"),V&&r.jsx(z,{className:"tag",children:V},"detailed-products-section-tag__quantity"),B&&r.jsx(z,{className:"tag",children:B},"detailed-products-section-tag__trade")]}),X=S>0&&_&&P!==!0&&$!==!0&&S!==C,Se=p==null?void 0:p.some(e=>(e==null?void 0:e.salesPackageCode)==="FreeShipping"),Y=fe===!0&&!Se;return r.jsxs(Ve,{ref:a,className:"product-card","data-accessor":x==null?void 0:x.accessor,name:x==null?void 0:x.name,onClick:e=>ge(e,a),as:ve,...T?{to:`/product/${t.isDefinedNotEmptyString(F)?`${F}-`:""}${m}`}:{href:`/product/${t.isDefinedNotEmptyString(F)?`${F}-`:""}${m}`},children:[r.jsxs(Re,{className:"product-image-wrapper",children:[t.isDefined(b)&&r.jsx("div",{className:"prevent-el",onClick:e=>{e==null||e.preventDefault(),e==null||e.stopPropagation()},children:r.jsx(we,{})}),t.isDefined(O)?O:r.jsx($e.ProductImageWrapper,{src:ee})]}),(Y||p&&p.length>0)&&r.jsxs("div",{className:"campaign-badges",children:[Y&&r.jsx("div",{className:"campaign-badge campaign-badge-freeshipping",children:r.jsx(J,{icon:y==null?void 0:y.FREESHIPPING,sizeInUnits:"1rem"})}),p==null?void 0:p.map((e,n)=>{var i,c;return r.jsxs("div",{className:`campaign-badge campaign-badge-${(i=e==null?void 0:e.salesPackageCode)==null?void 0:i.toLowerCase()}`,children:[(e==null?void 0:e.salesPackageCode)!=="Urgent"&&r.jsx(J,{icon:y==null?void 0:y[(c=e==null?void 0:e.salesPackageCode)==null?void 0:c.toUpperCase()],sizeInUnits:"1rem"}),(e==null?void 0:e.salesPackageCode)==="Urgent"&&r.jsx(r.Fragment,{children:he})]},n)})]}),r.jsxs("div",{className:"wrapper-card-1",children:[r.jsx("div",{className:"seller",title:M,children:M}),r.jsx("div",{className:"card-title",children:Z})]}),r.jsxs("div",{className:"wrapper-card-3",onClick:e=>{e==null||e.preventDefault(),e==null||e.stopPropagation()},children:[G&&r.jsx("div",{...q?{}:{onMouseEnter:xe,onMouseLeave:je},children:r.jsxs(Ee,{placement:"bottom",open:be,children:[r.jsx(Fe,{children:_e()}),r.jsx(ze,{style:{all:"unset"},children:r.jsx(qe,{children:ke()})})]})}),!G&&Ne()]}),r.jsxs("div",{className:"wrapper-card-2",children:[r.jsxs("div",{className:`price-text ${X?"new-price":""}`,children:[C>0&&_&&P!==!0&&$!==!0&&r.jsx("div",{children:`${t.formatPrice(C)} ${t.GetCurrencySymbol(_)}`}),X&&r.jsx("div",{className:`${C>0?"full-price":""}`,children:`${t.formatPrice(S)} ${t.GetCurrencySymbol(_)}`}),P&&te,$&&oe]}),r.jsx("div",{className:"location-text",children:re})]}),ne===!0&&r.jsx(Oe,{sponsoredText:se})]})}),Ye=N.styled(h.SkeletonAnimationContainer)`
361
+ @media ${I.down("S")} {
362
+ & > div {
363
+ &:nth-of-type(even) {
364
+ display: none;
365
+ }
366
+ }
367
+ }
368
+ `,He=({keyPrefix:d})=>r.jsx(Ye,{children:[1,2,3,4,5].map(w=>r.jsxs(h.SkeletonColumnContainer,{gap:"0.5rem",children:[r.jsx(h.SkeletonSquare,{size:"13.75rem"}),r.jsx(h.SkeletonRect,{width:"100%"}),r.jsxs(h.SkeletonContainer,{gap:"0.5rem",children:[r.jsx(h.SkeletonRect,{width:"100%",height:"1rem"}),r.jsx(h.SkeletonRect,{width:"100%",height:"1rem"})]}),r.jsx(h.SkeletonRect,{width:"100%",height:"2rem"})]},`${d}-${w}`))}),Ke=({keyPrefix:d,isLoading:w=!1,fallbackComponent:m=r.jsx(r.Fragment,{}),children:D})=>r.jsx(l.Suspense,{fallbackComponent:m,children:w===!0?r.jsx(He,{keyPrefix:d}):D});exports.DetailedProductCard=Xe;exports.SuspenseDetailedProductCard=Ke;
@@ -0,0 +1,18 @@
1
+ import { jsx as e, Fragment as i } from "react/jsx-runtime";
2
+ import { Suspense as s } from "react";
3
+ import { S as m, a } from "./style-BFPpppS9.js";
4
+ import { s as l } from "./emotion-styled.browser.esm-DfbrHHed.js";
5
+ import { d as c } from "./breakpoints-BubDitvo.js";
6
+ const d = l(m)`
7
+ @media ${c("S")} {
8
+ flex-direction: column;
9
+ }
10
+ `, S = ({ keyPrefix: t }) => /* @__PURE__ */ e(d, { children: [1, 2, 3].map((o) => /* @__PURE__ */ e(a, { width: "100%", height: "23rem" }, `${t}-${o}`)) }), k = ({
11
+ keyPrefix: t,
12
+ isLoading: o = !1,
13
+ fallbackComponent: n = /* @__PURE__ */ e(i, {}),
14
+ children: r
15
+ }) => /* @__PURE__ */ e(s, { fallbackComponent: n, children: o === !0 ? /* @__PURE__ */ e(S, { keyPrefix: t }) : r });
16
+ export {
17
+ k as S
18
+ };
@@ -0,0 +1,73 @@
1
+ import { s as t } from "./emotion-styled.browser.esm-DfbrHHed.js";
2
+ import { k as o } from "./emotion-react.browser.esm-DUVZ5oEL.js";
3
+ const a = o`
4
+ 0% { transform: translateX(-100%); }
5
+ 100% { transform: translateX(100%); }
6
+ `, r = t.div`
7
+ display: flex;
8
+ gap: ${({ gap: e = "1.25rem" }) => e};
9
+ flex-wrap: ${({ wrap: e = "nowrap" }) => e};
10
+ align-content ${({ alignContent: e = "normal" }) => e};
11
+ justify-content: ${({ justifyContent: e = "normal" }) => e};
12
+ align-items: ${({ alignItems: e = "normal" }) => e};
13
+ width: 100%;
14
+ `, i = t(r)`
15
+ position: relative;
16
+ overflow: hidden;
17
+
18
+ &::after {
19
+ content: "";
20
+ position: absolute;
21
+ top: 0;
22
+ left: 0;
23
+ width: 100%;
24
+ height: 100%;
25
+ background: linear-gradient(
26
+ 90deg,
27
+ transparent 0%,
28
+ rgba(255, 255, 255, 0) 20%,
29
+ rgba(255, 255, 255, 0.75) 50%,
30
+ rgba(255, 255, 255, 0) 80%,
31
+ transparent 100%
32
+ );
33
+ animation: ${a} 2s infinite linear;
34
+ pointer-events: none;
35
+ z-index: 10;
36
+ }
37
+ `, m = t(
38
+ i
39
+ )`
40
+ flex-direction: column;
41
+ `, d = t(r)`
42
+ flex-direction: column;
43
+ `, n = t.div`
44
+ background-color: #f4f6fb;
45
+ position: relative;
46
+ `, c = t(n)`
47
+ max-height: ${({ size: e = "4rem" }) => e};
48
+ width: 100%;
49
+ aspect-ratio: 1 / 1;
50
+ border-radius: ${({ borderRadius: e = "0.75rem" }) => e};
51
+ `, f = t(n)`
52
+ width: ${({ width: e = "8rem" }) => e};
53
+ height: ${({ height: e = "1.5rem" }) => e};
54
+ border-radius: ${({ borderRadius: e = "0.75rem" }) => e};
55
+ `, h = t(n)`
56
+ width: ${({ size: e = "4rem" }) => e};
57
+ height: ${({ size: e = "4rem" }) => e};
58
+ border-radius: 50%;
59
+ `;
60
+ t.div`
61
+ width: ${({ width: e = "1rem" }) => e};
62
+ height: ${({ height: e = "1rem" }) => e};
63
+ background: transparent;
64
+ `;
65
+ export {
66
+ i as S,
67
+ f as a,
68
+ m as b,
69
+ r as c,
70
+ c as d,
71
+ d as e,
72
+ h as f
73
+ };
@@ -0,0 +1,59 @@
1
+ "use strict";const t=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),i=require("./emotion-react.browser.esm-Cvnp-zmB.cjs"),a=i.keyframes`
2
+ 0% { transform: translateX(-100%); }
3
+ 100% { transform: translateX(100%); }
4
+ `,n=t.styled.div`
5
+ display: flex;
6
+ gap: ${({gap:e="1.25rem"})=>e};
7
+ flex-wrap: ${({wrap:e="nowrap"})=>e};
8
+ align-content ${({alignContent:e="normal"})=>e};
9
+ justify-content: ${({justifyContent:e="normal"})=>e};
10
+ align-items: ${({alignItems:e="normal"})=>e};
11
+ width: 100%;
12
+ `,r=t.styled(n)`
13
+ position: relative;
14
+ overflow: hidden;
15
+
16
+ &::after {
17
+ content: "";
18
+ position: absolute;
19
+ top: 0;
20
+ left: 0;
21
+ width: 100%;
22
+ height: 100%;
23
+ background: linear-gradient(
24
+ 90deg,
25
+ transparent 0%,
26
+ rgba(255, 255, 255, 0) 20%,
27
+ rgba(255, 255, 255, 0.75) 50%,
28
+ rgba(255, 255, 255, 0) 80%,
29
+ transparent 100%
30
+ );
31
+ animation: ${a} 2s infinite linear;
32
+ pointer-events: none;
33
+ z-index: 10;
34
+ }
35
+ `,l=t.styled(r)`
36
+ flex-direction: column;
37
+ `,s=t.styled(n)`
38
+ flex-direction: column;
39
+ `,o=t.styled.div`
40
+ background-color: #f4f6fb;
41
+ position: relative;
42
+ `,d=t.styled(o)`
43
+ max-height: ${({size:e="4rem"})=>e};
44
+ width: 100%;
45
+ aspect-ratio: 1 / 1;
46
+ border-radius: ${({borderRadius:e="0.75rem"})=>e};
47
+ `,m=t.styled(o)`
48
+ width: ${({width:e="8rem"})=>e};
49
+ height: ${({height:e="1.5rem"})=>e};
50
+ border-radius: ${({borderRadius:e="0.75rem"})=>e};
51
+ `,c=t.styled(o)`
52
+ width: ${({size:e="4rem"})=>e};
53
+ height: ${({size:e="4rem"})=>e};
54
+ border-radius: 50%;
55
+ `;t.styled.div`
56
+ width: ${({width:e="1rem"})=>e};
57
+ height: ${({height:e="1rem"})=>e};
58
+ background: transparent;
59
+ `;exports.SkeletonAnimationColumnContainer=l;exports.SkeletonAnimationContainer=r;exports.SkeletonCircle=c;exports.SkeletonColumnContainer=s;exports.SkeletonContainer=n;exports.SkeletonRect=m;exports.SkeletonSquare=d;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lanaco/lnc-react-ui",
3
- "version": "4.0.226",
3
+ "version": "4.0.227",
4
4
  "description": "React component library",
5
5
  "type": "module",
6
6
  "keywords": [