@websolutespa/bom-mixer-ui 0.0.1

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 (110) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +11 -0
  3. package/dist/carousel-1-DVCEK6QW.mjs +13 -0
  4. package/dist/carousel-1-DXYGMXKJ.mjs +14 -0
  5. package/dist/chunk-2NOCZCBX.mjs +494 -0
  6. package/dist/chunk-2QPVBWSO.mjs +27 -0
  7. package/dist/chunk-3O6XPTXR.mjs +54 -0
  8. package/dist/chunk-4G2V76JL.mjs +87 -0
  9. package/dist/chunk-4GP5DTTM.mjs +1101 -0
  10. package/dist/chunk-56QPQUHL.mjs +87 -0
  11. package/dist/chunk-5HED55DH.mjs +89 -0
  12. package/dist/chunk-5JVP5WNM.mjs +109 -0
  13. package/dist/chunk-5OIM36YU.mjs +43 -0
  14. package/dist/chunk-6HX6MNJA.mjs +808 -0
  15. package/dist/chunk-6RQBZFNK.mjs +13 -0
  16. package/dist/chunk-74GX2GU5.mjs +84 -0
  17. package/dist/chunk-A5PJ35ED.mjs +30 -0
  18. package/dist/chunk-A7SAZJPB.mjs +54 -0
  19. package/dist/chunk-AWRVGAMB.mjs +34 -0
  20. package/dist/chunk-B5WDQW62.mjs +469 -0
  21. package/dist/chunk-CCBJBAAA.mjs +47 -0
  22. package/dist/chunk-DANHURV6.mjs +84 -0
  23. package/dist/chunk-DBOW5IIN.mjs +5138 -0
  24. package/dist/chunk-DC3AZYXP.mjs +48 -0
  25. package/dist/chunk-DV6WR2TC.mjs +51 -0
  26. package/dist/chunk-G4IKIC5S.mjs +36 -0
  27. package/dist/chunk-GDCL5WRV.mjs +47 -0
  28. package/dist/chunk-GGXSEAD2.mjs +494 -0
  29. package/dist/chunk-GNG6WR62.mjs +220 -0
  30. package/dist/chunk-GZ4XU7KO.mjs +84 -0
  31. package/dist/chunk-HCSER4UQ.mjs +31 -0
  32. package/dist/chunk-IF5CE4SD.mjs +89 -0
  33. package/dist/chunk-IG66RP7S.mjs +54 -0
  34. package/dist/chunk-IK736OHT.mjs +31 -0
  35. package/dist/chunk-IZQZVLFR.mjs +84 -0
  36. package/dist/chunk-J7LSTFGB.mjs +51 -0
  37. package/dist/chunk-JQPC4MHB.mjs +40 -0
  38. package/dist/chunk-JTGZNI2A.mjs +92 -0
  39. package/dist/chunk-JYFB4EY7.mjs +26 -0
  40. package/dist/chunk-KJAR4KTH.mjs +114 -0
  41. package/dist/chunk-LEHIZSHR.mjs +122 -0
  42. package/dist/chunk-LSXKWZBB.mjs +808 -0
  43. package/dist/chunk-LV3AK64L.mjs +37 -0
  44. package/dist/chunk-MU4CJBV7.mjs +82 -0
  45. package/dist/chunk-MW5M3AIG.mjs +29 -0
  46. package/dist/chunk-MZ764V34.mjs +33 -0
  47. package/dist/chunk-N5J24WJE.mjs +22 -0
  48. package/dist/chunk-NLXIPXSN.mjs +44 -0
  49. package/dist/chunk-NM3CSEJ3.mjs +33 -0
  50. package/dist/chunk-NWHJ5ZAA.mjs +27 -0
  51. package/dist/chunk-OAAW3SV6.mjs +199 -0
  52. package/dist/chunk-OAVF6LFH.mjs +58 -0
  53. package/dist/chunk-PFPUP4FL.mjs +807 -0
  54. package/dist/chunk-QSN3F243.mjs +33 -0
  55. package/dist/chunk-QXUK3J2W.mjs +199 -0
  56. package/dist/chunk-RU2KB7XM.mjs +51 -0
  57. package/dist/chunk-SBQY6FWU.mjs +77 -0
  58. package/dist/chunk-TNJCCH5V.mjs +220 -0
  59. package/dist/chunk-U4CLZOPI.mjs +232 -0
  60. package/dist/chunk-UGZQFVRQ.mjs +29 -0
  61. package/dist/chunk-VTNTTQXM.mjs +54 -0
  62. package/dist/chunk-W346ZVLC.mjs +13 -0
  63. package/dist/chunk-XAXJC3FV.mjs +36 -0
  64. package/dist/chunk-Y2QTR7KM.mjs +55 -0
  65. package/dist/chunk-ZBPDMEV4.mjs +122 -0
  66. package/dist/chunk-ZFNJUDPN.mjs +43 -0
  67. package/dist/download-1-FRTTCFSC.mjs +14 -0
  68. package/dist/download-1-HFDPW6PG.mjs +13 -0
  69. package/dist/index.d.ts +2548 -0
  70. package/dist/index.js +15611 -0
  71. package/dist/index.mjs +11555 -0
  72. package/dist/magazine-related-D3WTHTLF.mjs +14 -0
  73. package/dist/magazine-related-JCGUUCUP.mjs +15 -0
  74. package/dist/media-full-1-BDODTFLB.mjs +10 -0
  75. package/dist/media-full-1-EBZLR4NY.mjs +10 -0
  76. package/dist/media-full-2-2PO7MSS6.mjs +11 -0
  77. package/dist/media-full-2-M4O7HRCV.mjs +11 -0
  78. package/dist/media-media-1-ET3G2SWF.mjs +12 -0
  79. package/dist/media-media-1-HIJUPGM7.mjs +12 -0
  80. package/dist/media-media-1-V6ZQ6RZG.mjs +12 -0
  81. package/dist/not-found-JWIKAAPV.mjs +10 -0
  82. package/dist/not-found-YT633IOF.mjs +10 -0
  83. package/dist/products-detail-download-4FB5IJ3Q.mjs +13 -0
  84. package/dist/products-detail-download-7G2TYM3Q.mjs +14 -0
  85. package/dist/products-detail-related-2PVSOSDY.mjs +16 -0
  86. package/dist/products-detail-related-EVYW6HQA.mjs +15 -0
  87. package/dist/products-detail-related-YIFMTUCQ.mjs +15 -0
  88. package/dist/products-detail-size-color-AKSUWV6K.mjs +15 -0
  89. package/dist/products-detail-size-color-DN3E6KET.mjs +15 -0
  90. package/dist/products-detail-size-color-YLQ352FR.mjs +15 -0
  91. package/dist/related-1-27HY3JEE.mjs +16 -0
  92. package/dist/related-1-RW2MS6XN.mjs +15 -0
  93. package/dist/related-1-XXICN6PY.mjs +15 -0
  94. package/dist/shop-detail-related-AW5RTFOH.mjs +15 -0
  95. package/dist/shop-detail-related-OS5YUH6Y.mjs +15 -0
  96. package/dist/shop-detail-related-SQ5MBIA2.mjs +16 -0
  97. package/dist/sizes-colors-1-IPWE45PQ.mjs +15 -0
  98. package/dist/sizes-colors-1-JSJSGDQB.mjs +15 -0
  99. package/dist/sizes-colors-1-R36L2GI3.mjs +15 -0
  100. package/dist/text-1-265D6JDN.mjs +11 -0
  101. package/dist/text-1-4LCCLSTO.mjs +11 -0
  102. package/dist/text-aside-1-5COCRCVM.mjs +12 -0
  103. package/dist/text-aside-1-H56SUGSM.mjs +12 -0
  104. package/dist/text-aside-1-YIXPMUBS.mjs +12 -0
  105. package/dist/text-media-1-FTVDNKGV.mjs +13 -0
  106. package/dist/text-media-1-QQY7WNS2.mjs +13 -0
  107. package/dist/text-media-1-ZGI6ITM6.mjs +13 -0
  108. package/dist/text-text-1-KCRMHXGX.mjs +11 -0
  109. package/dist/text-text-1-NOFPMB5T.mjs +11 -0
  110. package/package.json +79 -0
