@treely/strapi-slices 5.15.1 → 5.17.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 (67) hide show
  1. package/README.md +6 -0
  2. package/dist/components/CreditsAvailableBadge/CreditsAvailableBadge.d.ts +2 -2
  3. package/dist/models/PortfolioProject.d.ts +0 -3
  4. package/dist/models/fpm/FPMProject.d.ts +8 -0
  5. package/dist/models/strapi/StrapiProject.d.ts +0 -2
  6. package/dist/rootMessages.de.d.ts +2 -5
  7. package/dist/rootMessages.en.d.ts +2 -5
  8. package/dist/slices/ProjectFacts/messages.de.d.ts +0 -1
  9. package/dist/slices/ProjectFacts/messages.en.d.ts +0 -1
  10. package/dist/slices/ProjectGridCard/ProjectGridCard.d.ts +6 -0
  11. package/dist/slices/ProjectGridCard/index.d.ts +2 -0
  12. package/dist/slices/ProjectGridCard/messages.de.d.ts +5 -0
  13. package/dist/slices/ProjectGridCard/messages.en.d.ts +5 -0
  14. package/dist/slices/ProjectsGrid/ProjectsGrid.d.ts +3 -1
  15. package/dist/slices/ProjectsGrid/ProjectsGrid.stories.d.ts +2 -0
  16. package/dist/slices/ProjectsMap/MapMarker.d.ts +3 -3
  17. package/dist/strapi-slices.cjs.development.js +144 -137
  18. package/dist/strapi-slices.cjs.development.js.map +1 -1
  19. package/dist/strapi-slices.cjs.production.min.js +1 -1
  20. package/dist/strapi-slices.cjs.production.min.js.map +1 -1
  21. package/dist/strapi-slices.esm.js +146 -139
  22. package/dist/strapi-slices.esm.js.map +1 -1
  23. package/dist/utils/getMessages.d.ts +4 -10
  24. package/package.json +1 -1
  25. package/src/components/CreditsAvailableBadge/CreditsAvailableBadge.test.tsx +8 -6
  26. package/src/components/CreditsAvailableBadge/CreditsAvailableBadge.tsx +31 -22
  27. package/src/components/CreditsAvailableBadge/messages.de.ts +1 -1
  28. package/src/components/portfolio/ProjectInfo/ProjectInfo.tsx +3 -7
  29. package/src/integrations/strapi/getPortfolioProjects.test.ts +2 -2
  30. package/src/integrations/strapi/getPortfolioProjects.ts +0 -6
  31. package/src/models/PortfolioProject.ts +0 -3
  32. package/src/models/fpm/FPMProject.ts +9 -0
  33. package/src/models/strapi/StrapiProject.ts +0 -2
  34. package/src/rootMessages.de.ts +2 -2
  35. package/src/rootMessages.en.ts +2 -2
  36. package/src/slices/ProjectFacts/ProjectFacts.stories.tsx +1 -2
  37. package/src/slices/ProjectFacts/messages.de.ts +0 -1
  38. package/src/slices/ProjectFacts/messages.en.ts +0 -1
  39. package/src/slices/ProjectGridCard/ProjectGridCard.test.tsx +60 -0
  40. package/src/slices/ProjectGridCard/ProjectGridCard.tsx +75 -0
  41. package/src/slices/ProjectGridCard/index.ts +3 -0
  42. package/src/slices/ProjectGridCard/messages.de.ts +6 -0
  43. package/src/slices/ProjectGridCard/messages.en.ts +6 -0
  44. package/src/slices/ProjectsGrid/ProjectsGrid.stories.tsx +35 -1
  45. package/src/slices/ProjectsGrid/ProjectsGrid.test.tsx +0 -3
  46. package/src/slices/ProjectsGrid/ProjectsGrid.tsx +5 -3
  47. package/src/slices/ProjectsMap/MapMarker.test.tsx +3 -2
  48. package/src/slices/ProjectsMap/MapMarker.tsx +9 -12
  49. package/src/slices/ProjectsMap/ProjectsMap.stories.tsx +0 -2
  50. package/src/slices/ProjectsMap/ProjectsMap.tsx +1 -1
  51. package/src/slices/TextWithCard/TextWithCard.stories.tsx +2 -3
  52. package/src/slices/TextWithCard/TextWithCard.tsx +2 -2
  53. package/src/test/integrationMocks/fpmProjectMock.ts +3 -1
  54. package/src/test/integrationMocks/portfolioProjectMock.ts +1 -3
  55. package/src/test/mocks/portfolioProjectMock.ts +0 -2
  56. package/src/test/strapiMocks/strapiProject.ts +0 -2
  57. package/dist/components/portfolio/PortfolioProjectCard/PortfolioProjectCard.d.ts +0 -6
  58. package/dist/components/portfolio/PortfolioProjectCard/index.d.ts +0 -2
  59. package/dist/components/portfolio/PortfolioProjectCard/messages.de.d.ts +0 -7
  60. package/dist/components/portfolio/PortfolioProjectCard/messages.en.d.ts +0 -7
  61. package/dist/models/CreditsAvailableState.d.ts +0 -7
  62. package/src/components/portfolio/PortfolioProjectCard/PortfolioProjectCard.test.tsx +0 -53
  63. package/src/components/portfolio/PortfolioProjectCard/PortfolioProjectCard.tsx +0 -69
  64. package/src/components/portfolio/PortfolioProjectCard/index.ts +0 -3
  65. package/src/components/portfolio/PortfolioProjectCard/messages.de.ts +0 -8
  66. package/src/components/portfolio/PortfolioProjectCard/messages.en.ts +0 -8
  67. package/src/models/CreditsAvailableState.ts +0 -8
