@treely/strapi-slices 7.7.1 → 7.9.0

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 (41) hide show
  1. package/dist/components/ContextProvider/ContextProvider.d.ts +6 -0
  2. package/dist/components/SliceRenderer/SliceRenderer.d.ts +3 -1
  3. package/dist/components/StrapiLinkButton/StrapiLinkButton.d.ts +1 -0
  4. package/dist/models/fpm/FPMProject.d.ts +1 -0
  5. package/dist/strapi-slices.cjs.development.js +1507 -1370
  6. package/dist/strapi-slices.cjs.development.js.map +1 -1
  7. package/dist/strapi-slices.cjs.production.min.js +1 -1
  8. package/dist/strapi-slices.cjs.production.min.js.map +1 -1
  9. package/dist/strapi-slices.esm.js +1508 -1371
  10. package/dist/strapi-slices.esm.js.map +1 -1
  11. package/package.json +1 -1
  12. package/src/components/ContextProvider/ContextProvider.tsx +17 -1
  13. package/src/components/EventCard/EventCard.tsx +1 -0
  14. package/src/components/ProjectGridCard/ProjectGridCard.tsx +1 -1
  15. package/src/components/SliceRenderer/SliceRenderer.tsx +4 -1
  16. package/src/components/StrapiLinkButton/StrapiLinkButton.test.tsx +67 -7
  17. package/src/components/StrapiLinkButton/StrapiLinkButton.tsx +41 -4
  18. package/src/components/portfolio/Contact/Contact.tsx +7 -1
  19. package/src/components/portfolio/SmallCheckout/SmallCheckout.tsx +1 -0
  20. package/src/models/fpm/FPMProject.ts +1 -0
  21. package/src/slices/BlogCards/BlogCards.tsx +2 -0
  22. package/src/slices/Comparison/Comparison.tsx +1 -0
  23. package/src/slices/Cta/Cta.tsx +1 -0
  24. package/src/slices/CtaOnly/CtaOnly.tsx +1 -1
  25. package/src/slices/Facts/Facts.tsx +1 -0
  26. package/src/slices/Hero/Hero.tsx +2 -0
  27. package/src/slices/IconGrid/IconGrid.tsx +1 -0
  28. package/src/slices/ImageGrid/ImageGrid.tsx +1 -0
  29. package/src/slices/ImageTextSequence/ImageTextSequence.tsx +1 -0
  30. package/src/slices/LeftTextRightCard/LeftTextRightCard.tsx +24 -2
  31. package/src/slices/LogoGridWithText/LogoGridWithText.tsx +1 -0
  32. package/src/slices/MapHero/MapHero.tsx +6 -1
  33. package/src/slices/QAndA/QAndA.tsx +21 -2
  34. package/src/slices/QuoteCards/QuoteCards.tsx +20 -2
  35. package/src/slices/SmallHero/SmallHero.tsx +6 -1
  36. package/src/slices/Steps/Steps.tsx +26 -2
  37. package/src/slices/TextCardGrid/TextCardGrid.tsx +1 -0
  38. package/src/slices/TextCarousel/TextCarousel.tsx +20 -1
  39. package/src/slices/TextWithCard/TextWithCard.tsx +1 -0
  40. package/src/slices/TextWithTextCards/TextWithTextCards.tsx +21 -3
  41. package/src/slices/Timeline/Timeline.tsx +1 -0
@@ -13,12 +13,12 @@ var reactUse = require('react-use');
13
13
  var react = require('@phosphor-icons/react');
14
14
  var Link = require('next/link');
15
15
  var adblockDetectReact = require('adblock-detect-react');
16
+ var reactIntl = require('react-intl');
17
+ var react$1 = require('@emotion/react');
18
+ var _internal = require('swr/_internal');
16
19
  var router = require('next/router');
17
20
  var styled = require('@emotion/styled');
18
- var react$1 = require('@emotion/react');
19
21
  var framerMotion = require('framer-motion');
20
- var reactIntl = require('react-intl');
21
- var _internal = require('swr/_internal');
22
22
  var mapboxgl = require('mapbox-gl');
23
23
  var client = require('react-dom/client');
24
24
  var formik = require('formik');
@@ -1209,1342 +1209,247 @@ var openHubSpotChat = function openHubSpotChat() {
1209
1209
  }
1210
1210
  };
1211
1211
 
1212
- var _excluded$1 = ["link"];
1213
- var StrapiLinkButton = function StrapiLinkButton(_ref) {
1214
- var link = _ref.link,
1215
- buttonProps = _objectWithoutPropertiesLoose(_ref, _excluded$1);
1216
- var adBlockDetected = adblockDetectReact.useDetectAdBlock();
1217
- if (link.intercomLauncher) {
1218
- if (adBlockDetected) {
1219
- return React__default.default.createElement(boemly.Button, _extends({}, buttonProps, {
1220
- as: Link__default.default,
1221
- href: "mailto:hello@tree.ly"
1222
- }), link.text);
1223
- }
1224
- return React__default.default.createElement(boemly.Button, _extends({}, buttonProps, {
1225
- onClick: openHubSpotChat
1226
- }), link.text);
1227
- }
1228
- return React__default.default.createElement(boemly.Button, _extends({}, buttonProps, {
1229
- as: Link__default.default,
1230
- href: strapiLinkUrl(link)
1231
- }), link.text);
1212
+ var _templateObject$9;
1213
+ var GLOBAL_STYLE = /*#__PURE__*/react$1.css(_templateObject$9 || (_templateObject$9 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n :root {\n --default-hero-height: calc(100vh - var(--boemly-space-24));\n }\n\n a {\n text-decoration: none;\n }\n"])));
1214
+
1215
+ var messagesDe$j = {
1216
+ 'sections.comparison.backgroundShapes': 'Hintergrundformen'
1232
1217
  };
1233
1218
 
1234
- var Hero = function Hero(_ref) {
1235
- var slice = _ref.slice;
1236
- return React__default.default.createElement(boemly.Box, {
1237
- position: "relative",
1238
- width: "full",
1239
- height: "var(--default-hero-height)",
1240
- minHeight: "2xl",
1241
- backgroundColor: "gray.900",
1242
- overflowX: "hidden"
1243
- }, slice.image && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(Image__default.default, {
1244
- src: strapiMediaUrl(slice.image.img, 'xLarge'),
1245
- alt: slice.image.alt,
1246
- fill: true,
1247
- style: {
1248
- objectFit: slice.image.objectFit || 'cover'
1249
- }
1250
- }), React__default.default.createElement(boemly.Gradient, null)), slice.shape && React__default.default.createElement(boemly.Box, {
1251
- position: "absolute",
1252
- bottom: "0",
1253
- borderTopRightRadius: "full",
1254
- width: ['3xs', null, '2xs', null, 'sm'],
1255
- height: ['3xs', null, '2xs', null, 'sm'],
1256
- right: ['-16', null, '24']
1257
- }, React__default.default.createElement(Image__default.default, {
1258
- src: strapiMediaUrl(slice.shape.img, 'medium'),
1259
- alt: slice.shape.alt,
1260
- fill: true,
1261
- style: {
1262
- objectFit: slice.shape.objectFit || 'cover',
1263
- borderTopRightRadius: 'var(--boemly-radii-full)'
1264
- }
1265
- })), React__default.default.createElement(boemly.Box, {
1266
- position: "absolute",
1267
- left: "0",
1268
- top: "56%",
1269
- width: "full",
1270
- textAlign: slice.textAlign,
1271
- transform: "translateY(-50%)"
1272
- }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
1273
- isHero: true,
1274
- tagline: slice.tagline,
1275
- title: slice.title,
1276
- text: slice.subTitle,
1277
- taglineProps: {
1278
- color: 'white'
1279
- },
1280
- titleProps: {
1281
- color: 'white',
1282
- maxW: slice.textAlign === 'center' ? '4xl' : '3xl',
1283
- mx: slice.textAlign === 'center' ? 'auto' : 'unset',
1284
- textAlign: slice.textAlign
1285
- },
1286
- textProps: {
1287
- maxW: '2xl',
1288
- mx: slice.textAlign === 'center' ? 'auto' : 'unset',
1289
- textAlign: slice.textAlign,
1290
- color: 'white'
1291
- }
1292
- }), React__default.default.createElement(boemly.Flex, {
1293
- gap: "8",
1294
- justifyContent: slice.textAlign === 'center' ? 'center' : 'start'
1295
- }, slice.button && React__default.default.createElement(StrapiLinkButton, {
1296
- key: slice.button.id,
1297
- mt: "10",
1298
- size: "xl",
1299
- link: slice.button
1300
- }), slice.additionalButtons.map(function (button) {
1301
- return React__default.default.createElement(StrapiLinkButton, {
1302
- key: button.button.id,
1303
- mt: "10",
1304
- size: "xl",
1305
- variant: button.variant,
1306
- link: button.button
1307
- });
1308
- }))))));
1219
+ var messagesDe$i = {
1220
+ 'components.creditsAvailableBadge.text.yes': 'Credits verfügbar',
1221
+ 'components.creditsAvailableBadge.text.some': 'Einige verbleibende Credits',
1222
+ 'components.creditsAvailableBadge.text.no': 'Keine verbleibenden Credits',
1223
+ 'components.creditsAvailableBadge.text.notYet': 'Credits bald verfügbar'
1309
1224
  };
1310
1225
 
1311
- var IconGrid = function IconGrid(_ref) {
1312
- var slice = _ref.slice;
1313
- var columns = function columns() {
1314
- if (slice.iconsWithTextAndButton.length === 2) {
1315
- return [1, null, null, 2, 2];
1316
- }
1317
- if (slice.iconsWithTextAndButton.length === 1) {
1318
- return 1;
1319
- }
1320
- return [1, null, null, 2, 3];
1321
- };
1322
- return React__default.default.createElement(boemly.DefaultSectionContainer, null, React__default.default.createElement(boemly.Wrapper, null, slice.title ? React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Flex, {
1323
- alignItems: "center",
1324
- flexDirection: "column"
1325
- }, React__default.default.createElement(boemly.DefaultSectionHeader, {
1326
- tagline: slice.tagline,
1327
- title: slice.title,
1328
- text: slice.subTitle,
1329
- taglineProps: {
1330
- maxW: '2xl',
1331
- textAlign: 'center'
1332
- },
1333
- titleProps: {
1334
- maxW: '3xl',
1335
- textAlign: 'center'
1336
- },
1337
- textProps: {
1338
- maxW: '3xl',
1339
- textAlign: 'center'
1340
- }
1341
- })), React__default.default.createElement(boemly.Spacer, {
1342
- h: "20"
1343
- })) : React__default.default.createElement(React__default.default.Fragment, null), React__default.default.createElement(boemly.SimpleGrid, {
1344
- columns: columns(),
1345
- gap: slice.iconsWithTextAndButton.length === 2 ? '14' : '16',
1346
- rowGap: ['16', null, null, '20']
1347
- }, slice.iconsWithTextAndButton.map(function (iconWithTextAndButton) {
1348
- return React__default.default.createElement(boemly.Box, {
1349
- key: iconWithTextAndButton.id
1350
- }, React__default.default.createElement(boemly.Box, {
1351
- margin: "0 auto",
1352
- backgroundColor: "primary.50",
1353
- borderRadius: "full",
1354
- display: "flex",
1355
- alignItems: "center",
1356
- justifyContent: "space-around",
1357
- width: "6.5rem",
1358
- height: "6.5rem"
1359
- }, React__default.default.createElement(boemly.Box, {
1360
- position: "absolute",
1361
- width: "12",
1362
- height: "12"
1363
- }, React__default.default.createElement(Image__default.default, {
1364
- src: strapiMediaUrl(iconWithTextAndButton.icon.img, 'xSmall'),
1365
- alt: iconWithTextAndButton.icon.alt,
1366
- fill: true,
1367
- style: {
1368
- objectFit: iconWithTextAndButton.icon.objectFit || 'contain'
1369
- }
1370
- }))), React__default.default.createElement(boemly.Heading, {
1371
- size: "xl",
1372
- textAlign: "center",
1373
- mb: "4",
1374
- mt: "8"
1375
- }, iconWithTextAndButton.title), React__default.default.createElement(boemly.Text, {
1376
- size: "mdRegularNormal",
1377
- textAlign: "center"
1378
- }, iconWithTextAndButton.text), iconWithTextAndButton.button && React__default.default.createElement(boemly.Box, {
1379
- textAlign: "center"
1380
- }, React__default.default.createElement(StrapiLinkButton, {
1381
- key: iconWithTextAndButton.button.id,
1382
- mt: "8",
1383
- size: "md",
1384
- variant: "outline",
1385
- link: iconWithTextAndButton.button
1386
- })));
1387
- }))));
1226
+ var messagesDe$h = {
1227
+ 'sections.cta.backgroundShapes': 'Dunkle Hintergrundformen',
1228
+ 'sections.cta.backgroundShapesLight': 'Helle Hintergrundformen'
1388
1229
  };
1389
1230
 
1390
- var LinkedInIcon = function LinkedInIcon() {
1391
- return React__default.default.createElement("svg", {
1392
- width: "14",
1393
- height: "14",
1394
- viewBox: "0 0 14 14",
1395
- fill: "none",
1396
- xmlns: "http://www.w3.org/2000/svg"
1397
- }, React__default.default.createElement("g", {
1398
- clipPath: "url(#clip0_112_606)"
1399
- }, React__default.default.createElement("path", {
1400
- d: "M11.9286 11.9285H9.85424V8.67998C9.85424 7.90534 9.84042 6.90813 8.77539 6.90813C7.695 6.90813 7.52969 7.75213 7.52969 8.62357V11.9283H5.45533V5.24799H7.44671V6.16093H7.47459C7.67388 5.82018 7.96186 5.53986 8.30786 5.34984C8.65386 5.15981 9.04493 5.06719 9.4394 5.08183C11.5418 5.08183 11.9295 6.46473 11.9295 8.2638L11.9286 11.9285ZM3.11477 4.33484C2.87669 4.33489 2.64393 4.26433 2.44595 4.13209C2.24796 3.99985 2.09365 3.81188 2.0025 3.59193C1.91135 3.37199 1.88746 3.12995 1.93387 2.89644C1.98027 2.66292 2.09488 2.44841 2.26321 2.28003C2.43153 2.11164 2.646 1.99696 2.8795 1.95047C3.11301 1.90398 3.35504 1.92778 3.57502 2.01884C3.795 2.10992 3.98303 2.26417 4.11533 2.46211C4.24764 2.66004 4.31829 2.89277 4.31833 3.13085C4.31836 3.28894 4.28725 3.44547 4.22678 3.59153C4.1663 3.7376 4.07767 3.87031 3.96591 3.98211C3.85415 4.09392 3.72146 4.18261 3.57541 4.24313C3.42937 4.30365 3.27286 4.33481 3.11477 4.33484ZM4.15194 11.9285H2.07544V5.24799H4.15194V11.9285ZM12.9628 0.000953808H1.03307C0.762304 -0.00210183 0.501383 0.102466 0.307673 0.291681C0.113961 0.480895 0.00330461 0.739273 0 1.01004V12.9892C0.00319151 13.2602 0.113783 13.5187 0.307487 13.7081C0.501192 13.8975 0.762169 14.0023 1.03307 13.9994H12.9628C13.2342 14.0028 13.496 13.8983 13.6904 13.7089C13.8848 13.5195 13.9962 13.2607 14 12.9892V1.00918C13.9961 0.737873 13.8846 0.479199 13.6902 0.28999C13.4958 0.10078 13.2341 -0.00348904 12.9628 8.91429e-05",
1401
- fill: "#0A66C2"
1402
- })), React__default.default.createElement("defs", null, React__default.default.createElement("clipPath", {
1403
- id: "clip0_112_606"
1404
- }, React__default.default.createElement("rect", {
1405
- width: "14",
1406
- height: "14",
1407
- fill: "white"
1408
- }))));
1231
+ var messagesDe$g = {
1232
+ 'sections.customerCard.more': 'Weiterlesen'
1409
1233
  };
1410
1234
 
1411
- var _excluded = ["link"];
1412
- var StrapiLinkButtonWithIcon = function StrapiLinkButtonWithIcon(_ref) {
1413
- var link = _ref.link,
1414
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
1415
- var getLinkIcon = function getLinkIcon(destination) {
1416
- switch (destination) {
1417
- case 'linkedin':
1418
- {
1419
- return React__default.default.createElement(LinkedInIcon, null);
1420
- }
1421
- case 'web':
1422
- {
1423
- return React__default.default.createElement(react.Globe, null);
1424
- }
1425
- default:
1426
- {
1427
- return React__default.default.createElement(react.CaretRight, null);
1428
- }
1429
- }
1430
- };
1431
- return React__default.default.createElement(StrapiLinkButton, _extends({}, props, {
1432
- link: link.link,
1433
- rightIcon: getLinkIcon(link.destination)
1434
- }));
1235
+ var messagesDe$f = {
1236
+ 'sections.customerQuoteCard.more': 'Weiterlesen'
1435
1237
  };
1436
1238
 
1437
- var ImageGrid = function ImageGrid(_ref) {
1438
- var slice = _ref.slice;
1439
- var _useToken = boemly.useToken('colors', ['primary.50']),
1440
- primary50 = _useToken[0];
1441
- return React__default.default.createElement(boemly.DefaultSectionContainer, {
1442
- backgroundColor: primary50,
1443
- title: slice.title
1444
- }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
1445
- tagline: slice.tagline,
1446
- title: slice.title,
1447
- text: slice.text,
1448
- taglineProps: {
1449
- textAlign: 'center'
1450
- },
1451
- titleProps: {
1452
- textAlign: 'center',
1453
- maxW: '6xl',
1454
- marginX: 'auto'
1455
- },
1456
- textProps: {
1457
- textAlign: 'center',
1458
- maxW: '2xl',
1459
- marginX: 'auto'
1460
- }
1461
- }), React__default.default.createElement(boemly.SimpleGrid, {
1462
- mt: "24",
1463
- columns: 3,
1464
- gap: "24",
1465
- rowGap: "16",
1466
- minChildWidth: "16rem"
1467
- }, slice.images.map(function (_ref2) {
1468
- var id = _ref2.id,
1469
- title = _ref2.title,
1470
- subTitle = _ref2.subTitle,
1471
- image = _ref2.image,
1472
- links = _ref2.links;
1473
- return React__default.default.createElement(boemly.Box, {
1474
- key: id
1475
- }, React__default.default.createElement(boemly.Box, {
1476
- position: "relative",
1477
- height: "sm",
1478
- borderRadius: "xl"
1479
- }, React__default.default.createElement(Image__default.default, {
1480
- src: strapiMediaUrl(image.img, 'medium'),
1481
- alt: image.alt,
1482
- fill: true,
1483
- style: {
1484
- objectFit: image.objectFit || 'cover',
1485
- borderRadius: 'var(--boemly-radii-xl)'
1486
- }
1487
- })), React__default.default.createElement(boemly.Heading, {
1488
- size: "xl",
1489
- mt: "4"
1490
- }, title), subTitle && React__default.default.createElement(boemly.Text, {
1491
- size: "mdRegularNormal"
1492
- }, subTitle), links && links.length > 0 && React__default.default.createElement(boemly.Flex, {
1493
- mt: "3",
1494
- flexDir: "row",
1495
- gap: "2",
1496
- flexWrap: "wrap"
1497
- }, links.map(function (link) {
1498
- return React__default.default.createElement(StrapiLinkButtonWithIcon, {
1499
- key: link.id,
1500
- link: link,
1501
- size: "sm",
1502
- variant: "outline"
1503
- });
1504
- })));
1505
- }))));
1239
+ var messagesDe$e = {
1240
+ 'sections.eventCard.recommendedEvent': 'Empfohlene Veranstaltung',
1241
+ 'sections.eventCard.buttonShowMore': 'Mehr anzeigen',
1242
+ 'sections.eventCard.buttonShowLess': 'Weniger anzeigen',
1243
+ 'sections.eventCard.eventType.conference': 'Konferenz',
1244
+ 'sections.eventCard.eventType.webinar': 'Webinar',
1245
+ 'sections.eventCard.eventType.forestwalk': 'Waldspaziergang',
1246
+ 'sections.eventCard.eventType.partnerevent': 'Partnerveranstaltung',
1247
+ 'sections.eventCard.eventType.lunch&learn': 'Mittagessen & Lernen',
1248
+ 'sections.eventCard.eventType.fair': 'Messe',
1249
+ 'sections.eventCard.eventType.festival': 'Festival',
1250
+ 'sections.eventCard.eventType.roadshow': 'Roadshow',
1251
+ 'sections.eventCard.eventType.meetup': 'Meet Up'
1506
1252
  };
1507
1253
 
