@treely/strapi-slices 3.1.1 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/slices/TextWithCard/TextWithCard.d.ts +5 -0
- package/dist/strapi-slices.cjs.development.js +264 -256
- package/dist/strapi-slices.cjs.development.js.map +1 -1
- package/dist/strapi-slices.cjs.production.min.js +1 -1
- package/dist/strapi-slices.cjs.production.min.js.map +1 -1
- package/dist/strapi-slices.esm.js +265 -257
- package/dist/strapi-slices.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/SliceRenderer/SliceRenderer.tsx +1 -0
- package/src/constants/sectionsConfig.ts +1 -0
- package/src/slices/ProjectsGrid/ProjectsGrid.stories.tsx +4 -0
- package/src/slices/TextWithCard/TextWithCard.test.tsx +12 -0
- package/src/slices/TextWithCard/TextWithCard.tsx +13 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import StrapiLink from '../../models/strapi/StrapiLink';
|
|
3
3
|
import StrapiProjectCard from '../../models/strapi/StrapiProjectCard';
|
|
4
|
+
import { IStrapiData, PortfolioProject, StrapiProject } from '../..';
|
|
4
5
|
interface TextWithCardSlice {
|
|
5
6
|
tagline?: string;
|
|
6
7
|
title: string;
|
|
@@ -11,10 +12,14 @@ interface TextWithCardSlice {
|
|
|
11
12
|
}[];
|
|
12
13
|
button?: StrapiLink;
|
|
13
14
|
card?: StrapiProjectCard;
|
|
15
|
+
project?: {
|
|
16
|
+
data?: IStrapiData<StrapiProject>;
|
|
17
|
+
};
|
|
14
18
|
cardPosition: 'left' | 'right';
|
|
15
19
|
}
|
|
16
20
|
export interface TextWithCardProps {
|
|
17
21
|
slice: TextWithCardSlice;
|
|
22
|
+
projects: PortfolioProject[];
|
|
18
23
|
}
|
|
19
24
|
export declare const TextWithCard: React.FC<TextWithCardProps>;
|
|
20
25
|
export {};
|
|
@@ -489,7 +489,7 @@ var EXTENDABLE_HEADER_SECTIONS = ['sections.hero', 'sections.map-hero', 'section
|
|
|
489
489
|
var DARK_THEME_HEADER_SECTIONS = ['sections.hero', 'sections.small-hero'];
|
|
490
490
|
var SECTIONS_WITH_BLOG_POSTS = ['sections.blog', 'sections.blog-cards'];
|
|
491
491
|
var SECTIONS_WITH_CUSTOMER_STORIES = ['sections.customer-stories'];
|
|
492
|
-
var SECTIONS_WITH_PROJECTS = ['sections.projects-grid', 'sections.projects-map', 'sections.project-facts'];
|
|
492
|
+
var SECTIONS_WITH_PROJECTS = ['sections.projects-grid', 'sections.projects-map', 'sections.project-facts', 'sections.text-with-card'];
|
|
493
493
|
|
|
494
494
|
var mergeGlobalAndStrapiPageData = function mergeGlobalAndStrapiPageData(context, global, page, blogPosts, customerStories, projects) {
|
|
495
495
|
var _page$attributes$meta, _page$attributes$meta2, _page$attributes$meta3, _global$attributes$me, _page$attributes$meta4, _page$attributes, _page$attributes$slic, _page$attributes$slic2, _page$attributes$meta5, _page$attributes$meta6, _page$attributes$meta7, _page$attributes$meta8, _ref, _page$attributes$meta9, _page$attributes$meta10, _global$attributes$me2;
|
|
@@ -2127,205 +2127,26 @@ var TextWithTextCards = function TextWithTextCards(_ref) {
|
|
|
2127
2127
|
}))));
|
|
2128
2128
|
};
|
|
2129
2129
|
|
|
2130
|
-
var
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
facts: slice.card.facts,
|
|
2139
|
-
footerSubTitle: slice.card.footerSubTitle,
|
|
2140
|
-
footerTitle: slice.card.footerTitle,
|
|
2141
|
-
title: slice.card.title,
|
|
2142
|
-
image: React__default.default.createElement(Image__default.default, {
|
|
2143
|
-
src: strapiMediaUrl(slice.card.image.img, 'medium'),
|
|
2144
|
-
alt: slice.card.image.alt,
|
|
2145
|
-
fill: true,
|
|
2146
|
-
style: {
|
|
2147
|
-
objectFit: slice.card.image.objectFit || 'cover'
|
|
2148
|
-
}
|
|
2149
|
-
})
|
|
2150
|
-
}));
|
|
2151
|
-
return React__default.default.createElement(boemly.DefaultSectionContainer, {
|
|
2152
|
-
title: slice.title
|
|
2153
|
-
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Grid, {
|
|
2154
|
-
templateColumns: ['repeat(4, auto)', null, null, null, 'repeat(6, auto)'],
|
|
2155
|
-
templateRows: ['repeat(2, auto)', null, null, null, 'repeat(1, auto)'],
|
|
2156
|
-
rowGap: "12",
|
|
2157
|
-
columnGap: ['0', null, null, null, '28']
|
|
2158
|
-
}, slice.cardPosition === 'left' && card, React__default.default.createElement(boemly.GridItem, {
|
|
2159
|
-
colSpan: 4,
|
|
2160
|
-
rowSpan: 1,
|
|
2161
|
-
position: "relative"
|
|
2162
|
-
}, React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2163
|
-
tagline: slice.tagline,
|
|
2164
|
-
title: slice.title,
|
|
2165
|
-
text: slice.text
|
|
2166
|
-
}), slice.listItems && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Spacer, {
|
|
2167
|
-
height: "10"
|
|
2168
|
-
}), React__default.default.createElement(boemly.BoemlyList, {
|
|
2169
|
-
listItems: slice.listItems
|
|
2170
|
-
}), React__default.default.createElement(boemly.Spacer, {
|
|
2171
|
-
height: "10"
|
|
2172
|
-
})), slice.button && React__default.default.createElement(StrapiLinkButton, {
|
|
2173
|
-
link: slice.button,
|
|
2174
|
-
size: "md",
|
|
2175
|
-
colorScheme: "white",
|
|
2176
|
-
variant: "outline",
|
|
2177
|
-
rightIcon: React__default.default.createElement(react.ArrowRight, null)
|
|
2178
|
-
})), slice.cardPosition === 'right' && card)));
|
|
2179
|
-
};
|
|
2180
|
-
|
|
2181
|
-
var MEDIUM_TRANSITION_DURATION = 0.2;
|
|
2182
|
-
|
|
2183
|
-
var LinkCardsGrid = function LinkCardsGrid(_ref) {
|
|
2184
|
-
var slice = _ref.slice;
|
|
2185
|
-
return React__default.default.createElement(boemly.DefaultSectionContainer, {
|
|
2186
|
-
title: slice.title
|
|
2187
|
-
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2188
|
-
tagline: slice.tagline,
|
|
2189
|
-
title: slice.title,
|
|
2190
|
-
text: slice.text
|
|
2191
|
-
}), React__default.default.createElement(boemly.SimpleGrid, {
|
|
2192
|
-
mt: "16",
|
|
2193
|
-
columns: [1, null, null, null, 2],
|
|
2194
|
-
gap: "4"
|
|
2195
|
-
}, slice.cards.map(function (_ref2) {
|
|
2196
|
-
var id = _ref2.id,
|
|
2197
|
-
title = _ref2.title,
|
|
2198
|
-
text = _ref2.text,
|
|
2199
|
-
link = _ref2.link;
|
|
2200
|
-
return React__default.default.createElement(boemly.Box, {
|
|
2201
|
-
key: id,
|
|
2202
|
-
as: Link__default.default,
|
|
2203
|
-
href: strapiLinkUrl(link),
|
|
2204
|
-
"data-testid": "link",
|
|
2205
|
-
px: "10",
|
|
2206
|
-
py: "8",
|
|
2207
|
-
borderStyle: "solid",
|
|
2208
|
-
borderWidth: "thin",
|
|
2209
|
-
borderColor: "gray.200",
|
|
2210
|
-
borderRadius: "2xl",
|
|
2211
|
-
display: "flex",
|
|
2212
|
-
flexDir: "row",
|
|
2213
|
-
alignItems: "center",
|
|
2214
|
-
justifyContent: "space-between",
|
|
2215
|
-
cursor: "pointer",
|
|
2216
|
-
transitionDuration: MEDIUM_TRANSITION_DURATION + "s",
|
|
2217
|
-
_hover: {
|
|
2218
|
-
backgroundColor: 'gray.50'
|
|
2219
|
-
}
|
|
2220
|
-
}, React__default.default.createElement("div", null, React__default.default.createElement(boemly.Heading, {
|
|
2221
|
-
as: "h4",
|
|
2222
|
-
size: "lg"
|
|
2223
|
-
}, title), text && React__default.default.createElement(boemly.Text, {
|
|
2224
|
-
mt: "2",
|
|
2225
|
-
size: "smRegularNormal"
|
|
2226
|
-
}, text)), React__default.default.createElement(boemly.Box, {
|
|
2227
|
-
display: "flex",
|
|
2228
|
-
alignItems: "center",
|
|
2229
|
-
justifyContent: "center",
|
|
2230
|
-
borderStyle: "solid",
|
|
2231
|
-
borderWidth: "thin",
|
|
2232
|
-
borderColor: "gray.200",
|
|
2233
|
-
borderRadius: "2xl",
|
|
2234
|
-
height: "12",
|
|
2235
|
-
width: "12",
|
|
2236
|
-
minWidth: "12",
|
|
2237
|
-
minHeight: "12",
|
|
2238
|
-
ml: "6",
|
|
2239
|
-
backgroundColor: "white"
|
|
2240
|
-
}, React__default.default.createElement(react.CaretRight, null)));
|
|
2241
|
-
}))));
|
|
2242
|
-
};
|
|
2130
|
+
var CreditsAvailableState;
|
|
2131
|
+
(function (CreditsAvailableState) {
|
|
2132
|
+
CreditsAvailableState["YES"] = "yes";
|
|
2133
|
+
CreditsAvailableState["SOME"] = "some";
|
|
2134
|
+
CreditsAvailableState["NO"] = "no";
|
|
2135
|
+
CreditsAvailableState["NOT_YET"] = "notYet";
|
|
2136
|
+
})(CreditsAvailableState || (CreditsAvailableState = {}));
|
|
2137
|
+
var CreditsAvailableState$1 = CreditsAvailableState;
|
|
2243
2138
|
|
|
2244
|
-
var
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
background: 'gray.900'
|
|
2250
|
-
},
|
|
2251
|
-
light: {
|
|
2252
|
-
tagline: 'primary.500',
|
|
2253
|
-
title: 'black',
|
|
2254
|
-
text: 'gray.500',
|
|
2255
|
-
background: 'primary.50'
|
|
2256
|
-
}
|
|
2139
|
+
var FORMAT_AS_HECTARE_CONFIG = {
|
|
2140
|
+
unit: 'hectare',
|
|
2141
|
+
unitDisplay: 'short',
|
|
2142
|
+
style: 'unit',
|
|
2143
|
+
maximumFractionDigits: 2
|
|
2257
2144
|
};
|
|
2258
|
-
var
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
return React__default.default.createElement(boemly.Box, {
|
|
2262
|
-
position: "relative",
|
|
2263
|
-
width: "full",
|
|
2264
|
-
height: "xl",
|
|
2265
|
-
backgroundColor: colors[theme].background
|
|
2266
|
-
}, slice.image && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(Image__default.default, {
|
|
2267
|
-
src: strapiMediaUrl(slice.image.img, 'xLarge'),
|
|
2268
|
-
alt: slice.image.alt,
|
|
2269
|
-
fill: true,
|
|
2270
|
-
style: {
|
|
2271
|
-
objectFit: slice.image.objectFit || 'cover'
|
|
2272
|
-
}
|
|
2273
|
-
}), slice.gradient && React__default.default.createElement(boemly.Gradient, null)), React__default.default.createElement(boemly.Box, {
|
|
2274
|
-
position: "absolute",
|
|
2275
|
-
left: "0",
|
|
2276
|
-
top: "60%",
|
|
2277
|
-
width: "full",
|
|
2278
|
-
textAlign: "center",
|
|
2279
|
-
transform: "translateY(-50%)"
|
|
2280
|
-
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, slice.tags && React__default.default.createElement(boemly.Flex, {
|
|
2281
|
-
direction: "row",
|
|
2282
|
-
justify: "center",
|
|
2283
|
-
gap: "2",
|
|
2284
|
-
mb: "4",
|
|
2285
|
-
wrap: "wrap"
|
|
2286
|
-
}, slice.tags.map(function (_ref2) {
|
|
2287
|
-
var id = _ref2.id,
|
|
2288
|
-
text = _ref2.text,
|
|
2289
|
-
colorScheme = _ref2.colorScheme;
|
|
2290
|
-
return React__default.default.createElement(boemly.Tag, {
|
|
2291
|
-
key: id,
|
|
2292
|
-
colorScheme: colorScheme,
|
|
2293
|
-
size: "md",
|
|
2294
|
-
variant: "subtle"
|
|
2295
|
-
}, text);
|
|
2296
|
-
})), React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2297
|
-
isHero: true,
|
|
2298
|
-
tagline: slice.tagline,
|
|
2299
|
-
title: slice.title,
|
|
2300
|
-
text: slice.subTitle,
|
|
2301
|
-
taglineProps: {
|
|
2302
|
-
color: colors[theme].tagline,
|
|
2303
|
-
textAlign: 'center',
|
|
2304
|
-
mx: 'auto'
|
|
2305
|
-
},
|
|
2306
|
-
titleProps: {
|
|
2307
|
-
color: colors[theme].title,
|
|
2308
|
-
maxW: '4xl',
|
|
2309
|
-
textAlign: 'center',
|
|
2310
|
-
mx: 'auto'
|
|
2311
|
-
},
|
|
2312
|
-
textProps: {
|
|
2313
|
-
maxW: '2xl',
|
|
2314
|
-
textAlign: 'center',
|
|
2315
|
-
mx: 'auto',
|
|
2316
|
-
color: colors[theme].text
|
|
2317
|
-
}
|
|
2318
|
-
}), slice.button && React__default.default.createElement(StrapiLinkButton, {
|
|
2319
|
-
link: slice.button,
|
|
2320
|
-
mt: "6",
|
|
2321
|
-
size: "lg"
|
|
2322
|
-
})))));
|
|
2145
|
+
var FORMAT_AS_PERCENT_CONFIG = {
|
|
2146
|
+
style: 'percent',
|
|
2147
|
+
maximumFractionDigits: 2
|
|
2323
2148
|
};
|
|
2324
2149
|
|
|
2325
|
-
var _templateObject$4, _templateObject2$1;
|
|
2326
|
-
var BlogItemContainer = /*#__PURE__*/styled__default.default(boemly.Link)(_templateObject$4 || (_templateObject$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n text-decoration: none;\n\n & div img {\n transition: transform var(--default-ease) var(--medium-transition-duration);\n }\n\n &:hover {\n text-decoration: none;\n\n & > div:first-of-type img {\n transform: scale(1.03);\n }\n }\n"])));
|
|
2327
|
-
var ImageContainer$1 = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject2$1 || (_templateObject2$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 100%;\n height: var(--boemly-sizes-xs);\n position: relative;\n border-radius: var(--boemly-radii-2xl);\n\n // Fixes the flickering of borders during animation in Safari\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n & span,\n div {\n border-radius: var(--boemly-radii-2xl);\n }\n\n @media screen and (max-width: ", ") {\n height: var(--boemly-sizes-3xs);\n }\n"])), BREAKPOINT_MD);
|
|
2328
|
-
|
|
2329
2150
|
var messagesDe$b = {
|
|
2330
2151
|
'sections.comparison.backgroundShapes': 'Hintergrundformen'
|
|
2331
2152
|
};
|
|
@@ -2521,8 +2342,8 @@ var messagesEn = {
|
|
|
2521
2342
|
|
|
2522
2343
|
var rootMessagesEn = /*#__PURE__*/_extends({}, messagesEn$4, messagesEn$3, messagesEn, messagesEn$2, messagesEn$1, messagesEn$b, messagesEn$a, messagesEn$9, messagesEn$8, messagesEn$7, messagesEn$6, messagesEn$5, unitMessagesEn);
|
|
2523
2344
|
|
|
2524
|
-
var _templateObject$
|
|
2525
|
-
var GLOBAL_STYLE = /*#__PURE__*/react$1.css(_templateObject$
|
|
2345
|
+
var _templateObject$4;
|
|
2346
|
+
var GLOBAL_STYLE = /*#__PURE__*/react$1.css(_templateObject$4 || (_templateObject$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n // GintoNord\n @font-face {\n font-family: 'GintoNord';\n src: url('", "/assets/v3/fonts/ABCGintoNord-Bold.woff2')\n format('woff2');\n font-style: normal;\n font-weight: 700;\n font-display: block;\n }\n // Inter\n @font-face {\n font-family: 'Inter';\n src: url('", "/assets/v3/fonts/Inter-Regular.woff2') format('woff2');\n font-style: normal;\n font-weight: 400;\n font-display: block;\n }\n @font-face {\n font-family: 'Inter';\n src: url('", "/assets/v3/fonts/Inter-Medium.woff2') format('woff2');\n font-style: normal;\n font-weight: 500;\n font-display: block;\n }\n @font-face {\n font-family: 'Inter';\n src: url('", "/assets/v3/fonts/Inter-SemiBold.woff2') format('woff2');\n font-style: normal;\n font-weight: 600;\n font-display: block;\n }\n @font-face {\n font-family: 'Inter';\n src: url('", "/assets/v3/fonts/Inter-Bold.woff2') format('woff2');\n font-style: normal;\n font-weight: 700;\n font-display: block;\n }\n // SpaceMono\n @font-face {\n font-family: 'SpaceMono';\n src: url('", "/assets/v3/fonts/SpaceMono-Bold.woff2') format('woff2');\n font-style: normal;\n font-weight: 700;\n font-display: block;\n }\n\n :root {\n --default-hero-height: calc(100vh - var(--boemly-space-24));\n }\n\n a {\n text-decoration: none;\n }\n"])), CDN_URI, CDN_URI, CDN_URI, CDN_URI, CDN_URI, CDN_URI);
|
|
2526
2347
|
|
|
2527
2348
|
var FONT_CUSTOMIZATIONS = {
|
|
2528
2349
|
body: 'Inter',
|
|
@@ -2556,6 +2377,249 @@ var ContextProvider = function ContextProvider(_ref) {
|
|
|
2556
2377
|
}, children));
|
|
2557
2378
|
};
|
|
2558
2379
|
|
|
2380
|
+
var PortfolioProjectCard = function PortfolioProjectCard(_ref) {
|
|
2381
|
+
var _creditsAvailableMess, _project$creditsAvail, _project$thumbnail, _project$thumbnail2, _project$thumbnail3;
|
|
2382
|
+
var project = _ref.project;
|
|
2383
|
+
var _useContext = React.useContext(IntlContext),
|
|
2384
|
+
formatMessage = _useContext.formatMessage,
|
|
2385
|
+
formatNumber = _useContext.formatNumber;
|
|
2386
|
+
var creditsAvailableMessages = (_creditsAvailableMess = {}, _creditsAvailableMess[CreditsAvailableState$1.YES] = formatMessage({
|
|
2387
|
+
id: 'components.portfolioProjectCard.text.yes'
|
|
2388
|
+
}), _creditsAvailableMess[CreditsAvailableState$1.SOME] = formatMessage({
|
|
2389
|
+
id: 'components.portfolioProjectCard.text.some'
|
|
2390
|
+
}), _creditsAvailableMess[CreditsAvailableState$1.NO] = formatMessage({
|
|
2391
|
+
id: 'components.portfolioProjectCard.text.no'
|
|
2392
|
+
}), _creditsAvailableMess[CreditsAvailableState$1.NOT_YET] = formatMessage({
|
|
2393
|
+
id: 'components.portfolioProjectCard.text.notYet'
|
|
2394
|
+
}), _creditsAvailableMess);
|
|
2395
|
+
return React__default.default.createElement(boemly.ProjectCard, {
|
|
2396
|
+
title: project.title,
|
|
2397
|
+
facts: [{
|
|
2398
|
+
id: 1,
|
|
2399
|
+
text: formatNumber((project.area || 0) / 10000, FORMAT_AS_HECTARE_CONFIG)
|
|
2400
|
+
}, {
|
|
2401
|
+
id: 2,
|
|
2402
|
+
text: project.location || ''
|
|
2403
|
+
}],
|
|
2404
|
+
footerTitle: creditsAvailableMessages[(_project$creditsAvail = project.creditsAvailable) != null ? _project$creditsAvail : CreditsAvailableState$1.NOT_YET],
|
|
2405
|
+
footerSubTitle: project.footerSubTitle || '',
|
|
2406
|
+
image: project.thumbnail && React__default.default.createElement(Image__default.default, {
|
|
2407
|
+
src: strapiMediaUrl((_project$thumbnail = project.thumbnail) == null ? void 0 : _project$thumbnail.img, 'medium'),
|
|
2408
|
+
alt: (_project$thumbnail2 = project.thumbnail) == null ? void 0 : _project$thumbnail2.alt,
|
|
2409
|
+
fill: true,
|
|
2410
|
+
style: {
|
|
2411
|
+
objectFit: ((_project$thumbnail3 = project.thumbnail) == null ? void 0 : _project$thumbnail3.objectFit) || 'cover'
|
|
2412
|
+
}
|
|
2413
|
+
})
|
|
2414
|
+
});
|
|
2415
|
+
};
|
|
2416
|
+
|
|
2417
|
+
var TextWithCard = function TextWithCard(_ref) {
|
|
2418
|
+
var slice = _ref.slice,
|
|
2419
|
+
projects = _ref.projects;
|
|
2420
|
+
var portfolioProject = projects.find(function (p) {
|
|
2421
|
+
var _slice$project;
|
|
2422
|
+
return ((_slice$project = slice.project) == null || (_slice$project = _slice$project.data) == null ? void 0 : _slice$project.attributes.fpmProjectId) && p.id === slice.project.data.attributes.fpmProjectId;
|
|
2423
|
+
});
|
|
2424
|
+
var card = React__default.default.createElement(boemly.GridItem, {
|
|
2425
|
+
colSpan: [4, null, null, null, 2],
|
|
2426
|
+
rowSpan: 1,
|
|
2427
|
+
position: "relative",
|
|
2428
|
+
"data-testid": "card-position-" + slice.cardPosition
|
|
2429
|
+
}, portfolioProject && React__default.default.createElement(PortfolioProjectCard, {
|
|
2430
|
+
project: portfolioProject
|
|
2431
|
+
}), !portfolioProject && slice.card && React__default.default.createElement(boemly.ProjectCard, {
|
|
2432
|
+
facts: slice.card.facts,
|
|
2433
|
+
footerSubTitle: slice.card.footerSubTitle,
|
|
2434
|
+
footerTitle: slice.card.footerTitle,
|
|
2435
|
+
title: slice.card.title,
|
|
2436
|
+
image: React__default.default.createElement(Image__default.default, {
|
|
2437
|
+
src: strapiMediaUrl(slice.card.image.img, 'medium'),
|
|
2438
|
+
alt: slice.card.image.alt,
|
|
2439
|
+
fill: true,
|
|
2440
|
+
style: {
|
|
2441
|
+
objectFit: slice.card.image.objectFit || 'cover'
|
|
2442
|
+
}
|
|
2443
|
+
})
|
|
2444
|
+
}));
|
|
2445
|
+
return React__default.default.createElement(boemly.DefaultSectionContainer, {
|
|
2446
|
+
title: slice.title
|
|
2447
|
+
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Grid, {
|
|
2448
|
+
templateColumns: ['repeat(4, auto)', null, null, null, 'repeat(6, auto)'],
|
|
2449
|
+
templateRows: ['repeat(2, auto)', null, null, null, 'repeat(1, auto)'],
|
|
2450
|
+
rowGap: "12",
|
|
2451
|
+
columnGap: ['0', null, null, null, '28']
|
|
2452
|
+
}, slice.cardPosition === 'left' && card, React__default.default.createElement(boemly.GridItem, {
|
|
2453
|
+
colSpan: 4,
|
|
2454
|
+
rowSpan: 1,
|
|
2455
|
+
position: "relative"
|
|
2456
|
+
}, React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2457
|
+
tagline: slice.tagline,
|
|
2458
|
+
title: slice.title,
|
|
2459
|
+
text: slice.text
|
|
2460
|
+
}), slice.listItems && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Spacer, {
|
|
2461
|
+
height: "10"
|
|
2462
|
+
}), React__default.default.createElement(boemly.BoemlyList, {
|
|
2463
|
+
listItems: slice.listItems
|
|
2464
|
+
}), React__default.default.createElement(boemly.Spacer, {
|
|
2465
|
+
height: "10"
|
|
2466
|
+
})), slice.button && React__default.default.createElement(StrapiLinkButton, {
|
|
2467
|
+
link: slice.button,
|
|
2468
|
+
size: "md",
|
|
2469
|
+
colorScheme: "white",
|
|
2470
|
+
variant: "outline",
|
|
2471
|
+
rightIcon: React__default.default.createElement(react.ArrowRight, null)
|
|
2472
|
+
})), slice.cardPosition === 'right' && card)));
|
|
2473
|
+
};
|
|
2474
|
+
|
|
2475
|
+
var MEDIUM_TRANSITION_DURATION = 0.2;
|
|
2476
|
+
|
|
2477
|
+
var LinkCardsGrid = function LinkCardsGrid(_ref) {
|
|
2478
|
+
var slice = _ref.slice;
|
|
2479
|
+
return React__default.default.createElement(boemly.DefaultSectionContainer, {
|
|
2480
|
+
title: slice.title
|
|
2481
|
+
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2482
|
+
tagline: slice.tagline,
|
|
2483
|
+
title: slice.title,
|
|
2484
|
+
text: slice.text
|
|
2485
|
+
}), React__default.default.createElement(boemly.SimpleGrid, {
|
|
2486
|
+
mt: "16",
|
|
2487
|
+
columns: [1, null, null, null, 2],
|
|
2488
|
+
gap: "4"
|
|
2489
|
+
}, slice.cards.map(function (_ref2) {
|
|
2490
|
+
var id = _ref2.id,
|
|
2491
|
+
title = _ref2.title,
|
|
2492
|
+
text = _ref2.text,
|
|
2493
|
+
link = _ref2.link;
|
|
2494
|
+
return React__default.default.createElement(boemly.Box, {
|
|
2495
|
+
key: id,
|
|
2496
|
+
as: Link__default.default,
|
|
2497
|
+
href: strapiLinkUrl(link),
|
|
2498
|
+
"data-testid": "link",
|
|
2499
|
+
px: "10",
|
|
2500
|
+
py: "8",
|
|
2501
|
+
borderStyle: "solid",
|
|
2502
|
+
borderWidth: "thin",
|
|
2503
|
+
borderColor: "gray.200",
|
|
2504
|
+
borderRadius: "2xl",
|
|
2505
|
+
display: "flex",
|
|
2506
|
+
flexDir: "row",
|
|
2507
|
+
alignItems: "center",
|
|
2508
|
+
justifyContent: "space-between",
|
|
2509
|
+
cursor: "pointer",
|
|
2510
|
+
transitionDuration: MEDIUM_TRANSITION_DURATION + "s",
|
|
2511
|
+
_hover: {
|
|
2512
|
+
backgroundColor: 'gray.50'
|
|
2513
|
+
}
|
|
2514
|
+
}, React__default.default.createElement("div", null, React__default.default.createElement(boemly.Heading, {
|
|
2515
|
+
as: "h4",
|
|
2516
|
+
size: "lg"
|
|
2517
|
+
}, title), text && React__default.default.createElement(boemly.Text, {
|
|
2518
|
+
mt: "2",
|
|
2519
|
+
size: "smRegularNormal"
|
|
2520
|
+
}, text)), React__default.default.createElement(boemly.Box, {
|
|
2521
|
+
display: "flex",
|
|
2522
|
+
alignItems: "center",
|
|
2523
|
+
justifyContent: "center",
|
|
2524
|
+
borderStyle: "solid",
|
|
2525
|
+
borderWidth: "thin",
|
|
2526
|
+
borderColor: "gray.200",
|
|
2527
|
+
borderRadius: "2xl",
|
|
2528
|
+
height: "12",
|
|
2529
|
+
width: "12",
|
|
2530
|
+
minWidth: "12",
|
|
2531
|
+
minHeight: "12",
|
|
2532
|
+
ml: "6",
|
|
2533
|
+
backgroundColor: "white"
|
|
2534
|
+
}, React__default.default.createElement(react.CaretRight, null)));
|
|
2535
|
+
}))));
|
|
2536
|
+
};
|
|
2537
|
+
|
|
2538
|
+
var colors = {
|
|
2539
|
+
dark: {
|
|
2540
|
+
tagline: 'white',
|
|
2541
|
+
title: 'white',
|
|
2542
|
+
text: 'white',
|
|
2543
|
+
background: 'gray.900'
|
|
2544
|
+
},
|
|
2545
|
+
light: {
|
|
2546
|
+
tagline: 'primary.500',
|
|
2547
|
+
title: 'black',
|
|
2548
|
+
text: 'gray.500',
|
|
2549
|
+
background: 'primary.50'
|
|
2550
|
+
}
|
|
2551
|
+
};
|
|
2552
|
+
var SmallHero = function SmallHero(_ref) {
|
|
2553
|
+
var slice = _ref.slice,
|
|
2554
|
+
theme = _ref.theme;
|
|
2555
|
+
return React__default.default.createElement(boemly.Box, {
|
|
2556
|
+
position: "relative",
|
|
2557
|
+
width: "full",
|
|
2558
|
+
height: "xl",
|
|
2559
|
+
backgroundColor: colors[theme].background
|
|
2560
|
+
}, slice.image && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(Image__default.default, {
|
|
2561
|
+
src: strapiMediaUrl(slice.image.img, 'xLarge'),
|
|
2562
|
+
alt: slice.image.alt,
|
|
2563
|
+
fill: true,
|
|
2564
|
+
style: {
|
|
2565
|
+
objectFit: slice.image.objectFit || 'cover'
|
|
2566
|
+
}
|
|
2567
|
+
}), slice.gradient && React__default.default.createElement(boemly.Gradient, null)), React__default.default.createElement(boemly.Box, {
|
|
2568
|
+
position: "absolute",
|
|
2569
|
+
left: "0",
|
|
2570
|
+
top: "60%",
|
|
2571
|
+
width: "full",
|
|
2572
|
+
textAlign: "center",
|
|
2573
|
+
transform: "translateY(-50%)"
|
|
2574
|
+
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, slice.tags && React__default.default.createElement(boemly.Flex, {
|
|
2575
|
+
direction: "row",
|
|
2576
|
+
justify: "center",
|
|
2577
|
+
gap: "2",
|
|
2578
|
+
mb: "4",
|
|
2579
|
+
wrap: "wrap"
|
|
2580
|
+
}, slice.tags.map(function (_ref2) {
|
|
2581
|
+
var id = _ref2.id,
|
|
2582
|
+
text = _ref2.text,
|
|
2583
|
+
colorScheme = _ref2.colorScheme;
|
|
2584
|
+
return React__default.default.createElement(boemly.Tag, {
|
|
2585
|
+
key: id,
|
|
2586
|
+
colorScheme: colorScheme,
|
|
2587
|
+
size: "md",
|
|
2588
|
+
variant: "subtle"
|
|
2589
|
+
}, text);
|
|
2590
|
+
})), React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2591
|
+
isHero: true,
|
|
2592
|
+
tagline: slice.tagline,
|
|
2593
|
+
title: slice.title,
|
|
2594
|
+
text: slice.subTitle,
|
|
2595
|
+
taglineProps: {
|
|
2596
|
+
color: colors[theme].tagline,
|
|
2597
|
+
textAlign: 'center',
|
|
2598
|
+
mx: 'auto'
|
|
2599
|
+
},
|
|
2600
|
+
titleProps: {
|
|
2601
|
+
color: colors[theme].title,
|
|
2602
|
+
maxW: '4xl',
|
|
2603
|
+
textAlign: 'center',
|
|
2604
|
+
mx: 'auto'
|
|
2605
|
+
},
|
|
2606
|
+
textProps: {
|
|
2607
|
+
maxW: '2xl',
|
|
2608
|
+
textAlign: 'center',
|
|
2609
|
+
mx: 'auto',
|
|
2610
|
+
color: colors[theme].text
|
|
2611
|
+
}
|
|
2612
|
+
}), slice.button && React__default.default.createElement(StrapiLinkButton, {
|
|
2613
|
+
link: slice.button,
|
|
2614
|
+
mt: "6",
|
|
2615
|
+
size: "lg"
|
|
2616
|
+
})))));
|
|
2617
|
+
};
|
|
2618
|
+
|
|
2619
|
+
var _templateObject$3, _templateObject2$1;
|
|
2620
|
+
var BlogItemContainer = /*#__PURE__*/styled__default.default(boemly.Link)(_templateObject$3 || (_templateObject$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n text-decoration: none;\n\n & div img {\n transition: transform var(--default-ease) var(--medium-transition-duration);\n }\n\n &:hover {\n text-decoration: none;\n\n & > div:first-of-type img {\n transform: scale(1.03);\n }\n }\n"])));
|
|
2621
|
+
var ImageContainer$1 = /*#__PURE__*/styled__default.default(boemly.Box)(_templateObject2$1 || (_templateObject2$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 100%;\n height: var(--boemly-sizes-xs);\n position: relative;\n border-radius: var(--boemly-radii-2xl);\n\n // Fixes the flickering of borders during animation in Safari\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n & span,\n div {\n border-radius: var(--boemly-radii-2xl);\n }\n\n @media screen and (max-width: ", ") {\n height: var(--boemly-sizes-3xs);\n }\n"])), BREAKPOINT_MD);
|
|
2622
|
+
|
|
2559
2623
|
var Blog = function Blog(_ref) {
|
|
2560
2624
|
var slice = _ref.slice,
|
|
2561
2625
|
blogPosts = _ref.blogPosts;
|
|
@@ -2618,63 +2682,6 @@ var Blog = function Blog(_ref) {
|
|
|
2618
2682
|
}))));
|
|
2619
2683
|
};
|
|
2620
2684
|
|
|
2621
|
-
var CreditsAvailableState;
|
|
2622
|
-
(function (CreditsAvailableState) {
|
|
2623
|
-
CreditsAvailableState["YES"] = "yes";
|
|
2624
|
-
CreditsAvailableState["SOME"] = "some";
|
|
2625
|
-
CreditsAvailableState["NO"] = "no";
|
|
2626
|
-
CreditsAvailableState["NOT_YET"] = "notYet";
|
|
2627
|
-
})(CreditsAvailableState || (CreditsAvailableState = {}));
|
|
2628
|
-
var CreditsAvailableState$1 = CreditsAvailableState;
|
|
2629
|
-
|
|
2630
|
-
var FORMAT_AS_HECTARE_CONFIG = {
|
|
2631
|
-
unit: 'hectare',
|
|
2632
|
-
unitDisplay: 'short',
|
|
2633
|
-
style: 'unit',
|
|
2634
|
-
maximumFractionDigits: 2
|
|
2635
|
-
};
|
|
2636
|
-
var FORMAT_AS_PERCENT_CONFIG = {
|
|
2637
|
-
style: 'percent',
|
|
2638
|
-
maximumFractionDigits: 2
|
|
2639
|
-
};
|
|
2640
|
-
|
|
2641
|
-
var PortfolioProjectCard = function PortfolioProjectCard(_ref) {
|
|
2642
|
-
var _creditsAvailableMess, _project$creditsAvail, _project$thumbnail, _project$thumbnail2, _project$thumbnail3;
|
|
2643
|
-
var project = _ref.project;
|
|
2644
|
-
var _useContext = React.useContext(IntlContext),
|
|
2645
|
-
formatMessage = _useContext.formatMessage,
|
|
2646
|
-
formatNumber = _useContext.formatNumber;
|
|
2647
|
-
var creditsAvailableMessages = (_creditsAvailableMess = {}, _creditsAvailableMess[CreditsAvailableState$1.YES] = formatMessage({
|
|
2648
|
-
id: 'components.portfolioProjectCard.text.yes'
|
|
2649
|
-
}), _creditsAvailableMess[CreditsAvailableState$1.SOME] = formatMessage({
|
|
2650
|
-
id: 'components.portfolioProjectCard.text.some'
|
|
2651
|
-
}), _creditsAvailableMess[CreditsAvailableState$1.NO] = formatMessage({
|
|
2652
|
-
id: 'components.portfolioProjectCard.text.no'
|
|
2653
|
-
}), _creditsAvailableMess[CreditsAvailableState$1.NOT_YET] = formatMessage({
|
|
2654
|
-
id: 'components.portfolioProjectCard.text.notYet'
|
|
2655
|
-
}), _creditsAvailableMess);
|
|
2656
|
-
return React__default.default.createElement(boemly.ProjectCard, {
|
|
2657
|
-
title: project.title,
|
|
2658
|
-
facts: [{
|
|
2659
|
-
id: 1,
|
|
2660
|
-
text: formatNumber((project.area || 0) / 10000, FORMAT_AS_HECTARE_CONFIG)
|
|
2661
|
-
}, {
|
|
2662
|
-
id: 2,
|
|
2663
|
-
text: project.location || ''
|
|
2664
|
-
}],
|
|
2665
|
-
footerTitle: creditsAvailableMessages[(_project$creditsAvail = project.creditsAvailable) != null ? _project$creditsAvail : CreditsAvailableState$1.NOT_YET],
|
|
2666
|
-
footerSubTitle: project.footerSubTitle || '',
|
|
2667
|
-
image: project.thumbnail && React__default.default.createElement(Image__default.default, {
|
|
2668
|
-
src: strapiMediaUrl((_project$thumbnail = project.thumbnail) == null ? void 0 : _project$thumbnail.img, 'medium'),
|
|
2669
|
-
alt: (_project$thumbnail2 = project.thumbnail) == null ? void 0 : _project$thumbnail2.alt,
|
|
2670
|
-
fill: true,
|
|
2671
|
-
style: {
|
|
2672
|
-
objectFit: ((_project$thumbnail3 = project.thumbnail) == null ? void 0 : _project$thumbnail3.objectFit) || 'cover'
|
|
2673
|
-
}
|
|
2674
|
-
})
|
|
2675
|
-
});
|
|
2676
|
-
};
|
|
2677
|
-
|
|
2678
2685
|
var ConditionalWrapper = function ConditionalWrapper(_ref) {
|
|
2679
2686
|
var condition = _ref.condition,
|
|
2680
2687
|
wrapper = _ref.wrapper,
|
|
@@ -4724,7 +4731,8 @@ var SliceRenderer = function SliceRenderer(_ref) {
|
|
|
4724
4731
|
case 'sections.text-with-card':
|
|
4725
4732
|
return React__default.default.createElement(TextWithCard, {
|
|
4726
4733
|
key: slice.__component + "-" + slice.id,
|
|
4727
|
-
slice: slice
|
|
4734
|
+
slice: slice,
|
|
4735
|
+
projects: projects
|
|
4728
4736
|
});
|
|
4729
4737
|
case 'sections.logo-grid-with-text':
|
|
4730
4738
|
return React__default.default.createElement(LogoGridWithText, {
|