@treely/strapi-slices 5.2.0 → 5.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import Head from 'next/head';
3
3
  import { Box, BoemlyModal, Flex, IconButton, useMediaQuery, DefaultSectionContainer, Wrapper, DefaultSectionHeader, Button, Gradient, Spacer, SimpleGrid, Heading, Text, useToken, Grid, GridItem, BoemlyList, PortfolioCard, RichText, BoemlyAccordion, HeroCard, Shape, QuoteCard, Center, ShapesCard, TextCardWithIcon, ContactArea, ProjectCard, Tag, Link as Link$1, DatePersonPair, BoemlyThemeProvider, Badge, useDisclosure, Container, AvatarWithName, Divider, LabelNumberPair, BoemlyFormControl, InputRightAddon, LabelTextPair } from 'boemly';
4
4
  import Image from 'next/image';
5
5
  import { useLockBodyScroll, useKey, useWindowScroll, useWindowSize, useMeasure, useCopyToClipboard } from 'react-use';
6
- import { CaretLeft, CaretRight, Globe, ArrowRight, MapPin, ArrowLeft, Check, Link as Link$2, FilePdf, DownloadSimple, X } from '@phosphor-icons/react';
6
+ import { CaretLeft, CaretRight, Globe, ArrowRight, ArrowLeft, MapPin, Check, Link as Link$2, FilePdf, DownloadSimple, X } from '@phosphor-icons/react';
7
7
  import Link from 'next/link';
8
8
  import { useDetectAdBlock } from 'adblock-detect-react';
9
9
  import { useRouter } from 'next/router';