1508
- var ImageTextSequence = function ImageTextSequence(_ref) {
1509
- var slice = _ref.slice;
1510
- var _useMediaQuery = boemly.useMediaQuery(BREAKPOINT_LG_QUERY),
1511
- oneColumnGrid = _useMediaQuery[0];
1512
- var _useToken = boemly.useToken('colors', ['primary.50']),
1513
- primary50 = _useToken[0];
1514
- var _useToken2 = boemly.useToken('colors', ['gray.700']),
1515
- gray700 = _useToken2[0];
1516
- return React__default.default.createElement(boemly.DefaultSectionContainer, {
1517
- backgroundColor: primary50,
1518
- title: slice.title
1519
- }, slice.background ? React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Box, {
1520
- position: "absolute",
1521
- top: "0",
1522
- right: "24",
1523
- display: ['none', null, null, 'unset']
1524
- }, React__default.default.createElement(Image__default.default, {
1525
- src: CDN_URI + "/assets/v3/strapi-slices/desktop-map-border.svg",
1526
- alt: "Map",
1527
- width: "786",
1528
- height: "897"
1529
- })), React__default.default.createElement(boemly.Box, {
1530
- position: "absolute",
1531
- top: "64",
1532
- right: "-14",
1533
- display: ['unset', null, null, 'none']
1534
- }, React__default.default.createElement(Image__default.default, {
1535
- src: CDN_URI + "/assets/v3/strapi-slices/mobile-map-border.svg",
1536
- alt: "Map",
1537
- width: "227",
1538
- height: "452"
1539
- }))) : React__default.default.createElement(React__default.default.Fragment, null), React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
1540
- tagline: slice.tagline,
1541
- title: slice.title,
1542
- text: slice.text,
1543
- taglineProps: {
1544
- textAlign: ['left', null, null, null, 'center']
1545
- },
1546
- titleProps: {
1547
- maxW: '6xl',
1548
- marginX: ['0', null, null, null, 'auto'],
1549
- textAlign: ['left', null, null, null, 'center']
1550
- },
1551
- textProps: {
1552
- maxW: '2xl',
1553
- marginX: ['0', null, null, null, 'auto'],
1554
- textAlign: ['left', null, null, null, 'center'],
1555
- color: 'black'
1556
- }
1557
- }), React__default.default.createElement(boemly.SimpleGrid, {
1558
- gap: "16",
1559
- mt: ['28', null, null, null, '40'],
1560
- columns: [1, null, null, null, 2]
1561
- }, slice.imageTextRows.map(function (_ref2, index) {
1562
- var id = _ref2.id,
1563
- title = _ref2.title,
1564
- text = _ref2.text,
1565
- button = _ref2.button,
1566
- image = _ref2.image;
1567
- var imageBox = React__default.default.createElement(boemly.Box, null, React__default.default.createElement(boemly.Box, {
1568
- position: "relative",
1569
- width: "full",
1570
- minHeight: ['2xs', null, null, 'sm']
1571
- }, React__default.default.createElement(Image__default.default, {
1572
- src: strapiMediaUrl(image.img, 'large'),
1573
- alt: image.alt,
1574
- fill: true,
1575
- style: {
1576
- objectFit: image.objectFit || 'contain',
1577
- borderRadius: 'var(--boemly-radii-xl)'
1578
- }
1579
- })));
1580
- return React__default.default.createElement(React.Fragment, {
1581
- key: id
1582
- }, (oneColumnGrid || index % 2 !== 0) && imageBox, React__default.default.createElement(boemly.Box, {
1583
- display: "flex",
1584
- alignItems: "flex-start",
1585
- flexDirection: "column",
1586
- justifyContent: "center"
1587
- }, React__default.default.createElement(boemly.Heading, {
1588
- as: "h2",
1589
- size: "xl",
1590
- mb: "4"
1591
- }, title), React__default.default.createElement(boemly.Text, {
1592
- size: "mdRegularNormal"
1593
- }, text), button && React__default.default.createElement(StrapiLinkButton, {
1594
- mt: "5",
1595
- link: button,
1596
- size: "sm",
1597
- variant: "outline",
1598
- rightIcon: React__default.default.createElement(react.CaretRight, {
1599
- size: "10",
1600
- color: gray700
1601
- })
1602
- })), !oneColumnGrid && index % 2 === 0 && imageBox);
1603
- }))));
1254
+ var messagesDe$d = {
1255
+ 'sections.events.loadMore': 'Mehr laden',
1256
+ 'sections.events.noUpcomingEvents': 'Keine bevorstehenden Veranstaltungen gefunden',
1257
+ 'sections.events.noPastEvents': 'Keine vergangenen Veranstaltungen gefunden',
1258
+ 'sections.eventsFilter.searchPlaceholder': 'Suchen',
1259
+ 'sections.events.eventsFilter.eventType': 'Event Type',
1260
+ 'sections.events.eventsFilter.language': 'Sprache',
1261
+ 'sections.events.eventsFilter.sortBy.title': 'Sortieren nach',
1262
+ 'sections.events.eventsFilter.sortBy.newest': 'Neueste zuerst',
1263
+ 'sections.events.eventsFilter.sortBy.oldest': 'Älteste zuerst'
1604
1264
  };
1605
1265
 
1606
- var LeftTextRightCard = function LeftTextRightCard(_ref) {
1607
- var slice = _ref.slice;
1608
- var _useRouter = router.useRouter(),
1609
- push = _useRouter.push;
1610
- return React__default.default.createElement(boemly.DefaultSectionContainer, {
1611
- title: slice.title
1612
- }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Grid, {
1613
- templateColumns: ['repeat(8, 1fr)', null, null, null, 'repeat(12, 1fr)'],
1614
- templateRows: ['repeat(2, 1fr)', null, null, null, 'repeat(1, 1fr)'],
1615
- rowGap: "12"
1616
- }, React__default.default.createElement(boemly.GridItem, {
1617
- colSpan: 8,
1618
- rowSpan: 1,
1619
- pr: ['0', null, null, null, '28']
1620
- }, React__default.default.createElement(boemly.DefaultSectionHeader, {
1621
- tagline: slice.tagline,
1622
- title: slice.title,
1623
- text: slice.text
1624
- }), slice.checkMarkLabels && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Spacer, {
1625
- height: "10"
1626
- }), React__default.default.createElement(boemly.BoemlyList, {
1627
- listItems: slice.checkMarkLabels
1628
- }), React__default.default.createElement(boemly.Spacer, {
1629
- height: "10"
1630
- })), slice.button && React__default.default.createElement(StrapiLinkButton, {
1631
- link: slice.button,
1632
- size: "md",
1633
- colorScheme: "white",
1634
- variant: "outline",
1635
- rightIcon: React__default.default.createElement(react.ArrowRight, null)
1636
- })), React__default.default.createElement(boemly.GridItem, {
1637
- colSpan: [8, null, null, null, 4],
1638
- rowSpan: 1,
1639
- position: "relative"
1640
- }, slice.card && React__default.default.createElement(boemly.PortfolioCard, {
1641
- title: slice.card.title,
1642
- button: slice.card.button && {
1643
- text: slice.card.button.text,
1644
- onClick: function onClick() {
1645
- var _slice$card;
1646
- return push(strapiLinkUrl((_slice$card = slice.card) == null ? void 0 : _slice$card.button));
1647
- }
1648
- },
1649
- facts: slice.card.facts,
1650
- image: React__default.default.createElement(Image__default.default, {
1651
- src: strapiMediaUrl(slice.card.image.img, 'medium'),
1652
- alt: slice.card.image.alt,
1653
- fill: true,
1654
- style: {
1655
- objectFit: slice.card.image.objectFit || 'cover'
1656
- }
1657
- }),
1658
- portfolioNumber: slice.card.portfolioNumber
1659
- })))));
1266
+ var messagesDe$c = {
1267
+ 'sections.glossary.copyButtonLabel': 'Kopiere den Link zu diesem Abschnitt in die Zwischenablage',
1268
+ 'sections.glossary.copySuccessMessage': 'Link in die Zwischenablage kopiert',
1269
+ 'sections.glossary.copyFailureMessage': 'Link konnte nicht in die Zwischenablage kopiert werden'
1660
1270
  };
1661
1271
 
1662
- var LogoGridWithText = function LogoGridWithText(_ref) {
1663
- var slice = _ref.slice;
1664
- var _useToken = boemly.useToken('colors', ['primary.50']),
1665
- primary50 = _useToken[0];
1666
- return React__default.default.createElement(boemly.DefaultSectionContainer, {
1667
- backgroundColor: primary50,
1668
- title: slice.title
1669
- }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.SimpleGrid, {
1670
- columns: 2,
1671
- gap: "28",
1672
- minChildWidth: "16rem"
1673
- }, React__default.default.createElement(boemly.Box, {
1674
- display: "flex",
1675
- flexDirection: "column",
1676
- justifyContent: "center",
1677
- alignItems: "flex-start"
1678
- }, React__default.default.createElement(boemly.Heading, {
1679
- as: "h2",
1680
- size: "3xl",
1681
- mb: "4"
1682
- }, slice.title), React__default.default.createElement(boemly.RichText, {
1683
- content: slice.text
1684
- }), slice.button && React__default.default.createElement(StrapiLinkButton, {
1685
- link: slice.button,
1686
- size: "md",
1687
- colorScheme: "white",
1688
- variant: "outline",
1689
- mt: "6",
1690
- rightIcon: React__default.default.createElement(react.ArrowRight, null)
1691
- })), React__default.default.createElement(boemly.Flex, {
1692
- flexDir: "row",
1693
- flexWrap: "wrap",
1694
- gap: ['12', null, null, '28']
1695
- }, slice.logos.map(function (logo) {
1696
- return React__default.default.createElement(boemly.Flex, {
1697
- key: logo.id,
1698
- justifyContent: "center",
1699
- alignItems: "center",
1700
- flexGrow: 1,
1701
- flexShrink: 0,
1702
- flexBasis: slice.logos.length > 2 ? '34%' : '90%'
1703
- }, React__default.default.createElement(boemly.Box, {
1704
- position: "relative",
1705
- height: "20",
1706
- width: "100%"
1707
- }, logo.link ? React__default.default.createElement("a", {
1708
- href: strapiLinkUrl(logo.link)
1709
- }, React__default.default.createElement(Image__default.default, {
1710
- src: strapiMediaUrl(logo.img, 'small'),
1711
- alt: logo.alt,
1712
- fill: true,
1713
- style: {
1714
- objectFit: logo.objectFit || 'contain'
1715
- }
1716
- })) : React__default.default.createElement(Image__default.default, {
1717
- src: strapiMediaUrl(logo.img, 'small'),
1718
- alt: logo.alt,
1719
- fill: true,
1720
- style: {
1721
- objectFit: logo.objectFit || 'contain'
1722
- }
1723
- })));
1724
- })))));
1272
+ var messagesDe$b = {
1273
+ 'features.portfolio.documentsDownloadList.projectDocuments': 'Projektdokumente',
1274
+ 'features.portfolio.documentsDownloadList.downloadDocument': 'Dokument herunterladen'
1725
1275
  };
1726
1276
 
1727
- var _templateObject$9, _templateObject2$5, _templateObject3$2, _templateObject4$1, _templateObject5;
1728
- var MapHeroContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject$9 || (_templateObject$9 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n width: 100vw;\n height: var(--default-hero-height);\n min-height: var(--boemly-sizes-3xl);\n background-color: var(--boemly-colors-primary-50);\n overflow: hidden;\n z-index: var(--boemly-zIndices-base);\n\n @media screen and (max-width: ", ") {\n height: auto;\n }\n"])), BREAKPOINT_LG);
1729
- var MapHeroTextContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject2$5 || (_templateObject2$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n width: 100vw;\n top: 56%;\n left: 0;\n transform: translateY(-50%);\n z-index: var(--boemly-zIndices-aboveBase);\n\n @media screen and (max-width: ", ") {\n position: relative;\n transform: unset;\n\n padding-top: var(--boemly-space-32);\n }\n"])), BREAKPOINT_LG);
1730
- var ShapeContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject3$2 || (_templateObject3$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n bottom: calc(var(--boemly-space-8) * -1);\n left: 0;\n\n width: var(--boemly-sizes-sm);\n height: var(--boemly-sizes-sm);\n\n border-top-right-radius: var(--boemly-radii-full);\n\n & span,\n div {\n border-top-right-radius: var(--boemly-radii-full);\n }\n\n @media screen and (max-width: ", ") {\n display: none;\n }\n"])), BREAKPOINT_LG);
1731
- var MapContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject4$1 || (_templateObject4$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n\n width: 50%;\n height: 100%;\n\n right: 0;\n top: 0;\n\n & img {\n object-fit: cover !important;\n }\n\n @media screen and (max-width: ", ") {\n width: 100%;\n height: var(--boemly-sizes-4xl);\n position: relative;\n margin-top: calc(var(--boemly-space-72) * -1);\n background-color: var(--boemly-colors-white);\n\n & img {\n object-fit: contain !important;\n }\n }\n"])), BREAKPOINT_LG);
1732
- var MapGradient = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject5 || (_templateObject5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n height: 100%;\n\n background: linear-gradient(\n 90deg,\n var(--boemly-colors-primary-50) 0%,\n var(--boemly-colors-primary-50) 10%,\n rgba(243, 246, 245, 0.6) 28%,\n rgba(243, 246, 245, 0) 40%,\n rgba(243, 246, 245, 0) 100%\n );\n\n @media screen and (max-width: ", ") {\n background: linear-gradient(\n 180deg,\n var(--boemly-colors-primary-50) 0%,\n var(--boemly-colors-primary-50) 36%,\n rgba(243, 246, 245, 0.12) 46%,\n rgba(243, 246, 245, 0) 100%\n );\n }\n"])), BREAKPOINT_LG);
1277
+ var messagesDe$a = {
1278
+ 'sections.projectFacts.projectInfo.value': 'Projekt Infos'
1279
+ };
1733
1280
 
1734
- var MapHero = function MapHero(_ref) {
1735
- var slice = _ref.slice;
1736
- var _useMediaQuery = boemly.useMediaQuery(BREAKPOINT_LG_QUERY),
1737
- belowBreakpoint = _useMediaQuery[0];
1738
- return React__default.default.createElement(MapHeroContainer, {
1739
- maxWidth: "full"
1740
- }, slice.shape && React__default.default.createElement(ShapeContainer, null, React__default.default.createElement(Image__default.default, {
1741
- src: strapiMediaUrl(slice.shape.img, 'medium'),
1742
- alt: slice.shape.alt,
1743
- fill: true,
1744
- style: {
1745
- objectFit: slice.shape.objectFit || 'cover'
1746
- }
1747
- })), React__default.default.createElement(MapHeroTextContainer, null, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
1748
- isHero: true,
1749
- tagline: slice.tagline,
1750
- title: slice.title,
1751
- text: slice.subTitle,
1752
- titleProps: {
1753
- maxW: ['100%', null, null, null, '60%']
1754
- },
1755
- textProps: {
1756
- maxW: ['100%', null, null, null, '55%']
1757
- }
1758
- }), slice.buttons && slice.buttons.length > 0 && React__default.default.createElement(boemly.Flex, {
1759
- mt: "10",
1760
- flexDir: "row",
1761
- gap: "5"
1762
- }, React__default.default.createElement(StrapiLinkButton, {
1763
- link: slice.buttons[0],
1764
- size: "xl"
1765
- }), slice.buttons.length === 2 && React__default.default.createElement(StrapiLinkButton, {
1766
- link: slice.buttons[1],
1767
- variant: "outline",
1768
- size: "xl"
1769
- }))))), React__default.default.createElement(MapContainer, null, belowBreakpoint ? React__default.default.createElement(Image__default.default, {
1770
- src: strapiMediaUrl(slice.mobileMap.img, 'xLarge'),
1771
- alt: slice.mobileMap.alt,
1772
- fill: true,
1773
- style: {
1774
- objectFit: slice.mobileMap.objectFit || 'contain'
1775
- }
1776
- }) : React__default.default.createElement(Image__default.default, {
1777
- src: strapiMediaUrl(slice.map.img, 'xLarge'),
1778
- alt: slice.map.alt,
1779
- fill: true,
1780
- style: {
1781
- objectFit: slice.map.objectFit || 'cover'
1782
- }
1783
- }), React__default.default.createElement(MapGradient, null)));
1281
+ var messagesDe$9 = {
1282
+ 'components.projectGridCard.certified': 'Zertifiziert, {year}',
1283
+ 'components.projectGridCard.certificationInProgress': 'Zertifizierung ist in Arbeit'
1784
1284
  };
1785
1285
 
1786
- var convertToKebabCase = function convertToKebabCase(str) {
1787
- var matches = str && str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);
1788
- return matches ? matches.map(function (x) {
1789
- return x.toLowerCase();
1790
- }).join('-') : '';
1286
+ var messagesDe$8 = {
1287
+ 'sections.projectsMap.link.text': 'Mehr Infos'
1791
1288
  };
1792
1289
 
1793
- var VARIANTS$4 = {
1794
- gray: {
1795
- backgroundColor: 'primary.50',
1796
- tagLineColor: 'primary.500',
1797
- textColor: 'black',
1798
- accordionVariant: 'black',
1799
- otherQuestionsBackground: 'primary.700'
1800
- },
1801
- green: {
1802
- backgroundColor: 'primary.800',
1803
- tagLineColor: 'white',
1804
- textColor: 'white',
1805
- accordionVariant: 'white',
1806
- otherQuestionsBackground: 'primary.900'
1807
- },
1808
- white: {
1809
- backgroundColor: 'white',
1810
- tagLineColor: 'primary.500',
1811
- textColor: 'black',
1812
- accordionVariant: 'black',
1813
- otherQuestionsBackground: 'primary.700'
1814
- }
1290
+ var messagesDe$7 = {
1291
+ 'features.projectInfo.projectInfo.value': 'Projekt Infos',
1292
+ 'features.projectInfo.properties.area': 'Projekt Fläche',
1293
+ 'features.projectInfo.properties.location': 'Standort',
1294
+ 'features.projectInfo.properties.start': 'Projekt Start Datum',
1295
+ 'features.projectInfo.properties.timeSpan': 'Projekt Zeitraum',
1296
+ 'features.projectInfo.properties.projectType': 'Projekt Typ',
1297
+ 'features.projectInfo.properties.projectDeveloper': 'Projekt Entwickler',
1298
+ 'features.projectInfo.properties.verificationStandard.label': 'Verifizierungsstandard',
1299
+ 'features.projectInfo.properties.verificationStandard.value.SilvaconsultFCSISO14': 'SILVACONSULT® Forest Carbon Standard, ISO 14064-2',
1300
+ 'features.projectInfo.properties.verificationStandard.value.MfKWCH': 'Methodik für Klimaschutzprojekte im Wald für die Schweiz',
1301
+ 'features.projectInfo.properties.forecastedAmountYear.toolTip': 'Dies ist das jährliche Projekt-Senkenvolumen gemäß dem TÜV-geprüften PDD, dieser Wert stellt nicht die aktuellen Verfügbarkeiten dar.',
1302
+ 'features.projectInfo.properties.forecastedAmountYear.label': 'Projektvolumen',
1303
+ 'features.projectInfo.properties.riskBuffer': 'Anteil Risikopuffer',
1304
+ 'features.projectInfo.properties.year': '{years} {years, plural, one {Jahr} other {Jahre} }'
1815
1305
  };
1816
- var QAndA = function QAndA(_ref) {
1817
- var _slice$variant;
1818
- var slice = _ref.slice;
1819
- var _useRouter = router.useRouter(),
1820
- push = _useRouter.push;
1821
- var variant = VARIANTS$4[(_slice$variant = slice.variant) != null ? _slice$variant : 'green'];
1822
- return React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Box, {
1823
- pb: slice.hero ? 80 : 28,
1824
- id: convertToKebabCase(slice.title),
1825
- backgroundColor: variant.backgroundColor
1826
- }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.SimpleGrid, {
1827
- columns: [1, null, null, 2]
1828
- }, React__default.default.createElement(boemly.Box, {
1829
- mr: "16",
1830
- paddingY: "28"
1831
- }, React__default.default.createElement(boemly.Text, {
1832
- size: "mdMonoUppercase",
1833
- color: variant.tagLineColor
1834
- }, slice.tagline), React__default.default.createElement(boemly.Heading, {
1835
- as: "h2",
1836
- size: "3xl",
1837
- color: variant.textColor,
1838
- mt: "6",
1839
- mb: "16"
1840
- }, slice.title)), React__default.default.createElement(boemly.Box, {
1841
- maxHeight: ['unset', null, null, 'xl'],
1842
- paddingTop: ['0', null, null, '28'],
1843
- paddingRight: ['0', null, null, '6'],
1844
- overflowY: ['unset', null, null, 'scroll']
1845
- }, React__default.default.createElement(boemly.Box, null, React__default.default.createElement(boemly.BoemlyAccordion, {
1846
- rows: slice.questionsAndAnswers,
1847
- defaultIndex: slice.defaultIndex,
1848
- variant: variant.accordionVariant
1849
- }), React__default.default.createElement(boemly.Flex, {
1850
- padding: "8",
1851
- backgroundColor: variant.otherQuestionsBackground,
1852
- borderRadius: "2xl",
1853
- mt: "14",
1854
- flexDir: ['column', null, null, 'row'],
1855
- justifyContent: ['flex-start', null, null, 'space-between'],
1856
- alignItems: ['flex-start', null, null, 'center']
1857
- }, React__default.default.createElement(boemly.Heading, {
1858
- as: "h6",
1859
- size: "sm",
1860
- color: "white"
1861
- }, slice.otherQuestions), React__default.default.createElement(boemly.Spacer, {
1862
- minHeight: ['4', null, null, '0']
1863
- }), React__default.default.createElement(StrapiLinkButton, {
1864
- size: "lg",
1865
- colorScheme: "white",
1866
- background: "white",
1867
- rightIcon: React__default.default.createElement(react.ArrowRight, null),
1868
- link: slice.button
1869
- }))))))), slice.hero && React__default.default.createElement(boemly.Box, {
1870
- pb: "28",
1871
- mt: "-56"
1872
- }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.HeroCard, {
1873
- title: slice.hero.title,
1874
- subTitle: slice.hero.subTitle,
1875
- link: slice.hero.button && {
1876
- text: slice.hero.button.text,
1877
- onClick: function onClick() {
1878
- var _slice$hero;
1879
- return push(strapiLinkUrl((_slice$hero = slice.hero) == null ? void 0 : _slice$hero.button));
1880
- }
1881
- },
1882
- image: slice.hero.image && React__default.default.createElement(Image__default.default, {
1883
- src: strapiMediaUrl(slice.hero.image.img, 'xLarge'),
1884
- alt: slice.hero.image.alt,
1885
- fill: true,
1886
- style: {
1887
- objectFit: slice.hero.image.objectFit || 'cover'
1888
- }
1889
- })
1890
- }))));
1306
+
1307
+ var messagesDe$6 = {
1308
+ 'portfolio.smallCheckout.price.taxNotIncluded': 'ohne Steuern',
1309
+ 'portfolio.smallCheckout.price.taxIncluded': 'Preis inklusive Steuern: {number}',
1310
+ 'portfolio.smallCheckout.contributionValueCurrency.label.CHF': 'Geben Sie den Beitrag in Fr. ein',
1311
+ 'portfolio.smallCheckout.contributionValueCurrency.label.EUR': 'Geben Sie den Beitrag in ein',
1312
+ 'portfolio.smallCheckout.contributionValueCurrency.unit.EUR': '€',
1313
+ 'portfolio.smallCheckout.contributionValueCurrency.unit.CHF': 'Fr.',
1314
+ 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.CHF': 'Der Wert muss mindestens 10 CHF betragen',
1315
+ 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.EUR': 'Der Wert muss mindestens 10 Euro betragen.',
1316
+ 'portfolio.smallCheckout.contributionValueCurrency.validation.empty': 'Bitte geben Sie einen Wert ein',
1317
+ 'portfolio.smallCheckout.contributionValueCurrency.validation.tooHigh': 'Für größere Einkäufe kontaktieren Sie bitte unser Verkaufsteam',
1318
+ 'portfolio.smallCheckout.contributionValueTons.label': 'Beitrag in Tonnen',
1319
+ 'portfolio.smallCheckout.submitButton': 'Credits kaufen'
1891
1320
  };