@@ -534,15 +534,9 @@ var getPortfolioProjects = /*#__PURE__*/function () {
534
534
  if (strapiProject != null && strapiProject.attributes.slug) {
535
535
  toReturn.slug = strapiProject.attributes.slug;
536
536
  }
537
- if (strapiProject != null && strapiProject.attributes.creditsAvailable) {
538
- toReturn.creditsAvailable = strapiProject == null ? void 0 : strapiProject.attributes.creditsAvailable;
539
- }
540
537
  if (strapiProject != null && strapiProject.attributes.thumbnail) {
541
538
  toReturn.thumbnail = strapiProject == null ? void 0 : strapiProject.attributes.thumbnail;
542
539
  }
543
- if (strapiProject != null && strapiProject.attributes.footerSubTitle) {
544
- toReturn.footerSubTitle = strapiProject == null ? void 0 : strapiProject.attributes.footerSubTitle;
545
- }
546
540
  if (strapiProject != null && (_strapiProject$attrib = strapiProject.attributes.portfolio.data) != null && _strapiProject$attrib.attributes.host) {
547
541
  toReturn.portfolioHost = strapiProject.attributes.portfolio.data.attributes.host;
548
542
  }
@@ -2356,44 +2350,48 @@ var CardContainer = /*#__PURE__*/styled__default.default(boemly.Box)(_templateOb
2356
2350
  var _templateObject$4;
2357
2351
  var GLOBAL_STYLE = /*#__PURE__*/react$1.css(_templateObject$4 || (_templateObject$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n :root {\n --default-hero-height: calc(100vh - var(--boemly-space-24));\n }\n\n a {\n text-decoration: none;\n }\n"])));
2358
2352
 
2359
- var messagesDe$f = {
2353
+ var messagesDe$g = {
2360
2354
  'sections.comparison.backgroundShapes': 'Hintergrundformen'
2361
2355
  };
2362
2356
 
2363
- var messagesDe$e = {
2357
+ var messagesDe$f = {
2364
2358
  'components.creditsAvailableBadge.text.yes': 'Credits verfügbar',
2365
2359
  'components.creditsAvailableBadge.text.some': 'Einige verbleibende Credits',
2366
2360
  'components.creditsAvailableBadge.text.no': 'Keine verbleibenden Credits',
2367
- 'components.creditsAvailableBadge.text.notYet': 'Gutschriften bald verfügbar'
2361
+ 'components.creditsAvailableBadge.text.notYet': 'Credits bald verfügbar'
2368
2362
  };
2369
2363
 
2370
- var messagesDe$d = {
2364
+ var messagesDe$e = {
2371
2365
  'sections.cta.backgroundShapes': 'Dunkle Hintergrundformen',
2372
2366
  'sections.cta.backgroundShapesLight': 'Helle Hintergrundformen'
2373
2367
  };
2374
2368
 
2375
- var messagesDe$c = {
2369
+ var messagesDe$d = {
2376
2370
  'sections.customerCard.more': 'Weiterlesen'
2377
2371
  };
2378
2372
 
2379
- var messagesDe$b = {
2373
+ var messagesDe$c = {
2380
2374
  'sections.customerQuoteCard.more': 'Weiterlesen'
2381
2375
  };
2382
2376
 
2383
- var messagesDe$a = {
2377
+ var messagesDe$b = {
2384
2378
  'sections.glossary.copyButtonLabel': 'Kopiere den Link zu diesem Abschnitt in die Zwischenablage',
2385
2379
  'sections.glossary.copySuccessMessage': 'Link in die Zwischenablage kopiert',
2386
2380
  'sections.glossary.copyFailureMessage': 'Link konnte nicht in die Zwischenablage kopiert werden'
2387
2381
  };
2388
2382
 
2389
- var messagesDe$9 = {
2383
+ var messagesDe$a = {
2390
2384
  'features.portfolio.documentsDownloadList.projectDocuments': 'Projektdokumente',
2391
2385
  'features.portfolio.documentsDownloadList.downloadDocument': 'Dokument herunterladen'
2392
2386
  };
2393
2387
 
2388
+ var messagesDe$9 = {
2389
+ 'sections.projectFacts.projectInfo.value': 'Projekt Infos'
2390
+ };
2391
+
2394
2392
  var messagesDe$8 = {
2395
- 'sections.projectFacts.projectInfo.value': 'Projekt Infos',
2396
- 'projects.projectFacts.properties.area': 'Fläche'
2393
+ 'sections.projectCardGrid.certified': 'Zertifiziert, {year}',
2394
+ 'sections.projectCardGrid.certificationInProgres': 'Zertifizierung ist in Arbeit'
2397
2395
  };
2398
2396
 
2399
2397
  var messagesDe$7 = {
@@ -2418,13 +2416,6 @@ var messagesDe$6 = {
2418
2416
  };
2419
2417
 
2420
2418
  var messagesDe$5 = {
2421
- 'components.portfolioProjectCard.text.yes': 'Credits verfügbar',
2422
- 'components.portfolioProjectCard.text.some': 'Einige verbleibende Credits',
2423
- 'components.portfolioProjectCard.text.no': 'Keine verbleibenden Credits',
2424
- 'components.portfolioProjectCard.text.notYet': 'Gutschriften bald verfügbar'
2425
- };
2426
-
2427
- var messagesDe$4 = {
2428
2419
  'portfolio.smallCheckout.price.taxNotIncluded': 'ohne Steuern',
2429
2420
  'portfolio.smallCheckout.price.taxIncluded': 'Preis inklusive Steuern: {number}',
2430
2421
  'portfolio.smallCheckout.contributionValueCurrency.label.CHF': 'Geben Sie den Beitrag in Fr. ein',
@@ -2442,7 +2433,7 @@ var messagesDe$4 = {
2442
2433
  'portfolio.smallCheckout.cta.button': 'Unser Vertriebsteam kontaktieren'
2443
2434
  };
2444
2435
 
2445
- var messagesDe$3 = {
2436
+ var messagesDe$4 = {
2446
2437
  'sections.shopCheckout.intro.price': 'Preis',
2447
2438
  'sections.shopCheckout.contributionValue.label.EUR': 'Geben sie einen Betrag in € ein',
2448
2439
  'sections.shopCheckout.contributionValue.label.CHF': 'Geben sie einen Betrag in CHF ein',
@@ -2459,12 +2450,12 @@ var messagesDe$3 = {
2459
2450
  'sections.shopCheckout.submit': 'Kaufen'
2460
2451
  };
2461
2452
 
2462
- var messagesDe$2 = {
2453
+ var messagesDe$3 = {
2463
2454
  'sections.textCarousel.moveRight': 'Nach rechts bewegen',
2464
2455
  'sections.textCarousel.moveLeft': 'Nach links bewegen'
2465
2456
  };
2466
2457
 
2467
- var messagesDe$1 = {
2458
+ var messagesDe$2 = {
2468
2459
  'sections.timeline.backgroundShapes': 'Hintergrundformen',
2469
2460
  'sections.timeline.showMoreButton': 'Drei weitere Meilensteine anzeigen'
2470
2461
  };
@@ -2474,53 +2465,57 @@ var unitMessagesDe = {
2474
2465
  'unit.formatter.tonsCo2PerYear': '{number} tCO₂/Jahr'
2475
2466
  };
2476
2467
 
2477
- var rootMessagesDe = /*#__PURE__*/_extends({}, messagesDe$e, messagesDe$9, messagesDe$5, messagesDe$6, messagesDe$4, messagesDe$f, messagesDe$d, messagesDe$c, messagesDe$b, messagesDe$a, messagesDe$8, messagesDe$7, messagesDe$3, messagesDe$2, messagesDe$1, unitMessagesDe);
2468
+ var rootMessagesDe = /*#__PURE__*/_extends({}, messagesDe$f, messagesDe$a, messagesDe$6, messagesDe$5, messagesDe$g, messagesDe$e, messagesDe$d, messagesDe$c, messagesDe$b, messagesDe$9, messagesDe$8, messagesDe$7, messagesDe$4, messagesDe$3, messagesDe$2, unitMessagesDe);
2478
2469
 
2479
- var messagesEn$d = {
2470
+ var messagesEn$c = {
2480
2471
  'sections.comparison.backgroundShapes': 'Background shapes'
2481
2472
  };
2482
2473
 
2483
- var messagesEn$c = {
2474
+ var messagesEn$b = {
2484
2475
  'components.creditsAvailableBadge.text.yes': 'Credits available',
2485
2476
  'components.creditsAvailableBadge.text.some': 'Some remaining credits',
2486
2477
  'components.creditsAvailableBadge.text.no': 'No remaining credits',
2487
2478
  'components.creditsAvailableBadge.text.notYet': 'Credits available soon'
2488
2479
  };
2489
2480
 
2490
- var messagesEn$b = {
2481
+ var messagesEn$a = {
2491
2482
  'sections.cta.backgroundShapesDark': 'Dark background shapes',
2492
2483
  'sections.cta.backgroundShapesLight': 'Light background shapes'
2493
2484
  };
2494
2485
 
2495
- var messagesEn$a = {
2486
+ var messagesEn$9 = {
2496
2487
  'sections.customerCard.more': 'Read more'
2497
2488
  };
2498
2489
 
2499
- var messagesEn$9 = {
2490
+ var messagesEn$8 = {
2500
2491
  'sections.customerQuoteCard.more': 'Read more'
2501
2492
  };
2502
2493
 
2503
- var messagesEn$8 = {
2494
+ var messagesEn$7 = {
2504
2495
  'sections.glossary.copyButtonLabel': 'Copy a link to this section to your clipboard',
2505
2496
  'sections.glossary.copySuccessMessage': 'Copied the link to your clipboard',
2506
2497
  'sections.glossary.copyFailureMessage': 'Could not copy link to clipboard'
2507
2498
  };
2508
2499
 
2509
- var messagesEn$7 = {
2500
+ var messagesEn$6 = {
2510
2501
  'features.portfolio.documentsDownloadList.projectDocuments': 'Project documents',
2511
2502
  'features.portfolio.documentsDownloadList.downloadDocument': 'Download document'
2512
2503
  };
2513
2504
 
2514
- var messagesEn$6 = {
2515
- 'sections.projectFacts.projectInfo.value': 'Project Infos',
2516
- 'projects.projectFacts.properties.area': 'Area'
2505
+ var messagesEn$5 = {
2506
+ 'sections.projectFacts.projectInfo.value': 'Project Infos'
2517
2507
  };
2518
2508
 
2519
- var messagesEn$5 = {
2520
- 'sections.projectsMap.link.text': 'Show more info'
2509
+ var messagesDe$1 = {
2510
+ 'sections.projectCardGrid.certified': 'Certified, {year}',
2511
+ 'sections.projectCardGrid.certificationInProgres': 'Certification in progress'
2521
2512
  };
2522
2513
 
2523
2514
  var messagesEn$4 = {
2515
+ 'sections.projectsMap.link.text': 'Show more info'
2516
+ };
2517
+
2518
+ var messagesEn$3 = {
2524
2519
  'features.projectInfo.projectInfo.value': 'Project Infos',
2525
2520
  'features.projectInfo.properties.area': 'Project Area',
2526
2521
  'features.projectInfo.properties.location': 'Location',
@@ -2537,13 +2532,6 @@ var messagesEn$4 = {
2537
2532
  'features.projectInfo.properties.year': '{years} {years, plural, one {year} other {years} }'
2538
2533
  };
2539
2534
 
2540
- var messagesEn$3 = {
2541
- 'components.portfolioProjectCard.text.yes': 'Credits available',
2542
- 'components.portfolioProjectCard.text.some': 'Some remaining credits',
2543
- 'components.portfolioProjectCard.text.no': 'No remaining credits',
2544
- 'components.portfolioProjectCard.text.notYet': 'Credits available soon'
2545
- };
2546
-
2547
2535
  var messagesEn$2 = {
2548
2536
  'portfolio.smallCheckout.price.taxNotIncluded': 'not including tax',
2549
2537
  'portfolio.smallCheckout.price.taxIncluded': 'Price including tax: {number}',
@@ -2594,7 +2582,7 @@ var unitMessagesEn = {
2594
2582
  'unit.formatter.tonsCo2PerYear': '{number} tCO₂/year'
2595
2583
  };
2596
2584
 
2597
- var rootMessagesEn = /*#__PURE__*/_extends({}, messagesEn$c, messagesEn$7, messagesEn$3, messagesEn$4, messagesEn$2, messagesEn$d, messagesEn$b, messagesEn$a, messagesEn$9, messagesEn$8, messagesEn$6, messagesEn$5, messagesEn$1, messagesDe, messagesEn, unitMessagesEn);
2585
+ var rootMessagesEn = /*#__PURE__*/_extends({}, messagesEn$b, messagesEn$6, messagesEn$3, messagesEn$2, messagesEn$c, messagesEn$a, messagesEn$9, messagesEn$8, messagesEn$7, messagesEn$5, messagesDe$1, messagesEn$4, messagesEn$1, messagesDe, messagesEn, unitMessagesEn);
2598
2586
 
2599
2587
  var messages = {
2600
2588
  en: rootMessagesEn,
@@ -2890,15 +2878,6 @@ var TextWithTextCards = function TextWithTextCards(_ref) {
2890
2878
  }))));
2891
2879
  };
2892
2880
 
2893
- var CreditsAvailableState;
2894
- (function (CreditsAvailableState) {
2895
- CreditsAvailableState["YES"] = "yes";
2896
- CreditsAvailableState["SOME"] = "some";
2897
- CreditsAvailableState["NO"] = "no";
2898
- CreditsAvailableState["NOT_YET"] = "notYet";
2899
- })(CreditsAvailableState || (CreditsAvailableState = {}));
2900
- var CreditsAvailableState$1 = CreditsAvailableState;
2901
-
2902
2881
  var FORMAT_AS_HECTARE_CONFIG = {
2903
2882
  unit: 'hectare',
2904
2883
  unitDisplay: 'short',
@@ -2910,41 +2889,105 @@ var FORMAT_AS_PERCENT_CONFIG = {
2910
2889
  maximumFractionDigits: 2
2911
2890
  };
2912
2891
 
2913
- var PortfolioProjectCard = function PortfolioProjectCard(_ref) {
2914
- var _creditsAvailableMess, _project$creditsAvail, _project$thumbnail, _project$thumbnail2, _project$thumbnail3;
2915
- var project = _ref.project;
2892
+ var CreditAvailability;
2893
+ (function (CreditAvailability) {
2894
+ CreditAvailability["CREDITS_AVAILABLE"] = "credits_available";
2895
+ CreditAvailability["NO_CREDITS_AVAILABLE"] = "no_credits_available";
2896
+ CreditAvailability["SOME_CREDITS_AVAILABLE"] = "some_credits_available";
2897
+ CreditAvailability["SOON_CREDITS_AVAILABLE"] = "soon_credits_available";
2898
+ })(CreditAvailability || (CreditAvailability = {}));
2899
+
2900
+ var CreditsAvailableBadge = function CreditsAvailableBadge(_ref) {
2901
+ var _variants;
2902
+ var status = _ref.status,
2903
+ href = _ref.href;
2916
2904
  var _useContext = React.useContext(IntlContext),
2917
- formatMessage = _useContext.formatMessage,
2918
- formatNumber = _useContext.formatNumber;
2919
- var creditsAvailableMessages = (_creditsAvailableMess = {}, _creditsAvailableMess[CreditsAvailableState$1.YES] = formatMessage({
2920
- id: 'components.portfolioProjectCard.text.yes'
2921
- }), _creditsAvailableMess[CreditsAvailableState$1.SOME] = formatMessage({
2922
- id: 'components.portfolioProjectCard.text.some'
2923
- }), _creditsAvailableMess[CreditsAvailableState$1.NO] = formatMessage({
2924
- id: 'components.portfolioProjectCard.text.no'
2925
- }), _creditsAvailableMess[CreditsAvailableState$1.NOT_YET] = formatMessage({
2926
- id: 'components.portfolioProjectCard.text.notYet'
2927
- }), _creditsAvailableMess);
2928
- return React__default.default.createElement(boemly.ProjectCard, {
2929
- title: project.title,
2930
- facts: [{
2931
- id: 1,
2932
- text: formatNumber((project.area || 0) / 10000, FORMAT_AS_HECTARE_CONFIG)
2933
- }, {
2934
- id: 2,
2935
- text: project.location || ''
2936
- }],
2937
- footerTitle: creditsAvailableMessages[(_project$creditsAvail = project.creditsAvailable) != null ? _project$creditsAvail : CreditsAvailableState$1.NOT_YET],
2938
- footerSubTitle: project.footerSubTitle || '',
2939
- image: project.thumbnail && React__default.default.createElement(Image__default.default, {
2940
- src: strapiMediaUrl((_project$thumbnail = project.thumbnail) == null ? void 0 : _project$thumbnail.img, 'medium'),
2941
- alt: (_project$thumbnail2 = project.thumbnail) == null ? void 0 : _project$thumbnail2.alt,
2942
- fill: true,
2943
- style: {
2944
- objectFit: ((_project$thumbnail3 = project.thumbnail) == null ? void 0 : _project$thumbnail3.objectFit) || 'cover'
2945
- }
2946
- })
2947
- });
2905
+ formatMessage = _useContext.formatMessage;
2906
+ var variants = (_variants = {}, _variants[CreditAvailability.CREDITS_AVAILABLE] = {
2907
+ message: formatMessage({
2908
+ id: 'components.creditsAvailableBadge.text.yes'
2909
+ }),
2910
+ color: 'var(--boemly-colors-primary-800)'
2911
+ }, _variants[CreditAvailability.NO_CREDITS_AVAILABLE] = {
2912
+ message: formatMessage({
2913
+ id: 'components.creditsAvailableBadge.text.no'
2914
+ }),
2915
+ color: 'var(--boemly-colors-red-600)'
2916
+ }, _variants[CreditAvailability.SOME_CREDITS_AVAILABLE] = {
2917
+ message: formatMessage({
2918
+ id: 'components.creditsAvailableBadge.text.some'
2919
+ }),
2920
+ color: 'var(--boemly-colors-orange-500)'
2921
+ }, _variants[CreditAvailability.SOON_CREDITS_AVAILABLE] = {
2922
+ message: formatMessage({
2923
+ id: 'components.creditsAvailableBadge.text.notYet'
2924
+ }),
2925
+ color: 'var(--boemly-colors-blue-500)'
2926
+ }, _variants);
2927
+ var variant = variants[status];
2928
+ return React__default.default.createElement(boemly.Flex, {
2929
+ justifyContent: "flex-start",
2930
+ as: href ? Link__default.default : undefined,
2931
+ href: href
2932
+ }, React__default.default.createElement(boemly.Tag, {
2933
+ backgroundColor: variant.color,
2934
+ mt: "2",
2935
+ mb: "1"
2936
+ }, React__default.default.createElement(boemly.Text, {
2937
+ color: "white",
2938
+ size: "xsLowBold"
2939
+ }, variant.message)));
2940
+ };
2941
+
2942
+ var ProjectGridCard = function ProjectGridCard(_ref) {
2943
+ var _project$thumbnail, _project$thumbnail2, _project$thumbnail3;
2944
+ var project = _ref.project;
2945
+ var _useContext = React.useContext(reactIntl.IntlContext),
2946
+ formatNumber = _useContext.formatNumber,
2947
+ formatMessage = _useContext.formatMessage;
2948
+ return React__default.default.createElement(boemly.Container, null, React__default.default.createElement(boemly.Flex, {
2949
+ flexDir: "column",
2950
+ height: "full"
2951
+ }, project.thumbnail && React__default.default.createElement(boemly.Box, {
2952
+ borderRadius: "xl",
2953
+ position: "relative",
2954
+ height: "36",
2955
+ mb: "2"
2956
+ }, React__default.default.createElement(Image__default.default, {
2957
+ src: strapiMediaUrl((_project$thumbnail = project.thumbnail) == null ? void 0 : _project$thumbnail.img, 'medium'),
2958
+ alt: (_project$thumbnail2 = project.thumbnail) == null ? void 0 : _project$thumbnail2.alt,
2959
+ fill: true,
2960
+ style: {
2961
+ objectFit: ((_project$thumbnail3 = project.thumbnail) == null ? void 0 : _project$thumbnail3.objectFit) || 'cover',
2962
+ borderRadius: 'var(--boemly-radii-xl)'
2963
+ }
2964
+ })), React__default.default.createElement(boemly.Heading, {
2965
+ my: "4",
2966
+ size: "lg"
2967
+ }, project.title), React__default.default.createElement(boemly.Flex, {
2968
+ flexDir: "row",
2969
+ gap: "2"
2970
+ }, React__default.default.createElement(boemly.Tag, null, React__default.default.createElement(boemly.Text, {
2971
+ size: "xsLowBold",
2972
+ color: "gray.800"
2973
+ }, formatNumber((project.area || 0) / 10000, FORMAT_AS_HECTARE_CONFIG))), React__default.default.createElement(boemly.Tag, null, React__default.default.createElement(boemly.Text, {
2974
+ size: "xsLowBold",
2975
+ color: "gray.800"
2976
+ }, project.location)), project.certificationDate ? React__default.default.createElement(boemly.Tag, null, React__default.default.createElement(boemly.Text, {
2977
+ size: "xsLowBold",
2978
+ color: "gray.800"
2979
+ }, formatMessage({
2980
+ id: 'sections.projectCardGrid.certified'
2981
+ }, {
2982
+ year: project.certificationDate.getFullYear()
2983
+ }))) : React__default.default.createElement(boemly.Tag, null, React__default.default.createElement(boemly.Text, {
2984
+ size: "xsLowBold",
2985
+ color: "gray.800"
2986
+ }, formatMessage({
2987
+ id: 'sections.projectCardGrid.certificationInProgres'
2988
+ })))), React__default.default.createElement(CreditsAvailableBadge, {
2989
+ status: project.creditAvailability
2990
+ })));
2948
2991
  };
2949
2992
 
2950
2993
  var TextWithCard = function TextWithCard(_ref) {
@@ -2959,7 +3002,7 @@ var TextWithCard = function TextWithCard(_ref) {
2959
3002
  rowSpan: 1,
2960
3003
  position: "relative",
2961
3004
  "data-testid": "card-position-" + slice.cardPosition
2962
- }, portfolioProject && React__default.default.createElement(PortfolioProjectCard, {
3005
+ }, portfolioProject && React__default.default.createElement(ProjectGridCard, {
2963
3006
  project: portfolioProject
2964
3007
  }), !portfolioProject && slice.card && React__default.default.createElement(boemly.ProjectCard, {
2965
3008
  facts: slice.card.facts,
@@ -3253,7 +3296,7 @@ var ProjectsGrid = function ProjectsGrid(_ref2) {
3253
3296
  _hover: {
3254
3297
  boxShadow: 'lg'
3255
3298
  }
3256
- }, React__default.default.createElement(PortfolioProjectCard, {
3299
+ }, React__default.default.createElement(ProjectGridCard, {
3257
3300
  project: project
3258
3301
  })));
3259
3302
  }))));
@@ -3307,47 +3350,11 @@ var MinimalProviders = function MinimalProviders(_ref) {
3307
3350
  }, children));
3308
3351
  };
3309
3352
 
3310
- var CreditsAvailableBadge = function CreditsAvailableBadge(_ref) {
3311
- var _variants;
3312
- var status = _ref.status,
3313
- href = _ref.href;
3314
- var _useContext = React.useContext(IntlContext),
3315
- formatMessage = _useContext.formatMessage;
3316
- var variants = (_variants = {}, _variants[CreditsAvailableState$1.YES] = {
3317
- color: 'green',
3318
- text: formatMessage({
3319
- id: 'components.creditsAvailableBadge.text.yes'
3320
- })
3321
- }, _variants[CreditsAvailableState$1.SOME] = {
3322
- color: 'orange',
3323
- text: formatMessage({
3324
- id: 'components.creditsAvailableBadge.text.some'
3325
- })
3326
- }, _variants[CreditsAvailableState$1.NO] = {
3327
- color: 'red',
3328
- text: formatMessage({
3329
- id: 'components.creditsAvailableBadge.text.no'
3330
- })
3331
- }, _variants[CreditsAvailableState$1.NOT_YET] = {
3332
- color: 'blue',
3333
- text: formatMessage({
3334
- id: 'components.creditsAvailableBadge.text.notYet'
3335
- })
3336
- }, _variants);
3337
- var variant = variants[status];
3338
- return React__default.default.createElement(boemly.Badge, {
3339
- as: href ? Link__default.default : undefined,
3340
- href: href,
3341
- colorScheme: variant.color,
3342
- width: "fit-content"
3343
- }, variant.text);
3344
- };
3345
-
3346
3353
  var MapMarker = function MapMarker(_ref) {
3347
3354
  var title = _ref.title,
3348
3355
  projectDeveloper = _ref.projectDeveloper,
3349
3356
  slug = _ref.slug,
3350
- creditsAvailable = _ref.creditsAvailable,
3357
+ creditAvailability = _ref.creditAvailability,
3351
3358
  _ref$portfolioHost = _ref.portfolioHost,
3352
3359
  portfolioHost = _ref$portfolioHost === void 0 ? '' : _ref$portfolioHost,
3353
3360
  _ref$isPublic = _ref.isPublic,
@@ -3381,12 +3388,12 @@ var MapMarker = function MapMarker(_ref) {
3381
3388
  maxWidth: ['3xs', null, null, 'sm']
3382
3389
  }, React__default.default.createElement(boemly.Flex, {
3383
3390
  direction: "column"
3384
- }, creditsAvailable && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(CreditsAvailableBadge, {
3385
- status: creditsAvailable,
3391
+ }, React__default.default.createElement(CreditsAvailableBadge, {
3392
+ status: creditAvailability,
3386
3393
  href: slug && portfolioHost + "/portfolio/" + slug
3387
- }), React__default.default.createElement(boemly.Box, {
3394
+ }), React__default.default.createElement(boemly.Spacer, {
3388
3395
  height: "3"
3389
- })), React__default.default.createElement(boemly.Heading, {
3396
+ }), React__default.default.createElement(boemly.Heading, {
3390
3397
  size: "md"
3391
3398
  }, title), projectDeveloper && React__default.default.createElement(boemly.Text, {
3392
3399
  size: "smLowNormal",
@@ -3450,7 +3457,7 @@ var ProjectsMap = function ProjectsMap(_ref) {
3450
3457
  isPublic: project.isPublic,
3451
3458
  portfolioHost: project.portfolioHost,
3452
3459
  slug: project.slug,
3453
- creditsAvailable: project.creditsAvailable,
3460
+ creditAvailability: project.creditAvailability,
3454
3461
  projectDeveloper: (_project$projectDevel = project.projectDeveloper) == null ? void 0 : _project$projectDevel.name
3455
3462
  })));
3456
3463
  // Offset is needed to center the marker on the coordinates
@@ -4919,11 +4926,11 @@ var ProjectInfo = function ProjectInfo(_ref) {
4919
4926
  }),
4920
4927
  text: formatNumber(project.riskBuffer / 100, FORMAT_AS_PERCENT_CONFIG),
4921
4928
  caption: subtitles.riskBufferSubtitle
4922
- })))) : React__default.default.createElement(React__default.default.Fragment, null), project.creditsAvailable ? React__default.default.createElement(boemly.Box, {
4929
+ })))) : React__default.default.createElement(React__default.default.Fragment, null), React__default.default.createElement(boemly.Box, {
4923
4930
  mt: "2"
4924
4931
  }, React__default.default.createElement(CreditsAvailableBadge, {
4925
- status: project.creditsAvailable
4926
- })) : React__default.default.createElement(React__default.default.Fragment, null));
4932
+ status: project.creditAvailability
4933
+ })));
4927
4934
  };
4928
4935
 
4929
4936
  var DocumentsDownloadList = function DocumentsDownloadList(_ref) {