@@ -1009,9 +1009,9 @@ var IconGrid = function IconGrid(_ref) {
1009
1009
  })), React.createElement(Spacer, {
1010
1010
  h: "20"
1011
1011
  })) : React.createElement(React.Fragment, null), React.createElement(SimpleGrid, {
1012
- columns: [1, null, null, 2],
1013
- gap: "32",
1014
- rowGap: ['16', null, null, '28']
1012
+ columns: [1, null, null, 2, 3],
1013
+ gap: "16",
1014
+ rowGap: ['16', null, null, '20']
1015
1015
  }, slice.iconsWithTextAndButton.map(function (iconWithTextAndButton) {
1016
1016
  return React.createElement(Box, {
1017
1017
  key: iconWithTextAndButton.id
@@ -1964,249 +1964,64 @@ var TextCardGrid = function TextCardGrid(_ref) {
1964
1964
  };
1965
1965
 
1966
1966
  var _templateObject$5, _templateObject2$2, _templateObject3$1;
1967
- var CarouselContainer = /*#__PURE__*/styled(Box)(_templateObject$5 || (_templateObject$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n overflow-x: scroll;\n\n margin-top: var(--boemly-space-6);\n padding: var(--boemly-space-8) 0;\n\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n @media screen and (max-width: ", ") {\n margin-top: var(--boemly-space-4);\n }\n"])), BREAKPOINT_MD);
1968
- var CarouselInnerContainer = /*#__PURE__*/styled(motion.div)(_templateObject2$2 || (_templateObject2$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n width: calc(\n (var(--boemly-sizes-sm) + var(--boemly-space-16)) *\n ", " +\n var(--boemly-space-16)\n );\n min-width: var(--boemly-sizes-full);\n\n @media screen and (max-width: ", ") {\n width: calc(\n (var(--boemly-sizes-xs) + var(--boemly-space-4)) *\n ", " +\n var(--boemly-space-6)\n );\n }\n"])), function (_ref) {
1967
+ var CarouselContainer = /*#__PURE__*/styled(Box)(_templateObject$5 || (_templateObject$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: var(--boemly-space-6);\n padding: var(--boemly-space-8) 0;\n\n @media screen and (max-width: ", ") {\n margin-top: var(--boemly-space-4);\n width: var(--boemly-size-full);\n }\n\n width: var(--boemly-size-full);\n\n overflow-x: hidden;\n\n @media screen and (max-width: ", ") {\n overflow-x: scroll;\n }\n"])), BREAKPOINT_MD, BREAKPOINT_MD);
1968
+ var CarouselInnerContainer = /*#__PURE__*/styled(motion.div)(_templateObject2$2 || (_templateObject2$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n width: calc(\n (var(--boemly-sizes-sm) + var(--boemly-space-16)) *\n ", " +\n var(--boemly-space-16)\n );\n min-width: var(--boemly-sizes-full);\n\n @media screen and (max-width: ", ") {\n justify-content: flex-start;\n width: calc(\n (var(--boemly-sizes-2xs) + var(--boemly-space-4)) *\n ", " +\n var(--boemly-space-6)\n );\n }\n"])), function (_ref) {
1969
1969
  var numberofitems = _ref.numberofitems;
1970
1970
  return numberofitems;
1971
1971
  }, BREAKPOINT_MD, function (_ref2) {
1972
1972
  var numberofitems = _ref2.numberofitems;
1973
1973
  return numberofitems;
1974
1974
  });
1975
- var CardContainer = /*#__PURE__*/styled(Box)(_templateObject3$1 || (_templateObject3$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: ", ";\n\n margin-right: var(--boemly-space-16);\n\n &:first-of-type {\n margin-left: var(--boemly-space-16);\n }\n\n @media screen and (max-width: ", ") {\n width: var(--boemly-sizes-xs);\n\n margin-right: var(--boemly-space-4);\n\n &:first-of-type {\n margin-left: var(--boemly-space-6);\n }\n }\n"])), function (_ref3) {
1975
+ var CardContainer = /*#__PURE__*/styled(Box)(_templateObject3$1 || (_templateObject3$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: ", ";\n\n margin-right: var(--boemly-space-6);\n\n &:first-of-type {\n margin-left: var(--boemly-space-6);\n }\n\n @media screen and (max-width: ", ") {\n width: var(--boemly-sizes-2xs);\n\n margin-right: var(--boemly-space-4);\n\n &:first-of-type {\n margin-left: var(--boemly-space-6);\n }\n }\n"])), function (_ref3) {
1976
1976
  var numberofitems = _ref3.numberofitems;
1977
1977
  return numberofitems === 3 ? 'var(--boemly-sizes-xl)' : 'var(--boemly-sizes-sm)';
1978
1978
  }, BREAKPOINT_MD);
1979
1979
 
1980
- var TextCarousel = function TextCarousel(_ref) {
1981
- var slice = _ref.slice;
1982
- var _useToken = useToken('colors', ['primary.50']),
1983
- primary50 = _useToken[0];
1984
- var containerRef = useRef(null);
1985
- return React.createElement(DefaultSectionContainer, {
1986
- backgroundColor: primary50,
1987
- title: slice.title
1988
- }, React.createElement(Wrapper, null, React.createElement(DefaultSectionHeader, {
1989
- tagline: slice.tagline,
1990
- title: slice.title,
1991
- text: slice.text,
1992
- taglineProps: {
1993
- textAlign: 'center'
1994
- },
1995
- titleProps: {
1996
- textAlign: 'center',
1997
- maxW: '6xl',
1998
- marginX: 'auto'
1999
- },
2000
- textProps: {
2001
- textAlign: 'center',
2002
- maxW: '2xl',
2003
- marginX: 'auto'
2004
- }
2005
- })), React.createElement(CarouselContainer, {
2006
- ref: containerRef
2007
- }, React.createElement(CarouselInnerContainer, {
2008
- drag: "x",
2009
- dragConstraints: containerRef,
2010
- numberofitems: slice.slides.length
2011
- }, slice.slides.map(function (_ref2) {
2012
- var id = _ref2.id,
2013
- title = _ref2.title,
2014
- text = _ref2.text,
2015
- icon = _ref2.icon;
2016
- return React.createElement(CardContainer, {
2017
- key: id,
2018
- numberofitems: slice.slides.length
2019
- }, React.createElement(TextCardWithIcon, {
2020
- title: title,
2021
- text: text,
2022
- icon: React.createElement(Image, {
2023
- src: strapiMediaUrl(icon.img, 'small'),
2024
- alt: icon.alt,
2025
- fill: true,
2026
- style: {
2027
- objectFit: icon.objectFit || 'contain'
2028
- }
2029
- }),
2030
- displayAs: "column"
2031
- }));
2032
- }))), React.createElement(React.Fragment, null, slice.button && React.createElement(Wrapper, null, React.createElement(Center, null, React.createElement(StrapiLinkButton, {
2033
- link: slice.button,
2034
- size: "xl",
2035
- mt: ['8', null, '14']
2036
- })))));
2037
- };
2038
-
2039
- var TextWithTextCards = function TextWithTextCards(_ref) {
2040
- var slice = _ref.slice;
2041
- var _useRouter = useRouter(),
2042
- push = _useRouter.push;
2043
- var _useToken = useToken('colors', ['white']),
2044
- white = _useToken[0];
2045
- var _useMediaQuery = useMediaQuery(BREAKPOINT_LG_QUERY),
2046
- belowBreakpoint = _useMediaQuery[0];
2047
- return React.createElement(DefaultSectionContainer, {
2048
- backgroundColor: white,
2049
- title: slice.title
2050
- }, React.createElement(React.Fragment, null, slice.shape && React.createElement(Box, {
2051
- position: "absolute",
2052
- right: ['-28', null, null, '-136'],
2053
- top: ['96', null, null, '-28'],
2054
- width: ['sm', null, null, '4xl'],
2055
- height: ['sm', null, null, '4xl'],
2056
- borderBottomRightRadius: "full"
2057
- }, React.createElement(Image, {
2058
- src: strapiMediaUrl(slice.shape.img, 'medium'),
2059
- alt: slice.shape.alt,
2060
- fill: true,
2061
- style: {
2062
- objectFit: slice.shape.objectFit || 'cover',
2063
- borderBottomRightRadius: 'var(--boemly-radii-full)'
2064
- }
2065
- }))), React.createElement(Wrapper, null, React.createElement(React.Fragment, null, React.createElement(Grid, {
2066
- templateColumns: ['repeat(8, 1fr)', null, null, null, 'repeat(16, 1fr)'],
2067
- templateRows: ['repeat(2, auto)', null, null, null, 'repeat(1, auto)'],
2068
- rowGap: "12"
2069
- }, React.createElement(GridItem, {
2070
- colSpan: [8, null, null, null, 9],
2071
- rowSpan: 1,
2072
- pr: ['0', null, null, null, '32']
2073
- }, React.createElement(DefaultSectionHeader, {
2074
- tagline: slice.tagline,
2075
- title: slice.title,
2076
- text: slice.text,
2077
- textProps: {
2078
- pr: ['0', null, null, null, '10']
2079
- }
2080
- }), slice.contact && !belowBreakpoint && React.createElement(ContactArea, {
2081
- title: slice.contact.title,
2082
- text: slice.contact.text,
2083
- avatar: {
2084
- name: slice.contact.avatar.name,
2085
- description: slice.contact.avatar.description,
2086
- image: React.createElement(Image, {
2087
- src: strapiMediaUrl(slice.contact.avatar.image.img, 'small'),
2088
- alt: slice.contact.avatar.image.alt,
2089
- fill: true,
2090
- style: {
2091
- objectFit: slice.contact.avatar.image.objectFit || 'cover'
2092
- }
2093
- })
2094
- },
2095
- link: {
2096
- text: slice.contact.button.text,
2097
- onClick: function onClick() {
2098
- var _slice$contact;
2099
- return push(strapiLinkUrl((_slice$contact = slice.contact) == null ? void 0 : _slice$contact.button));
2100
- }
2101
- }
2102
- })), React.createElement(GridItem, {
2103
- colSpan: [8, null, null, null, 7],
2104
- rowSpan: 1,
2105
- position: "relative"
2106
- }, slice.cards.map(function (card) {
2107
- return React.createElement(TextCardWithIcon, {
2108
- key: card.id,
2109
- title: card.title,
2110
- text: card.text,
2111
- icon: React.createElement(Image, {
2112
- src: strapiMediaUrl(card.icon.img, 'small'),
2113
- alt: card.icon.alt,
2114
- fill: true,
2115
- style: {
2116
- objectFit: card.icon.objectFit || 'contain'
2117
- }
2118
- })
2119
- });
2120
- }))), slice.contact && belowBreakpoint && React.createElement(ContactArea, {
2121
- title: slice.contact.title,
2122
- text: slice.contact.text,
2123
- avatar: {
2124
- name: slice.contact.avatar.name,
2125
- description: slice.contact.avatar.description,
2126
- image: React.createElement(Image, {
2127
- src: strapiMediaUrl(slice.contact.avatar.image.img, 'small'),
2128
- alt: slice.contact.avatar.image.alt,
2129
- fill: true,
2130
- style: {
2131
- objectFit: slice.contact.avatar.image.objectFit || 'cover'
2132
- }
2133
- })
2134
- },
2135
- link: {
2136
- text: slice.contact.button.text,
2137
- onClick: function onClick() {
2138
- var _slice$contact2;
2139
- return push(strapiLinkUrl((_slice$contact2 = slice.contact) == null ? void 0 : _slice$contact2.button));
2140
- }
2141
- }
2142
- }))));
2143
- };
2144
-
2145
- var CreditsAvailableState;
2146
- (function (CreditsAvailableState) {
2147
- CreditsAvailableState["YES"] = "yes";
2148
- CreditsAvailableState["SOME"] = "some";
2149
- CreditsAvailableState["NO"] = "no";
2150
- CreditsAvailableState["NOT_YET"] = "notYet";
2151
- })(CreditsAvailableState || (CreditsAvailableState = {}));
2152
- var CreditsAvailableState$1 = CreditsAvailableState;
2153
-
2154
- var FORMAT_AS_HECTARE_CONFIG = {
2155
- unit: 'hectare',
2156
- unitDisplay: 'short',
2157
- style: 'unit',
2158
- maximumFractionDigits: 2
2159
- };
2160
- var FORMAT_AS_PERCENT_CONFIG = {
2161
- style: 'percent',
2162
- maximumFractionDigits: 2
2163
- };
2164
-
2165
- var messagesDe$d = {
1980
+ var messagesDe$f = {
2166
1981
  'sections.comparison.backgroundShapes': 'Hintergrundformen'
2167
1982
  };
2168
1983
 
2169
- var messagesDe$c = {
1984
+ var messagesDe$e = {
2170
1985
  'components.creditsAvailableBadge.text.yes': 'Credits verfügbar',
2171
1986
  'components.creditsAvailableBadge.text.some': 'Einige verbleibende Credits',
2172
1987
  'components.creditsAvailableBadge.text.no': 'Keine verbleibenden Credits',
2173
1988
  'components.creditsAvailableBadge.text.notYet': 'Gutschriften bald verfügbar'
2174
1989
  };
2175
1990
 
2176
- var messagesDe$b = {
1991
+ var messagesDe$d = {
2177
1992
  'sections.cta.backgroundShapes': 'Dunkle Hintergrundformen',
2178
1993
  'sections.cta.backgroundShapesLight': 'Helle Hintergrundformen'
2179
1994
  };
2180
1995
 
2181
- var messagesDe$a = {
1996
+ var messagesDe$c = {
2182
1997
  'sections.customerCard.more': 'Weiterlesen'
2183
1998
  };
2184
1999
 
2185
- var messagesDe$9 = {
2000
+ var messagesDe$b = {
2186
2001
  'sections.customerQuoteCard.more': 'Weiterlesen'
2187
2002
  };
2188
2003
 
2189
- var messagesDe$8 = {
2004
+ var messagesDe$a = {
2190
2005
  'sections.glossary.copyButtonLabel': 'Kopiere den Link zu diesem Abschnitt in die Zwischenablage',
2191
2006
  'sections.glossary.copySuccessMessage': 'Link in die Zwischenablage kopiert',
2192
2007
  'sections.glossary.copyFailureMessage': 'Link konnte nicht in die Zwischenablage kopiert werden'
2193
2008
  };
2194
2009
 
2195
- var messagesDe$7 = {
2010
+ var messagesDe$9 = {
2196
2011
  'features.portfolio.documentsDownloadList.projectDocuments': 'Projektdokumente',
2197
2012
  'features.portfolio.documentsDownloadList.downloadDocument': 'Dokument herunterladen'
2198
2013
  };
2199
2014
 
2200
- var messagesDe$6 = {
2015
+ var messagesDe$8 = {
2201
2016
  'sections.projectFacts.projectInfo.value': 'Projekt Infos',
2202
2017
  'projects.projectFacts.properties.area': 'Fläche'
2203
2018
  };
2204
2019
 
2205
- var messagesDe$5 = {
2020
+ var messagesDe$7 = {
2206
2021
  'sections.projectsMap.link.text': 'Mehr Infos'
2207
2022
  };
2208
2023
 
2209
- var messagesDe$4 = {
2024
+ var messagesDe$6 = {
2210
2025
  'features.projectInfo.projectInfo.value': 'Projekt Infos',
2211
2026
  'features.projectInfo.properties.area': 'Projekt Fläche',
2212
2027
  'features.projectInfo.properties.location': 'Standort',
@@ -2221,14 +2036,14 @@ var messagesDe$4 = {
2221
2036
  'features.projectInfo.properties.year': '{years} {years, plural, one {Jahr} other {Jahre} }'
2222
2037
  };
2223
2038
 
2224
- var messagesDe$3 = {
2039
+ var messagesDe$5 = {
2225
2040
  'components.portfolioProjectCard.text.yes': 'Credits verfügbar',
2226
2041
  'components.portfolioProjectCard.text.some': 'Einige verbleibende Credits',
2227
2042
  'components.portfolioProjectCard.text.no': 'Keine verbleibenden Credits',
2228
2043
  'components.portfolioProjectCard.text.notYet': 'Gutschriften bald verfügbar'
2229
2044
  };
2230
2045
 
2231
- var messagesDe$2 = {
2046
+ var messagesDe$4 = {
2232
2047
  'portfolio.smallCheckout.contributionValueCurrency.label.CHF': 'Geben Sie den Beitrag in Fr. ein',
2233
2048
  'portfolio.smallCheckout.contributionValueCurrency.label.EUR': 'Geben Sie den Beitrag in € ein',
2234
2049
  'portfolio.smallCheckout.contributionValueCurrency.unit.EUR': '€',
@@ -2244,7 +2059,7 @@ var messagesDe$2 = {
2244
2059
  'portfolio.smallCheckout.cta.button': 'Unser Vertriebsteam kontaktieren'
2245
2060
  };
2246
2061
 
2247
- var messagesDe$1 = {
2062
+ var messagesDe$3 = {
2248
2063
  'sections.shopCheckout.intro.price': 'Preis',
2249
2064
  'sections.shopCheckout.contributionValue.label.EUR': 'Geben sie einen Betrag in € ein',
2250
2065
  'sections.shopCheckout.contributionValue.label.CHF': 'Geben sie einen Betrag in CHF ein',
@@ -2259,7 +2074,12 @@ var messagesDe$1 = {
2259
2074
  'sections.shopCheckout.submit': 'Kaufen'
2260
2075
  };
2261
2076
 
2262
- var messagesDe = {
2077
+ var messagesDe$2 = {
2078
+ 'sections.textCarousel.moveRight': 'Nach rechts bewegen',
2079
+ 'sections.textCarousel.moveLeft': 'Nach links bewegen'
2080
+ };
2081
+
2082
+ var messagesDe$1 = {
2263
2083
  'sections.timeline.backgroundShapes': 'Hintergrundformen',
2264
2084
  'sections.timeline.showMoreButton': 'Drei weitere Meilensteine anzeigen'
2265
2085
  };
@@ -2269,7 +2089,7 @@ var unitMessagesDe = {
2269
2089
  'unit.formatter.tonsCo2PerYear': '{number} tCO₂/Jahr'
2270
2090
  };
2271
2091
 
2272
- var rootMessagesDe = /*#__PURE__*/_extends({}, messagesDe$c, messagesDe$7, messagesDe$3, messagesDe$4, messagesDe$2, messagesDe$d, messagesDe$b, messagesDe$a, messagesDe$9, messagesDe$8, messagesDe$6, messagesDe$5, messagesDe$1, messagesDe, unitMessagesDe);
2092
+ var rootMessagesDe = /*#__PURE__*/_extends({}, messagesDe$e, messagesDe$9, messagesDe$5, messagesDe$6, messagesDe$4, messagesDe$f, messagesDe$d, messagesDe$c, messagesDe$b, messagesDe$a, messagesDe$8, messagesDe$7, messagesDe$3, messagesDe$2, messagesDe$1, unitMessagesDe);
2273
2093
 
2274
2094
  var messagesEn$d = {
2275
2095
  'sections.comparison.backgroundShapes': 'Background shapes'
@@ -2368,6 +2188,11 @@ var messagesEn$1 = {
2368
2188
  'sections.shopCheckout.submit': 'Checkout'
2369
2189
  };
2370
2190
 
2191
+ var messagesDe = {
2192
+ 'sections.textCarousel.moveRight': 'Move right',
2193
+ 'sections.textCarousel.moveLeft': 'Move left'
2194
+ };
2195
+
2371
2196
  var messagesEn = {
2372
2197
  'sections.timeline.backgroundShapes': 'Background shapes',
2373
2198
  'sections.timeline.showMoreButton': 'Show three more milestones'
@@ -2378,7 +2203,7 @@ var unitMessagesEn = {
2378
2203
  'unit.formatter.tonsCo2PerYear': '{number} tCO₂/year'
2379
2204
  };
2380
2205
 
2381
- var rootMessagesEn = /*#__PURE__*/_extends({}, messagesEn$c, messagesEn$7, messagesEn$3, messagesEn$4, messagesEn$2, messagesEn$d, messagesEn$b, messagesEn$a, messagesEn$9, messagesEn$8, messagesEn$6, messagesEn$5, messagesEn$1, messagesEn, unitMessagesEn);
2206
+ var rootMessagesEn = /*#__PURE__*/_extends({}, messagesEn$c, messagesEn$7, messagesEn$3, messagesEn$4, messagesEn$2, messagesEn$d, messagesEn$b, messagesEn$a, messagesEn$9, messagesEn$8, messagesEn$6, messagesEn$5, messagesEn$1, messagesDe, messagesEn, unitMessagesEn);
2382
2207
 
2383
2208
  var _templateObject$4;
2384
2209
  var GLOBAL_STYLE = /*#__PURE__*/css(_templateObject$4 || (_templateObject$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n :root {\n --default-hero-height: calc(100vh - var(--boemly-space-24));\n }\n\n a {\n text-decoration: none;\n }\n"])));
@@ -2406,6 +2231,273 @@ var ContextProvider = function ContextProvider(_ref) {
2406
2231
  }, children));
2407
2232
  };
2408
2233
 
2234
+ var TextCarousel = function TextCarousel(_ref) {
2235
+ var slice = _ref.slice;
2236
+ var _useToken = useToken('colors', ['primary.50']),
2237
+ primary50 = _useToken[0];
2238
+ var _useMeasure = useMeasure(),
2239
+ slideRef = _useMeasure[0],
2240
+ slideWidth = _useMeasure[1].width;
2241
+ var _useContext = useContext(IntlContext),
2242
+ formatMessage = _useContext.formatMessage;
2243
+ var containerRef = useRef(null);
2244
+ var _useWindowSize = useWindowSize(),
2245
+ windowWidth = _useWindowSize.width;
2246
+ var _useState = useState(0),
2247
+ sliderIndex = _useState[0],
2248
+ setSliderIndex = _useState[1];
2249
+ var allowScroll = windowWidth / 2 / slideWidth < slice.slides.length;
2250
+ var canMoveRight = sliderIndex < slice.slides.length - 1;
2251
+ var canMoveLeft = sliderIndex !== 0;
2252
+ return React.createElement(DefaultSectionContainer, {
2253
+ backgroundColor: primary50,
2254
+ title: slice.title
2255
+ }, React.createElement(Wrapper, null, React.createElement(DefaultSectionHeader, {
2256
+ tagline: slice.tagline,
2257
+ title: slice.title,
2258
+ text: slice.text,
2259
+ taglineProps: {
2260
+ textAlign: 'center'
2261
+ },
2262
+ titleProps: {
2263
+ textAlign: 'center',
2264
+ maxW: '6xl',
2265
+ marginX: 'auto'
2266
+ },
2267
+ textProps: {
2268
+ textAlign: 'center',
2269
+ maxW: '2xl',
2270
+ marginX: 'auto'
2271
+ }
2272
+ })), React.createElement(CarouselContainer, {
2273
+ ref: containerRef
2274
+ }, React.createElement(Box, {
2275
+ position: "relative",
2276
+ width: "full"
2277
+ }, React.createElement(CarouselInnerContainer, {
2278
+ numberofitems: slice.slides.length,
2279
+ animate: {
2280
+ x: slideWidth * -sliderIndex
2281
+ },
2282
+ transition: {
2283
+ duration: 0.3,
2284
+ ease: 'easeInOut'
2285
+ }
2286
+ }, slice.slides.map(function (_ref2) {
2287
+ var id = _ref2.id,
2288
+ title = _ref2.title,
2289
+ text = _ref2.text,
2290
+ icon = _ref2.icon;
2291
+ return React.createElement(CardContainer, {
2292
+ key: id,
2293
+ ref: slideRef,
2294
+ numberofitems: slice.slides.length
2295
+ }, React.createElement(TextCardWithIcon, {
2296
+ title: title,
2297
+ text: text,
2298
+ icon: React.createElement(Image, {
2299
+ src: strapiMediaUrl(icon.img, 'small'),
2300
+ alt: icon.alt,
2301
+ fill: true,
2302
+ style: {
2303
+ objectFit: icon.objectFit || 'contain'
2304
+ }
2305
+ }),
2306
+ displayAs: "column"
2307
+ }));
2308
+ })), React.createElement(Box, {
2309
+ display: ['none', null, null, !!allowScroll ? 'flex' : 'none'],
2310
+ pointerEvents: "none",
2311
+ position: "absolute",
2312
+ top: "40%",
2313
+ left: "0",
2314
+ width: "full",
2315
+ py: "0",
2316
+ px: "32",
2317
+ justifyContent: "space-between"
2318
+ }, React.createElement(Box, null, React.createElement(AnimatePresence, null, canMoveLeft && React.createElement(IconButton, {
2319
+ key: "leftButton",
2320
+ as: motion.button,
2321
+ initial: {
2322
+ opacity: 0
2323
+ },
2324
+ animate: {
2325
+ opacity: 1
2326
+ },
2327
+ exit: {
2328
+ opacity: 0
2329
+ },
2330
+ size: "lg",
2331
+ variant: "outline",
2332
+ onClick: function onClick() {
2333
+ return setSliderIndex(sliderIndex - 1);
2334
+ },
2335
+ "aria-label": formatMessage({
2336
+ id: 'sections.textCarousel.moveLeft'
2337
+ }),
2338
+ icon: React.createElement(ArrowLeft, {
2339
+ size: 16
2340
+ }),
2341
+ pointerEvents: "auto",
2342
+ boxShadow: "sm"
2343
+ }))), React.createElement(Box, null, React.createElement(AnimatePresence, null, canMoveRight && React.createElement(IconButton, {
2344
+ key: "rightButton",
2345
+ as: motion.button,
2346
+ initial: {
2347
+ opacity: 0
2348
+ },
2349
+ animate: {
2350
+ opacity: 1
2351
+ },
2352
+ exit: {
2353
+ opacity: 0
2354
+ },
2355
+ size: "lg",
2356
+ variant: "outline",
2357
+ onClick: function onClick() {
2358
+ return setSliderIndex(sliderIndex + 1);
2359
+ },
2360
+ "aria-label": formatMessage({
2361
+ id: 'sections.textCarousel.moveRight'
2362
+ }),
2363
+ icon: React.createElement(ArrowRight, {
2364
+ size: 16
2365
+ }),
2366
+ pointerEvents: "auto",
2367
+ boxShadow: "md"
2368
+ })))))), React.createElement(React.Fragment, null, slice.button && React.createElement(Wrapper, null, React.createElement(Center, null, React.createElement(StrapiLinkButton, {
2369
+ link: slice.button,
2370
+ size: "xl",
2371
+ mt: ['8', null, '14']
2372
+ })))));
2373
+ };
2374
+
2375
+ var TextWithTextCards = function TextWithTextCards(_ref) {
2376
+ var slice = _ref.slice;
2377
+ var _useRouter = useRouter(),
2378
+ push = _useRouter.push;
2379
+ var _useToken = useToken('colors', ['white']),
2380
+ white = _useToken[0];
2381
+ var _useMediaQuery = useMediaQuery(BREAKPOINT_LG_QUERY),
2382
+ belowBreakpoint = _useMediaQuery[0];
2383
+ return React.createElement(DefaultSectionContainer, {
2384
+ backgroundColor: white,
2385
+ title: slice.title
2386
+ }, React.createElement(React.Fragment, null, slice.shape && React.createElement(Box, {
2387
+ position: "absolute",
2388
+ right: ['-28', null, null, '-136'],
2389
+ top: ['96', null, null, '-28'],
2390
+ width: ['sm', null, null, '4xl'],
2391
+ height: ['sm', null, null, '4xl'],
2392
+ borderBottomRightRadius: "full"
2393
+ }, React.createElement(Image, {
2394
+ src: strapiMediaUrl(slice.shape.img, 'medium'),
2395
+ alt: slice.shape.alt,
2396
+ fill: true,
2397
+ style: {
2398
+ objectFit: slice.shape.objectFit || 'cover',
2399
+ borderBottomRightRadius: 'var(--boemly-radii-full)'
2400
+ }
2401
+ }))), React.createElement(Wrapper, null, React.createElement(React.Fragment, null, React.createElement(Grid, {
2402
+ templateColumns: ['repeat(8, 1fr)', null, null, null, 'repeat(16, 1fr)'],
2403
+ templateRows: ['repeat(2, auto)', null, null, null, 'repeat(1, auto)'],
2404
+ rowGap: "12"
2405
+ }, React.createElement(GridItem, {
2406
+ colSpan: [8, null, null, null, 9],
2407
+ rowSpan: 1,
2408
+ pr: ['0', null, null, null, '32']
2409
+ }, React.createElement(DefaultSectionHeader, {
2410
+ tagline: slice.tagline,
2411
+ title: slice.title,
2412
+ text: slice.text,
2413
+ textProps: {
2414
+ pr: ['0', null, null, null, '10']
2415
+ }
2416
+ }), slice.contact && !belowBreakpoint && React.createElement(ContactArea, {
2417
+ title: slice.contact.title,
2418
+ text: slice.contact.text,
2419
+ avatar: {
2420
+ name: slice.contact.avatar.name,
2421
+ description: slice.contact.avatar.description,
2422
+ image: React.createElement(Image, {
2423
+ src: strapiMediaUrl(slice.contact.avatar.image.img, 'small'),
2424
+ alt: slice.contact.avatar.image.alt,
2425
+ fill: true,
2426
+ style: {
2427
+ objectFit: slice.contact.avatar.image.objectFit || 'cover'
2428
+ }
2429
+ })
2430
+ },
2431
+ link: {
2432
+ text: slice.contact.button.text,
2433
+ onClick: function onClick() {
2434
+ var _slice$contact;
2435
+ return push(strapiLinkUrl((_slice$contact = slice.contact) == null ? void 0 : _slice$contact.button));
2436
+ }
2437
+ }
2438
+ })), React.createElement(GridItem, {
2439
+ colSpan: [8, null, null, null, 7],
2440
+ rowSpan: 1,
2441
+ position: "relative"
2442
+ }, slice.cards.map(function (card) {
2443
+ return React.createElement(TextCardWithIcon, {
2444
+ key: card.id,
2445
+ title: card.title,
2446
+ text: card.text,
2447
+ icon: React.createElement(Image, {
2448
+ src: strapiMediaUrl(card.icon.img, 'small'),
2449
+ alt: card.icon.alt,
2450
+ fill: true,
2451
+ style: {
2452
+ objectFit: card.icon.objectFit || 'contain'
2453
+ }
2454
+ })
2455
+ });
2456
+ }))), slice.contact && belowBreakpoint && React.createElement(ContactArea, {
2457
+ title: slice.contact.title,
2458
+ text: slice.contact.text,
2459
+ avatar: {
2460
+ name: slice.contact.avatar.name,
2461
+ description: slice.contact.avatar.description,
2462
+ image: React.createElement(Image, {
2463
+ src: strapiMediaUrl(slice.contact.avatar.image.img, 'small'),
2464
+ alt: slice.contact.avatar.image.alt,
2465
+ fill: true,
2466
+ style: {
2467
+ objectFit: slice.contact.avatar.image.objectFit || 'cover'
2468
+ }
2469
+ })
2470
+ },
2471
+ link: {
2472
+ text: slice.contact.button.text,
2473
+ onClick: function onClick() {
2474
+ var _slice$contact2;
2475
+ return push(strapiLinkUrl((_slice$contact2 = slice.contact) == null ? void 0 : _slice$contact2.button));
2476
+ }
2477
+ }
2478
+ }))));
2479
+ };
2480
+
2481
+ var CreditsAvailableState;
2482
+ (function (CreditsAvailableState) {
2483
+ CreditsAvailableState["YES"] = "yes";
2484
+ CreditsAvailableState["SOME"] = "some";
2485
+ CreditsAvailableState["NO"] = "no";
2486
+ CreditsAvailableState["NOT_YET"] = "notYet";
2487
+ })(CreditsAvailableState || (CreditsAvailableState = {}));
2488
+ var CreditsAvailableState$1 = CreditsAvailableState;
2489
+
2490
+ var FORMAT_AS_HECTARE_CONFIG = {
2491
+ unit: 'hectare',
2492
+ unitDisplay: 'short',
2493
+ style: 'unit',
2494
+ maximumFractionDigits: 2
2495
+ };
2496
+ var FORMAT_AS_PERCENT_CONFIG = {
2497
+ style: 'percent',
2498
+ maximumFractionDigits: 2
2499
+ };
2500
+
2409
2501
  var PortfolioProjectCard = function PortfolioProjectCard(_ref) {
2410
2502
  var _creditsAvailableMess, _project$creditsAvail, _project$thumbnail, _project$thumbnail2, _project$thumbnail3;
2411
2503
  var project = _ref.project;
@@ -3369,7 +3461,8 @@ var Cta = function Cta(_ref) {
3369
3461
  var _useContext = useContext(IntlContext),
3370
3462
  formatMessage = _useContext.formatMessage;
3371
3463
  return React.createElement(DefaultSectionContainer, {
3372
- backgroundColor: VARIANTS$3[slice.variant].backgroundColor.left
3464
+ backgroundColor: VARIANTS$3[slice.variant].backgroundColor.left,
3465
+ title: slice.title
3373
3466
  }, React.createElement(Wrapper, null, slice.title ? React.createElement(React.Fragment, null, React.createElement(Flex, {
3374
3467
  alignItems: "center",
3375
3468
  flexDirection: "column"