1892
1321
 
1893
- var QuoteCards = function QuoteCards(_ref) {
1894
- var slice = _ref.slice;
1895
- var _useRouter = router.useRouter(),
1896
- push = _useRouter.push;
1897
- return React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Box, {
1898
- id: convertToKebabCase(slice.title),
1899
- position: "relative",
1900
- paddingTop: "28",
1901
- paddingBottom: !!slice.hero ? '80' : '28'
1902
- }, slice.shapes && slice.shapes.length === 2 && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Shape, {
1903
- shape: React__default.default.createElement(Image__default.default, {
1904
- src: strapiMediaUrl(slice.shapes[0].img, 'small'),
1905
- alt: slice.shapes[0].alt,
1906
- fill: true,
1907
- style: {
1908
- objectFit: slice.shapes[0].objectFit || 'cover'
1909
- }
1910
- }),
1911
- top: "0",
1912
- right: "0",
1913
- size: "xs",
1914
- radius: "bottom-left"
1915
- }), React__default.default.createElement(boemly.Shape, {
1916
- shape: React__default.default.createElement(Image__default.default, {
1917
- src: strapiMediaUrl(slice.shapes[1].img, 'small'),
1918
- alt: slice.shapes[1].alt,
1919
- fill: true,
1920
- style: {
1921
- objectFit: slice.shapes[1].objectFit || 'cover'
1922
- }
1923
- }),
1924
- bottom: "0",
1925
- left: "0",
1926
- radius: "top-right"
1927
- })), React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Box, {
1928
- maxW: "3xl"
1929
- }, React__default.default.createElement(boemly.DefaultSectionHeader, {
1930
- tagline: slice.tagline,
1931
- title: slice.title,
1932
- text: slice.text
1933
- })), React__default.default.createElement(boemly.SimpleGrid, {
1934
- columns: 2,
1935
- gap: "20",
1936
- rowGap: "6",
1937
- mt: "16",
1938
- minChildWidth: ['100%', null, '16rem']
1939
- }, slice.cards.map(function (card) {
1940
- return React__default.default.createElement(boemly.Box, {
1941
- key: card.id,
1942
- width: "full",
1943
- maxWidth: "2xl"
1944
- }, React__default.default.createElement(boemly.QuoteCard, {
1945
- key: card.id,
1946
- avatar: {
1947
- name: card.avatar.name,
1948
- description: card.avatar.description,
1949
- image: React__default.default.createElement(Image__default.default, {
1950
- src: strapiMediaUrl(card.avatar.image.img, 'small'),
1951
- alt: card.avatar.image.alt,
1952
- fill: true,
1953
- style: {
1954
- objectFit: card.avatar.image.objectFit || 'cover'
1955
- }
1956
- })
1957
- },
1958
- text: card.text
1959
- }));
1960
- })))), slice.hero && React__default.default.createElement(boemly.Box, {
1961
- marginTop: "-40",
1962
- paddingBottom: "28"
1963
- }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.HeroCard, {
1964
- title: slice.hero.title,
1965
- subTitle: slice.hero.subTitle,
1966
- link: slice.hero.button && {
1967
- text: slice.hero.button.text,
1968
- onClick: function onClick() {
1969
- var _slice$hero;
1970
- return push(strapiLinkUrl((_slice$hero = slice.hero) == null ? void 0 : _slice$hero.button));
1971
- }
1972
- },
1973
- image: slice.hero.image && React__default.default.createElement(Image__default.default, {
1974
- src: strapiMediaUrl(slice.hero.image.img, 'xLarge'),
1975
- alt: slice.hero.image.alt,
1976
- fill: true,
1977
- style: {
1978
- objectFit: slice.hero.image.objectFit || 'cover'
1979
- }
1980
- })
1981
- }))));
1322
+ var messagesDe$5 = {
1323
+ 'sections.shopCheckout.intro.price': 'Preis',
1324
+ 'sections.shopCheckout.contributionValue.label.EUR': 'Geben sie einen Betrag in € ein',
1325
+ 'sections.shopCheckout.contributionValue.label.CHF': 'Geben sie einen Betrag in CHF ein',
1326
+ 'sections.shopCheckout.contributionValue.unit.EUR': '€',
1327
+ 'sections.shopCheckout.contributionValue.unit.CHF': 'CHF',
1328
+ 'sections.shopCheckout.contributionValue.validation.empty': 'Bitte geben sie einen Betrag ein',
1329
+ 'sections.shopCheckout.contributionValue.validation.tooLow.EUR': 'Der Betrag muss mindestens 10 Euro sein',
1330
+ 'sections.shopCheckout.contributionValue.validation.tooLow.CHF': 'Der Betrag muss mindestens 10 CHF sein',
1331
+ 'sections.shopCheckout.contributionValue.validation.tooHigh': 'Für größere Einkäufe kontaktieren Sie bitte unser Verkaufsteam über office@tree.ly',
1332
+ 'sections.shopCheckout.summary.kg': 'Menge',
1333
+ 'sections.shopCheckout.summary.price': 'Preis',
1334
+ 'sections.shopCheckout.summary.price.taxNotIncluded': 'ohne Steuern',
1335
+ 'sections.shopCheckout.summary.price.taxIncluded': 'Preis inklusive Steuern: {number}',
1336
+ 'sections.shopCheckout.submit': 'Kaufen'
1982
1337
  };
1983
1338
 
1984
- var RichTextSection = function RichTextSection(_ref) {
1985
- var slice = _ref.slice;
1986
- return React__default.default.createElement(boemly.DefaultSectionContainer, null, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Grid, {
1987
- templateColumns: "repeat(12, 1fr)",
1988
- gap: "4"
1989
- }, React__default.default.createElement(boemly.GridItem, {
1990
- colSpan: [12, null, null, 7]
1991
- }, React__default.default.createElement(boemly.RichText, {
1992
- content: slice.content
1993
- })))));
1339
+ var messagesDe$4 = {
1340
+ 'sections.textCarousel.moveRight': 'Nach rechts bewegen',
1341
+ 'sections.textCarousel.moveLeft': 'Nach links bewegen'
1994
1342
  };
1995
1343
 
1996
- var Steps = function Steps(_ref) {
1997
- var _slice$card$shapes;
1998
- var slice = _ref.slice;
1999
- var _useRouter = router.useRouter(),
2000
- push = _useRouter.push;
2001
- var _useToken = boemly.useToken('colors', ['gray.900']),
2002
- gray900 = _useToken[0];
2003
- var containerRef = React.useRef(null);
2004
- var _useState = React.useState(new Array(slice.steps.length)),
2005
- stepRefs = _useState[0],
2006
- setStepRefs = _useState[1];
2007
- var _useState2 = React.useState(new Array(slice.steps.length)),
2008
- stepProgress = _useState2[0],
2009
- setStepProgress = _useState2[1];
2010
- var _useWindowScroll = reactUse.useWindowScroll(),
2011
- offsetY = _useWindowScroll.y;
2012
- var _useWindowSize = reactUse.useWindowSize(),
2013
- windowHeight = _useWindowSize.height;
2014
- React.useEffect(function () {
2015
- setStepRefs(slice.steps.map(function () {
2016
- return React.createRef();
2017
- }));
2018
- }, []);
2019
- React.useEffect(function () {
2020
- var _containerRef$current;
2021
- var containerOffsetTop = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.offsetTop) || 0;
2022
- setStepProgress(stepRefs.map(function (ref) {
2023
- var _ref$current;
2024
- var currentItemOffsetTop = ((_ref$current = ref.current) == null ? void 0 : _ref$current.offsetTop) || 0;
2025
- return containerOffsetTop + currentItemOffsetTop < offsetY + windowHeight / 3 ? 100 : 0;
2026
- }));
2027
- }, [offsetY]);
2028
- return React__default.default.createElement("div", {
2029
- ref: containerRef
2030
- }, React__default.default.createElement(boemly.DefaultSectionContainer, {
2031
- backgroundColor: gray900,
2032
- title: slice.title
2033
- }, React__default.default.createElement(React__default.default.Fragment, null, slice.image && React__default.default.createElement(boemly.Box, {
2034
- position: "absolute",
2035
- top: "0",
2036
- left: "0",
2037
- width: "full",
2038
- height: "full"
2039
- }, React__default.default.createElement(Image__default.default, {
2040
- src: strapiMediaUrl(slice.image.img, 'xLarge'),
2041
- alt: slice.image.alt,
2042
- fill: true,
2043
- style: {
2044
- objectFit: slice.image.objectFit || 'cover'
2045
- }
2046
- }), React__default.default.createElement(boemly.Gradient, null))), React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
2047
- tagline: slice.tagline,
2048
- title: slice.title,
2049
- text: slice.text,
2050
- taglineProps: {
2051
- textAlign: 'center'
2052
- },
2053
- titleProps: {
2054
- textAlign: 'center',
2055
- maxW: '2xl',
2056
- marginX: 'auto',
2057
- color: 'white'
2058
- },
2059
- textProps: {
2060
- textAlign: 'center',
2061
- maxW: 'xl',
2062
- marginX: 'auto',
2063
- color: 'whiteAlpha.800'
2064
- }
2065
- }), React__default.default.createElement(boemly.Box, {
2066
- marginTop: ['16', null, '24']
2067
- }, slice.steps.map(function (_ref2, index) {
2068
- var id = _ref2.id,
2069
- step = _ref2.step,
2070
- title = _ref2.title,
2071
- text = _ref2.text;
2072
- return React__default.default.createElement(boemly.Flex, {
2073
- flexDir: "column",
2074
- alignItems: "center",
2075
- key: id
2076
- }, React__default.default.createElement(boemly.Center, {
2077
- width: "10",
2078
- height: "10",
2079
- borderRadius: "full",
2080
- backgroundColor: "white"
2081
- }, React__default.default.createElement(boemly.Text, {
2082
- size: "smRegularNormal",
2083
- color: "black"
2084
- }, step)), React__default.default.createElement(boemly.Heading, {
2085
- size: "lg",
2086
- color: "white",
2087
- mt: "4",
2088
- textAlign: "center"
2089
- }, title), text && React__default.default.createElement(boemly.Box, {
2090
- maxW: "xl",
2091
- mt: "4"
2092
- }, React__default.default.createElement(boemly.RichText, {
2093
- options: {
2094
- forceBlock: true
2095
- },
2096
- content: text,
2097
- textProps: {
2098
- size: 'mdRegularNormal',
2099
- color: 'whiteAlpha.700',
2100
- textAlign: 'center'
2101
- }
2102
- })), (index + 1 < slice.steps.length || slice.card) && React__default.default.createElement(boemly.Box, {
2103
- ref: stepRefs[index],
2104
- position: "relative",
2105
- marginTop: "4",
2106
- marginBottom: "6",
2107
- height: "12"
2108
- }, React__default.default.createElement(boemly.Box, {
2109
- position: "absolute",
2110
- height: "full",
2111
- borderLeft: "dashed 1px white",
2112
- opacity: "0.5"
2113
- }), React__default.default.createElement(boemly.Box, {
2114
- position: "absolute",
2115
- height: stepProgress[index] + "%",
2116
- borderRight: "solid 1px white",
2117
- opacity: "1",
2118
- transition: "height ease var(--medium-transition-duration)"
2119
- })));
2120
- })), slice.card && React__default.default.createElement(boemly.ShapesCard, {
2121
- tagline: slice.card.tagline,
2122
- title: slice.card.title,
2123
- text: slice.card.text,
2124
- shapes: slice.card.shapes && ((_slice$card$shapes = slice.card.shapes) == null ? void 0 : _slice$card$shapes.map(function (shape) {
2125
- return React__default.default.createElement(Image__default.default, {
2126
- key: shape.id,
2127
- src: strapiMediaUrl(shape.img, 'small'),
2128
- alt: shape.alt,
2129
- fill: true,
2130
- style: {
2131
- objectFit: shape.objectFit || 'cover'
2132
- }
2133
- });
2134
- })),
2135
- button: slice.card.button && {
2136
- text: slice.card.button.text,
2137
- onClick: function onClick() {
2138
- var _slice$card;
2139
- return push(strapiLinkUrl((_slice$card = slice.card) == null ? void 0 : _slice$card.button));
2140
- }
2141
- }
2142
- })))));
1344
+ var messagesDe$3 = {
1345
+ 'sections.timeline.backgroundShapes': 'Hintergrundformen',
1346
+ 'sections.timeline.showMoreButton': 'Drei weitere Meilensteine anzeigen'
2143
1347
  };
2144
1348
 
2145
- var _oppositesOfCorners, _templateObject$8, _templateObject2$4;
2146
- var ShapePosition;
2147
- (function (ShapePosition) {
2148
- ShapePosition["topLeft"] = "top-left";
2149
- ShapePosition["topRight"] = "top-right";
2150
- ShapePosition["bottomLeft"] = "bottom-left";
2151
- ShapePosition["bottomRight"] = "bottom-right";
2152
- ShapePosition["unset"] = "unset";
2153
- })(ShapePosition || (ShapePosition = {}));
2154
- var shapePositions = [ShapePosition.topLeft, ShapePosition.bottomRight, ShapePosition.topRight, ShapePosition.bottomLeft, ShapePosition.topRight, ShapePosition.bottomLeft, ShapePosition.topLeft, ShapePosition.bottomRight];
2155
- var oppositesOfCorners = (_oppositesOfCorners = {}, _oppositesOfCorners[ShapePosition.bottomLeft] = ShapePosition.topRight, _oppositesOfCorners[ShapePosition.topRight] = ShapePosition.bottomLeft, _oppositesOfCorners[ShapePosition.bottomRight] = ShapePosition.topLeft, _oppositesOfCorners[ShapePosition.topLeft] = ShapePosition.bottomRight, _oppositesOfCorners[ShapePosition.unset] = ShapePosition.unset, _oppositesOfCorners);
2156
- var variants = {
2157
- shape: {
2158
- padding: ['6', null, null, '8'],
2159
- positionIcon: function positionIcon(index) {
2160
- return shapePositions[index % shapePositions.length];
2161
- },
2162
- width: '40',
2163
- height: '40',
2164
- position: 'absolute',
2165
- mb: 'unset'
2166
- },
2167
- image: {
2168
- padding: ['6', null, null, '8'],
2169
- positionIcon: function positionIcon() {
2170
- return ShapePosition.unset;
2171
- },
2172
- width: '24',
2173
- height: '24',
2174
- position: 'relative',
2175
- mb: '10'
2176
- }
2177
- };
2178
- var TextCardGrid = function TextCardGrid(_ref) {
2179
- var slice = _ref.slice;
2180
- var _useToken = boemly.useToken('colors', ['primary.800']),
2181
- primary800 = _useToken[0];
2182
- return React__default.default.createElement(boemly.DefaultSectionContainer, {
2183
- backgroundColor: primary800,
2184
- title: slice.title
2185
- }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
2186
- tagline: slice.tagline,
2187
- title: slice.title,
2188
- text: slice.text,
2189
- taglineProps: {
2190
- textAlign: 'center',
2191
- color: 'white'
2192
- },
2193
- titleProps: {
2194
- textAlign: 'center',
2195
- maxW: '2xl',
2196
- marginX: 'auto',
2197
- color: 'white'
2198
- },
2199
- textProps: {
2200
- textAlign: 'center',
2201
- maxW: 'xl',
2202
- marginX: 'auto',
2203
- color: 'whiteAlpha.800'
2204
- }
2205
- }), React__default.default.createElement(boemly.SimpleGrid, {
2206
- mt: ['14', null, null, '24'],
2207
- columns: 3,
2208
- justifyItems: "center",
2209
- gap: "20",
2210
- rowGap: "16",
2211
- minChildWidth: ['100%', null, '16rem']
2212
- }, slice.cards.map(function (_ref2, index) {
2213
- var id = _ref2.id,
2214
- tagline = _ref2.tagline,
2215
- title = _ref2.title,
2216
- text = _ref2.text,
2217
- image = _ref2.image,
2218
- buttons = _ref2.buttons;
2219
- return React__default.default.createElement(boemly.Box, {
2220
- key: id,
2221
- backgroundColor: "white",
2222
- zIndex: "base",
2223
- padding: variants[slice.variant].padding,
2224
- boxShadow: "lg",
2225
- borderRadius: "2xl",
2226
- minHeight: "2xs",
2227
- width: "full",
2228
- maxWidth: slice.cards.length > 1 ? 'unset' : 'xl',
2229
- position: "relative",
2230
- display: "flex",
2231
- flexDir: "column",
2232
- alignItems: "flex-start",
2233
- justifyContent: slice.variant === 'shape' ? 'flex-end' : 'flex-start',
2234
- overflow: "hidden"
2235
- }, React__default.default.createElement(boemly.Box, {
2236
- position: variants[slice.variant].position,
2237
- width: variants[slice.variant].width,
2238
- height: variants[slice.variant].height,
2239
- mb: variants[slice.variant].mb,
2240
- top: variants[slice.variant].positionIcon(index).includes('top') ? '-4' : 'unset',
2241
- left: variants[slice.variant].positionIcon(index).includes('left') ? '-4' : 'unset',
2242
- right: variants[slice.variant].positionIcon(index).includes('right') ? '-4' : 'unset',
2243
- bottom: variants[slice.variant].positionIcon(index).includes('bottom') ? '-4' : 'unset',
2244
- borderBottomRightRadius: oppositesOfCorners[variants[slice.variant].positionIcon(index)].includes('bottomRight') ? 'full' : 'unset',
2245
- borderBottomLeftRadius: oppositesOfCorners[variants[slice.variant].positionIcon(index)].includes('bottomLeft') ? 'full' : 'unset',
2246
- borderTopRightRadius: oppositesOfCorners[variants[slice.variant].positionIcon(index)].includes('topRight') ? 'full' : 'unset',
2247
- borderTopLeftRadius: oppositesOfCorners[variants[slice.variant].positionIcon(index)].includes('topLeft') ? 'full' : 'unset',
2248
- css: variants[slice.variant].positionIcon(index).includes('unset') ? react$1.css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteralLoose(["\n & span,\n div,\n img {\n border-radius: var(--boemly-radii-xl);\n }\n "]))) : react$1.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n & span,\n div,\n img {\n border-", "-radius: var(--boemly-radii-full);\n }\n "])), oppositesOfCorners[variants[slice.variant].positionIcon(index)])
2249
- }, React__default.default.createElement(Image__default.default, {
2250
- src: strapiMediaUrl(image.img, 'small'),
2251
- alt: image.alt,
2252
- fill: true,
2253
- style: {
2254
- objectFit: image.objectFit || 'cover'
2255
- }
2256
- })), React__default.default.createElement(boemly.Box, {
2257
- zIndex: "aboveBase",
2258
- width: "full"
2259
- }, tagline && React__default.default.createElement(boemly.Text, {
2260
- color: "black",
2261
- size: "smMonoNormal",
2262
- mb: "2"
2263
- }, tagline), React__default.default.createElement(boemly.Heading, {
2264
- as: "h4",
2265
- size: "xl",
2266
- mb: "3"
2267
- }, title), React__default.default.createElement(boemly.RichText, {
2268
- content: text,
2269
- listProps: {
2270
- textColor: 'gray.500',
2271
- textSize: 'smRegularNormal'
2272
- },
2273
- textProps: {
2274
- color: 'gray.500',
2275
- size: 'smRegularNormal'
2276
- }
2277
- }), buttons && !!buttons.length && React__default.default.createElement(boemly.Flex, {
2278
- mt: "4",
2279
- gap: "3",
2280
- flexDir: ['column', null, null, null, 'row']
2281
- }, buttons.map(function (button, buttonIndex) {
2282
- return React__default.default.createElement(StrapiLinkButton, {
2283
- key: button.id,
2284
- link: button,
2285
- size: "sm",
2286
- rightIcon: buttonIndex === 0 ? React__default.default.createElement(react.CaretRight, {
2287
- size: "10",
2288
- weight: "bold"
2289
- }) : undefined,
2290
- variant: buttonIndex === 0 ? 'outline' : 'ghost'
2291
- });
2292
- }))));
2293
- }))));
1349
+ var unitMessagesDe = {
1350
+ 'unit.formatter.tonsCo2': '{number} /tCO₂',
1351
+ 'unit.formatter.tonsCo2PerYear': '{number} tCO₂/Jahr'
2294
1352
  };
