@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,37 @@
1
+ import {
2
+ Grid
3
+ } from "./chunk-LSXKWZBB.mjs";
4
+ import {
5
+ Media
6
+ } from "./chunk-TNJCCH5V.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/media-media-1/media-media-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 MediaMedia1 = ({ item }) => {
22
+ const classNames = getClassNames(item.schema);
23
+ return /* @__PURE__ */ jsx(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container.Fluid, { children: /* @__PURE__ */ jsx(Grid.Row, { rowGap: "3rem", children: item.medias.map((media, i) => /* @__PURE__ */ jsxs(Grid, { sm: 6, justifyContent: "center", children: [
24
+ /* @__PURE__ */ jsx(Media, { item: media }),
25
+ media.alt && /* @__PURE__ */ jsx(Text, { size: "8", marginTop: "1rem", children: media.alt })
26
+ ] }, i)) }) }) });
27
+ };
28
+ var MediaMedia1Export = {
29
+ "media-media-1": (0, import_dynamic.default)(() => Promise.resolve().then(() => require_media_media_1()).then(
30
+ (module) => module.MediaMedia1
31
+ ))
32
+ };
33
+
34
+ export {
35
+ MediaMedia1,
36
+ MediaMedia1Export
37
+ };
@@ -0,0 +1,82 @@
1
+ import {
2
+ Card
3
+ } from "./chunk-ZBPDMEV4.mjs";
4
+ import {
5
+ require_link
6
+ } from "./chunk-DBOW5IIN.mjs";
7
+ import {
8
+ Button
9
+ } from "./chunk-VTNTTQXM.mjs";
10
+ import {
11
+ Media
12
+ } from "./chunk-TNJCCH5V.mjs";
13
+ import {
14
+ Container,
15
+ Section,
16
+ Text
17
+ } from "./chunk-2NOCZCBX.mjs";
18
+ import {
19
+ __objRest,
20
+ __spreadProps,
21
+ __spreadValues,
22
+ __toESM,
23
+ require_dynamic
24
+ } from "./chunk-4GP5DTTM.mjs";
25
+
26
+ // src/lazy/carousel-1/carousel-1.tsx
27
+ var import_dynamic = __toESM(require_dynamic());
28
+ var import_link = __toESM(require_link());
29
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
30
+ import styled from "styled-components";
31
+ import { Swiper, SwiperSlide } from "swiper/react";
32
+ import { jsx, jsxs } from "react/jsx-runtime";
33
+ var StyledSection = styled(Section)`
34
+ .swiper-slide {
35
+ width: 60vw;
36
+ overflow: hidden;
37
+ }
38
+ `;
39
+ var StyledCard = styled(Card)`
40
+ .media>.image {
41
+ transform: scale(1.1);
42
+ transition: all ease-in-out 350ms 200ms;
43
+ }
44
+ .button {
45
+ opacity: 0;
46
+ transform: translateY(30%);
47
+ }
48
+ .button {
49
+ transition: all ease-out 350ms 200ms;
50
+ }
51
+ .swiper-slide-active & {
52
+ .media>.image {
53
+ transform: scale(1);
54
+ }
55
+ .button {
56
+ opacity: 1;
57
+ transform: translateY(0);
58
+ }
59
+ }
60
+ `;
61
+ var Carousel1 = (_a) => {
62
+ var _b = _a, { item } = _b, props = __objRest(_b, ["item"]);
63
+ const items = item.items;
64
+ const classNames = getClassNames(item.schema);
65
+ return /* @__PURE__ */ jsxs(StyledSection, { className: classNames, padding: "7rem 0", children: [
66
+ /* @__PURE__ */ jsx(Container, { textAlign: "center", children: item.title && /* @__PURE__ */ jsx(Text, { size: "2", marginBottom: "4rem", children: item.title }) }),
67
+ items && /* @__PURE__ */ jsx(Swiper, __spreadProps(__spreadValues({}, props), { spaceBetween: 60, slidesPerView: "auto", centeredSlides: true, style: { width: "100%" }, children: items.map((item2, i) => /* @__PURE__ */ jsx(SwiperSlide, { virtualIndex: i, style: { width: "60vw" }, children: /* @__PURE__ */ jsxs(StyledCard, { width: "60vw", hoverable: true, children: [
68
+ /* @__PURE__ */ jsx(import_link.default, { href: item2.href, passHref: true, children: /* @__PURE__ */ jsx(Media, { as: "a", aspectRatio: 16 / 9, item: item2.media }) }),
69
+ item2.title && /* @__PURE__ */ jsx(Card.Content, { children: /* @__PURE__ */ jsx(Button, { variant: "nav", children: /* @__PURE__ */ jsx(Text, { size: "8", marginTop: "1rem", dangerouslySetInnerHTML: { __html: item2.title } }) }) })
70
+ ] }) }, i)) }))
71
+ ] });
72
+ };
73
+ var Carousel1Export = {
74
+ "carousel-1": (0, import_dynamic.default)(() => Promise.resolve().then(() => require_carousel_1()).then(
75
+ (module) => module.Carousel1
76
+ ))
77
+ };
78
+
79
+ export {
80
+ Carousel1,
81
+ Carousel1Export
82
+ };
@@ -0,0 +1,29 @@
1
+ import {
2
+ Container,
3
+ Section,
4
+ Text
5
+ } from "./chunk-GGXSEAD2.mjs";
6
+
7
+ // src/lazy/not-found/not-found.tsx
8
+ import dynamic from "next/dynamic";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ var NotFound = ({ item }) => {
11
+ return /* @__PURE__ */ jsx(Section, { borderBottom: "1px solid var(--color-neutral-300)", children: /* @__PURE__ */ jsxs(Container, { textAlign: "center", children: [
12
+ /* @__PURE__ */ jsxs(Text, { size: "5", marginBottom: "1rem", children: [
13
+ "not found ",
14
+ item.schema
15
+ ] }),
16
+ item.title && /* @__PURE__ */ jsx(Text, { size: "3", marginBottom: "1rem", children: item.title }),
17
+ /* @__PURE__ */ jsx("code", { children: JSON.stringify(item, null, 2) })
18
+ ] }) });
19
+ };
20
+ var NotFoundExport = {
21
+ "not-found": dynamic(() => Promise.resolve().then(() => require_not_found()).then(
22
+ (module) => module.NotFound
23
+ ))
24
+ };
25
+
26
+ export {
27
+ NotFound,
28
+ NotFoundExport
29
+ };
@@ -0,0 +1,33 @@
1
+ import {
2
+ Grid
3
+ } from "./chunk-PFPUP4FL.mjs";
4
+ import {
5
+ Media
6
+ } from "./chunk-GNG6WR62.mjs";
7
+ import {
8
+ Container,
9
+ Section,
10
+ Text
11
+ } from "./chunk-GGXSEAD2.mjs";
12
+
13
+ // src/lazy/media-media-1/media-media-1.tsx
14
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
15
+ import dynamic from "next/dynamic";
16
+ import { jsx, jsxs } from "react/jsx-runtime";
17
+ var MediaMedia1 = ({ item }) => {
18
+ const classNames = getClassNames(item.schema);
19
+ return /* @__PURE__ */ jsx(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container.Fluid, { children: /* @__PURE__ */ jsx(Grid.Row, { rowGap: "3rem", children: item.medias.map((media, i) => /* @__PURE__ */ jsxs(Grid, { sm: 6, justifyContent: "center", children: [
20
+ /* @__PURE__ */ jsx(Media, { item: media }),
21
+ media.alt && /* @__PURE__ */ jsx(Text, { size: "8", marginTop: "1rem", children: media.alt })
22
+ ] }, i)) }) }) });
23
+ };
24
+ var MediaMedia1Export = {
25
+ "media-media-1": dynamic(() => Promise.resolve().then(() => require_media_media_1()).then(
26
+ (module) => module.MediaMedia1
27
+ ))
28
+ };
29
+
30
+ export {
31
+ MediaMedia1,
32
+ MediaMedia1Export
33
+ };
@@ -0,0 +1,22 @@
1
+ import {
2
+ Media
3
+ } from "./chunk-GNG6WR62.mjs";
4
+
5
+ // src/lazy/media-full-1/media-full-1.tsx
6
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
7
+ import dynamic from "next/dynamic";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var MediaFull1 = ({ item }) => {
10
+ const classNames = getClassNames("media", item.schema);
11
+ return /* @__PURE__ */ jsx(Media, { className: classNames, aspectRatio: 16 / 10, item: item.media });
12
+ };
13
+ var MediaFull1Export = {
14
+ "media-full-1": dynamic(() => Promise.resolve().then(() => require_media_full_1()).then(
15
+ (module) => module.MediaFull1
16
+ ))
17
+ };
18
+
19
+ export {
20
+ MediaFull1,
21
+ MediaFull1Export
22
+ };
@@ -0,0 +1,44 @@
1
+ import {
2
+ NavLink
3
+ } from "./chunk-UGZQFVRQ.mjs";
4
+ import {
5
+ Flex
6
+ } from "./chunk-OAAW3SV6.mjs";
7
+ import {
8
+ Button
9
+ } from "./chunk-A7SAZJPB.mjs";
10
+ import {
11
+ Container,
12
+ Section,
13
+ Text
14
+ } from "./chunk-GGXSEAD2.mjs";
15
+
16
+ // src/lazy/download-1/download-1.tsx
17
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
18
+ import { Lock } from "@websolutespa/bom-mixer-icons";
19
+ import dynamic from "next/dynamic";
20
+ import { jsx, jsxs } from "react/jsx-runtime";
21
+ var Download1 = ({ item }) => {
22
+ const classNames = getClassNames(item.schema);
23
+ return /* @__PURE__ */ jsx(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsxs(Flex.Col, { children: [
24
+ item.title && /* @__PURE__ */ jsx(Text, { size: "3", marginBottom: "3rem", textAlign: "center", children: item.title }),
25
+ item.links && item.links.map((link, l) => /* @__PURE__ */ jsx(NavLink, { href: link.href, passHref: true, children: /* @__PURE__ */ jsx(Button, { as: "a", variant: "secondary", children: /* @__PURE__ */ jsxs(Flex.Row, { width: "100%", children: [
26
+ link.secure && /* @__PURE__ */ jsx(Lock, {}),
27
+ /* @__PURE__ */ jsx(Text, { flexGrow: 1, children: link.title }),
28
+ /* @__PURE__ */ jsxs(Text, { flexBasis: "20%", children: [
29
+ "Download ",
30
+ link.type
31
+ ] })
32
+ ] }) }) }, l))
33
+ ] }) }) });
34
+ };
35
+ var Download1Export = {
36
+ "download-1": dynamic(() => Promise.resolve().then(() => require_download_1()).then(
37
+ (module) => module.Download1
38
+ ))
39
+ };
40
+
41
+ export {
42
+ Download1,
43
+ Download1Export
44
+ };
@@ -0,0 +1,33 @@
1
+ import {
2
+ Grid
3
+ } from "./chunk-6HX6MNJA.mjs";
4
+ import {
5
+ Media
6
+ } from "./chunk-GNG6WR62.mjs";
7
+ import {
8
+ Container,
9
+ Section,
10
+ Text
11
+ } from "./chunk-GGXSEAD2.mjs";
12
+
13
+ // src/lazy/media-media-1/media-media-1.tsx
14
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
15
+ import dynamic from "next/dynamic";
16
+ import { jsx, jsxs } from "react/jsx-runtime";
17
+ var MediaMedia1 = ({ item }) => {
18
+ const classNames = getClassNames(item.schema);
19
+ return /* @__PURE__ */ jsx(Section, { className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container.Fluid, { children: /* @__PURE__ */ jsx(Grid.Row, { rowGap: "3rem", children: item.medias.map((media, i) => /* @__PURE__ */ jsxs(Grid, { sm: 6, justifyContent: "center", children: [
20
+ /* @__PURE__ */ jsx(Media, { item: media }),
21
+ media.alt && /* @__PURE__ */ jsx(Text, { size: "8", marginTop: "1rem", children: media.alt })
22
+ ] }, i)) }) }) });
23
+ };
24
+ var MediaMedia1Export = {
25
+ "media-media-1": dynamic(() => Promise.resolve().then(() => require_media_media_1()).then(
26
+ (module) => module.MediaMedia1
27
+ ))
28
+ };
29
+
30
+ export {
31
+ MediaMedia1,
32
+ MediaMedia1Export
33
+ };
@@ -0,0 +1,27 @@
1
+ import {
2
+ Box
3
+ } from "./chunk-6RQBZFNK.mjs";
4
+ import {
5
+ Container,
6
+ Section,
7
+ Text
8
+ } from "./chunk-GGXSEAD2.mjs";
9
+
10
+ // src/lazy/text-1/text-1.tsx
11
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
12
+ import dynamic from "next/dynamic";
13
+ import { jsx } from "react/jsx-runtime";
14
+ var Text1 = ({ item }) => {
15
+ const classNames = getClassNames(item.schema);
16
+ 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 } }) }) }) });
17
+ };
18
+ var Text1Export = {
19
+ "text-1": dynamic(() => Promise.resolve().then(() => require_text_1()).then(
20
+ (module) => module.Text1
21
+ ))
22
+ };
23
+
24
+ export {
25
+ Text1,
26
+ Text1Export
27
+ };
@@ -0,0 +1,199 @@
1
+ import {
2
+ __objRest,
3
+ __spreadProps,
4
+ __spreadValues,
5
+ getCssResponsive
6
+ } from "./chunk-B5WDQW62.mjs";
7
+
8
+ // src/components/flex/flex-row.tsx
9
+ import styled from "styled-components";
10
+ var FlexRow = styled.div`
11
+ display: flex;
12
+ align-items: center;
13
+ // width: 100%;
14
+ // flex-wrap: wrap;
15
+ // margin: 0 auto;
16
+ gap: 0.5rem;
17
+ ${(props) => getCssResponsive(props)}
18
+ `;
19
+
20
+ // src/components/flex/flex.tsx
21
+ import { withSchema } from "@websolutespa/bom-mixer-core";
22
+ import styled5 from "styled-components";
23
+
24
+ // src/components/flex/flex-col.tsx
25
+ import styled2 from "styled-components";
26
+ var FlexCol = styled2.div`
27
+ display: flex;
28
+ flex-direction: column;
29
+ width: 100%;
30
+ // margin: 0 auto;
31
+ ${(props) => getCssResponsive(props)}
32
+ `;
33
+
34
+ // src/components/flex/flex-flow.tsx
35
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
36
+ import React, { forwardRef, useEffect, useImperativeHandle } from "react";
37
+ import styled3, { css } from "styled-components";
38
+ import { jsx } from "react/jsx-runtime";
39
+ function getFlexColumn(columns = 2) {
40
+ const cols = parseInt(columns.toString());
41
+ if (cols === 1) {
42
+ return "width: 100%;";
43
+ }
44
+ const calc = `calc(${100 / cols}% - (var(--grid-column-gap) * ${cols - 1} / ${cols}))`;
45
+ return `
46
+ flex: 1 0 ${calc};
47
+ max-width: ${calc};
48
+ `;
49
+ }
50
+ function getCssResponsiveColumn(props, defaultValue = {}) {
51
+ props = __spreadValues(__spreadValues({}, defaultValue), props);
52
+ const columnsProps = ["columns", "columnsSm", "columnsMd", "columnsLg", "columnsXl"];
53
+ let rules = "";
54
+ for (const [key, value] of Object.entries(props)) {
55
+ const rule = key.replace(/(.+?)(Sm|Md|Lg|Xl)?$/, function(m, g1, g2) {
56
+ const prop = g1;
57
+ if (columnsProps.includes(key)) {
58
+ const rule2 = getFlexColumn(value);
59
+ if (g2) {
60
+ const size = g2.toLowerCase();
61
+ return `@media(min-width: ${props.theme.mediaQuery[size]}px) {
62
+ ${rule2}
63
+ }`;
64
+ } else {
65
+ return rule2;
66
+ }
67
+ } else {
68
+ return "";
69
+ }
70
+ });
71
+ rules += rule + "\n";
72
+ }
73
+ return rules;
74
+ }
75
+ var StyledFlexFlow = styled3.div`
76
+ display: flex;
77
+ flex-direction: row;
78
+ flex-wrap: wrap;
79
+ align-items: flex-start;
80
+ gap: var(--grid-column-gap);
81
+ ${(props) => css`
82
+ &>div {
83
+ position: relative;
84
+ ${getCssResponsiveColumn(props)}
85
+ }
86
+ ${getCssResponsive(props)}
87
+ `}
88
+ `;
89
+ var FlexFlow = forwardRef((_a, ref) => {
90
+ var _b = _a, { children, className, as = "div" } = _b, props = __objRest(_b, ["children", "className", "as"]);
91
+ const innerRef = React.createRef();
92
+ useImperativeHandle(ref, () => innerRef.current);
93
+ useEffect(() => {
94
+ if (!(window && window.addEventListener)) {
95
+ return;
96
+ }
97
+ if (!innerRef.current) {
98
+ return;
99
+ }
100
+ const element = innerRef.current;
101
+ const imagesLoaded = Array.from(element.querySelectorAll("img"));
102
+ if (imagesLoaded.length === 0) {
103
+ return;
104
+ }
105
+ imagesLoaded.forEach((image) => {
106
+ image.addEventListener("load", () => reposChildElements(element), {
107
+ once: true
108
+ });
109
+ image.addEventListener("error", () => reposChildElements(element), {
110
+ once: true
111
+ });
112
+ });
113
+ reposChildElements(element);
114
+ const onResize = () => {
115
+ reposChildElements(element);
116
+ };
117
+ window.addEventListener("resize", onResize);
118
+ return () => {
119
+ window.removeEventListener("resize", onResize);
120
+ };
121
+ }, [children]);
122
+ const classNames = getClassNames("flex-flow", className);
123
+ return /* @__PURE__ */ jsx(StyledFlexFlow, __spreadProps(__spreadValues({ className: classNames, ref: innerRef, as }, props), { children }));
124
+ });
125
+ FlexFlow.displayName = "FlexFlow";
126
+ function reposChildElements(node) {
127
+ node.style.height = "";
128
+ const nodeRect = node.getBoundingClientRect();
129
+ const items = Array.prototype.slice.call(node.children);
130
+ items.forEach((x) => x.style.top = null);
131
+ const itemStyles = items.map((item) => getComputedStyle(item));
132
+ let itemRect = items[0].getBoundingClientRect();
133
+ let itemStyle = itemStyles[0];
134
+ const itemOuterWidth = itemRect.width + parseFloat(itemStyle.marginLeft) + parseFloat(itemStyle.marginRight);
135
+ const cols = Math.round(1 / (itemOuterWidth / nodeRect.width));
136
+ const heights = {};
137
+ items.forEach((item, i) => {
138
+ itemRect = item.getBoundingClientRect();
139
+ itemStyle = itemStyles[i];
140
+ const c = i % cols;
141
+ if (typeof heights[c] == "undefined") {
142
+ heights[c] = 0;
143
+ }
144
+ heights[c] += itemRect.height + parseFloat(itemStyle.marginBottom);
145
+ if (i - cols >= 0) {
146
+ const previousIndex = i - cols;
147
+ const previousItem = items[previousIndex];
148
+ const previousRect = previousItem.getBoundingClientRect();
149
+ const previousBottom = previousRect.bottom;
150
+ const top = itemRect.top - parseFloat(itemStyle.marginBottom);
151
+ item.style.top = `-${top - previousBottom}px`;
152
+ }
153
+ });
154
+ const maxHeight = Math.max(...Object.values(heights));
155
+ node.style.height = `${maxHeight}px`;
156
+ }
157
+
158
+ // src/components/flex/flex-responsive.tsx
159
+ import styled4 from "styled-components";
160
+ var FlexResponsive = styled4.div`
161
+ display: flex;
162
+ width: 100%;
163
+ margin: 0 auto;
164
+ gap: 0.5rem;
165
+
166
+ @media (max-width: 399.9px) {
167
+ flex-direction: column;
168
+ justify-content: stretch;
169
+ }
170
+
171
+ @media (min-width: 400px) {
172
+ flex-direction: row;
173
+ align-items: center;
174
+ flex-wrap: wrap;
175
+ }
176
+
177
+ ${(props) => getCssResponsive(props)}
178
+ `;
179
+
180
+ // src/components/flex/flex.tsx
181
+ var FlexBase = styled5.div`
182
+ display: flex;
183
+ // flex-direction: column;
184
+ // justify-content: center;
185
+ align-items: center;
186
+ ${(props) => getCssResponsive(props)}
187
+ `;
188
+ var Flex = withSchema(FlexBase, {
189
+ Row: FlexRow,
190
+ Col: FlexCol,
191
+ Responsive: FlexResponsive,
192
+ Flow: FlexFlow,
193
+ displayName: "Flex"
194
+ });
195
+
196
+ export {
197
+ FlexRow,
198
+ Flex
199
+ };
@@ -0,0 +1,58 @@
1
+ import {
2
+ Box
3
+ } from "./chunk-W346ZVLC.mjs";
4
+ import {
5
+ Flex
6
+ } from "./chunk-QXUK3J2W.mjs";
7
+ import {
8
+ Button
9
+ } from "./chunk-VTNTTQXM.mjs";
10
+ import {
11
+ Grid
12
+ } from "./chunk-LSXKWZBB.mjs";
13
+ import {
14
+ Media
15
+ } from "./chunk-TNJCCH5V.mjs";
16
+ import {
17
+ Container,
18
+ Section,
19
+ Text
20
+ } from "./chunk-2NOCZCBX.mjs";
21
+ import {
22
+ __toESM,
23
+ require_dynamic
24
+ } from "./chunk-4GP5DTTM.mjs";
25
+
26
+ // src/sections/products-detail-size-color/products-detail-size-color.tsx
27
+ var import_dynamic = __toESM(require_dynamic());
28
+ import { getClassNames } from "@websolutespa/bom-mixer-core";
29
+ import { jsx, jsxs } from "react/jsx-runtime";
30
+ var ProductsDetailSizeColor = ({ id, item }) => {
31
+ const classNames = getClassNames(item.schema);
32
+ if (!item) {
33
+ return null;
34
+ }
35
+ return /* @__PURE__ */ jsx(Section, { id, className: classNames, padding: "6rem 0", children: /* @__PURE__ */ jsx(Container, { children: /* @__PURE__ */ jsxs(Grid.Row, { rowGap: "3rem", children: [
36
+ /* @__PURE__ */ jsx(Grid, { sm: 6, justifyContent: "center", children: /* @__PURE__ */ jsxs(Flex.Col, { children: [
37
+ item.title && /* @__PURE__ */ jsx(Text, { size: "3", marginBottom: "3rem", children: item.title }),
38
+ item.list && item.list.map((item2, i) => /* @__PURE__ */ jsxs(Flex.Row, { padding: "2rem 0", borderBottom: "2px solid var(--color-neutral-900)", children: [
39
+ /* @__PURE__ */ jsx(Text, { flexBasis: "20%", dangerouslySetInnerHTML: { __html: item2.title } }),
40
+ /* @__PURE__ */ jsx(Text, { dangerouslySetInnerHTML: { __html: item2.abstract } })
41
+ ] }, i))
42
+ ] }) }),
43
+ /* @__PURE__ */ jsxs(Grid, { sm: 6, alignItems: "center", justifyContent: "center", gap: "2rem", children: [
44
+ /* @__PURE__ */ jsx(Box, { width: "100%", maxWidth: "300px", children: /* @__PURE__ */ jsx(Media, { aspectRatio: 1, item: item.medias }) }),
45
+ /* @__PURE__ */ jsx(Button, { variant: "outline", children: "Vedi tutti i colori" })
46
+ ] })
47
+ ] }) }) });
48
+ };
49
+ var ProductsDetailSizeColorExport = {
50
+ "products-detail-size-color": (0, import_dynamic.default)(() => Promise.resolve().then(() => require_products_detail_size_color()).then(
51
+ (module) => ({ default: module.ProductsDetailSizeColor })
52
+ ))
53
+ };
54
+
55
+ export {
56
+ ProductsDetailSizeColor,
57
+ ProductsDetailSizeColorExport
58
+ };