@@ -0,0 +1,220 @@
1
+ import {
2
+ __objRest,
3
+ __spreadProps,
4
+ __spreadValues,
5
+ getAspectResponsive,
6
+ getCssResponsive
7
+ } from "./chunk-B5WDQW62.mjs";
8
+
9
+ // src/components/media/media-image.tsx
10
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
11
+ import styled from "styled-components";
12
+ import { jsx } from "react/jsx-runtime";
13
+ var StyledMediaImage = styled.img`
14
+ max-width: 100%;
15
+ // height: auto;
16
+ user-select: none;
17
+ `;
18
+ var MediaImage = (_a) => {
19
+ var _b = _a, { alt = "", className, type } = _b, props = __objRest(_b, ["alt", "className", "type"]);
20
+ const classNames = getClassNames(className, "image", { "image-svg": isSVG(props.src) });
21
+ const imageProps = getImageProps(props);
22
+ return /* @__PURE__ */ jsx(StyledMediaImage, __spreadValues({ className: classNames, alt, loading: "lazy" }, imageProps));
23
+ };
24
+ function getImageProps(_a) {
25
+ var _b = _a, { src } = _b, props = __objRest(_b, ["src"]);
26
+ const ratio = props.width && props.height ? parseInt(props.width.toString()) / parseInt(props.height.toString()) : 0;
27
+ const sizes = [640, 828, 1080, 1200, 1920];
28
+ return __spreadValues({
29
+ src: getImageSrc(src, ratio, sizes[0]),
30
+ srcSet: getImageSrcset(src, ratio, sizes),
31
+ sizes: ratio !== 0 ? getImageSizes(sizes) : "100vw"
32
+ }, props);
33
+ }
34
+ function getImageSrc(src, ratio, width, quality = 75) {
35
+ if (isSVG(src)) {
36
+ return src;
37
+ }
38
+ return ratio !== 0 ? `/_next/image?url=${encodeURIComponent(src)}&w=${width}&h=${width / ratio}&q=${quality}` : `/_next/image?url=${encodeURIComponent(src)}&w=${width}&q=${quality}`;
39
+ }
40
+ function getImageSrcset(src, ratio, widths, quality = 75) {
41
+ if (isSVG(src)) {
42
+ return void 0;
43
+ }
44
+ return widths.map((width) => getImageSrc(src, ratio, width, quality) + ` ${width}w`).join(", ");
45
+ }
46
+ function getImageSizes(widths) {
47
+ return widths.map((width, i) => `${i < widths.length - 1 ? `(max-width: ${width}px) ` : ""}${width}px`).join(", ");
48
+ }
49
+ function isSVG(src) {
50
+ return src.indexOf(".svg") !== -1;
51
+ }
52
+
53
+ // src/components/media/media.tsx
54
+ import { getClassNames as getClassNames2, withSchema } from "@websolutespa/bom-mixer-core";
55
+ import { forwardRef } from "react";
56
+ import styled2, { css } from "styled-components";
57
+
58
+ // src/components/media-gallery/media-gallery-context.tsx
59
+ import { createContext, useContext } from "react";
60
+ var MediaGalleryContext = createContext({});
61
+ function useMediaGalleryContext() {
62
+ return useContext(MediaGalleryContext);
63
+ }
64
+
65
+ // src/components/media/media.tsx
66
+ import { jsx as jsx2 } from "react/jsx-runtime";
67
+ var StyledMediaInfo = styled2.div`
68
+ position: absolute;
69
+ display: flex;
70
+ flex-direction: column;
71
+ top: 0;
72
+ left: 0;
73
+ width: 100%;
74
+ height: 100%;
75
+ z-index: 1;
76
+ color: var(--color-neutral-100);
77
+
78
+ ${(props) => getCssResponsive(props)}
79
+ `;
80
+ var MediaInfo = (_a) => {
81
+ var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
82
+ const classNames = getClassNames2(className, "media-info");
83
+ return /* @__PURE__ */ jsx2(StyledMediaInfo, __spreadProps(__spreadValues({ className: classNames }, props), { children }));
84
+ };
85
+ var StyledMedia = styled2.div`
86
+ position: relative;
87
+ display: flex;
88
+ flex-direction: column;
89
+ justify-content: center;
90
+ align-items: center;
91
+ // color: var(--color-neutral-100);
92
+
93
+ ${(props) => getCssResponsive(props)}
94
+
95
+ &>:not(.media-info) {
96
+ width: 100%;
97
+ height: 100%;
98
+ }
99
+
100
+ &>.image:not(.image-svg),
101
+ &>video,
102
+ &>.video {
103
+ object-fit: cover;
104
+ background: var(--color-neutral-200);
105
+ }
106
+
107
+ &>svg {
108
+ height: 100%;
109
+ }
110
+
111
+ &.media--gallery {
112
+ display: flex;
113
+ justify-content: center;
114
+ align-items: center;
115
+ overflow: hidden;
116
+ cursor: pointer;
117
+
118
+ &>:not(.media-info) {
119
+ transition: ease-in-out 200ms;
120
+ transition-property: transform, opacity;
121
+ }
122
+
123
+ &:hover {
124
+ &>:not(.media-info) {
125
+ transform: scale(1.05);
126
+ }
127
+ }
128
+ }
129
+
130
+ ${(props) => props.circle ? css`
131
+ aspect-ratio: 1;
132
+ overflow: hidden;
133
+ border-radius: 50%;
134
+ &>* {
135
+ top: 0;
136
+ left: 0;
137
+ height: 100%;
138
+ }
139
+ ` : ""};
140
+
141
+ ${(props) => props.rounded ? css`
142
+ overflow: hidden;
143
+ border-radius: var(--border-radius);
144
+ ` : ""};
145
+
146
+ ${(props) => getAspectResponsive(props, props.circle ? { aspectRatio: 1 } : void 0)};
147
+
148
+ ${(props) => props.overlay ? css`
149
+ position: relative;
150
+
151
+ &:after {
152
+ content: '';
153
+ position: absolute;
154
+ top: 0;
155
+ left: 0;
156
+ width: 100%;
157
+ height: 100%;
158
+ ${typeof props.overlay === "number" ? css`background: rgba(0,0,0,${props.overlay})` : css`background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.1) 15.9%, rgba(0, 0, 0, 0) 41.67%, rgba(0, 0, 0, 0.1) 61.79%, rgba(0, 0, 0, 0.6) 100%)`};
159
+ }
160
+ ` : ""}
161
+ `;
162
+ var MediaBase = forwardRef((_a, ref) => {
163
+ var _b = _a, { children, item, onClick, className, as = "div" } = _b, props = __objRest(_b, ["children", "item", "onClick", "className", "as"]);
164
+ const { id, open } = useMediaGalleryContext();
165
+ const classNames = getClassNames2(className, "media", { "media--gallery": id });
166
+ const mediaChildren = item && !children ? getMediaItems(item, {
167
+ aspectRatio: props.aspectRatio,
168
+ eager: props.eager,
169
+ galleryId: id,
170
+ open
171
+ }) : children;
172
+ return /* @__PURE__ */ jsx2(StyledMedia, __spreadProps(__spreadValues({ className: classNames, ref, as }, props), { children: mediaChildren }));
173
+ });
174
+ MediaBase.displayName = "Media";
175
+ var Media = withSchema(MediaBase, {
176
+ Info: MediaInfo
177
+ });
178
+ function getMediaItems(itemOrItems, options = {}) {
179
+ const items = (Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems]).map((x) => {
180
+ if (typeof x["media"] === "object") {
181
+ x = x["media"];
182
+ }
183
+ if (typeof x.url === "string") {
184
+ x.src = x.url;
185
+ }
186
+ return x;
187
+ });
188
+ const hasGallery = options.galleryId != null && typeof options.open === "function";
189
+ const getMediaItemProps = (media) => {
190
+ const props = {};
191
+ if (hasGallery) {
192
+ props["data-gallery"] = JSON.stringify({ galleryId: options.galleryId, media });
193
+ props.onClick = (event) => {
194
+ if (options.open) {
195
+ options.open(media);
196
+ }
197
+ };
198
+ }
199
+ if (media.type === "image") {
200
+ const aspectRatio = typeof options.aspectRatio === "string" ? parseFloat(options.aspectRatio) : options.aspectRatio;
201
+ if (aspectRatio != null) {
202
+ props.width = 800;
203
+ props.height = 800 / aspectRatio;
204
+ }
205
+ if (options.eager) {
206
+ props.loading = "eager";
207
+ }
208
+ }
209
+ return props;
210
+ };
211
+ return items.map(
212
+ (media, m) => media.type === "video" ? /* @__PURE__ */ jsx2("video", __spreadProps(__spreadValues({ playsInline: true, autoPlay: true, muted: true, loop: true }, getMediaItemProps(media)), { children: /* @__PURE__ */ jsx2("source", { src: media.src, type: "video/mp4" }) }), m) : /* @__PURE__ */ jsx2(MediaImage, __spreadValues(__spreadProps(__spreadValues({}, media), { alt: media.alt, draggable: false }), getMediaItemProps(media)), m)
213
+ );
214
+ }
215
+
216
+ export {
217
+ MediaGalleryContext,
218
+ MediaImage,
219
+ Media
220
+ };
@@ -0,0 +1,84 @@
1
+ import {
2
+ Card
3
+ } from "./chunk-LEHIZSHR.mjs";
4
+ import {
5
+ Flex
6
+ } from "./chunk-OAAW3SV6.mjs";
7
+ import {
8
+ Button
9
+ } from "./chunk-A7SAZJPB.mjs";
10
+ import {
11
+ Grid
12
+ } from "./chunk-PFPUP4FL.mjs";
13
+ import {
14
+ Media
15
+ } from "./chunk-GNG6WR62.mjs";
16
+ import {
17
+ Container,
18
+ Section,
19
+ Text
20
+ } from "./chunk-GGXSEAD2.mjs";
21
+ import {
22
+ __objRest,
23
+ __spreadProps,
24
+ __spreadValues
25
+ } from "./chunk-B5WDQW62.mjs";
26
+
27
+ // src/lazy/related-1/related-1.tsx
28
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
29
+ import dynamic from "next/dynamic";
30
+
31
+ // src/lazy/related-1/related-1-card.tsx
32
+ import Link from "next/link";
33
+ import styled from "styled-components";
34
+ import { jsx, jsxs } from "react/jsx-runtime";
35
+ var StyledCard = styled(Card)`
36
+ .media{
37
+ .image {
38
+ position: absolute;
39
+ top: 0;
40
+ right: 0;
41
+ bottom: 0;
42
+ left: 0;
43
+ object-fit: cover;
44
+
45
+ &:not(:first-child) {
46
+ opacity: 0!important;
47
+ }
48
+ }
49
+ }
50
+ &:hover {
51
+ .media {
52
+ .image:nth-child(2) {
53
+ opacity: 1!important;
54
+ }
55
+ }
56
+ }
57
+ `;
58
+ var Related1Card = (_a) => {
59
+ var _b = _a, { item } = _b, props = __objRest(_b, ["item"]);
60
+ return /* @__PURE__ */ jsxs(StyledCard, __spreadProps(__spreadValues({}, props), { hoverable: true, children: [
61
+ /* @__PURE__ */ jsx(Link, { href: item.href, passHref: true, children: /* @__PURE__ */ jsx(Media, { as: "a", aspectRatio: 880 / 550, borderRadius: "0.4rem", marginBottom: "1.5rem", item: item.media }) }),
62
+ /* @__PURE__ */ jsx(Card.Content, { children: /* @__PURE__ */ jsx(Flex.Row, { justifyContent: "space-between", children: /* @__PURE__ */ jsx(Button, { variant: "nav", children: /* @__PURE__ */ jsx(Text, { size: "6", dangerouslySetInnerHTML: { __html: item.title || "untitled" } }) }) }) })
63
+ ] }));
64
+ };
65
+
66
+ // src/lazy/related-1/related-1.tsx
67
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
68
+ var Related1 = ({ item }) => {
69
+ const classNames = getClassNames(item.schema);
70
+ return /* @__PURE__ */ jsx2(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsxs2(Container, { children: [
71
+ item.title && /* @__PURE__ */ jsx2(Text, { size: "3", textAlign: "center", marginBottom: "4rem", dangerouslySetInnerHTML: { __html: item.title } }),
72
+ /* @__PURE__ */ jsx2(Grid.Row, { rowGap: "3rem", children: item.items && item.items.map((related, r) => /* @__PURE__ */ jsx2(Grid, { sm: 6, justifyContent: "center", children: /* @__PURE__ */ jsx2(Related1Card, { item: related }) }, r)) })
73
+ ] }) });
74
+ };
75
+ var Related1Export = {
76
+ "related-1": dynamic(() => Promise.resolve().then(() => require_related_1()).then(
77
+ (module) => module.Related1
78
+ ))
79
+ };
80
+
81
+ export {
82
+ Related1,
83
+ Related1Export
84
+ };
@@ -0,0 +1,31 @@
1
+ import {
2
+ Box
3
+ } from "./chunk-W346ZVLC.mjs";
4
+ import {
5
+ Container,
6
+ Section,
7
+ Text
8
+ } from "./chunk-2NOCZCBX.mjs";
9
+ import {
10
+ __toESM,
11
+ require_dynamic
12
+ } from "./chunk-4GP5DTTM.mjs";
13
+
14
+ // src/lazy/text-1/text-1.tsx
15
+ var import_dynamic = __toESM(require_dynamic());
16
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
17
+ import { jsx } from "react/jsx-runtime";
18
+ var Text1 = ({ item }) => {
19
+ const classNames = getClassNames(item.schema);
20
+ return /* @__PURE__ */ jsx(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsx(Box, { maxWidth: "800px", margin: "0 auto", children: item.description && /* @__PURE__ */ jsx(Text, { size: "5", lineHeight: "2", dangerouslySetInnerHTML: { __html: item.description } }) }) }) });
21
+ };
22
+ var Text1Export = {
23
+ "text-1": (0, import_dynamic.default)(() => Promise.resolve().then(() => require_text_1()).then(
24
+ (module) => module.Text1
25
+ ))
26
+ };
27
+
28
+ export {
29
+ Text1,
30
+ Text1Export
31
+ };
@@ -0,0 +1,89 @@
1
+ import {
2
+ Card
3
+ } from "./chunk-ZBPDMEV4.mjs";
4
+ import {
5
+ Flex
6
+ } from "./chunk-QXUK3J2W.mjs";
7
+ import {
8
+ require_link
9
+ } from "./chunk-DBOW5IIN.mjs";
10
+ import {
11
+ Button
12
+ } from "./chunk-VTNTTQXM.mjs";
13
+ import {
14
+ Grid
15
+ } from "./chunk-LSXKWZBB.mjs";
16
+ import {
17
+ Media
18
+ } from "./chunk-TNJCCH5V.mjs";
19
+ import {
20
+ Container,
21
+ Section,
22
+ Text
23
+ } from "./chunk-2NOCZCBX.mjs";
24
+ import {
25
+ __objRest,
26
+ __spreadProps,
27
+ __spreadValues,
28
+ __toESM,
29
+ require_dynamic
30
+ } from "./chunk-4GP5DTTM.mjs";
31
+
32
+ // src/lazy/related-1/related-1.tsx
33
+ var import_dynamic = __toESM(require_dynamic());
34
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
35
+
36
+ // src/lazy/related-1/related-1-card.tsx
37
+ var import_link = __toESM(require_link());
38
+ import styled from "styled-components";
39
+ import { jsx, jsxs } from "react/jsx-runtime";
40
+ var StyledCard = styled(Card)`
41
+ .media{
42
+ .image {
43
+ position: absolute;
44
+ top: 0;
45
+ right: 0;
46
+ bottom: 0;
47
+ left: 0;
48
+ object-fit: cover;
49
+
50
+ &:not(:first-child) {
51
+ opacity: 0!important;
52
+ }
53
+ }
54
+ }
55
+ &:hover {
56
+ .media {
57
+ .image:nth-child(2) {
58
+ opacity: 1!important;
59
+ }
60
+ }
61
+ }
62
+ `;
63
+ var Related1Card = (_a) => {
64
+ var _b = _a, { item } = _b, props = __objRest(_b, ["item"]);
65
+ return /* @__PURE__ */ jsxs(StyledCard, __spreadProps(__spreadValues({}, props), { hoverable: true, children: [
66
+ /* @__PURE__ */ jsx(import_link.default, { href: item.href, passHref: true, children: /* @__PURE__ */ jsx(Media, { as: "a", aspectRatio: 880 / 550, borderRadius: "0.4rem", marginBottom: "1.5rem", item: item.media }) }),
67
+ /* @__PURE__ */ jsx(Card.Content, { children: /* @__PURE__ */ jsx(Flex.Row, { justifyContent: "space-between", children: /* @__PURE__ */ jsx(Button, { variant: "nav", children: /* @__PURE__ */ jsx(Text, { size: "6", dangerouslySetInnerHTML: { __html: item.title || "untitled" } }) }) }) })
68
+ ] }));
69
+ };
70
+
71
+ // src/lazy/related-1/related-1.tsx
72
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
73
+ var Related1 = ({ item }) => {
74
+ const classNames = getClassNames(item.schema);
75
+ return /* @__PURE__ */ jsx2(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsxs2(Container, { children: [
76
+ item.title && /* @__PURE__ */ jsx2(Text, { size: "3", textAlign: "center", marginBottom: "4rem", dangerouslySetInnerHTML: { __html: item.title } }),
77
+ /* @__PURE__ */ jsx2(Grid.Row, { rowGap: "3rem", children: item.items && item.items.map((related, r) => /* @__PURE__ */ jsx2(Grid, { sm: 6, justifyContent: "center", children: /* @__PURE__ */ jsx2(Related1Card, { item: related }) }, r)) })
78
+ ] }) });
79
+ };
80
+ var Related1Export = {
81
+ "related-1": (0, import_dynamic.default)(() => Promise.resolve().then(() => require_related_1()).then(
82
+ (module) => module.Related1
83
+ ))
84
+ };
85
+
86
+ export {
87
+ Related1,
88
+ Related1Export
89
+ };
@@ -0,0 +1,54 @@
1
+ import {
2
+ Box
3
+ } from "./chunk-6RQBZFNK.mjs";
4
+ import {
5
+ Flex
6
+ } from "./chunk-OAAW3SV6.mjs";
7
+ import {
8
+ Button
9
+ } from "./chunk-A7SAZJPB.mjs";
10
+ import {
11
+ Grid
12
+ } from "./chunk-PFPUP4FL.mjs";
13
+ import {
14
+ Media
15
+ } from "./chunk-GNG6WR62.mjs";
16
+ import {
17
+ Container,
18
+ Section,
19
+ Text
20
+ } from "./chunk-GGXSEAD2.mjs";
21
+
22
+ // src/sections/products-detail-size-color/products-detail-size-color.tsx
23
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
24
+ import dynamic from "next/dynamic";
25
+ import { jsx, jsxs } from "react/jsx-runtime";
26
+ var ProductsDetailSizeColor = ({ id, item }) => {
27
+ const classNames = getClassNames(item.schema);
28
+ if (!item) {
29
+ return null;
30
+ }
31
+ return /* @__PURE__ */ jsx(Section, { id, className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsxs(Grid.Row, { rowGap: "3rem", children: [
32
+ /* @__PURE__ */ jsx(Grid, { sm: 6, justifyContent: "center", children: /* @__PURE__ */ jsxs(Flex.Col, { children: [
33
+ item.title && /* @__PURE__ */ jsx(Text, { size: "3", marginBottom: "3rem", children: item.title }),
34
+ item.list && item.list.map((item2, i) => /* @__PURE__ */ jsxs(Flex.Row, { padding: "2rem 0", borderBottom: "2px solid var(--color-neutral-900)", children: [
35
+ /* @__PURE__ */ jsx(Text, { flexBasis: "20%", dangerouslySetInnerHTML: { __html: item2.title } }),
36
+ /* @__PURE__ */ jsx(Text, { dangerouslySetInnerHTML: { __html: item2.abstract } })
37
+ ] }, i))
38
+ ] }) }),
39
+ /* @__PURE__ */ jsxs(Grid, { sm: 6, alignItems: "center", justifyContent: "center", gap: "2rem", children: [
40
+ /* @__PURE__ */ jsx(Box, { width: "100%", maxWidth: "300px", children: /* @__PURE__ */ jsx(Media, { aspectRatio: 1, item: item.medias }) }),
41
+ /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Vedi tutti i colori" })
42
+ ] })
43
+ ] }) }) });
44
+ };
45
+ var ProductsDetailSizeColorExport = {
46
+ "products-detail-size-color": dynamic(() => Promise.resolve().then(() => require_products_detail_size_color()).then(
47
+ (module) => ({ default: module.ProductsDetailSizeColor })
48
+ ))
49
+ };
50
+
51
+ export {
52
+ ProductsDetailSizeColor,
53
+ ProductsDetailSizeColorExport
54
+ };
@@ -0,0 +1,31 @@
1
+ import {
2
+ Box
3
+ } from "./chunk-W346ZVLC.mjs";
4
+ import {
5
+ Container,
6
+ Section,
7
+ Text
8
+ } from "./chunk-2NOCZCBX.mjs";
9
+ import {
10
+ __toESM,
11
+ require_dynamic
12
+ } from "./chunk-4GP5DTTM.mjs";
13
+
14
+ // src/lazy/text-text-1/text-text-1.tsx
15
+ var import_dynamic = __toESM(require_dynamic());
16
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
17
+ import { jsx } from "react/jsx-runtime";
18
+ var TextText1 = ({ item }) => {
19
+ const classNames = getClassNames(item.schema);
20
+ return /* @__PURE__ */ jsx(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsx(Box, { columnCount: 1, columnCountSm: 2, columnGap: "var(--grid-column-gap)", children: item.description && /* @__PURE__ */ jsx(Text, { size: "8", lineHeight: "2", dangerouslySetInnerHTML: { __html: item.description } }) }) }) });
21
+ };
22
+ var TextText1Export = {
23
+ "text-text-1": (0, import_dynamic.default)(() => Promise.resolve().then(() => require_text_text_1()).then(
24
+ (module) => module.TextText1
25
+ ))
26
+ };
27
+
28
+ export {
29
+ TextText1,
30
+ TextText1Export
31
+ };
@@ -0,0 +1,84 @@
1
+ import {
2
+ Card
3
+ } from "./chunk-LEHIZSHR.mjs";
4
+ import {
5
+ Flex
6
+ } from "./chunk-OAAW3SV6.mjs";
7
+ import {
8
+ Button
9
+ } from "./chunk-A7SAZJPB.mjs";
10
+ import {
11
+ Grid
12
+ } from "./chunk-6HX6MNJA.mjs";
13
+ import {
14
+ Media
15
+ } from "./chunk-GNG6WR62.mjs";
16
+ import {
17
+ Container,
18
+ Section,
19
+ Text
20
+ } from "./chunk-GGXSEAD2.mjs";
21
+ import {
22
+ __objRest,
23
+ __spreadProps,
24
+ __spreadValues
25
+ } from "./chunk-B5WDQW62.mjs";
26
+
27
+ // src/lazy/related-1/related-1.tsx
28
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
29
+ import dynamic from "next/dynamic";
30
+
31
+ // src/lazy/related-1/related-1-card.tsx
32
+ import Link from "next/link";
33
+ import styled from "styled-components";
34
+ import { jsx, jsxs } from "react/jsx-runtime";
35
+ var StyledCard = styled(Card)`
36
+ .media{
37
+ .image {
38
+ position: absolute;
39
+ top: 0;
40
+ right: 0;
41
+ bottom: 0;
42
+ left: 0;
43
+ object-fit: cover;
44
+
45
+ &:not(:first-child) {
46
+ opacity: 0!important;
47
+ }
48
+ }
49
+ }
50
+ &:hover {
51
+ .media {
52
+ .image:nth-child(2) {
53
+ opacity: 1!important;
54
+ }
55
+ }
56
+ }
57
+ `;
58
+ var Related1Card = (_a) => {
59
+ var _b = _a, { item } = _b, props = __objRest(_b, ["item"]);
60
+ return /* @__PURE__ */ jsxs(StyledCard, __spreadProps(__spreadValues({}, props), { hoverable: true, children: [
61
+ /* @__PURE__ */ jsx(Link, { href: item.href, passHref: true, children: /* @__PURE__ */ jsx(Media, { as: "a", aspectRatio: 880 / 550, borderRadius: "0.4rem", marginBottom: "1.5rem", item: item.media }) }),
62
+ /* @__PURE__ */ jsx(Card.Content, { children: /* @__PURE__ */ jsx(Flex.Row, { justifyContent: "space-between", children: /* @__PURE__ */ jsx(Button, { variant: "nav", children: /* @__PURE__ */ jsx(Text, { size: "6", dangerouslySetInnerHTML: { __html: item.title || "untitled" } }) }) }) })
63
+ ] }));
64
+ };
65
+
66
+ // src/lazy/related-1/related-1.tsx
67
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
68
+ var Related1 = ({ item }) => {
69
+ const classNames = getClassNames(item.schema);
70
+ return /* @__PURE__ */ jsx2(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsxs2(Container, { children: [
71
+ item.title && /* @__PURE__ */ jsx2(Text, { size: "3", textAlign: "center", marginBottom: "4rem", dangerouslySetInnerHTML: { __html: item.title } }),
72
+ /* @__PURE__ */ jsx2(Grid.Row, { rowGap: "3rem", children: item.items && item.items.map((related, r) => /* @__PURE__ */ jsx2(Grid, { sm: 6, justifyContent: "center", children: /* @__PURE__ */ jsx2(Related1Card, { item: related }) }, r)) })
73
+ ] }) });
74
+ };
75
+ var Related1Export = {
76
+ "related-1": dynamic(() => Promise.resolve().then(() => require_related_1()).then(
77
+ (module) => module.Related1
78
+ ))
79
+ };
80
+
81
+ export {
82
+ Related1,
83
+ Related1Export
84
+ };
@@ -0,0 +1,51 @@
1
+ import {
2
+ Box
3
+ } from "./chunk-6RQBZFNK.mjs";
4
+ import {
5
+ Flex
6
+ } from "./chunk-OAAW3SV6.mjs";
7
+ import {
8
+ Button
9
+ } from "./chunk-A7SAZJPB.mjs";
10
+ import {
11
+ Grid
12
+ } from "./chunk-PFPUP4FL.mjs";
13
+ import {
14
+ Media
15
+ } from "./chunk-GNG6WR62.mjs";
16
+ import {
17
+ Container,
18
+ Section,
19
+ Text
20
+ } from "./chunk-GGXSEAD2.mjs";
21
+
22
+ // src/lazy/sizes-colors-1/sizes-colors-1.tsx
23
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
24
+ import dynamic from "next/dynamic";
25
+ import { jsx, jsxs } from "react/jsx-runtime";
26
+ var SizesColors1 = ({ item }) => {
27
+ const classNames = getClassNames(item.schema);
28
+ return /* @__PURE__ */ jsx(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsxs(Grid.Row, { rowGap: "3rem", children: [
29
+ /* @__PURE__ */ jsx(Grid, { sm: 6, justifyContent: "center", children: /* @__PURE__ */ jsxs(Flex.Col, { children: [
30
+ item.title && /* @__PURE__ */ jsx(Text, { size: "3", marginBottom: "3rem", children: item.title }),
31
+ item.list.map((item2, i) => /* @__PURE__ */ jsxs(Flex.Row, { padding: "2rem 0", borderBottom: "2px solid var(--color-neutral-900)", children: [
32
+ /* @__PURE__ */ jsx(Text, { flexBasis: "20%", dangerouslySetInnerHTML: { __html: item2.title } }),
33
+ /* @__PURE__ */ jsx(Text, { dangerouslySetInnerHTML: { __html: item2.abstract } })
34
+ ] }, i))
35
+ ] }) }),
36
+ /* @__PURE__ */ jsxs(Grid, { sm: 6, alignItems: "center", justifyContent: "center", gap: "2rem", children: [
37
+ /* @__PURE__ */ jsx(Box, { width: "100%", maxWidth: "300px", children: /* @__PURE__ */ jsx(Media, { aspectRatio: 1, item: item.medias }) }),
38
+ /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Vedi tutti i colori" })
39
+ ] })
40
+ ] }) }) });
41
+ };
42
+ var SizesColors1Export = {
43
+ "sizes-colors-1": dynamic(() => Promise.resolve().then(() => require_sizes_colors_1()).then(
44
+ (module) => module.SizesColors1
45
+ ))
46
+ };
47
+
48
+ export {
49
+ SizesColors1,
50
+ SizesColors1Export
51
+ };
@@ -0,0 +1,40 @@
1
+ import {
2
+ Flex
3
+ } from "./chunk-QXUK3J2W.mjs";
4
+ import {
5
+ Grid
6
+ } from "./chunk-LSXKWZBB.mjs";
7
+ import {
8
+ Container,
9
+ Section,
10
+ Text
11
+ } from "./chunk-2NOCZCBX.mjs";
12
+ import {
13
+ __toESM,
14
+ require_dynamic
15
+ } from "./chunk-4GP5DTTM.mjs";
16
+
17
+ // src/lazy/text-aside-1/text-aside-1.tsx
18
+ var import_dynamic = __toESM(require_dynamic());
19
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
20
+ import { jsx, jsxs } from "react/jsx-runtime";
21
+ var TextAside1 = ({ item }) => {
22
+ const classNames = getClassNames(item.schema);
23
+ return /* @__PURE__ */ jsx(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsxs(Grid.Row, { rowGap: "3rem", children: [
24
+ /* @__PURE__ */ jsx(Grid, { sm: 8, children: /* @__PURE__ */ jsx(Text, { size: "8", lineHeight: "2", dangerouslySetInnerHTML: { __html: item.description } }) }),
25
+ /* @__PURE__ */ jsx(Grid, { sm: 4, children: /* @__PURE__ */ jsx(Flex.Col, { gap: "3rem", children: item.aside.map((aside, a) => /* @__PURE__ */ jsxs(Flex.Col, { gap: "1rem", children: [
26
+ /* @__PURE__ */ jsx(Text, { size: "6", children: aside.title }),
27
+ /* @__PURE__ */ jsx(Flex.Col, { gap: "0.5rem", children: aside.items.map((text, t) => /* @__PURE__ */ jsx(Text, { size: "8", children: text }, t)) })
28
+ ] }, a)) }) })
29
+ ] }) }) });
30
+ };
31
+ var TextAside1Export = {
32
+ "text-aside-1": (0, import_dynamic.default)(() => Promise.resolve().then(() => require_text_aside_1()).then(
33
+ (module) => module.TextAside1
34
+ ))
35
+ };
36
+
37
+ export {
38
+ TextAside1,
39
+ TextAside1Export
40
+ };