2295
1353
 
2296
- var _templateObject$7, _templateObject2$3, _templateObject3$1;
2297
- var CarouselContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject$7 || (_templateObject$7 = /*#__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-sizes-full);\n }\n\n width: var(--boemly-sizes-full);\n\n overflow-x: hidden;\n\n @media screen and (max-width: ", ") {\n overflow-x: scroll;\n }\n"])), BREAKPOINT_MD, BREAKPOINT_MD);
2298
- var CarouselInnerContainer$1 = /*#__PURE__*/styled__default.default(framerMotion.motion.div)(_templateObject2$3 || (_templateObject2$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: var(--boemly-space-6);\n justify-content: center;\n\n width: calc(\n (var(--boemly-sizes-sm) + var(--boemly-space-6)) *\n ", " +\n var(--boemly-space-6)\n );\n min-width: var(--boemly-sizes-full);\n\n @media screen and (max-width: ", ") {\n gap: var(--boemly-space-1);\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) {
2299
- var numberOfItems = _ref.numberOfItems;
2300
- return numberOfItems;
2301
- }, BREAKPOINT_MD, function (_ref2) {
2302
- var numberOfItems = _ref2.numberOfItems;
2303
- return numberOfItems;
2304
- });
2305
- var CardContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject3$1 || (_templateObject3$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: var(--boemly-sizes-sm);\n\n @media screen and (max-width: ", ") {\n min-width: var(--boemly-sizes-sm);\n\n margin-right: var(--boemly-space-4);\n\n &:first-of-type {\n margin-left: var(--boemly-space-6);\n }\n }\n"])), BREAKPOINT_MD);
2306
-
2307
- var _templateObject$6;
2308
- var GLOBAL_STYLE = /*#__PURE__*/react$1.css(_templateObject$6 || (_templateObject$6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n :root {\n --default-hero-height: calc(100vh - var(--boemly-space-24));\n }\n\n a {\n text-decoration: none;\n }\n"])));
1354
+ var rootMessagesDe = /*#__PURE__*/_extends({}, messagesDe$i, messagesDe$e, messagesDe$b, messagesDe$7, messagesDe$6, messagesDe$9, messagesDe$j, messagesDe$h, messagesDe$g, messagesDe$f, messagesDe$d, messagesDe$c, messagesDe$a, messagesDe$8, messagesDe$5, messagesDe$4, messagesDe$3, unitMessagesDe);
2309
1355
 
2310
- var messagesDe$j = {
2311
- 'sections.comparison.backgroundShapes': 'Hintergrundformen'
1356
+ var messagesEn$d = {
1357
+ 'sections.comparison.backgroundShapes': 'Background shapes'
2312
1358
  };
2313
1359
 
2314
- var messagesDe$i = {
2315
- 'components.creditsAvailableBadge.text.yes': 'Credits verfügbar',
2316
- 'components.creditsAvailableBadge.text.some': 'Einige verbleibende Credits',
2317
- 'components.creditsAvailableBadge.text.no': 'Keine verbleibenden Credits',
2318
- 'components.creditsAvailableBadge.text.notYet': 'Credits bald verfügbar'
1360
+ var messagesEn$c = {
1361
+ 'components.creditsAvailableBadge.text.yes': 'Credits available',
1362
+ 'components.creditsAvailableBadge.text.some': 'Some remaining credits',
1363
+ 'components.creditsAvailableBadge.text.no': 'No remaining credits',
1364
+ 'components.creditsAvailableBadge.text.notYet': 'Credits available soon'
2319
1365
  };
2320
1366
 
2321
- var messagesDe$h = {
2322
- 'sections.cta.backgroundShapes': 'Dunkle Hintergrundformen',
2323
- 'sections.cta.backgroundShapesLight': 'Helle Hintergrundformen'
1367
+ var messagesEn$b = {
1368
+ 'sections.cta.backgroundShapesDark': 'Dark background shapes',
1369
+ 'sections.cta.backgroundShapesLight': 'Light background shapes'
2324
1370
  };
2325
1371
 
2326
- var messagesDe$g = {
2327
- 'sections.customerCard.more': 'Weiterlesen'
1372
+ var messagesEn$a = {
1373
+ 'sections.customerCard.more': 'Read more'
2328
1374
  };
2329
1375
 
2330
- var messagesDe$f = {
2331
- 'sections.customerQuoteCard.more': 'Weiterlesen'
1376
+ var messagesEn$9 = {
1377
+ 'sections.customerQuoteCard.more': 'Read more'
2332
1378
  };
2333
1379
 
2334
- var messagesDe$e = {
2335
- 'sections.eventCard.recommendedEvent': 'Empfohlene Veranstaltung',
2336
- 'sections.eventCard.buttonShowMore': 'Mehr anzeigen',
2337
- 'sections.eventCard.buttonShowLess': 'Weniger anzeigen',
2338
- 'sections.eventCard.eventType.conference': 'Konferenz',
1380
+ var messagesEn$8 = {
1381
+ 'sections.eventCard.recommendedEvent': 'Recommended Event',
1382
+ 'sections.eventCard.buttonShowMore': 'Show More',
1383
+ 'sections.eventCard.buttonShowLess': 'Show Less',
1384
+ 'sections.eventCard.eventType.conference': 'Conference',
2339
1385
  'sections.eventCard.eventType.webinar': 'Webinar',
2340
- 'sections.eventCard.eventType.forestwalk': 'Waldspaziergang',
2341
- 'sections.eventCard.eventType.partnerevent': 'Partnerveranstaltung',
2342
- 'sections.eventCard.eventType.lunch&learn': 'Mittagessen & Lernen',
2343
- 'sections.eventCard.eventType.fair': 'Messe',
1386
+ 'sections.eventCard.eventType.forestwalk': 'Forest Walk',
1387
+ 'sections.eventCard.eventType.partnerevent': 'Partner Event',
1388
+ 'sections.eventCard.eventType.lunch&learn': 'Lunch & Learn',
1389
+ 'sections.eventCard.eventType.fair': 'Fair',
2344
1390
  'sections.eventCard.eventType.festival': 'Festival',
2345
1391
  'sections.eventCard.eventType.roadshow': 'Roadshow',
2346
1392
  'sections.eventCard.eventType.meetup': 'Meet Up'
2347
1393
  };
2348
1394
 
2349
- var messagesDe$d = {
2350
- 'sections.events.loadMore': 'Mehr laden',
2351
- 'sections.events.noUpcomingEvents': 'Keine bevorstehenden Veranstaltungen gefunden',
2352
- 'sections.events.noPastEvents': 'Keine vergangenen Veranstaltungen gefunden',
2353
- 'sections.eventsFilter.searchPlaceholder': 'Suchen',
1395
+ var messagesDe$2 = {
1396
+ 'sections.events.loadMore': 'Load more',
1397
+ 'sections.events.noUpcomingEvents': 'No upcoming events found',
1398
+ 'sections.events.noPastEvents': 'No past events found',
1399
+ 'sections.events.eventsFilter.searchPlaceholder': 'Search',
2354
1400
  'sections.events.eventsFilter.eventType': 'Event Type',
2355
- 'sections.events.eventsFilter.language': 'Sprache',
2356
- 'sections.events.eventsFilter.sortBy.title': 'Sortieren nach',
2357
- 'sections.events.eventsFilter.sortBy.newest': 'Neueste zuerst',
2358
- 'sections.events.eventsFilter.sortBy.oldest': 'Älteste zuerst'
1401
+ 'sections.events.eventsFilter.language': 'Language',
1402
+ 'sections.events.eventsFilter.sortBy.title': 'Sort by',
1403
+ 'sections.events.eventsFilter.sortBy.newest': 'Newest first',
1404
+ 'sections.events.eventsFilter.sortBy.oldest': 'Oldest first'
2359
1405
  };
2360
1406
 
2361
- var messagesDe$c = {
2362
- 'sections.glossary.copyButtonLabel': 'Kopiere den Link zu diesem Abschnitt in die Zwischenablage',
2363
- 'sections.glossary.copySuccessMessage': 'Link in die Zwischenablage kopiert',
2364
- 'sections.glossary.copyFailureMessage': 'Link konnte nicht in die Zwischenablage kopiert werden'
1407
+ var messagesEn$7 = {
1408
+ 'sections.glossary.copyButtonLabel': 'Copy a link to this section to your clipboard',
1409
+ 'sections.glossary.copySuccessMessage': 'Copied the link to your clipboard',
1410
+ 'sections.glossary.copyFailureMessage': 'Could not copy link to clipboard'
2365
1411
  };
2366
1412
 
2367
- var messagesDe$b = {
2368
- 'features.portfolio.documentsDownloadList.projectDocuments': 'Projektdokumente',
2369
- 'features.portfolio.documentsDownloadList.downloadDocument': 'Dokument herunterladen'
1413
+ var messagesEn$6 = {
1414
+ 'features.portfolio.documentsDownloadList.projectDocuments': 'Project documents',
1415
+ 'features.portfolio.documentsDownloadList.downloadDocument': 'Download document'
2370
1416
  };
2371
1417
 
2372
- var messagesDe$a = {
2373
- 'sections.projectFacts.projectInfo.value': 'Projekt Infos'
1418
+ var messagesEn$5 = {
1419
+ 'sections.projectFacts.projectInfo.value': 'Project Infos'
2374
1420
  };
2375
1421
 
2376
- var messagesDe$9 = {
2377
- 'components.projectGridCard.certified': 'Zertifiziert, {year}',
2378
- 'components.projectGridCard.certificationInProgress': 'Zertifizierung ist in Arbeit'
1422
+ var messagesDe$1 = {
1423
+ 'components.projectGridCard.certified': 'Certified, {year}',
1424
+ 'components.projectGridCard.certificationInProgress': 'Certification in progress'
2379
1425
  };
2380
1426
 
2381
- var messagesDe$8 = {
2382
- 'sections.projectsMap.link.text': 'Mehr Infos'
1427
+ var messagesEn$4 = {
1428
+ 'sections.projectsMap.link.text': 'Show more info'
2383
1429
  };
2384
1430
 
2385
- var messagesDe$7 = {
2386
- 'features.projectInfo.projectInfo.value': 'Projekt Infos',
2387
- 'features.projectInfo.properties.area': 'Projekt Fläche',
2388
- 'features.projectInfo.properties.location': 'Standort',
2389
- 'features.projectInfo.properties.start': 'Projekt Start Datum',
2390
- 'features.projectInfo.properties.timeSpan': 'Projekt Zeitraum',
2391
- 'features.projectInfo.properties.projectType': 'Projekt Typ',
2392
- 'features.projectInfo.properties.projectDeveloper': 'Projekt Entwickler',
2393
- 'features.projectInfo.properties.verificationStandard.label': 'Verifizierungsstandard',
1431
+ var messagesEn$3 = {
1432
+ 'features.projectInfo.projectInfo.value': 'Project Infos',
1433
+ 'features.projectInfo.properties.area': 'Project Area',
1434
+ 'features.projectInfo.properties.location': 'Location',
1435
+ 'features.projectInfo.properties.start': 'Project Start Date',
1436
+ 'features.projectInfo.properties.timeSpan': 'Project Time Span',
1437
+ 'features.projectInfo.properties.projectType': 'Project Type',
1438
+ 'features.projectInfo.properties.projectDeveloper': 'Project Developer',
1439
+ 'features.projectInfo.properties.verificationStandard.label': 'Verification Standard',
2394
1440
  'features.projectInfo.properties.verificationStandard.value.SilvaconsultFCSISO14': 'SILVACONSULT® Forest Carbon Standard, ISO 14064-2',
2395
1441
  'features.projectInfo.properties.verificationStandard.value.MfKWCH': 'Methodik für Klimaschutzprojekte im Wald für die Schweiz',
2396
- 'features.projectInfo.properties.forecastedAmountYear.toolTip': 'Dies ist das jährliche Projekt-Senkenvolumen gemäß dem TÜV-geprüften PDD, dieser Wert stellt nicht die aktuellen Verfügbarkeiten dar.',
2397
- 'features.projectInfo.properties.forecastedAmountYear.label': 'Projektvolumen',
2398
- 'features.projectInfo.properties.riskBuffer': 'Anteil Risikopuffer',
2399
- 'features.projectInfo.properties.year': '{years} {years, plural, one {Jahr} other {Jahre} }'
1442
+ 'features.projectInfo.properties.forecastedAmountYear.label': 'Project Volume',
1443
+ 'features.projectInfo.properties.forecastedAmountYear.toolTip': "This is the yearly project sink volume according to the TÜV-verified PDD, this value doesn't represent current availabilities.",
1444
+ 'features.projectInfo.properties.riskBuffer': 'Risk Buffer Share',
1445
+ 'features.projectInfo.properties.year': '{years} {years, plural, one {year} other {years} }'
2400
1446
  };
2401
1447
 
2402
- var messagesDe$6 = {
2403
- 'portfolio.smallCheckout.price.taxNotIncluded': 'ohne Steuern',
2404
- 'portfolio.smallCheckout.price.taxIncluded': 'Preis inklusive Steuern: {number}',
2405
- 'portfolio.smallCheckout.contributionValueCurrency.label.CHF': 'Geben Sie den Beitrag in Fr. ein',
2406
- 'portfolio.smallCheckout.contributionValueCurrency.label.EUR': 'Geben Sie den Beitrag in € ein',
2407
- 'portfolio.smallCheckout.contributionValueCurrency.unit.EUR': '€',
2408
- 'portfolio.smallCheckout.contributionValueCurrency.unit.CHF': 'Fr.',
2409
- 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.CHF': 'Der Wert muss mindestens 10 CHF betragen',
2410
- 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.EUR': 'Der Wert muss mindestens 10 Euro betragen.',
2411
- 'portfolio.smallCheckout.contributionValueCurrency.validation.empty': 'Bitte geben Sie einen Wert ein',
2412
- 'portfolio.smallCheckout.contributionValueCurrency.validation.tooHigh': 'Für größere Einkäufe kontaktieren Sie bitte unser Verkaufsteam',
2413
- 'portfolio.smallCheckout.contributionValueTons.label': 'Beitrag in Tonnen',
2414
- 'portfolio.smallCheckout.submitButton': 'Credits kaufen'
2415
- };
2416
-
2417
- var messagesDe$5 = {
2418
- 'sections.shopCheckout.intro.price': 'Preis',
2419
- 'sections.shopCheckout.contributionValue.label.EUR': 'Geben sie einen Betrag in € ein',
2420
- 'sections.shopCheckout.contributionValue.label.CHF': 'Geben sie einen Betrag in CHF ein',
2421
- 'sections.shopCheckout.contributionValue.unit.EUR': '€',
2422
- 'sections.shopCheckout.contributionValue.unit.CHF': 'CHF',
2423
- 'sections.shopCheckout.contributionValue.validation.empty': 'Bitte geben sie einen Betrag ein',
2424
- 'sections.shopCheckout.contributionValue.validation.tooLow.EUR': 'Der Betrag muss mindestens 10 Euro sein',
2425
- 'sections.shopCheckout.contributionValue.validation.tooLow.CHF': 'Der Betrag muss mindestens 10 CHF sein',
2426
- 'sections.shopCheckout.contributionValue.validation.tooHigh': 'Für größere Einkäufe kontaktieren Sie bitte unser Verkaufsteam über office@tree.ly',
2427
- 'sections.shopCheckout.summary.kg': 'Menge',
2428
- 'sections.shopCheckout.summary.price': 'Preis',
2429
- 'sections.shopCheckout.summary.price.taxNotIncluded': 'ohne Steuern',
2430
- 'sections.shopCheckout.summary.price.taxIncluded': 'Preis inklusive Steuern: {number}',
2431
- 'sections.shopCheckout.submit': 'Kaufen'
2432
- };
2433
-
2434
- var messagesDe$4 = {
2435
- 'sections.textCarousel.moveRight': 'Nach rechts bewegen',
2436
- 'sections.textCarousel.moveLeft': 'Nach links bewegen'
2437
- };
2438
-
2439
- var messagesDe$3 = {
2440
- 'sections.timeline.backgroundShapes': 'Hintergrundformen',
2441
- 'sections.timeline.showMoreButton': 'Drei weitere Meilensteine anzeigen'
2442
- };
2443
-
2444
- var unitMessagesDe = {
2445
- 'unit.formatter.tonsCo2': '{number} /tCO₂',
2446
- 'unit.formatter.tonsCo2PerYear': '{number} tCO₂/Jahr'
2447
- };
2448
-
2449
- var rootMessagesDe = /*#__PURE__*/_extends({}, messagesDe$i, messagesDe$e, messagesDe$b, messagesDe$7, messagesDe$6, messagesDe$9, messagesDe$j, messagesDe$h, messagesDe$g, messagesDe$f, messagesDe$d, messagesDe$c, messagesDe$a, messagesDe$8, messagesDe$5, messagesDe$4, messagesDe$3, unitMessagesDe);
2450
-
2451
- var messagesEn$d = {
2452
- 'sections.comparison.backgroundShapes': 'Background shapes'
2453
- };
2454
-
2455
- var messagesEn$c = {
2456
- 'components.creditsAvailableBadge.text.yes': 'Credits available',
2457
- 'components.creditsAvailableBadge.text.some': 'Some remaining credits',
2458
- 'components.creditsAvailableBadge.text.no': 'No remaining credits',
2459
- 'components.creditsAvailableBadge.text.notYet': 'Credits available soon'
2460
- };
2461
-
2462
- var messagesEn$b = {
2463
- 'sections.cta.backgroundShapesDark': 'Dark background shapes',
2464
- 'sections.cta.backgroundShapesLight': 'Light background shapes'
2465
- };
2466
-
2467
- var messagesEn$a = {
2468
- 'sections.customerCard.more': 'Read more'
2469
- };
2470
-
2471
- var messagesEn$9 = {
2472
- 'sections.customerQuoteCard.more': 'Read more'
2473
- };
2474
-
2475
- var messagesEn$8 = {
2476
- 'sections.eventCard.recommendedEvent': 'Recommended Event',
2477
- 'sections.eventCard.buttonShowMore': 'Show More',
2478
- 'sections.eventCard.buttonShowLess': 'Show Less',
2479
- 'sections.eventCard.eventType.conference': 'Conference',
2480
- 'sections.eventCard.eventType.webinar': 'Webinar',
2481
- 'sections.eventCard.eventType.forestwalk': 'Forest Walk',
2482
- 'sections.eventCard.eventType.partnerevent': 'Partner Event',
2483
- 'sections.eventCard.eventType.lunch&learn': 'Lunch & Learn',
2484
- 'sections.eventCard.eventType.fair': 'Fair',
2485
- 'sections.eventCard.eventType.festival': 'Festival',
2486
- 'sections.eventCard.eventType.roadshow': 'Roadshow',
2487
- 'sections.eventCard.eventType.meetup': 'Meet Up'
2488
- };
2489
-
2490
- var messagesDe$2 = {
2491
- 'sections.events.loadMore': 'Load more',
2492
- 'sections.events.noUpcomingEvents': 'No upcoming events found',
2493
- 'sections.events.noPastEvents': 'No past events found',
2494
- 'sections.events.eventsFilter.searchPlaceholder': 'Search',
2495
- 'sections.events.eventsFilter.eventType': 'Event Type',
2496
- 'sections.events.eventsFilter.language': 'Language',
2497
- 'sections.events.eventsFilter.sortBy.title': 'Sort by',
2498
- 'sections.events.eventsFilter.sortBy.newest': 'Newest first',
2499
- 'sections.events.eventsFilter.sortBy.oldest': 'Oldest first'
2500
- };
2501
-
2502
- var messagesEn$7 = {
2503
- 'sections.glossary.copyButtonLabel': 'Copy a link to this section to your clipboard',
2504
- 'sections.glossary.copySuccessMessage': 'Copied the link to your clipboard',
2505
- 'sections.glossary.copyFailureMessage': 'Could not copy link to clipboard'
2506
- };
2507
-
2508
- var messagesEn$6 = {
2509
- 'features.portfolio.documentsDownloadList.projectDocuments': 'Project documents',
2510
- 'features.portfolio.documentsDownloadList.downloadDocument': 'Download document'
2511
- };
2512
-
2513
- var messagesEn$5 = {
2514
- 'sections.projectFacts.projectInfo.value': 'Project Infos'
2515
- };
2516
-
2517
- var messagesDe$1 = {
2518
- 'components.projectGridCard.certified': 'Certified, {year}',
2519
- 'components.projectGridCard.certificationInProgress': 'Certification in progress'
2520
- };
2521
-
2522
- var messagesEn$4 = {
2523
- 'sections.projectsMap.link.text': 'Show more info'
2524
- };
2525
-
2526
- var messagesEn$3 = {
2527
- 'features.projectInfo.projectInfo.value': 'Project Infos',
2528
- 'features.projectInfo.properties.area': 'Project Area',
2529
- 'features.projectInfo.properties.location': 'Location',
2530
- 'features.projectInfo.properties.start': 'Project Start Date',
2531
- 'features.projectInfo.properties.timeSpan': 'Project Time Span',
2532
- 'features.projectInfo.properties.projectType': 'Project Type',
2533
- 'features.projectInfo.properties.projectDeveloper': 'Project Developer',
2534
- 'features.projectInfo.properties.verificationStandard.label': 'Verification Standard',
2535
- 'features.projectInfo.properties.verificationStandard.value.SilvaconsultFCSISO14': 'SILVACONSULT® Forest Carbon Standard, ISO 14064-2',
2536
- 'features.projectInfo.properties.verificationStandard.value.MfKWCH': 'Methodik für Klimaschutzprojekte im Wald für die Schweiz',
2537
- 'features.projectInfo.properties.forecastedAmountYear.label': 'Project Volume',
2538
- 'features.projectInfo.properties.forecastedAmountYear.toolTip': "This is the yearly project sink volume according to the TÜV-verified PDD, this value doesn't represent current availabilities.",
2539
- 'features.projectInfo.properties.riskBuffer': 'Risk Buffer Share',
2540
- 'features.projectInfo.properties.year': '{years} {years, plural, one {year} other {years} }'
2541
- };
2542
-
2543
- var messagesEn$2 = {
2544
- 'portfolio.smallCheckout.price.taxNotIncluded': 'not including tax',
2545
- 'portfolio.smallCheckout.price.taxIncluded': 'Price including tax: {number}',
2546
- 'portfolio.smallCheckout.contributionValueCurrency.label.CHF': 'Contribution Amount in CHF',
2547
- 'portfolio.smallCheckout.contributionValueCurrency.label.EUR': 'Contribution Amount in €',
1448
+ var messagesEn$2 = {
1449
+ 'portfolio.smallCheckout.price.taxNotIncluded': 'not including tax',
1450
+ 'portfolio.smallCheckout.price.taxIncluded': 'Price including tax: {number}',
1451
+ 'portfolio.smallCheckout.contributionValueCurrency.label.CHF': 'Contribution Amount in CHF',
1452
+ 'portfolio.smallCheckout.contributionValueCurrency.label.EUR': 'Contribution Amount in €',
2548
1453
  'portfolio.smallCheckout.contributionValueCurrency.unit.EUR': '€',
2549
1454
  'portfolio.smallCheckout.contributionValueCurrency.unit.CHF': 'CHF',
2550
1455
  'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.CHF': 'The value must be at least 10 CHF',
@@ -2598,84 +1503,1274 @@ var getMessages = function getMessages(locale) {
2598
1503
  return messages[messagesLocale];
2599
1504
  };
2600
1505
 
2601
- var cache = /*#__PURE__*/reactIntl.createIntlCache();
2602
- var intlFactory = function intlFactory(locale) {
2603
- return reactIntl.createIntl({
2604
- locale: locale,
2605
- messages: getMessages(locale)
2606
- }, cache);
1506
+ var AnalyticsContext = /*#__PURE__*/React.createContext(undefined);
1507
+ var cache = /*#__PURE__*/reactIntl.createIntlCache();
1508
+ var intlFactory = function intlFactory(locale) {
1509
+ return reactIntl.createIntl({
1510
+ locale: locale,
1511
+ messages: getMessages(locale)
1512
+ }, cache);
1513
+ };
1514
+ var IntlContext = /*#__PURE__*/React.createContext(/*#__PURE__*/intlFactory('en'));
1515
+ var ContextProvider = function ContextProvider(_ref) {
1516
+ var children = _ref.children,
1517
+ locale = _ref.locale,
1518
+ analyticsFunction = _ref.analyticsFunction;
1519
+ var fetcher = /*#__PURE__*/function () {
1520
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(resource, init) {
1521
+ var response, errorData;
1522
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
1523
+ while (1) switch (_context.prev = _context.next) {
1524
+ case 0:
1525
+ _context.next = 2;
1526
+ return strapiClient.get("" + resource, _extends({}, init, {
1527
+ headers: {}
1528
+ }));
1529
+ case 2:
1530
+ response = _context.sent;
1531
+ if (!(response.status < 200 || response.status >= 300)) {
1532
+ _context.next = 15;
1533
+ break;
1534
+ }
1535
+ errorData = {
1536
+ message: ''
1537
+ };
1538
+ _context.prev = 5;
1539
+ _context.next = 8;
1540
+ return response.data;
1541
+ case 8:
1542
+ errorData = _context.sent;
1543
+ _context.next = 14;
1544
+ break;
1545
+ case 11:
1546
+ _context.prev = 11;
1547
+ _context.t0 = _context["catch"](5);
1548
+ errorData = {
1549
+ message: "An unknown error occurred while fetching data."
1550
+ };
1551
+ case 14:
1552
+ throw new Error(errorData.message);
1553
+ case 15:
1554
+ _context.next = 17;
1555
+ return response.data;
1556
+ case 17:
1557
+ _context.t1 = _context.sent;
1558
+ _context.t2 = response.headers;
1559
+ return _context.abrupt("return", {
1560
+ body: _context.t1,
1561
+ headers: _context.t2
1562
+ });
1563
+ case 20:
1564
+ case "end":
1565
+ return _context.stop();
1566
+ }
1567
+ }, _callee, null, [[5, 11]]);
1568
+ }));
1569
+ return function fetcher(_x, _x2) {
1570
+ return _ref2.apply(this, arguments);
1571
+ };
1572
+ }();
1573
+ return React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(_internal.SWRConfig, {
1574
+ value: {
1575
+ fetcher: fetcher
1576
+ }
1577
+ }, React__default.default.createElement(react$1.Global, {
1578
+ styles: {
1579
+ GLOBAL_STYLE: GLOBAL_STYLE
1580
+ }
1581
+ }), React__default.default.createElement(IntlContext.Provider, {
1582
+ value: intlFactory(locale)
1583
+ }, React__default.default.createElement(AnalyticsContext.Provider, {
1584
+ value: analyticsFunction
1585
+ }, children))));
1586
+ };
1587
+
1588
+ var _excluded$1 = ["link", "component"];
1589
+ var StrapiLinkButton = function StrapiLinkButton(_ref) {
1590
+ var link = _ref.link,
1591
+ _ref$component = _ref.component,
1592
+ component = _ref$component === void 0 ? 'StrapiLinkButton' : _ref$component,
1593
+ buttonProps = _objectWithoutPropertiesLoose(_ref, _excluded$1);
1594
+ var adBlockDetected = adblockDetectReact.useDetectAdBlock();
1595
+ var analyticsFunction = React.useContext(AnalyticsContext);
1596
+ var handleClick = function handleClick() {
1597
+ var buttonUrl = link.intercomLauncher && adBlockDetected ? 'mailto:hello@tree.ly' : strapiLinkUrl(link);
1598
+ analyticsFunction == null || analyticsFunction({
1599
+ type: 'track',
1600
+ props: {
1601
+ action: 'click',
1602
+ component: component,
1603
+ buttonText: link.text,
1604
+ buttonUrl: buttonUrl
1605
+ }
1606
+ });
1607
+ };
1608
+ if (link.intercomLauncher) {
1609
+ if (adBlockDetected) {
1610
+ return React__default.default.createElement(boemly.Button, _extends({}, buttonProps, {
1611
+ as: Link__default.default,
1612
+ href: "mailto:hello@tree.ly",
1613
+ onClick: handleClick
1614
+ }), link.text);
1615
+ }
1616
+ return React__default.default.createElement(boemly.Button, _extends({}, buttonProps, {
1617
+ onClick: function onClick() {
1618
+ handleClick();
1619
+ openHubSpotChat();
1620
+ }
1621
+ }), link.text);
1622
+ }
1623
+ return React__default.default.createElement(boemly.Button, _extends({}, buttonProps, {
1624
+ as: Link__default.default,
1625
+ href: strapiLinkUrl(link),
1626
+ onClick: handleClick
1627
+ }), link.text);
1628
+ };
1629
+
1630
+ var Hero = function Hero(_ref) {
1631
+ var slice = _ref.slice;
1632
+ return React__default.default.createElement(boemly.Box, {
1633
+ position: "relative",
1634
+ width: "full",
1635
+ height: "var(--default-hero-height)",
1636
+ minHeight: "2xl",
1637
+ backgroundColor: "gray.900",
1638
+ overflowX: "hidden"
1639
+ }, slice.image && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(Image__default.default, {
1640
+ src: strapiMediaUrl(slice.image.img, 'xLarge'),
1641
+ alt: slice.image.alt,
1642
+ fill: true,
1643
+ style: {
1644
+ objectFit: slice.image.objectFit || 'cover'
1645
+ }
1646
+ }), React__default.default.createElement(boemly.Gradient, null)), slice.shape && React__default.default.createElement(boemly.Box, {
1647
+ position: "absolute",
1648
+ bottom: "0",
1649
+ borderTopRightRadius: "full",
1650
+ width: ['3xs', null, '2xs', null, 'sm'],
1651
+ height: ['3xs', null, '2xs', null, 'sm'],
1652
+ right: ['-16', null, '24']
1653
+ }, React__default.default.createElement(Image__default.default, {
1654
+ src: strapiMediaUrl(slice.shape.img, 'medium'),
1655
+ alt: slice.shape.alt,
1656
+ fill: true,
1657
+ style: {
1658
+ objectFit: slice.shape.objectFit || 'cover',
1659
+ borderTopRightRadius: 'var(--boemly-radii-full)'
1660
+ }
1661
+ })), React__default.default.createElement(boemly.Box, {
1662
+ position: "absolute",
1663
+ left: "0",
1664
+ top: "56%",
1665
+ width: "full",
1666
+ textAlign: slice.textAlign,
1667
+ transform: "translateY(-50%)"
1668
+ }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
1669
+ isHero: true,
1670
+ tagline: slice.tagline,
1671
+ title: slice.title,
1672
+ text: slice.subTitle,
1673
+ taglineProps: {
1674
+ color: 'white'
1675
+ },
1676
+ titleProps: {
1677
+ color: 'white',
1678
+ maxW: slice.textAlign === 'center' ? '4xl' : '3xl',
1679
+ mx: slice.textAlign === 'center' ? 'auto' : 'unset',
1680
+ textAlign: slice.textAlign
1681
+ },
1682
+ textProps: {
1683
+ maxW: '2xl',
1684
+ mx: slice.textAlign === 'center' ? 'auto' : 'unset',
1685
+ textAlign: slice.textAlign,
1686
+ color: 'white'
1687
+ }
1688
+ }), React__default.default.createElement(boemly.Flex, {
1689
+ gap: "8",
1690
+ justifyContent: slice.textAlign === 'center' ? 'center' : 'start'
1691
+ }, slice.button && React__default.default.createElement(StrapiLinkButton, {
1692
+ key: slice.button.id,
1693
+ mt: "10",
1694
+ size: "xl",
1695
+ link: slice.button,
1696
+ component: "Hero"
1697
+ }), slice.additionalButtons.map(function (button) {
1698
+ return React__default.default.createElement(StrapiLinkButton, {
1699
+ key: button.button.id,
1700
+ mt: "10",
1701
+ size: "xl",
1702
+ variant: button.variant,
1703
+ link: button.button,
1704
+ component: "Hero"
1705
+ });
1706
+ }))))));
1707
+ };
1708
+
1709
+ var IconGrid = function IconGrid(_ref) {
1710
+ var slice = _ref.slice;
1711
+ var columns = function columns() {
1712
+ if (slice.iconsWithTextAndButton.length === 2) {
1713
+ return [1, null, null, 2, 2];
1714
+ }
1715
+ if (slice.iconsWithTextAndButton.length === 1) {
1716
+ return 1;
1717
+ }
1718
+ return [1, null, null, 2, 3];
1719
+ };
1720
+ return React__default.default.createElement(boemly.DefaultSectionContainer, null, React__default.default.createElement(boemly.Wrapper, null, slice.title ? React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Flex, {
1721
+ alignItems: "center",
1722
+ flexDirection: "column"
1723
+ }, React__default.default.createElement(boemly.DefaultSectionHeader, {
1724
+ tagline: slice.tagline,
1725
+ title: slice.title,
1726
+ text: slice.subTitle,
1727
+ taglineProps: {
1728
+ maxW: '2xl',
1729
+ textAlign: 'center'
1730
+ },
1731
+ titleProps: {
1732
+ maxW: '3xl',
1733
+ textAlign: 'center'
1734
+ },
1735
+ textProps: {
1736
+ maxW: '3xl',
1737
+ textAlign: 'center'
1738
+ }
1739
+ })), React__default.default.createElement(boemly.Spacer, {
1740
+ h: "20"
1741
+ })) : React__default.default.createElement(React__default.default.Fragment, null), React__default.default.createElement(boemly.SimpleGrid, {
1742
+ columns: columns(),
1743
+ gap: slice.iconsWithTextAndButton.length === 2 ? '14' : '16',
1744
+ rowGap: ['16', null, null, '20']
1745
+ }, slice.iconsWithTextAndButton.map(function (iconWithTextAndButton) {
1746
+ return React__default.default.createElement(boemly.Box, {
1747
+ key: iconWithTextAndButton.id
1748
+ }, React__default.default.createElement(boemly.Box, {
1749
+ margin: "0 auto",
1750
+ backgroundColor: "primary.50",
1751
+ borderRadius: "full",
1752
+ display: "flex",
1753
+ alignItems: "center",
1754
+ justifyContent: "space-around",
1755
+ width: "6.5rem",
1756
+ height: "6.5rem"
1757
+ }, React__default.default.createElement(boemly.Box, {
1758
+ position: "absolute",
1759
+ width: "12",
1760
+ height: "12"
1761
+ }, React__default.default.createElement(Image__default.default, {
1762
+ src: strapiMediaUrl(iconWithTextAndButton.icon.img, 'xSmall'),
1763
+ alt: iconWithTextAndButton.icon.alt,
1764
+ fill: true,
1765
+ style: {
1766
+ objectFit: iconWithTextAndButton.icon.objectFit || 'contain'
1767
+ }
1768
+ }))), React__default.default.createElement(boemly.Heading, {
1769
+ size: "xl",
1770
+ textAlign: "center",
1771
+ mb: "4",
1772
+ mt: "8"
1773
+ }, iconWithTextAndButton.title), React__default.default.createElement(boemly.Text, {
1774
+ size: "mdRegularNormal",
1775
+ textAlign: "center"
1776
+ }, iconWithTextAndButton.text), iconWithTextAndButton.button && React__default.default.createElement(boemly.Box, {
1777
+ textAlign: "center"
1778
+ }, React__default.default.createElement(StrapiLinkButton, {
1779
+ key: iconWithTextAndButton.button.id,
1780
+ mt: "8",
1781
+ size: "md",
1782
+ variant: "outline",
1783
+ link: iconWithTextAndButton.button,
1784
+ component: "IconGrid"
1785
+ })));
1786
+ }))));
1787
+ };
1788
+
1789
+ var LinkedInIcon = function LinkedInIcon() {
1790
+ return React__default.default.createElement("svg", {
1791
+ width: "14",
1792
+ height: "14",
1793
+ viewBox: "0 0 14 14",
1794
+ fill: "none",
1795
+ xmlns: "http://www.w3.org/2000/svg"
1796
+ }, React__default.default.createElement("g", {
1797
+ clipPath: "url(#clip0_112_606)"
1798
+ }, React__default.default.createElement("path", {
1799
+ d: "M11.9286 11.9285H9.85424V8.67998C9.85424 7.90534 9.84042 6.90813 8.77539 6.90813C7.695 6.90813 7.52969 7.75213 7.52969 8.62357V11.9283H5.45533V5.24799H7.44671V6.16093H7.47459C7.67388 5.82018 7.96186 5.53986 8.30786 5.34984C8.65386 5.15981 9.04493 5.06719 9.4394 5.08183C11.5418 5.08183 11.9295 6.46473 11.9295 8.2638L11.9286 11.9285ZM3.11477 4.33484C2.87669 4.33489 2.64393 4.26433 2.44595 4.13209C2.24796 3.99985 2.09365 3.81188 2.0025 3.59193C1.91135 3.37199 1.88746 3.12995 1.93387 2.89644C1.98027 2.66292 2.09488 2.44841 2.26321 2.28003C2.43153 2.11164 2.646 1.99696 2.8795 1.95047C3.11301 1.90398 3.35504 1.92778 3.57502 2.01884C3.795 2.10992 3.98303 2.26417 4.11533 2.46211C4.24764 2.66004 4.31829 2.89277 4.31833 3.13085C4.31836 3.28894 4.28725 3.44547 4.22678 3.59153C4.1663 3.7376 4.07767 3.87031 3.96591 3.98211C3.85415 4.09392 3.72146 4.18261 3.57541 4.24313C3.42937 4.30365 3.27286 4.33481 3.11477 4.33484ZM4.15194 11.9285H2.07544V5.24799H4.15194V11.9285ZM12.9628 0.000953808H1.03307C0.762304 -0.00210183 0.501383 0.102466 0.307673 0.291681C0.113961 0.480895 0.00330461 0.739273 0 1.01004V12.9892C0.00319151 13.2602 0.113783 13.5187 0.307487 13.7081C0.501192 13.8975 0.762169 14.0023 1.03307 13.9994H12.9628C13.2342 14.0028 13.496 13.8983 13.6904 13.7089C13.8848 13.5195 13.9962 13.2607 14 12.9892V1.00918C13.9961 0.737873 13.8846 0.479199 13.6902 0.28999C13.4958 0.10078 13.2341 -0.00348904 12.9628 8.91429e-05",
1800
+ fill: "#0A66C2"
1801
+ })), React__default.default.createElement("defs", null, React__default.default.createElement("clipPath", {
1802
+ id: "clip0_112_606"
1803
+ }, React__default.default.createElement("rect", {
1804
+ width: "14",
1805
+ height: "14",
1806
+ fill: "white"
1807
+ }))));
1808
+ };
1809
+
1810
+ var _excluded = ["link"];
1811
+ var StrapiLinkButtonWithIcon = function StrapiLinkButtonWithIcon(_ref) {
1812
+ var link = _ref.link,
1813
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
1814
+ var getLinkIcon = function getLinkIcon(destination) {
1815
+ switch (destination) {
1816
+ case 'linkedin':
1817
+ {
1818
+ return React__default.default.createElement(LinkedInIcon, null);
1819
+ }
1820
+ case 'web':
1821
+ {
1822
+ return React__default.default.createElement(react.Globe, null);
1823
+ }
1824
+ default:
1825
+ {
1826
+ return React__default.default.createElement(react.CaretRight, null);
1827
+ }
1828
+ }
1829
+ };
1830
+ return React__default.default.createElement(StrapiLinkButton, _extends({}, props, {
1831
+ link: link.link,
1832
+ rightIcon: getLinkIcon(link.destination)
1833
+ }));
1834
+ };
1835
+
1836
+ var ImageGrid = function ImageGrid(_ref) {
1837
+ var slice = _ref.slice;
1838
+ var _useToken = boemly.useToken('colors', ['primary.50']),
1839
+ primary50 = _useToken[0];
1840
+ return React__default.default.createElement(boemly.DefaultSectionContainer, {
1841
+ backgroundColor: primary50,
1842
+ title: slice.title
1843
+ }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
1844
+ tagline: slice.tagline,
1845
+ title: slice.title,
1846
+ text: slice.text,
1847
+ taglineProps: {
1848
+ textAlign: 'center'
1849
+ },
1850
+ titleProps: {
1851
+ textAlign: 'center',
1852
+ maxW: '6xl',
1853
+ marginX: 'auto'
1854
+ },
1855
+ textProps: {
1856
+ textAlign: 'center',
1857
+ maxW: '2xl',
1858
+ marginX: 'auto'
1859
+ }
1860
+ }), React__default.default.createElement(boemly.SimpleGrid, {
1861
+ mt: "24",
1862
+ columns: 3,
1863
+ gap: "24",
1864
+ rowGap: "16",
1865
+ minChildWidth: "16rem"
1866
+ }, slice.images.map(function (_ref2) {
1867
+ var id = _ref2.id,
1868
+ title = _ref2.title,
1869
+ subTitle = _ref2.subTitle,
1870
+ image = _ref2.image,
1871
+ links = _ref2.links;
1872
+ return React__default.default.createElement(boemly.Box, {
1873
+ key: id
1874
+ }, React__default.default.createElement(boemly.Box, {
1875
+ position: "relative",
1876
+ height: "sm",
1877
+ borderRadius: "xl"
1878
+ }, React__default.default.createElement(Image__default.default, {
1879
+ src: strapiMediaUrl(image.img, 'medium'),
1880
+ alt: image.alt,
1881
+ fill: true,
1882
+ style: {
1883
+ objectFit: image.objectFit || 'cover',
1884
+ borderRadius: 'var(--boemly-radii-xl)'
1885
+ }
1886
+ })), React__default.default.createElement(boemly.Heading, {
1887
+ size: "xl",
1888
+ mt: "4"
1889
+ }, title), subTitle && React__default.default.createElement(boemly.Text, {
1890
+ size: "mdRegularNormal"
1891
+ }, subTitle), links && links.length > 0 && React__default.default.createElement(boemly.Flex, {
1892
+ mt: "3",
1893
+ flexDir: "row",
1894
+ gap: "2",
1895
+ flexWrap: "wrap"
1896
+ }, links.map(function (link) {
1897
+ return React__default.default.createElement(StrapiLinkButtonWithIcon, {
1898
+ key: link.id,
1899
+ link: link,
1900
+ size: "sm",
1901
+ variant: "outline",
1902
+ component: "ImageGrid"
1903
+ });
1904
+ })));
1905
+ }))));
1906
+ };
1907
+
1908
+ var ImageTextSequence = function ImageTextSequence(_ref) {
1909
+ var slice = _ref.slice;
1910
+ var _useMediaQuery = boemly.useMediaQuery(BREAKPOINT_LG_QUERY),
1911
+ oneColumnGrid = _useMediaQuery[0];
1912
+ var _useToken = boemly.useToken('colors', ['primary.50']),
1913
+ primary50 = _useToken[0];
1914
+ var _useToken2 = boemly.useToken('colors', ['gray.700']),
1915
+ gray700 = _useToken2[0];
1916
+ return React__default.default.createElement(boemly.DefaultSectionContainer, {
1917
+ backgroundColor: primary50,
1918
+ title: slice.title
1919
+ }, slice.background ? React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Box, {
1920
+ position: "absolute",
1921
+ top: "0",
1922
+ right: "24",
1923
+ display: ['none', null, null, 'unset']
1924
+ }, React__default.default.createElement(Image__default.default, {
1925
+ src: CDN_URI + "/assets/v3/strapi-slices/desktop-map-border.svg",
1926
+ alt: "Map",
1927
+ width: "786",
1928
+ height: "897"
1929
+ })), React__default.default.createElement(boemly.Box, {
1930
+ position: "absolute",
1931
+ top: "64",
1932
+ right: "-14",
1933
+ display: ['unset', null, null, 'none']
1934
+ }, React__default.default.createElement(Image__default.default, {
1935
+ src: CDN_URI + "/assets/v3/strapi-slices/mobile-map-border.svg",
1936
+ alt: "Map",
1937
+ width: "227",
1938
+ height: "452"
1939
+ }))) : React__default.default.createElement(React__default.default.Fragment, null), React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
1940
+ tagline: slice.tagline,
1941
+ title: slice.title,
1942
+ text: slice.text,
1943
+ taglineProps: {
1944
+ textAlign: ['left', null, null, null, 'center']
1945
+ },
1946
+ titleProps: {
1947
+ maxW: '6xl',
1948
+ marginX: ['0', null, null, null, 'auto'],
1949
+ textAlign: ['left', null, null, null, 'center']
1950
+ },
1951
+ textProps: {
1952
+ maxW: '2xl',
1953
+ marginX: ['0', null, null, null, 'auto'],
1954
+ textAlign: ['left', null, null, null, 'center'],
1955
+ color: 'black'
1956
+ }
1957
+ }), React__default.default.createElement(boemly.SimpleGrid, {
1958
+ gap: "16",
1959
+ mt: ['28', null, null, null, '40'],
1960
+ columns: [1, null, null, null, 2]
1961
+ }, slice.imageTextRows.map(function (_ref2, index) {
1962
+ var id = _ref2.id,
1963
+ title = _ref2.title,
1964
+ text = _ref2.text,
1965
+ button = _ref2.button,
1966
+ image = _ref2.image;
1967
+ var imageBox = React__default.default.createElement(boemly.Box, null, React__default.default.createElement(boemly.Box, {
1968
+ position: "relative",
1969
+ width: "full",
1970
+ minHeight: ['2xs', null, null, 'sm']
1971
+ }, React__default.default.createElement(Image__default.default, {
1972
+ src: strapiMediaUrl(image.img, 'large'),
1973
+ alt: image.alt,
1974
+ fill: true,
1975
+ style: {
1976
+ objectFit: image.objectFit || 'contain',
1977
+ borderRadius: 'var(--boemly-radii-xl)'
1978
+ }
1979
+ })));
1980
+ return React__default.default.createElement(React.Fragment, {
1981
+ key: id
1982
+ }, (oneColumnGrid || index % 2 !== 0) && imageBox, React__default.default.createElement(boemly.Box, {
1983
+ display: "flex",
1984
+ alignItems: "flex-start",
1985
+ flexDirection: "column",
1986
+ justifyContent: "center"
1987
+ }, React__default.default.createElement(boemly.Heading, {
1988
+ as: "h2",
1989
+ size: "xl",
1990
+ mb: "4"
1991
+ }, title), React__default.default.createElement(boemly.Text, {
1992
+ size: "mdRegularNormal"
1993
+ }, text), button && React__default.default.createElement(StrapiLinkButton, {
1994
+ mt: "5",
1995
+ link: button,
1996
+ size: "sm",
1997
+ variant: "outline",
1998
+ rightIcon: React__default.default.createElement(react.CaretRight, {
1999
+ size: "10",
2000
+ color: gray700
2001
+ }),
2002
+ component: "ImageTextSequence"
2003
+ })), !oneColumnGrid && index % 2 === 0 && imageBox);
2004
+ }))));
2005
+ };
2006
+
2007
+ var LeftTextRightCard = function LeftTextRightCard(_ref) {
2008
+ var slice = _ref.slice;
2009
+ var _useRouter = router.useRouter(),
2010
+ push = _useRouter.push;
2011
+ var analyticsFunction = React.useContext(AnalyticsContext);
2012
+ var handleCardButtonClick = function handleCardButtonClick() {
2013
+ var _slice$card;
2014
+ if ((_slice$card = slice.card) != null && _slice$card.button) {
2015
+ var _slice$card5;
2016
+ if (analyticsFunction) {
2017
+ var _slice$card2, _slice$card3, _slice$card4;
2018
+ analyticsFunction({
2019
+ type: 'track',
2020
+ props: {
2021
+ action: 'click',
2022
+ component: 'LeftTextRightCard',
2023
+ buttonText: (_slice$card2 = slice.card) == null || (_slice$card2 = _slice$card2.button) == null ? void 0 : _slice$card2.text,
2024
+ buttonUrl: strapiLinkUrl((_slice$card3 = slice.card) == null ? void 0 : _slice$card3.button),
2025
+ cardTitle: (_slice$card4 = slice.card) == null ? void 0 : _slice$card4.title
2026
+ }
2027
+ });
2028
+ }
2029
+ push(strapiLinkUrl((_slice$card5 = slice.card) == null ? void 0 : _slice$card5.button));
2030
+ }
2031
+ };
2032
+ return React__default.default.createElement(boemly.DefaultSectionContainer, {
2033
+ title: slice.title
2034
+ }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Grid, {
2035
+ templateColumns: ['repeat(8, 1fr)', null, null, null, 'repeat(12, 1fr)'],
2036
+ templateRows: ['repeat(2, 1fr)', null, null, null, 'repeat(1, 1fr)'],
2037
+ rowGap: "12"
2038
+ }, React__default.default.createElement(boemly.GridItem, {
2039
+ colSpan: 8,
2040
+ rowSpan: 1,
2041
+ pr: ['0', null, null, null, '28']
2042
+ }, React__default.default.createElement(boemly.DefaultSectionHeader, {
2043
+ tagline: slice.tagline,
2044
+ title: slice.title,
2045
+ text: slice.text
2046
+ }), slice.checkMarkLabels && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Spacer, {
2047
+ height: "10"
2048
+ }), React__default.default.createElement(boemly.BoemlyList, {
2049
+ listItems: slice.checkMarkLabels
2050
+ }), React__default.default.createElement(boemly.Spacer, {
2051
+ height: "10"
2052
+ })), slice.button && React__default.default.createElement(StrapiLinkButton, {
2053
+ link: slice.button,
2054
+ size: "md",
2055
+ colorScheme: "white",
2056
+ variant: "outline",
2057
+ rightIcon: React__default.default.createElement(react.ArrowRight, null),
2058
+ component: "LeftTextRightCard"
2059
+ })), React__default.default.createElement(boemly.GridItem, {
2060
+ colSpan: [8, null, null, null, 4],
2061
+ rowSpan: 1,
2062
+ position: "relative"
2063
+ }, slice.card && React__default.default.createElement(boemly.PortfolioCard, {
2064
+ title: slice.card.title,
2065
+ button: slice.card.button && {
2066
+ text: slice.card.button.text,
2067
+ onClick: handleCardButtonClick
2068
+ },
2069
+ facts: slice.card.facts,
2070
+ image: React__default.default.createElement(Image__default.default, {
2071
+ src: strapiMediaUrl(slice.card.image.img, 'medium'),
2072
+ alt: slice.card.image.alt,
2073
+ fill: true,
2074
+ style: {
2075
+ objectFit: slice.card.image.objectFit || 'cover'
2076
+ }
2077
+ }),
2078
+ portfolioNumber: slice.card.portfolioNumber
2079
+ })))));
2080
+ };
2081
+
2082
+ var LogoGridWithText = function LogoGridWithText(_ref) {
2083
+ var slice = _ref.slice;
2084
+ var _useToken = boemly.useToken('colors', ['primary.50']),
2085
+ primary50 = _useToken[0];
2086
+ return React__default.default.createElement(boemly.DefaultSectionContainer, {
2087
+ backgroundColor: primary50,
2088
+ title: slice.title
2089
+ }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.SimpleGrid, {
2090
+ columns: 2,
2091
+ gap: "28",
2092
+ minChildWidth: "16rem"
2093
+ }, React__default.default.createElement(boemly.Box, {
2094
+ display: "flex",
2095
+ flexDirection: "column",
2096
+ justifyContent: "center",
2097
+ alignItems: "flex-start"
2098
+ }, React__default.default.createElement(boemly.Heading, {
2099
+ as: "h2",
2100
+ size: "3xl",
2101
+ mb: "4"
2102
+ }, slice.title), React__default.default.createElement(boemly.RichText, {
2103
+ content: slice.text
2104
+ }), slice.button && React__default.default.createElement(StrapiLinkButton, {
2105
+ link: slice.button,
2106
+ size: "md",
2107
+ colorScheme: "white",
2108
+ variant: "outline",
2109
+ mt: "6",
2110
+ rightIcon: React__default.default.createElement(react.ArrowRight, null),
2111
+ component: "LogoGridWithText"
2112
+ })), React__default.default.createElement(boemly.Flex, {
2113
+ flexDir: "row",
2114
+ flexWrap: "wrap",
2115
+ gap: ['12', null, null, '28']
2116
+ }, slice.logos.map(function (logo) {
2117
+ return React__default.default.createElement(boemly.Flex, {
2118
+ key: logo.id,
2119
+ justifyContent: "center",
2120
+ alignItems: "center",
2121
+ flexGrow: 1,
2122
+ flexShrink: 0,
2123
+ flexBasis: slice.logos.length > 2 ? '34%' : '90%'
2124
+ }, React__default.default.createElement(boemly.Box, {
2125
+ position: "relative",
2126
+ height: "20",
2127
+ width: "100%"
2128
+ }, logo.link ? React__default.default.createElement("a", {
2129
+ href: strapiLinkUrl(logo.link)
2130
+ }, React__default.default.createElement(Image__default.default, {
2131
+ src: strapiMediaUrl(logo.img, 'small'),
2132
+ alt: logo.alt,
2133
+ fill: true,
2134
+ style: {
2135
+ objectFit: logo.objectFit || 'contain'
2136
+ }
2137
+ })) : React__default.default.createElement(Image__default.default, {
2138
+ src: strapiMediaUrl(logo.img, 'small'),
2139
+ alt: logo.alt,
2140
+ fill: true,
2141
+ style: {
2142
+ objectFit: logo.objectFit || 'contain'
2143
+ }
2144
+ })));
2145
+ })))));
2146
+ };
2147
+
2148
+ var _templateObject$8, _templateObject2$5, _templateObject3$2, _templateObject4$1, _templateObject5;
2149
+ var MapHeroContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject$8 || (_templateObject$8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: relative;\n width: 100vw;\n height: var(--default-hero-height);\n min-height: var(--boemly-sizes-3xl);\n background-color: var(--boemly-colors-primary-50);\n overflow: hidden;\n z-index: var(--boemly-zIndices-base);\n\n @media screen and (max-width: ", ") {\n height: auto;\n }\n"])), BREAKPOINT_LG);
2150
+ var MapHeroTextContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject2$5 || (_templateObject2$5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n width: 100vw;\n top: 56%;\n left: 0;\n transform: translateY(-50%);\n z-index: var(--boemly-zIndices-aboveBase);\n\n @media screen and (max-width: ", ") {\n position: relative;\n transform: unset;\n\n padding-top: var(--boemly-space-32);\n }\n"])), BREAKPOINT_LG);
2151
+ var ShapeContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject3$2 || (_templateObject3$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n bottom: calc(var(--boemly-space-8) * -1);\n left: 0;\n\n width: var(--boemly-sizes-sm);\n height: var(--boemly-sizes-sm);\n\n border-top-right-radius: var(--boemly-radii-full);\n\n & span,\n div {\n border-top-right-radius: var(--boemly-radii-full);\n }\n\n @media screen and (max-width: ", ") {\n display: none;\n }\n"])), BREAKPOINT_LG);
2152
+ var MapContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject4$1 || (_templateObject4$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n\n width: 50%;\n height: 100%;\n\n right: 0;\n top: 0;\n\n & img {\n object-fit: cover !important;\n }\n\n @media screen and (max-width: ", ") {\n width: 100%;\n height: var(--boemly-sizes-4xl);\n position: relative;\n margin-top: calc(var(--boemly-space-72) * -1);\n background-color: var(--boemly-colors-white);\n\n & img {\n object-fit: contain !important;\n }\n }\n"])), BREAKPOINT_LG);
2153
+ var MapGradient = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject5 || (_templateObject5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n height: 100%;\n\n background: linear-gradient(\n 90deg,\n var(--boemly-colors-primary-50) 0%,\n var(--boemly-colors-primary-50) 10%,\n rgba(243, 246, 245, 0.6) 28%,\n rgba(243, 246, 245, 0) 40%,\n rgba(243, 246, 245, 0) 100%\n );\n\n @media screen and (max-width: ", ") {\n background: linear-gradient(\n 180deg,\n var(--boemly-colors-primary-50) 0%,\n var(--boemly-colors-primary-50) 36%,\n rgba(243, 246, 245, 0.12) 46%,\n rgba(243, 246, 245, 0) 100%\n );\n }\n"])), BREAKPOINT_LG);
2154
+
2155
+ var MapHero = function MapHero(_ref) {
2156
+ var slice = _ref.slice;
2157
+ var _useMediaQuery = boemly.useMediaQuery(BREAKPOINT_LG_QUERY),
2158
+ belowBreakpoint = _useMediaQuery[0];
2159
+ return React__default.default.createElement(MapHeroContainer, {
2160
+ maxWidth: "full"
2161
+ }, slice.shape && React__default.default.createElement(ShapeContainer, null, React__default.default.createElement(Image__default.default, {
2162
+ src: strapiMediaUrl(slice.shape.img, 'medium'),
2163
+ alt: slice.shape.alt,
2164
+ fill: true,
2165
+ style: {
2166
+ objectFit: slice.shape.objectFit || 'cover'
2167
+ }
2168
+ })), React__default.default.createElement(MapHeroTextContainer, null, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
2169
+ isHero: true,
2170
+ tagline: slice.tagline,
2171
+ title: slice.title,
2172
+ text: slice.subTitle,
2173
+ titleProps: {
2174
+ maxW: ['100%', null, null, null, '60%']
2175
+ },
2176
+ textProps: {
2177
+ maxW: ['100%', null, null, null, '55%']
2178
+ }
2179
+ }), slice.buttons && slice.buttons.length > 0 && React__default.default.createElement(boemly.Flex, {
2180
+ mt: "10",
2181
+ flexDir: "row",
2182
+ gap: "5"
2183
+ }, React__default.default.createElement(StrapiLinkButton, {
2184
+ link: slice.buttons[0],
2185
+ size: "xl",
2186
+ component: "MapHero"
2187
+ }), slice.buttons.length === 2 && React__default.default.createElement(StrapiLinkButton, {
2188
+ link: slice.buttons[1],
2189
+ variant: "outline",
2190
+ size: "xl",
2191
+ component: "MapHero"
2192
+ }))))), React__default.default.createElement(MapContainer, null, belowBreakpoint ? React__default.default.createElement(Image__default.default, {
2193
+ src: strapiMediaUrl(slice.mobileMap.img, 'xLarge'),
2194
+ alt: slice.mobileMap.alt,
2195
+ fill: true,
2196
+ style: {
2197
+ objectFit: slice.mobileMap.objectFit || 'contain'
2198
+ }
2199
+ }) : React__default.default.createElement(Image__default.default, {
2200
+ src: strapiMediaUrl(slice.map.img, 'xLarge'),
2201
+ alt: slice.map.alt,
2202
+ fill: true,
2203
+ style: {
2204
+ objectFit: slice.map.objectFit || 'cover'
2205
+ }
2206
+ }), React__default.default.createElement(MapGradient, null)));
2207
+ };
2208
+
2209
+ var convertToKebabCase = function convertToKebabCase(str) {
2210
+ var matches = str && str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);
2211
+ return matches ? matches.map(function (x) {
2212
+ return x.toLowerCase();
2213
+ }).join('-') : '';
2214
+ };
2215
+
2216
+ var VARIANTS$4 = {
2217
+ gray: {
2218
+ backgroundColor: 'primary.50',
2219
+ tagLineColor: 'primary.500',
2220
+ textColor: 'black',
2221
+ accordionVariant: 'black',
2222
+ otherQuestionsBackground: 'primary.700'
2223
+ },
2224
+ green: {
2225
+ backgroundColor: 'primary.800',
2226
+ tagLineColor: 'white',
2227
+ textColor: 'white',
2228
+ accordionVariant: 'white',
2229
+ otherQuestionsBackground: 'primary.900'
2230
+ },
2231
+ white: {
2232
+ backgroundColor: 'white',
2233
+ tagLineColor: 'primary.500',
2234
+ textColor: 'black',
2235
+ accordionVariant: 'black',
2236
+ otherQuestionsBackground: 'primary.700'
2237
+ }
2238
+ };
2239
+ var QAndA = function QAndA(_ref) {
2240
+ var _slice$variant;
2241
+ var slice = _ref.slice;
2242
+ var _useRouter = router.useRouter(),
2243
+ push = _useRouter.push;
2244
+ var analyticsFunction = React.useContext(AnalyticsContext);
2245
+ var handleHeroButtonClick = function handleHeroButtonClick() {
2246
+ var _slice$hero;
2247
+ if ((_slice$hero = slice.hero) != null && _slice$hero.button) {
2248
+ analyticsFunction == null || analyticsFunction({
2249
+ type: 'track',
2250
+ props: {
2251
+ action: 'click',
2252
+ component: 'QAndA',
2253
+ buttonText: slice.hero.button.text,
2254
+ buttonUrl: strapiLinkUrl(slice.hero.button),
2255
+ section: 'hero'
2256
+ }
2257
+ });
2258
+ push(strapiLinkUrl(slice.hero.button));
2259
+ }
2260
+ };
2261
+ var variant = VARIANTS$4[(_slice$variant = slice.variant) != null ? _slice$variant : 'green'];
2262
+ return React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Box, {
2263
+ pb: slice.hero ? 80 : 28,
2264
+ id: convertToKebabCase(slice.title),
2265
+ backgroundColor: variant.backgroundColor
2266
+ }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.SimpleGrid, {
2267
+ columns: [1, null, null, 2]
2268
+ }, React__default.default.createElement(boemly.Box, {
2269
+ mr: "16",
2270
+ paddingY: "28"
2271
+ }, React__default.default.createElement(boemly.Text, {
2272
+ size: "mdMonoUppercase",
2273
+ color: variant.tagLineColor
2274
+ }, slice.tagline), React__default.default.createElement(boemly.Heading, {
2275
+ as: "h2",
2276
+ size: "3xl",
2277
+ color: variant.textColor,
2278
+ mt: "6",
2279
+ mb: "16"
2280
+ }, slice.title)), React__default.default.createElement(boemly.Box, {
2281
+ maxHeight: ['unset', null, null, 'xl'],
2282
+ paddingTop: ['0', null, null, '28'],
2283
+ paddingRight: ['0', null, null, '6'],
2284
+ overflowY: ['unset', null, null, 'scroll']
2285
+ }, React__default.default.createElement(boemly.Box, null, React__default.default.createElement(boemly.BoemlyAccordion, {
2286
+ rows: slice.questionsAndAnswers,
2287
+ defaultIndex: slice.defaultIndex,
2288
+ variant: variant.accordionVariant
2289
+ }), React__default.default.createElement(boemly.Flex, {
2290
+ padding: "8",
2291
+ backgroundColor: variant.otherQuestionsBackground,
2292
+ borderRadius: "2xl",
2293
+ mt: "14",
2294
+ flexDir: ['column', null, null, 'row'],
2295
+ justifyContent: ['flex-start', null, null, 'space-between'],
2296
+ alignItems: ['flex-start', null, null, 'center']
2297
+ }, React__default.default.createElement(boemly.Heading, {
2298
+ as: "h6",
2299
+ size: "sm",
2300
+ color: "white"
2301
+ }, slice.otherQuestions), React__default.default.createElement(boemly.Spacer, {
2302
+ minHeight: ['4', null, null, '0']
2303
+ }), React__default.default.createElement(StrapiLinkButton, {
2304
+ size: "lg",
2305
+ colorScheme: "white",
2306
+ background: "white",
2307
+ rightIcon: React__default.default.createElement(react.ArrowRight, null),
2308
+ link: slice.button,
2309
+ component: "QAndA"
2310
+ }))))))), slice.hero && React__default.default.createElement(boemly.Box, {
2311
+ pb: "28",
2312
+ mt: "-56"
2313
+ }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.HeroCard, {
2314
+ title: slice.hero.title,
2315
+ subTitle: slice.hero.subTitle,
2316
+ link: slice.hero.button && {
2317
+ text: slice.hero.button.text,
2318
+ onClick: handleHeroButtonClick
2319
+ },
2320
+ image: slice.hero.image && React__default.default.createElement(Image__default.default, {
2321
+ src: strapiMediaUrl(slice.hero.image.img, 'xLarge'),
2322
+ alt: slice.hero.image.alt,
2323
+ fill: true,
2324
+ style: {
2325
+ objectFit: slice.hero.image.objectFit || 'cover'
2326
+ }
2327
+ })
2328
+ }))));
2329
+ };
2330
+
2331
+ var QuoteCards = function QuoteCards(_ref) {
2332
+ var slice = _ref.slice;
2333
+ var _useRouter = router.useRouter(),
2334
+ push = _useRouter.push;
2335
+ var analyticsFunction = React.useContext(AnalyticsContext);
2336
+ var handleHeroCardButtonClick = function handleHeroCardButtonClick() {
2337
+ var _slice$hero;
2338
+ if ((_slice$hero = slice.hero) != null && _slice$hero.button) {
2339
+ analyticsFunction == null || analyticsFunction({
2340
+ type: 'track',
2341
+ props: {
2342
+ action: 'click',
2343
+ component: 'QuoteCards',
2344
+ buttonText: slice.hero.button.text,
2345
+ buttonUrl: strapiLinkUrl(slice.hero.button),
2346
+ section: 'hero'
2347
+ }
2348
+ });
2349
+ push(strapiLinkUrl(slice.hero.button));
2350
+ }
2351
+ };
2352
+ return React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Box, {
2353
+ id: convertToKebabCase(slice.title),
2354
+ position: "relative",
2355
+ paddingTop: "28",
2356
+ paddingBottom: !!slice.hero ? '80' : '28'
2357
+ }, slice.shapes && slice.shapes.length === 2 && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Shape, {
2358
+ shape: React__default.default.createElement(Image__default.default, {
2359
+ src: strapiMediaUrl(slice.shapes[0].img, 'small'),
2360
+ alt: slice.shapes[0].alt,
2361
+ fill: true,
2362
+ style: {
2363
+ objectFit: slice.shapes[0].objectFit || 'cover'
2364
+ }
2365
+ }),
2366
+ top: "0",
2367
+ right: "0",
2368
+ size: "xs",
2369
+ radius: "bottom-left"
2370
+ }), React__default.default.createElement(boemly.Shape, {
2371
+ shape: React__default.default.createElement(Image__default.default, {
2372
+ src: strapiMediaUrl(slice.shapes[1].img, 'small'),
2373
+ alt: slice.shapes[1].alt,
2374
+ fill: true,
2375
+ style: {
2376
+ objectFit: slice.shapes[1].objectFit || 'cover'
2377
+ }
2378
+ }),
2379
+ bottom: "0",
2380
+ left: "0",
2381
+ radius: "top-right"
2382
+ })), React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Box, {
2383
+ maxW: "3xl"
2384
+ }, React__default.default.createElement(boemly.DefaultSectionHeader, {
2385
+ tagline: slice.tagline,
2386
+ title: slice.title,
2387
+ text: slice.text
2388
+ })), React__default.default.createElement(boemly.SimpleGrid, {
2389
+ columns: 2,
2390
+ gap: "20",
2391
+ rowGap: "6",
2392
+ mt: "16",
2393
+ minChildWidth: ['100%', null, '16rem']
2394
+ }, slice.cards.map(function (card) {
2395
+ return React__default.default.createElement(boemly.Box, {
2396
+ key: card.id,
2397
+ width: "full",
2398
+ maxWidth: "2xl"
2399
+ }, React__default.default.createElement(boemly.QuoteCard, {
2400
+ key: card.id,
2401
+ avatar: {
2402
+ name: card.avatar.name,
2403
+ description: card.avatar.description,
2404
+ image: React__default.default.createElement(Image__default.default, {
2405
+ src: strapiMediaUrl(card.avatar.image.img, 'small'),
2406
+ alt: card.avatar.image.alt,
2407
+ fill: true,
2408
+ style: {
2409
+ objectFit: card.avatar.image.objectFit || 'cover'
2410
+ }
2411
+ })
2412
+ },
2413
+ text: card.text
2414
+ }));
2415
+ })))), slice.hero && React__default.default.createElement(boemly.Box, {
2416
+ marginTop: "-40",
2417
+ paddingBottom: "28"
2418
+ }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.HeroCard, {
2419
+ title: slice.hero.title,
2420
+ subTitle: slice.hero.subTitle,
2421
+ link: slice.hero.button && {
2422
+ text: slice.hero.button.text,
2423
+ onClick: handleHeroCardButtonClick
2424
+ },
2425
+ image: slice.hero.image && React__default.default.createElement(Image__default.default, {
2426
+ src: strapiMediaUrl(slice.hero.image.img, 'xLarge'),
2427
+ alt: slice.hero.image.alt,
2428
+ fill: true,
2429
+ style: {
2430
+ objectFit: slice.hero.image.objectFit || 'cover'
2431
+ }
2432
+ })
2433
+ }))));
2434
+ };
2435
+
2436
+ var RichTextSection = function RichTextSection(_ref) {
2437
+ var slice = _ref.slice;
2438
+ return React__default.default.createElement(boemly.DefaultSectionContainer, null, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Grid, {
2439
+ templateColumns: "repeat(12, 1fr)",
2440
+ gap: "4"
2441
+ }, React__default.default.createElement(boemly.GridItem, {
2442
+ colSpan: [12, null, null, 7]
2443
+ }, React__default.default.createElement(boemly.RichText, {
2444
+ content: slice.content
2445
+ })))));
2446
+ };
2447
+
2448
+ var Steps = function Steps(_ref) {
2449
+ var _slice$card$shapes;
2450
+ var slice = _ref.slice;
2451
+ var _useRouter = router.useRouter(),
2452
+ push = _useRouter.push;
2453
+ var analyticsFunction = React.useContext(AnalyticsContext);
2454
+ var _useToken = boemly.useToken('colors', ['gray.900']),
2455
+ gray900 = _useToken[0];
2456
+ var containerRef = React.useRef(null);
2457
+ var _useState = React.useState(new Array(slice.steps.length)),
2458
+ stepRefs = _useState[0],
2459
+ setStepRefs = _useState[1];
2460
+ var _useState2 = React.useState(new Array(slice.steps.length)),
2461
+ stepProgress = _useState2[0],
2462
+ setStepProgress = _useState2[1];
2463
+ var _useWindowScroll = reactUse.useWindowScroll(),
2464
+ offsetY = _useWindowScroll.y;
2465
+ var _useWindowSize = reactUse.useWindowSize(),
2466
+ windowHeight = _useWindowSize.height;
2467
+ var handleShapesCardButtonClick = function handleShapesCardButtonClick() {
2468
+ var _slice$card;
2469
+ if ((_slice$card = slice.card) != null && _slice$card.button) {
2470
+ analyticsFunction == null || analyticsFunction({
2471
+ type: 'track',
2472
+ props: {
2473
+ action: 'click',
2474
+ component: 'Steps',
2475
+ buttonText: slice.card.button.text,
2476
+ buttonUrl: strapiLinkUrl(slice.card.button),
2477
+ section: 'card'
2478
+ }
2479
+ });
2480
+ push(strapiLinkUrl(slice.card.button));
2481
+ }
2482
+ };
2483
+ React.useEffect(function () {
2484
+ setStepRefs(slice.steps.map(function () {
2485
+ return React.createRef();
2486
+ }));
2487
+ }, []);
2488
+ React.useEffect(function () {
2489
+ var _containerRef$current;
2490
+ var containerOffsetTop = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.offsetTop) || 0;
2491
+ setStepProgress(stepRefs.map(function (ref) {
2492
+ var _ref$current;
2493
+ var currentItemOffsetTop = ((_ref$current = ref.current) == null ? void 0 : _ref$current.offsetTop) || 0;
2494
+ return containerOffsetTop + currentItemOffsetTop < offsetY + windowHeight / 3 ? 100 : 0;
2495
+ }));
2496
+ }, [offsetY]);
2497
+ return React__default.default.createElement("div", {
2498
+ ref: containerRef
2499
+ }, React__default.default.createElement(boemly.DefaultSectionContainer, {
2500
+ backgroundColor: gray900,
2501
+ title: slice.title
2502
+ }, React__default.default.createElement(React__default.default.Fragment, null, slice.image && React__default.default.createElement(boemly.Box, {
2503
+ position: "absolute",
2504
+ top: "0",
2505
+ left: "0",
2506
+ width: "full",
2507
+ height: "full"
2508
+ }, React__default.default.createElement(Image__default.default, {
2509
+ src: strapiMediaUrl(slice.image.img, 'xLarge'),
2510
+ alt: slice.image.alt,
2511
+ fill: true,
2512
+ style: {
2513
+ objectFit: slice.image.objectFit || 'cover'
2514
+ }
2515
+ }), React__default.default.createElement(boemly.Gradient, null))), React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
2516
+ tagline: slice.tagline,
2517
+ title: slice.title,
2518
+ text: slice.text,
2519
+ taglineProps: {
2520
+ textAlign: 'center'
2521
+ },
2522
+ titleProps: {
2523
+ textAlign: 'center',
2524
+ maxW: '2xl',
2525
+ marginX: 'auto',
2526
+ color: 'white'
2527
+ },
2528
+ textProps: {
2529
+ textAlign: 'center',
2530
+ maxW: 'xl',
2531
+ marginX: 'auto',
2532
+ color: 'whiteAlpha.800'
2533
+ }
2534
+ }), React__default.default.createElement(boemly.Box, {
2535
+ marginTop: ['16', null, '24']
2536
+ }, slice.steps.map(function (_ref2, index) {
2537
+ var id = _ref2.id,
2538
+ step = _ref2.step,
2539
+ title = _ref2.title,
2540
+ text = _ref2.text;
2541
+ return React__default.default.createElement(boemly.Flex, {
2542
+ flexDir: "column",
2543
+ alignItems: "center",
2544
+ key: id
2545
+ }, React__default.default.createElement(boemly.Center, {
2546
+ width: "10",
2547
+ height: "10",
2548
+ borderRadius: "full",
2549
+ backgroundColor: "white"
2550
+ }, React__default.default.createElement(boemly.Text, {
2551
+ size: "smRegularNormal",
2552
+ color: "black"
2553
+ }, step)), React__default.default.createElement(boemly.Heading, {
2554
+ size: "lg",
2555
+ color: "white",
2556
+ mt: "4",
2557
+ textAlign: "center"
2558
+ }, title), text && React__default.default.createElement(boemly.Box, {
2559
+ maxW: "xl",
2560
+ mt: "4"
2561
+ }, React__default.default.createElement(boemly.RichText, {
2562
+ options: {
2563
+ forceBlock: true
2564
+ },
2565
+ content: text,
2566
+ textProps: {
2567
+ size: 'mdRegularNormal',
2568
+ color: 'whiteAlpha.700',
2569
+ textAlign: 'center'
2570
+ }
2571
+ })), (index + 1 < slice.steps.length || slice.card) && React__default.default.createElement(boemly.Box, {
2572
+ ref: stepRefs[index],
2573
+ position: "relative",
2574
+ marginTop: "4",
2575
+ marginBottom: "6",
2576
+ height: "12"
2577
+ }, React__default.default.createElement(boemly.Box, {
2578
+ position: "absolute",
2579
+ height: "full",
2580
+ borderLeft: "dashed 1px white",
2581
+ opacity: "0.5"
2582
+ }), React__default.default.createElement(boemly.Box, {
2583
+ position: "absolute",
2584
+ height: stepProgress[index] + "%",
2585
+ borderRight: "solid 1px white",
2586
+ opacity: "1",
2587
+ transition: "height ease var(--medium-transition-duration)"
2588
+ })));
2589
+ })), slice.card && React__default.default.createElement(boemly.ShapesCard, {
2590
+ tagline: slice.card.tagline,
2591
+ title: slice.card.title,
2592
+ text: slice.card.text,
2593
+ shapes: slice.card.shapes && ((_slice$card$shapes = slice.card.shapes) == null ? void 0 : _slice$card$shapes.map(function (shape) {
2594
+ return React__default.default.createElement(Image__default.default, {
2595
+ key: shape.id,
2596
+ src: strapiMediaUrl(shape.img, 'small'),
2597
+ alt: shape.alt,
2598
+ fill: true,
2599
+ style: {
2600
+ objectFit: shape.objectFit || 'cover'
2601
+ }
2602
+ });
2603
+ })),
2604
+ button: slice.card.button && {
2605
+ text: slice.card.button.text,
2606
+ onClick: handleShapesCardButtonClick
2607
+ }
2608
+ })))));
2609
+ };
2610
+
2611
+ var _oppositesOfCorners, _templateObject$7, _templateObject2$4;
2612
+ var ShapePosition;
2613
+ (function (ShapePosition) {
2614
+ ShapePosition["topLeft"] = "top-left";
2615
+ ShapePosition["topRight"] = "top-right";
2616
+ ShapePosition["bottomLeft"] = "bottom-left";
2617
+ ShapePosition["bottomRight"] = "bottom-right";
2618
+ ShapePosition["unset"] = "unset";
2619
+ })(ShapePosition || (ShapePosition = {}));
2620
+ var shapePositions = [ShapePosition.topLeft, ShapePosition.bottomRight, ShapePosition.topRight, ShapePosition.bottomLeft, ShapePosition.topRight, ShapePosition.bottomLeft, ShapePosition.topLeft, ShapePosition.bottomRight];
2621
+ var oppositesOfCorners = (_oppositesOfCorners = {}, _oppositesOfCorners[ShapePosition.bottomLeft] = ShapePosition.topRight, _oppositesOfCorners[ShapePosition.topRight] = ShapePosition.bottomLeft, _oppositesOfCorners[ShapePosition.bottomRight] = ShapePosition.topLeft, _oppositesOfCorners[ShapePosition.topLeft] = ShapePosition.bottomRight, _oppositesOfCorners[ShapePosition.unset] = ShapePosition.unset, _oppositesOfCorners);
2622
+ var variants = {
2623
+ shape: {
2624
+ padding: ['6', null, null, '8'],
2625
+ positionIcon: function positionIcon(index) {
2626
+ return shapePositions[index % shapePositions.length];
2627
+ },
2628
+ width: '40',
2629
+ height: '40',
2630
+ position: 'absolute',
2631
+ mb: 'unset'
2632
+ },
2633
+ image: {
2634
+ padding: ['6', null, null, '8'],
2635
+ positionIcon: function positionIcon() {
2636
+ return ShapePosition.unset;
2637
+ },
2638
+ width: '24',
2639
+ height: '24',
2640
+ position: 'relative',
2641
+ mb: '10'
2642
+ }
2607
2643
  };
