@treely/strapi-slices 3.0.0 → 3.1.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/models/strapi/StrapiProjectCard.d.ts +12 -2
- package/dist/slices/ProjectsGrid/ProjectsGrid.d.ts +4 -0
- package/dist/slices/TextWithCard/TextWithCard.d.ts +0 -2
- package/dist/strapi-slices.cjs.development.js +263 -254
- 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 +264 -255
- package/dist/strapi-slices.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/SliceRenderer/SliceRenderer.tsx +1 -1
- package/src/constants/sectionsConfig.ts +1 -0
- package/src/models/strapi/StrapiProjectCard.ts +12 -2
- package/src/slices/ProjectsGrid/ProjectsGrid.test.tsx +4 -0
- package/src/slices/ProjectsGrid/ProjectsGrid.tsx +11 -1
- package/src/slices/TextWithCard/TextWithCard.stories.tsx +15 -11
- package/src/slices/TextWithCard/TextWithCard.test.tsx +5 -16
- package/src/slices/TextWithCard/TextWithCard.tsx +18 -10
- package/src/test/strapiMocks/strapiProjectCard.ts +13 -0
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import IStrapi from './IStrapi';
|
|
2
1
|
import IStrapiData from './IStrapiData';
|
|
2
|
+
import StrapiImage from './StrapiImage';
|
|
3
3
|
import StrapiProject from './StrapiProject';
|
|
4
4
|
interface StrapiProjectCard {
|
|
5
5
|
id: number;
|
|
6
|
-
|
|
6
|
+
title: string;
|
|
7
|
+
facts: {
|
|
8
|
+
id: number;
|
|
9
|
+
text: string;
|
|
10
|
+
}[];
|
|
11
|
+
footerTitle: string;
|
|
12
|
+
footerSubTitle: string;
|
|
13
|
+
image: StrapiImage;
|
|
14
|
+
project?: {
|
|
15
|
+
data?: IStrapiData<StrapiProject>;
|
|
16
|
+
};
|
|
7
17
|
}
|
|
8
18
|
export default StrapiProjectCard;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PortfolioProject from '../../models/PortfolioProject';
|
|
3
|
+
import { IStrapi, IStrapiData, StrapiProject } from '../..';
|
|
3
4
|
export interface ProjectsGridProps {
|
|
5
|
+
slice: {
|
|
6
|
+
projects: IStrapi<IStrapiData<StrapiProject>[]>;
|
|
7
|
+
};
|
|
4
8
|
projects: PortfolioProject[];
|
|
5
9
|
}
|
|
6
10
|
export declare const ProjectsGrid: React.FC<ProjectsGridProps>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import StrapiLink from '../../models/strapi/StrapiLink';
|
|
3
3
|
import StrapiProjectCard from '../../models/strapi/StrapiProjectCard';
|
|
4
|
-
import PortfolioProject from '../../models/PortfolioProject';
|
|
5
4
|
interface TextWithCardSlice {
|
|
6
5
|
tagline?: string;
|
|
7
6
|
title: string;
|
|
@@ -16,7 +15,6 @@ interface TextWithCardSlice {
|
|
|
16
15
|
}
|
|
17
16
|
export interface TextWithCardProps {
|
|
18
17
|
slice: TextWithCardSlice;
|
|
19
|
-
projects: PortfolioProject[];
|
|
20
18
|
}
|
|
21
19
|
export declare const TextWithCard: React.FC<TextWithCardProps>;
|
|
22
20
|
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-map', 'sections.project-facts'];
|
|
492
|
+
var SECTIONS_WITH_PROJECTS = ['sections.projects-grid', 'sections.projects-map', 'sections.project-facts'];
|
|
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,25 +2127,204 @@ var TextWithTextCards = function TextWithTextCards(_ref) {
|
|
|
2127
2127
|
}))));
|
|
2128
2128
|
};
|
|
2129
2129
|
|
|
2130
|
-
var
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2130
|
+
var TextWithCard = function TextWithCard(_ref) {
|
|
2131
|
+
var slice = _ref.slice;
|
|
2132
|
+
var card = React__default.default.createElement(boemly.GridItem, {
|
|
2133
|
+
colSpan: [4, null, null, null, 2],
|
|
2134
|
+
rowSpan: 1,
|
|
2135
|
+
position: "relative",
|
|
2136
|
+
"data-testid": "card-position-" + slice.cardPosition
|
|
2137
|
+
}, slice.card && React__default.default.createElement(boemly.ProjectCard, {
|
|
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
|
+
};
|
|
2138
2180
|
|
|
2139
|
-
var
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
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
|
+
}))));
|
|
2144
2242
|
};
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2243
|
+
|
|
2244
|
+
var colors = {
|
|
2245
|
+
dark: {
|
|
2246
|
+
tagline: 'white',
|
|
2247
|
+
title: 'white',
|
|
2248
|
+
text: 'white',
|
|
2249
|
+
background: 'gray.900'
|
|
2250
|
+
},
|
|
2251
|
+
light: {
|
|
2252
|
+
tagline: 'primary.500',
|
|
2253
|
+
title: 'black',
|
|
2254
|
+
text: 'gray.500',
|
|
2255
|
+
background: 'primary.50'
|
|
2256
|
+
}
|
|
2148
2257
|
};
|
|
2258
|
+
var SmallHero = function SmallHero(_ref) {
|
|
2259
|
+
var slice = _ref.slice,
|
|
2260
|
+
theme = _ref.theme;
|
|
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
|
+
})))));
|
|
2323
|
+
};
|
|
2324
|
+
|
|
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);
|
|
2149
2328
|
|
|
2150
2329
|
var messagesDe$b = {
|
|
2151
2330
|
'sections.comparison.backgroundShapes': 'Hintergrundformen'
|
|
@@ -2342,8 +2521,8 @@ var messagesEn = {
|
|
|
2342
2521
|
|
|
2343
2522
|
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);
|
|
2344
2523
|
|
|
2345
|
-
var _templateObject$
|
|
2346
|
-
var GLOBAL_STYLE = /*#__PURE__*/react$1.css(_templateObject$
|
|
2524
|
+
var _templateObject$3;
|
|
2525
|
+
var GLOBAL_STYLE = /*#__PURE__*/react$1.css(_templateObject$3 || (_templateObject$3 = /*#__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);
|
|
2347
2526
|
|
|
2348
2527
|
var FONT_CUSTOMIZATIONS = {
|
|
2349
2528
|
body: 'Inter',
|
|
@@ -2377,236 +2556,6 @@ var ContextProvider = function ContextProvider(_ref) {
|
|
|
2377
2556
|
}, children));
|
|
2378
2557
|
};
|
|
2379
2558
|
|
|
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 fpmData = projects.find(function (project) {
|
|
2421
|
-
var _slice$card;
|
|
2422
|
-
return project.slug === ((_slice$card = slice.card) == null || (_slice$card = _slice$card.project) == null ? void 0 : _slice$card.data.attributes.slug);
|
|
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
|
-
}, slice.card && fpmData && React__default.default.createElement(PortfolioProjectCard, {
|
|
2430
|
-
project: _extends({}, slice.card, fpmData)
|
|
2431
|
-
}));
|
|
2432
|
-
return React__default.default.createElement(boemly.DefaultSectionContainer, {
|
|
2433
|
-
title: slice.title
|
|
2434
|
-
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.Grid, {
|
|
2435
|
-
templateColumns: ['repeat(4, auto)', null, null, null, 'repeat(6, auto)'],
|
|
2436
|
-
templateRows: ['repeat(2, auto)', null, null, null, 'repeat(1, auto)'],
|
|
2437
|
-
rowGap: "12",
|
|
2438
|
-
columnGap: ['0', null, null, null, '28']
|
|
2439
|
-
}, slice.cardPosition === 'left' && card, React__default.default.createElement(boemly.GridItem, {
|
|
2440
|
-
colSpan: 4,
|
|
2441
|
-
rowSpan: 1,
|
|
2442
|
-
position: "relative"
|
|
2443
|
-
}, React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2444
|
-
tagline: slice.tagline,
|
|
2445
|
-
title: slice.title,
|
|
2446
|
-
text: slice.text
|
|
2447
|
-
}), slice.listItems && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(boemly.Spacer, {
|
|
2448
|
-
height: "10"
|
|
2449
|
-
}), React__default.default.createElement(boemly.BoemlyList, {
|
|
2450
|
-
listItems: slice.listItems
|
|
2451
|
-
}), React__default.default.createElement(boemly.Spacer, {
|
|
2452
|
-
height: "10"
|
|
2453
|
-
})), slice.button && React__default.default.createElement(StrapiLinkButton, {
|
|
2454
|
-
link: slice.button,
|
|
2455
|
-
size: "md",
|
|
2456
|
-
colorScheme: "white",
|
|
2457
|
-
variant: "outline",
|
|
2458
|
-
rightIcon: React__default.default.createElement(react.ArrowRight, null)
|
|
2459
|
-
})), slice.cardPosition === 'right' && card)));
|
|
2460
|
-
};
|
|
2461
|
-
|
|
2462
|
-
var MEDIUM_TRANSITION_DURATION = 0.2;
|
|
2463
|
-
|
|
2464
|
-
var LinkCardsGrid = function LinkCardsGrid(_ref) {
|
|
2465
|
-
var slice = _ref.slice;
|
|
2466
|
-
return React__default.default.createElement(boemly.DefaultSectionContainer, {
|
|
2467
|
-
title: slice.title
|
|
2468
|
-
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2469
|
-
tagline: slice.tagline,
|
|
2470
|
-
title: slice.title,
|
|
2471
|
-
text: slice.text
|
|
2472
|
-
}), React__default.default.createElement(boemly.SimpleGrid, {
|
|
2473
|
-
mt: "16",
|
|
2474
|
-
columns: [1, null, null, null, 2],
|
|
2475
|
-
gap: "4"
|
|
2476
|
-
}, slice.cards.map(function (_ref2) {
|
|
2477
|
-
var id = _ref2.id,
|
|
2478
|
-
title = _ref2.title,
|
|
2479
|
-
text = _ref2.text,
|
|
2480
|
-
link = _ref2.link;
|
|
2481
|
-
return React__default.default.createElement(boemly.Box, {
|
|
2482
|
-
key: id,
|
|
2483
|
-
as: Link__default.default,
|
|
2484
|
-
href: strapiLinkUrl(link),
|
|
2485
|
-
"data-testid": "link",
|
|
2486
|
-
px: "10",
|
|
2487
|
-
py: "8",
|
|
2488
|
-
borderStyle: "solid",
|
|
2489
|
-
borderWidth: "thin",
|
|
2490
|
-
borderColor: "gray.200",
|
|
2491
|
-
borderRadius: "2xl",
|
|
2492
|
-
display: "flex",
|
|
2493
|
-
flexDir: "row",
|
|
2494
|
-
alignItems: "center",
|
|
2495
|
-
justifyContent: "space-between",
|
|
2496
|
-
cursor: "pointer",
|
|
2497
|
-
transitionDuration: MEDIUM_TRANSITION_DURATION + "s",
|
|
2498
|
-
_hover: {
|
|
2499
|
-
backgroundColor: 'gray.50'
|
|
2500
|
-
}
|
|
2501
|
-
}, React__default.default.createElement("div", null, React__default.default.createElement(boemly.Heading, {
|
|
2502
|
-
as: "h4",
|
|
2503
|
-
size: "lg"
|
|
2504
|
-
}, title), text && React__default.default.createElement(boemly.Text, {
|
|
2505
|
-
mt: "2",
|
|
2506
|
-
size: "smRegularNormal"
|
|
2507
|
-
}, text)), React__default.default.createElement(boemly.Box, {
|
|
2508
|
-
display: "flex",
|
|
2509
|
-
alignItems: "center",
|
|
2510
|
-
justifyContent: "center",
|
|
2511
|
-
borderStyle: "solid",
|
|
2512
|
-
borderWidth: "thin",
|
|
2513
|
-
borderColor: "gray.200",
|
|
2514
|
-
borderRadius: "2xl",
|
|
2515
|
-
height: "12",
|
|
2516
|
-
width: "12",
|
|
2517
|
-
minWidth: "12",
|
|
2518
|
-
minHeight: "12",
|
|
2519
|
-
ml: "6",
|
|
2520
|
-
backgroundColor: "white"
|
|
2521
|
-
}, React__default.default.createElement(react.CaretRight, null)));
|
|
2522
|
-
}))));
|
|
2523
|
-
};
|
|
2524
|
-
|
|
2525
|
-
var colors = {
|
|
2526
|
-
dark: {
|
|
2527
|
-
tagline: 'white',
|
|
2528
|
-
title: 'white',
|
|
2529
|
-
text: 'white',
|
|
2530
|
-
background: 'gray.900'
|
|
2531
|
-
},
|
|
2532
|
-
light: {
|
|
2533
|
-
tagline: 'primary.500',
|
|
2534
|
-
title: 'black',
|
|
2535
|
-
text: 'gray.500',
|
|
2536
|
-
background: 'primary.50'
|
|
2537
|
-
}
|
|
2538
|
-
};
|
|
2539
|
-
var SmallHero = function SmallHero(_ref) {
|
|
2540
|
-
var slice = _ref.slice,
|
|
2541
|
-
theme = _ref.theme;
|
|
2542
|
-
return React__default.default.createElement(boemly.Box, {
|
|
2543
|
-
position: "relative",
|
|
2544
|
-
width: "full",
|
|
2545
|
-
height: "xl",
|
|
2546
|
-
backgroundColor: colors[theme].background
|
|
2547
|
-
}, slice.image && React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(Image__default.default, {
|
|
2548
|
-
src: strapiMediaUrl(slice.image.img, 'xLarge'),
|
|
2549
|
-
alt: slice.image.alt,
|
|
2550
|
-
fill: true,
|
|
2551
|
-
style: {
|
|
2552
|
-
objectFit: slice.image.objectFit || 'cover'
|
|
2553
|
-
}
|
|
2554
|
-
}), slice.gradient && React__default.default.createElement(boemly.Gradient, null)), React__default.default.createElement(boemly.Box, {
|
|
2555
|
-
position: "absolute",
|
|
2556
|
-
left: "0",
|
|
2557
|
-
top: "60%",
|
|
2558
|
-
width: "full",
|
|
2559
|
-
textAlign: "center",
|
|
2560
|
-
transform: "translateY(-50%)"
|
|
2561
|
-
}, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(React__default.default.Fragment, null, slice.tags && React__default.default.createElement(boemly.Flex, {
|
|
2562
|
-
direction: "row",
|
|
2563
|
-
justify: "center",
|
|
2564
|
-
gap: "2",
|
|
2565
|
-
mb: "4",
|
|
2566
|
-
wrap: "wrap"
|
|
2567
|
-
}, slice.tags.map(function (_ref2) {
|
|
2568
|
-
var id = _ref2.id,
|
|
2569
|
-
text = _ref2.text,
|
|
2570
|
-
colorScheme = _ref2.colorScheme;
|
|
2571
|
-
return React__default.default.createElement(boemly.Tag, {
|
|
2572
|
-
key: id,
|
|
2573
|
-
colorScheme: colorScheme,
|
|
2574
|
-
size: "md",
|
|
2575
|
-
variant: "subtle"
|
|
2576
|
-
}, text);
|
|
2577
|
-
})), React__default.default.createElement(boemly.DefaultSectionHeader, {
|
|
2578
|
-
isHero: true,
|
|
2579
|
-
tagline: slice.tagline,
|
|
2580
|
-
title: slice.title,
|
|
2581
|
-
text: slice.subTitle,
|
|
2582
|
-
taglineProps: {
|
|
2583
|
-
color: colors[theme].tagline,
|
|
2584
|
-
textAlign: 'center',
|
|
2585
|
-
mx: 'auto'
|
|
2586
|
-
},
|
|
2587
|
-
titleProps: {
|
|
2588
|
-
color: colors[theme].title,
|
|
2589
|
-
maxW: '4xl',
|
|
2590
|
-
textAlign: 'center',
|
|
2591
|
-
mx: 'auto'
|
|
2592
|
-
},
|
|
2593
|
-
textProps: {
|
|
2594
|
-
maxW: '2xl',
|
|
2595
|
-
textAlign: 'center',
|
|
2596
|
-
mx: 'auto',
|
|
2597
|
-
color: colors[theme].text
|
|
2598
|
-
}
|
|
2599
|
-
}), slice.button && React__default.default.createElement(StrapiLinkButton, {
|
|
2600
|
-
link: slice.button,
|
|
2601
|
-
mt: "6",
|
|
2602
|
-
size: "lg"
|
|
2603
|
-
})))));
|
|
2604
|
-
};
|
|
2605
|
-
|
|
2606
|
-
var _templateObject$3, _templateObject2$1;
|
|
2607
|
-
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"])));
|
|
2608
|
-
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);
|
|
2609
|
-
|
|
2610
2559
|
var Blog = function Blog(_ref) {
|
|
2611
2560
|
var slice = _ref.slice,
|
|
2612
2561
|
blogPosts = _ref.blogPosts;
|
|
@@ -2669,6 +2618,63 @@ var Blog = function Blog(_ref) {
|
|
|
2669
2618
|
}))));
|
|
2670
2619
|
};
|
|
2671
2620
|
|
|
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
|
+
|
|
2672
2678
|
var ConditionalWrapper = function ConditionalWrapper(_ref) {
|
|
2673
2679
|
var condition = _ref.condition,
|
|
2674
2680
|
wrapper = _ref.wrapper,
|
|
@@ -2676,9 +2682,12 @@ var ConditionalWrapper = function ConditionalWrapper(_ref) {
|
|
|
2676
2682
|
return condition ? wrapper(children) : children;
|
|
2677
2683
|
};
|
|
2678
2684
|
var ProjectsGrid = function ProjectsGrid(_ref2) {
|
|
2679
|
-
var projects = _ref2.projects
|
|
2680
|
-
|
|
2681
|
-
|
|
2685
|
+
var projects = _ref2.projects,
|
|
2686
|
+
slice = _ref2.slice;
|
|
2687
|
+
var filteredProjects = projects.filter(function (fpmProject) {
|
|
2688
|
+
return fpmProject.thumbnail && slice.projects.data.some(function (strapiProject) {
|
|
2689
|
+
return strapiProject.attributes.fpmProjectId === fpmProject.id;
|
|
2690
|
+
});
|
|
2682
2691
|
});
|
|
2683
2692
|
return React__default.default.createElement(boemly.DefaultSectionContainer, null, React__default.default.createElement(boemly.Wrapper, null, React__default.default.createElement(boemly.SimpleGrid, {
|
|
2684
2693
|
columns: [1, null, null, 2, null, 3],
|
|
@@ -4715,8 +4724,7 @@ var SliceRenderer = function SliceRenderer(_ref) {
|
|
|
4715
4724
|
case 'sections.text-with-card':
|
|
4716
4725
|
return React__default.default.createElement(TextWithCard, {
|
|
4717
4726
|
key: slice.__component + "-" + slice.id,
|
|
4718
|
-
slice: slice
|
|
4719
|
-
projects: projects
|
|
4727
|
+
slice: slice
|
|
4720
4728
|
});
|
|
4721
4729
|
case 'sections.logo-grid-with-text':
|
|
4722
4730
|
return React__default.default.createElement(LogoGridWithText, {
|
|
@@ -4801,6 +4809,7 @@ var SliceRenderer = function SliceRenderer(_ref) {
|
|
|
4801
4809
|
case 'sections.projects-grid':
|
|
4802
4810
|
return React__default.default.createElement(ProjectsGrid, {
|
|
4803
4811
|
key: slice.__component + "-" + slice.id,
|
|
4812
|
+
slice: slice,
|
|
4804
4813
|
projects: projects
|
|
4805
4814
|
});
|
|
4806
4815
|
case 'sections.projects-map':
|