2608
- var IntlContext = /*#__PURE__*/React.createContext(/*#__PURE__*/intlFactory('en'));
2609
- var ContextProvider = function ContextProvider(_ref) {
2610
- var children = _ref.children,
2611
- locale = _ref.locale;
2612
- var fetcher = /*#__PURE__*/function () {
2613
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(resource, init) {
2614
- var response, errorData;
2615
- return _regeneratorRuntime().wrap(function _callee$(_context) {
2616
- while (1) switch (_context.prev = _context.next) {
2617
- case 0:
2618
- _context.next = 2;
2619
- return strapiClient.get("" + resource, _extends({}, init, {
2620
- headers: {}
2621
- }));
2622
- case 2:
2623
- response = _context.sent;
2624
- if (!(response.status < 200 || response.status >= 300)) {
2625
- _context.next = 15;
2626
- break;
2627
- }
2628
- errorData = {
2629
- message: ''
2630
- };
2631
- _context.prev = 5;
2632
- _context.next = 8;
2633
- return response.data;
2634
- case 8:
2635
- errorData = _context.sent;
2636
- _context.next = 14;
2637
- break;
2638
- case 11:
2639
- _context.prev = 11;
2640
- _context.t0 = _context["catch"](5);
2641
- errorData = {
2642
- message: "An unknown error occurred while fetching data."
2643
- };
2644
- case 14:
2645
- throw new Error(errorData.message);
2646
- case 15:
2647
- _context.next = 17;
2648
- return response.data;
2649
- case 17:
2650
- _context.t1 = _context.sent;
2651
- _context.t2 = response.headers;
2652
- return _context.abrupt("return", {
2653
- body: _context.t1,
2654
- headers: _context.t2
2655
- });
2656
- case 20:
2657
- case "end":
2658
- return _context.stop();
2659
- }
2660
- }, _callee, null, [[5, 11]]);
2661
- }));
2662
- return function fetcher(_x, _x2) {
2663
- return _ref2.apply(this, arguments);
2664
- };
2665
- }();
2666
- return React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(_internal.SWRConfig, {
2667
- value: {
2668
- fetcher: fetcher
2669
- }
2670
- }, React__default.default.createElement(react$1.Global, {
2671
- styles: {
2672
- GLOBAL_STYLE: GLOBAL_STYLE
2644
+ var TextCardGrid = function TextCardGrid(_ref) {
2645
+ var slice = _ref.slice;
2646
+ var _useToken = boemly.useToken('colors', ['primary.800']),
2647
+ primary800 = _useToken[0];
2648
+ return React__default.default.createElement(boemly.DefaultSectionContainer, {
2649
+ backgroundColor: primary800,
2650
+ title: slice.title
2651
+ }, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
2652
+ tagline: slice.tagline,
2653
+ title: slice.title,
2654
+ text: slice.text,
2655
+ taglineProps: {
2656
+ textAlign: 'center',
2657
+ color: 'white'
2658
+ },
2659
+ titleProps: {
2660
+ textAlign: 'center',
2661
+ maxW: '2xl',
2662
+ marginX: 'auto',
2663
+ color: 'white'
2664
+ },
2665
+ textProps: {
2666
+ textAlign: 'center',
2667
+ maxW: 'xl',
2668
+ marginX: 'auto',
2669
+ color: 'whiteAlpha.800'
2673
2670
  }
2674
- }), React__default.default.createElement(IntlContext.Provider, {
2675
- value: intlFactory(locale)
2676
- }, children)));
2671
+ }), React__default.default.createElement(boemly.SimpleGrid, {
2672
+ mt: ['14', null, null, '24'],
2673
+ columns: 3,
2674
+ justifyItems: "center",
2675
+ gap: "20",
2676
+ rowGap: "16",
2677
+ minChildWidth: ['100%', null, '16rem']
2678
+ }, slice.cards.map(function (_ref2, index) {
2679
+ var id = _ref2.id,
2680
+ tagline = _ref2.tagline,
2681
+ title = _ref2.title,
2682
+ text = _ref2.text,
2683
+ image = _ref2.image,
2684
+ buttons = _ref2.buttons;
2685
+ return React__default.default.createElement(boemly.Box, {
2686
+ key: id,
2687
+ backgroundColor: "white",
2688
+ zIndex: "base",
2689
+ padding: variants[slice.variant].padding,
2690
+ boxShadow: "lg",
2691
+ borderRadius: "2xl",
2692
+ minHeight: "2xs",
2693
+ width: "full",
2694
+ maxWidth: slice.cards.length > 1 ? 'unset' : 'xl',
2695
+ position: "relative",
2696
+ display: "flex",
2697
+ flexDir: "column",
2698
+ alignItems: "flex-start",
2699
+ justifyContent: slice.variant === 'shape' ? 'flex-end' : 'flex-start',
2700
+ overflow: "hidden"
2701
+ }, React__default.default.createElement(boemly.Box, {
2702
+ position: variants[slice.variant].position,
2703
+ width: variants[slice.variant].width,
2704
+ height: variants[slice.variant].height,
2705
+ mb: variants[slice.variant].mb,
2706
+ top: variants[slice.variant].positionIcon(index).includes('top') ? '-4' : 'unset',
2707
+ left: variants[slice.variant].positionIcon(index).includes('left') ? '-4' : 'unset',
2708
+ right: variants[slice.variant].positionIcon(index).includes('right') ? '-4' : 'unset',
2709
+ bottom: variants[slice.variant].positionIcon(index).includes('bottom') ? '-4' : 'unset',
2710
+ borderBottomRightRadius: oppositesOfCorners[variants[slice.variant].positionIcon(index)].includes('bottomRight') ? 'full' : 'unset',
2711
+ borderBottomLeftRadius: oppositesOfCorners[variants[slice.variant].positionIcon(index)].includes('bottomLeft') ? 'full' : 'unset',
2712
+ borderTopRightRadius: oppositesOfCorners[variants[slice.variant].positionIcon(index)].includes('topRight') ? 'full' : 'unset',
2713
+ borderTopLeftRadius: oppositesOfCorners[variants[slice.variant].positionIcon(index)].includes('topLeft') ? 'full' : 'unset',
2714
+ css: variants[slice.variant].positionIcon(index).includes('unset') ? react$1.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteralLoose(["\n & span,\n div,\n img {\n border-radius: var(--boemly-radii-xl);\n }\n "]))) : react$1.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n & span,\n div,\n img {\n border-", "-radius: var(--boemly-radii-full);\n }\n "])), oppositesOfCorners[variants[slice.variant].positionIcon(index)])
2715
+ }, React__default.default.createElement(Image__default.default, {
2716
+ src: strapiMediaUrl(image.img, 'small'),
2717
+ alt: image.alt,
2718
+ fill: true,
2719
+ style: {
2720
+ objectFit: image.objectFit || 'cover'
2721
+ }
2722
+ })), React__default.default.createElement(boemly.Box, {
2723
+ zIndex: "aboveBase",
2724
+ width: "full"
2725
+ }, tagline && React__default.default.createElement(boemly.Text, {
2726
+ color: "black",
2727
+ size: "smMonoNormal",
2728
+ mb: "2"
2729
+ }, tagline), React__default.default.createElement(boemly.Heading, {
2730
+ as: "h4",
2731
+ size: "xl",
2732
+ mb: "3"
2733
+ }, title), React__default.default.createElement(boemly.RichText, {
2734
+ content: text,
2735
+ listProps: {
2736
+ textColor: 'gray.500',
2737
+ textSize: 'smRegularNormal'
2738
+ },
2739
+ textProps: {
2740
+ color: 'gray.500',
2741
+ size: 'smRegularNormal'
2742
+ }
2743
+ }), buttons && !!buttons.length && React__default.default.createElement(boemly.Flex, {
2744
+ mt: "4",
2745
+ gap: "3",
2746
+ flexDir: ['column', null, null, null, 'row']
2747
+ }, buttons.map(function (button, buttonIndex) {
2748
+ return React__default.default.createElement(StrapiLinkButton, {
2749
+ key: button.id,
2750
+ link: button,
2751
+ size: "sm",
2752
+ rightIcon: buttonIndex === 0 ? React__default.default.createElement(react.CaretRight, {
2753
+ size: "10",
2754
+ weight: "bold"
2755
+ }) : undefined,
2756
+ variant: buttonIndex === 0 ? 'outline' : 'ghost',
2757
+ component: "TextCardGrid"
2758
+ });
2759
+ }))));
2760
+ }))));
2677
2761
  };
2678
2762
 
2763
+ var _templateObject$6, _templateObject2$3, _templateObject3$1;
2764
+ var CarouselContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject$6 || (_templateObject$6 = /*#__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-sizes-full);\n }\n\n width: var(--boemly-sizes-full);\n\n overflow-x: hidden;\n\n @media screen and (max-width: ", ") {\n overflow-x: scroll;\n }\n"])), BREAKPOINT_MD, BREAKPOINT_MD);
2765
+ var CarouselInnerContainer$1 = /*#__PURE__*/styled__default.default(framerMotion.motion.div)(_templateObject2$3 || (_templateObject2$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n gap: var(--boemly-space-6);\n justify-content: center;\n\n width: calc(\n (var(--boemly-sizes-sm) + var(--boemly-space-6)) *\n ", " +\n var(--boemly-space-6)\n );\n min-width: var(--boemly-sizes-full);\n\n @media screen and (max-width: ", ") {\n gap: var(--boemly-space-1);\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) {
2766
+ var numberOfItems = _ref.numberOfItems;
2767
+ return numberOfItems;
2768
+ }, BREAKPOINT_MD, function (_ref2) {
2769
+ var numberOfItems = _ref2.numberOfItems;
2770
+ return numberOfItems;
2771
+ });
2772
+ var CardContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject3$1 || (_templateObject3$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: var(--boemly-sizes-sm);\n\n @media screen and (max-width: ", ") {\n min-width: var(--boemly-sizes-sm);\n\n margin-right: var(--boemly-space-4);\n\n &:first-of-type {\n margin-left: var(--boemly-space-6);\n }\n }\n"])), BREAKPOINT_MD);
2773
+
2679
2774
  var shuffleElements = function shuffleElements(slides) {
2680
2775
  var slidesCopy = [].concat(slides); // Create a copy to avoid mutating the original array
2681
2776
  for (var i = slidesCopy.length - 1; i > 0; i--) {
@@ -2699,6 +2794,7 @@ var TextCarousel = function TextCarousel(_ref) {
2699
2794
  itemWidth = _useMeasure[1].width;
2700
2795
  var _useContext = React.useContext(IntlContext),
2701
2796
  formatMessage = _useContext.formatMessage;
2797
+ var analyticsFunction = React.useContext(AnalyticsContext);
2702
2798
  var _useWindowSize = reactUse.useWindowSize(),
2703
2799
  windowWidth = _useWindowSize.width;
2704
2800
  var _useRouter = router.useRouter(),
@@ -2728,6 +2824,21 @@ var TextCarousel = function TextCarousel(_ref) {
2728
2824
  var canMoveLeft = React.useMemo(function () {
2729
2825
  return sliderIndex !== 0;
2730
2826
  }, [sliderIndex]);
2827
+ var handleSlidesButtonClick = function handleSlidesButtonClick(button) {
2828
+ if (button) {
2829
+ analyticsFunction == null || analyticsFunction({
2830
+ type: 'track',
2831
+ props: {
2832
+ action: 'click',
2833
+ component: 'TextCarousel',
2834
+ buttonText: button.text,
2835
+ buttonUrl: strapiLinkUrl(button),
2836
+ section: 'slides'
2837
+ }
2838
+ });
2839
+ push(strapiLinkUrl(button));
2840
+ }
2841
+ };
2731
2842
  var slides = slice.slides,
2732
2843
  _slice$isShuffled = slice.isShuffled,
2733
2844
  isShuffled = _slice$isShuffled === void 0 ? false : _slice$isShuffled;
@@ -2804,7 +2915,7 @@ var TextCarousel = function TextCarousel(_ref) {
2804
2915
  button: button && {
2805
2916
  text: button.text,
2806
2917
  onClick: function onClick() {
2807
- return push(strapiLinkUrl(button));
2918
+ return handleSlidesButtonClick(button);
2808
2919
  }
2809
2920
  },
2810
2921
  displayAs: "column"
@@ -2872,7 +2983,8 @@ var TextCarousel = function TextCarousel(_ref) {
2872
2983
  })))))), React__default.default.createElement(React__default.default.Fragment, null, slice.button && React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Center, null, React__default.default.createElement(StrapiLinkButton, {
2873
2984
  link: slice.button,
2874
2985
  size: "xl",
2875
- mt: ['8', null, '14']
2986
+ mt: ['8', null, '14'],
2987
+ component: "TextCarousel"
2876
2988
  })))));
2877
2989
  };
2878
2990
 
@@ -2880,10 +2992,27 @@ var TextWithTextCards = function TextWithTextCards(_ref) {
2880
2992
  var slice = _ref.slice;
2881
2993
  var _useRouter = router.useRouter(),
2882
2994
  push = _useRouter.push;
2995
+ var analyticsFunction = React.useContext(AnalyticsContext);
2883
2996
  var _useToken = boemly.useToken('colors', ['white']),
2884
2997
  white = _useToken[0];
2885
2998
  var _useMediaQuery = boemly.useMediaQuery(BREAKPOINT_LG_QUERY),
2886
2999
  belowBreakpoint = _useMediaQuery[0];
3000
+ var handleContactButtonClick = function handleContactButtonClick() {
3001
+ var _slice$contact;
3002
+ if ((_slice$contact = slice.contact) != null && _slice$contact.button) {
3003
+ analyticsFunction == null || analyticsFunction({
3004
+ type: 'track',
3005
+ props: {
3006
+ action: 'click',
3007
+ component: 'TextWithTextCards',
3008
+ buttonText: slice.contact.button.text,
3009
+ buttonUrl: strapiLinkUrl(slice.contact.button),
3010
+ section: 'contact'
3011
+ }
3012
+ });
3013
+ push(strapiLinkUrl(slice.contact.button));
3014
+ }
3015
+ };
2887
3016
  return React__default.default.createElement(boemly.DefaultSectionContainer, {
2888
3017
  backgroundColor: white,
2889
3018
  title: slice.title
@@ -2934,10 +3063,7 @@ var TextWithTextCards = function TextWithTextCards(_ref) {
2934
3063
  },
2935
3064
  link: {
2936
3065
  text: slice.contact.button.text,
2937
- onClick: function onClick() {
2938
- var _slice$contact;
2939
- return push(strapiLinkUrl((_slice$contact = slice.contact) == null ? void 0 : _slice$contact.button));
2940
- }
3066
+ onClick: handleContactButtonClick
2941
3067
  }
2942
3068
  })), React__default.default.createElement(boemly.GridItem, {
2943
3069
  colSpan: [8, null, null, null, 7],
@@ -2974,10 +3100,7 @@ var TextWithTextCards = function TextWithTextCards(_ref) {
2974
3100
  },
2975
3101
  link: {
2976
3102
  text: slice.contact.button.text,
2977
- onClick: function onClick() {
2978
- var _slice$contact2;
2979
- return push(strapiLinkUrl((_slice$contact2 = slice.contact) == null ? void 0 : _slice$contact2.button));
2980
- }
3103
+ onClick: handleContactButtonClick
2981
3104
  }
2982
3105
  }))));
2983
3106
  };
@@ -3068,7 +3191,7 @@ var ProjectGridCard = function ProjectGridCard(_ref) {
3068
3191
  })), React__default.default.createElement(boemly.Heading, {
3069
3192
  my: "4",
3070
3193
  size: "lg"
3071
- }, project.title), React__default.default.createElement(boemly.Flex, {
3194
+ }, project.friendlyName || project.title), React__default.default.createElement(boemly.Flex, {
3072
3195
  flexDir: "row",
3073
3196
  gap: "2",
3074
3197
  flexWrap: "wrap"
@@ -3149,7 +3272,8 @@ var TextWithCard = function TextWithCard(_ref) {
3149
3272
  size: "md",
3150
3273
  colorScheme: "white",
3151
3274
  variant: "outline",
3152
- rightIcon: React__default.default.createElement(react.ArrowRight, null)
3275
+ rightIcon: React__default.default.createElement(react.ArrowRight, null),
3276
+ component: "TextWithCard"
3153
3277
  })), slice.cardPosition === 'right' && card)));
3154
3278
  };
3155
3279
 
@@ -3293,7 +3417,8 @@ var SmallHero = function SmallHero(_ref) {
3293
3417
  }), slice.button && React__default.default.createElement(StrapiLinkButton, {
3294
3418
  link: slice.button,
3295
3419
  mt: "6",
3296
- size: "lg"
3420
+ size: "lg",
3421
+ component: "SmallHero"
3297
3422
  })))));
3298
3423
  };
3299
3424
 
@@ -4129,7 +4254,8 @@ var Cta = function Cta(_ref) {
4129
4254
  key: button.button.id,
4130
4255
  link: button.button,
4131
4256
  size: "md",
4132
- variant: button.variant
4257
+ variant: button.variant,
4258
+ component: "Cta"
4133
4259
  });
4134
4260
  }))) : React__default.default.createElement(React__default.default.Fragment, null), React__default.default.createElement(boemly.Spacer, {
4135
4261
  height: ['1', null, null, null, '20']
@@ -4157,7 +4283,8 @@ var CtaOnly = function CtaOnly(_ref) {
4157
4283
  transform: "translateY(50%)"
4158
4284
  }, React__default.default.createElement(StrapiLinkButton, {
4159
4285
  size: "md",
4160
- link: slice.button
4286
+ link: slice.button,
4287
+ component: "CtaOnly"
4161
4288
  })));
4162
4289
  };
4163
4290
 
@@ -4535,7 +4662,8 @@ var Facts = function Facts(_ref) {
4535
4662
  }), React__default.default.createElement(StrapiLinkButton, {
4536
4663
  link: slice.button,
4537
4664
  size: "md",
4538
- variant: slice.variant === 'green' ? 'outline' : 'solid'
4665
+ variant: slice.variant === 'green' ? 'outline' : 'solid',
4666
+ component: "Facts"
4539
4667
  }))));
4540
4668
  };
4541
4669
 
@@ -4598,7 +4726,8 @@ var BlogCards = function BlogCards(_ref) {
4598
4726
  variant: "outline",
4599
4727
  rightIcon: React__default.default.createElement(react.CaretRight, {
4600
4728
  color: gray700
4601
- })
4729
+ }),
4730
+ component: "BlogCards"
4602
4731
  }))), React__default.default.createElement(boemly.Spacer, {
4603
4732
  height: "14"
4604
4733
  }), React__default.default.createElement(boemly.SimpleGrid, {
@@ -4657,7 +4786,8 @@ var BlogCards = function BlogCards(_ref) {
4657
4786
  variant: "outline",
4658
4787
  rightIcon: React__default.default.createElement(react.CaretRight, {
4659
4788
  color: gray700
4660
- })
4789
+ }),
4790
+ component: "BlogCards"
4661
4791
  }))))));
4662
4792
  };
4663
4793
 
@@ -4881,7 +5011,8 @@ var SmallCheckout = function SmallCheckout(_ref) {
4881
5011
  link: _extends({
4882
5012
  intercomLauncher: true
4883
5013
  }, button),
4884
- variant: "outline"
5014
+ variant: "outline",
5015
+ component: "SmallCheckout"
4885
5016
  })));
4886
5017
  };
4887
5018
 
@@ -5132,7 +5263,8 @@ var Contact = function Contact(_ref) {
5132
5263
  mt: "6",
5133
5264
  link: button,
5134
5265
  size: "md",
5135
- variant: "outline"
5266
+ variant: "outline",
5267
+ component: "Contact"
5136
5268
  }) : React__default.default.createElement(React__default.default.Fragment, null)));
5137
5269
  };
5138
5270
 
@@ -5486,7 +5618,8 @@ var Comparison = function Comparison(_ref) {
5486
5618
  rightIcon: React__default.default.createElement(react.CaretRight, {
5487
5619
  size: 16,
5488
5620
  weight: "bold"
5489
- })
5621
+ }),
5622
+ component: "Comparison"
5490
5623
  }))) : React__default.default.createElement(React__default.default.Fragment, null), React__default.default.createElement(React__default.default.Fragment, null, comparisonCard.lists.map(function (list) {
5491
5624
  return React__default.default.createElement(boemly.Box, {
5492
5625
  key: list.id
@@ -5797,7 +5930,8 @@ var Timeline = function Timeline(_ref) {
5797
5930
  }), React__default.default.createElement(StrapiLinkButton, {
5798
5931
  link: item.button,
5799
5932
  size: "sm",
5800
- variant: "outline"
5933
+ variant: "outline",
5934
+ component: "Timeline"
5801
5935
  })), item.image ? React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Box, {
5802
5936
  position: "relative",
5803
5937
  mt: "4",
@@ -6099,7 +6233,8 @@ var EventCard = function EventCard(_ref) {
6099
6233
  rightIcon: React__default.default.createElement(react.CaretRight, {
6100
6234
  size: "10"
6101
6235
  }),
6102
- width: "full"
6236
+ width: "full",
6237
+ component: "EventCard"
6103
6238
  })), event.speakers && event.speakers.length > 0 && React__default.default.createElement(boemly.Flex, {
6104
6239
  flexDir: "row",
6105
6240
  gap: "2"
@@ -6544,9 +6679,11 @@ var SliceRenderer = function SliceRenderer(_ref) {
6544
6679
  customerStories = _ref.customerStories,
6545
6680
  _ref$locale = _ref.locale,
6546
6681
  locale = _ref$locale === void 0 ? 'en' : _ref$locale,
6547
- CustomSlice = _ref.CustomSlice;
6682
+ CustomSlice = _ref.CustomSlice,
6683
+ analyticsFunction = _ref.analyticsFunction;
6548
6684
  return React__default.default.createElement(ContextProvider, {
6549
- locale: locale
6685
+ locale: locale,
6686
+ analyticsFunction: analyticsFunction
6550
6687
  }, slices.map(function (slice) {
6551
6688
  switch (slice.__component) {
6552
6689
  case 'sections.hero':