decentraland-ui2 0.8.7 → 0.8.8-12715448437.commit-f79f5b3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. package/dist/components/MarketingBanner/MarketingBanner.d.ts +3 -0
  2. package/dist/components/MarketingBanner/MarketingBanner.js +23 -0
  3. package/dist/components/MarketingBanner/MarketingBanner.js.map +1 -0
  4. package/dist/components/MarketingBanner/MarketingBanner.stories.d.ts +16 -0
  5. package/dist/components/MarketingBanner/MarketingBanner.stories.js +34 -0
  6. package/dist/components/MarketingBanner/MarketingBanner.stories.js.map +1 -0
  7. package/dist/components/MarketingBanner/MarketingBanner.styled.d.ts +58 -0
  8. package/dist/components/MarketingBanner/MarketingBanner.styled.js +123 -0
  9. package/dist/components/MarketingBanner/MarketingBanner.styled.js.map +1 -0
  10. package/dist/components/MarketingBanner/MarketingBanner.types.d.ts +29 -0
  11. package/dist/components/MarketingBanner/MarketingBanner.types.js +2 -0
  12. package/dist/components/MarketingBanner/MarketingBanner.types.js.map +1 -0
  13. package/dist/components/MarketingBanner/index.d.ts +2 -0
  14. package/dist/components/MarketingBanner/index.js +2 -0
  15. package/dist/components/MarketingBanner/index.js.map +1 -0
  16. package/dist/components/Navbar/SubMenu/SubMenu.styled.js +3 -1
  17. package/dist/components/Navbar/SubMenu/SubMenu.styled.js.map +1 -1
  18. package/dist/hooks/contenful/contentful.d.ts +9 -0
  19. package/dist/hooks/contenful/contentful.js +54 -0
  20. package/dist/hooks/contenful/contentful.js.map +1 -0
  21. package/dist/hooks/contenful/contentful.types.d.ts +53 -0
  22. package/dist/hooks/contenful/contentful.types.js +8 -0
  23. package/dist/hooks/contenful/contentful.types.js.map +1 -0
  24. package/dist/hooks/contenful/index.d.ts +2 -0
  25. package/dist/hooks/contenful/index.js +3 -0
  26. package/dist/hooks/contenful/index.js.map +1 -0
  27. package/package.json +4 -2
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { MarketingBannerProps } from "./MarketingBanner.types";
3
+ export declare const MarketingBanner: React.FC<MarketingBannerProps>;
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { documentToReactComponents } from "@contentful/rich-text-react-renderer";
3
+ import CircularProgress from "@mui/material/CircularProgress";
4
+ import { Locales, getAssetUrl, useGetContentfulEntry, } from "../../hooks/contenful";
5
+ import { BannerContainer, Button, ButtonContainer, Content, LoadingContainer, Logo, Text, Title, } from "./MarketingBanner.styled";
6
+ const BANNER_CONTENT_TYPE = "banner";
7
+ export const MarketingBanner = (props) => {
8
+ const { id, environment, token, space, locale = Locales.enUS } = props;
9
+ const { fields, assets, isLoading, error } = useGetContentfulEntry(id, environment, BANNER_CONTENT_TYPE, token, space);
10
+ if (isLoading) {
11
+ return (_jsx(LoadingContainer, { children: _jsx(CircularProgress, {}) }));
12
+ }
13
+ // If there is no banner fields or the banner is not supposed to be shown, return null
14
+ if (!fields || !fields.showBanner[locale] || error) {
15
+ return null;
16
+ }
17
+ return (_jsxs(BannerContainer, { mobileBackground: getAssetUrl(assets, locale, fields.mobileBackground[locale]), fullSizeBackground: getAssetUrl(assets, locale, fields.fullSizeBackground[locale]), children: [_jsxs(Content, { children: [_jsx(Title, { variant: "h1", mobileTitleAlignment: fields.mobileTitleAlignment[locale]?.toLowerCase(), desktopTitleAlignment: fields.desktopTitleAlignment[locale]?.toLowerCase(), children: fields.title[locale] }), _jsx(Text, { desktopTextAlignment: fields.desktopTextAlignment[locale]?.toLowerCase(), mobileTextAlignment: fields.mobileTextAlignment[locale]?.toLowerCase(), children: fields.text[locale]
18
+ ? documentToReactComponents(fields.text[locale])
19
+ : null }), fields.showButton[locale] &&
20
+ fields.buttonLink?.[locale] &&
21
+ fields.buttonsText?.[locale] ? (_jsx(ButtonContainer, { desktopAlignment: fields.desktopButtonAlignment[locale]?.toLowerCase(), mobileAlignment: fields.mobileButtonAlignment[locale]?.toLowerCase(), children: _jsx(Button, { href: fields.buttonLink[locale], variant: "contained", disableElevation: true, children: fields.buttonsText[locale] }) })) : null] }), fields.logo && fields.logo[locale] && (_jsx(Logo, { src: getAssetUrl(assets, locale, fields.logo[locale]), alt: "Banner logo" }))] }));
22
+ };
23
+ //# sourceMappingURL=MarketingBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarketingBanner.js","sourceRoot":"","sources":["../../../src/components/MarketingBanner/MarketingBanner.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { MarketingBanner } from "./MarketingBanner";
2
+ import type { StoryObj } from "@storybook/react";
3
+ declare const meta: {
4
+ title: string;
5
+ component: import("react").FC<import("./MarketingBanner.types").MarketingBannerProps>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ };
11
+ type Story = StoryObj<typeof MarketingBanner>;
12
+ declare const Default: Story;
13
+ declare const SpanishLocale: Story;
14
+ declare const ChineseLocale: Story;
15
+ export { Default, SpanishLocale, ChineseLocale };
16
+ export default meta;
@@ -0,0 +1,34 @@
1
+ import { MarketingBanner } from "./MarketingBanner";
2
+ import { Locales } from "../../hooks/contenful";
3
+ const meta = {
4
+ title: "Decentraland UI/MarketingBanner",
5
+ component: MarketingBanner,
6
+ parameters: {
7
+ layout: "fullscreen",
8
+ },
9
+ tags: ["autodocs"],
10
+ };
11
+ const Default = {
12
+ args: {
13
+ id: "2maJ4UuoqaYtbZxVGymsJo",
14
+ environment: "development",
15
+ token: "AATjg5ZJgxllQW8PBSQV4ZaY5wh9W_lQSKIiERHY-sc",
16
+ space: "ea2ybdmmn1kv",
17
+ },
18
+ };
19
+ const SpanishLocale = {
20
+ args: {
21
+ ...Default.args,
22
+ locale: Locales.es,
23
+ },
24
+ };
25
+ const ChineseLocale = {
26
+ args: {
27
+ ...Default.args,
28
+ locale: Locales.zh,
29
+ },
30
+ };
31
+ export { Default, SpanishLocale, ChineseLocale };
32
+ // eslint-disable-next-line import/no-default-export
33
+ export default meta;
34
+ //# sourceMappingURL=MarketingBanner.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarketingBanner.stories.js","sourceRoot":"","sources":["../../../src/components/MarketingBanner/MarketingBanner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,iCAAiC;IACxC,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;CACoB,CAAA;AAIxC,MAAM,OAAO,GAAU;IACrB,IAAI,EAAE;QACJ,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,6CAA6C;QACpD,KAAK,EAAE,cAAc;KACtB;CACF,CAAA;AAED,MAAM,aAAa,GAAU;IAC3B,IAAI,EAAE;QACJ,GAAG,OAAO,CAAC,IAAI;QACf,MAAM,EAAE,OAAO,CAAC,EAAE;KACnB;CACF,CAAA;AAED,MAAM,aAAa,GAAU;IAC3B,IAAI,EAAE;QACJ,GAAG,OAAO,CAAC,IAAI;QACf,MAAM,EAAE,OAAO,CAAC,EAAE;KACnB;CACF,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;AAChD,oDAAoD;AACpD,eAAe,IAAI,CAAA"}
@@ -0,0 +1,58 @@
1
+ import type { Property } from "csstype";
2
+ declare const LoadingContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
4
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
5
+ theme?: import("@emotion/react").Theme;
6
+ }, {}, {}>;
7
+ declare const BannerContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
8
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
9
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
10
+ theme?: import("@emotion/react").Theme;
11
+ } & {
12
+ mobileBackground: string;
13
+ fullSizeBackground: string;
14
+ }, {}, {}>;
15
+ declare const ContentWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
16
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
17
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
18
+ theme?: import("@emotion/react").Theme;
19
+ }, {}, {}>;
20
+ declare const Content: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
21
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
22
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
23
+ theme?: import("@emotion/react").Theme;
24
+ }, {}, {}>;
25
+ declare const Logo: import("@emotion/styled").StyledComponent<{
26
+ theme?: import("@emotion/react").Theme;
27
+ as?: import("react").ElementType;
28
+ }, import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {}>;
29
+ declare const Title: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
30
+ ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
31
+ }, "typography" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "color" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "className" | "style" | "classes" | "children" | "sx" | "variant" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & {
32
+ theme?: import("@emotion/react").Theme;
33
+ } & {
34
+ mobileTitleAlignment?: Property.TextAlign;
35
+ desktopTitleAlignment?: Property.TextAlign;
36
+ }, {}, {}>;
37
+ declare const Text: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
38
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
39
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
40
+ theme?: import("@emotion/react").Theme;
41
+ } & {
42
+ mobileTextAlignment?: Property.TextAlign;
43
+ desktopTextAlignment?: Property.TextAlign;
44
+ }, {}, {}>;
45
+ declare const ButtonContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
46
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
47
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
48
+ theme?: import("@emotion/react").Theme;
49
+ } & {
50
+ mobileAlignment?: Property.TextAlign;
51
+ desktopAlignment?: Property.TextAlign;
52
+ }, {}, {}>;
53
+ declare const Button: import("@emotion/styled").StyledComponent<import("@mui/material").ButtonOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
54
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
55
+ }, "disabled" | "color" | "className" | "style" | "classes" | "children" | "sx" | "variant" | "tabIndex" | "disableElevation" | "fullWidth" | "startIcon" | "endIcon" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "href" | "size"> & {
56
+ theme?: import("@emotion/react").Theme;
57
+ }, {}, {}>;
58
+ export { LoadingContainer, BannerContainer, Content, ContentWrapper, Logo, Title, Text, ButtonContainer, Button, };
@@ -0,0 +1,123 @@
1
+ import styled from "@emotion/styled";
2
+ import { Box, Button as MuiButton, Typography } from "@mui/material";
3
+ const convertAlignmentToFlex = (alignment) => {
4
+ switch (alignment) {
5
+ case "left":
6
+ return "flex-start";
7
+ case "center":
8
+ return "center";
9
+ case "right":
10
+ return "flex-end";
11
+ default:
12
+ return "flex-start";
13
+ }
14
+ };
15
+ const LoadingContainer = styled(Box)({
16
+ display: "flex",
17
+ justifyContent: "center",
18
+ alignItems: "center",
19
+ width: "100%",
20
+ });
21
+ const BannerContainer = styled(Box, {
22
+ shouldForwardProp: (prop) => prop !== "mobileBackground" && prop !== "fullSizeBackground",
23
+ })((props) => {
24
+ const { theme, mobileBackground, fullSizeBackground } = props;
25
+ return {
26
+ width: "100%",
27
+ overflow: "hidden",
28
+ display: "flex",
29
+ padding: "2rem",
30
+ justifyContent: "space-between",
31
+ flexDirection: "row",
32
+ backgroundImage: `url(${fullSizeBackground})`,
33
+ backgroundSize: "cover",
34
+ backgroundPosition: "center",
35
+ alignItems: "center",
36
+ [theme.breakpoints.down("sm")]: {
37
+ backgroundImage: `url(${mobileBackground})`,
38
+ flexDirection: "column-reverse",
39
+ },
40
+ };
41
+ });
42
+ const ContentWrapper = styled(Box)({
43
+ display: "flex",
44
+ flexDirection: "row",
45
+ flexGrow: 1,
46
+ marginRight: "20px",
47
+ });
48
+ const Content = styled(Box)((props) => {
49
+ const { theme } = props;
50
+ return {
51
+ display: "flex",
52
+ flexDirection: "column",
53
+ gap: "0.1rem",
54
+ [theme.breakpoints.down("sm")]: {
55
+ padding: "1rem",
56
+ },
57
+ };
58
+ });
59
+ const Logo = styled("img")((props) => {
60
+ const { theme } = props;
61
+ return {
62
+ flexShrink: 0,
63
+ maxWidth: "400px",
64
+ [theme.breakpoints.down("sm")]: {
65
+ maxWidth: "300px",
66
+ marginBottom: "1rem",
67
+ },
68
+ };
69
+ });
70
+ const Title = styled(Typography, {
71
+ shouldForwardProp: (prop) => prop !== "mobileTitleAlignment" && prop !== "desktopTitleAlignment",
72
+ })((props) => {
73
+ const { theme, mobileTitleAlignment, desktopTitleAlignment } = props;
74
+ return {
75
+ margin: 0,
76
+ color: "#fff",
77
+ textAlign: desktopTitleAlignment || "left",
78
+ fontSize: "28px",
79
+ textTransform: "uppercase",
80
+ fontWeight: 800,
81
+ [theme.breakpoints.down("sm")]: {
82
+ textAlign: mobileTitleAlignment || "left",
83
+ fontSize: "24px",
84
+ },
85
+ };
86
+ });
87
+ const Text = styled(Box, {
88
+ shouldForwardProp: (prop) => prop !== "mobileTextAlignment" && prop !== "desktopTextAlignment",
89
+ })((props) => {
90
+ const { theme, mobileTextAlignment, desktopTextAlignment } = props;
91
+ return {
92
+ color: "#fff",
93
+ textAlign: desktopTextAlignment || "left",
94
+ fontSize: "19px",
95
+ "& p": {
96
+ margin: 0,
97
+ padding: 0,
98
+ },
99
+ [theme.breakpoints.down("sm")]: {
100
+ textAlign: mobileTextAlignment || "left",
101
+ fontSize: "16px",
102
+ },
103
+ };
104
+ });
105
+ const ButtonContainer = styled(Box, {
106
+ shouldForwardProp: (prop) => prop !== "mobileAlignment" && prop !== "desktopAlignment",
107
+ })((props) => {
108
+ const { theme, mobileAlignment, desktopAlignment } = props;
109
+ return {
110
+ display: "flex",
111
+ marginTop: "1rem",
112
+ alignItems: convertAlignmentToFlex(desktopAlignment || "left"),
113
+ [theme.breakpoints.down("sm")]: {
114
+ alignItems: convertAlignmentToFlex(mobileAlignment || "left"),
115
+ },
116
+ };
117
+ });
118
+ const Button = styled(MuiButton)({
119
+ textTransform: "uppercase",
120
+ minWidth: "300px",
121
+ });
122
+ export { LoadingContainer, BannerContainer, Content, ContentWrapper, Logo, Title, Text, ButtonContainer, Button, };
123
+ //# sourceMappingURL=MarketingBanner.styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarketingBanner.styled.js","sourceRoot":"","sources":["../../../src/components/MarketingBanner/MarketingBanner.styled.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAGpE,MAAM,sBAAsB,GAAG,CAAC,SAA6B,EAAE,EAAE;IAC/D,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,YAAY,CAAA;QACrB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB,KAAK,OAAO;YACV,OAAO,UAAU,CAAA;QACnB;YACE,OAAO,YAAY,CAAA;IACvB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,MAAM;CACd,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,EAAE;IAClC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,oBAAoB;CAC/D,CAAC,CAGC,CAAC,KAAK,EAAE,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAA;IAE7D,OAAO;QACL,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,OAAO,kBAAkB,GAAG;QAC7C,cAAc,EAAE,OAAO;QACvB,kBAAkB,EAAE,QAAQ;QAC5B,UAAU,EAAE,QAAQ;QACpB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC9B,eAAe,EAAE,OAAO,gBAAgB,GAAG;YAC3C,aAAa,EAAE,gBAAgB;SAChC;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,MAAM;CACpB,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;IACpC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,OAAO;QACL,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,QAAQ;QACb,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC9B,OAAO,EAAE,MAAM;SAChB;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,OAAO;QACL,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,OAAO;QACjB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC9B,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,MAAM;SACrB;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE;IAC/B,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,uBAAuB;CACtE,CAAC,CAGC,CAAC,KAAK,EAAE,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAA;IAEpE,OAAO;QACL,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,qBAAqB,IAAI,MAAM;QAC1C,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,WAAW;QAC1B,UAAU,EAAE,GAAG;QACf,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC9B,SAAS,EAAE,oBAAoB,IAAI,MAAM;YACzC,QAAQ,EAAE,MAAM;SACjB;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE;IACvB,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,sBAAsB;CACpE,CAAC,CAGC,CAAC,KAAK,EAAE,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAA;IAElE,OAAO;QACL,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,oBAAoB,IAAI,MAAM;QACzC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE;YACL,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;SACX;QACD,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC9B,SAAS,EAAE,mBAAmB,IAAI,MAAM;YACxC,QAAQ,EAAE,MAAM;SACjB;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,EAAE;IAClC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,kBAAkB;CAC5D,CAAC,CAGC,CAAC,KAAK,EAAE,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAA;IAE1D,OAAO;QACL,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,sBAAsB,CAAC,gBAAgB,IAAI,MAAM,CAAC;QAC9D,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC9B,UAAU,EAAE,sBAAsB,CAAC,eAAe,IAAI,MAAM,CAAC;SAC9D;KACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,aAAa,EAAE,WAAW;IAC1B,QAAQ,EAAE,OAAO;CAClB,CAAC,CAAA;AAEF,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,cAAc,EACd,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,eAAe,EACf,MAAM,GACP,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { AlignmentFieldType, Locales, LocalizedField, SysAssetLink } from "hooks/contenful";
2
+ import type { Document } from "@contentful/rich-text-types";
3
+ type LowercasedAlignment = "left" | "center" | "right";
4
+ type IBannerFields = {
5
+ id: LocalizedField<string>;
6
+ showBanner: LocalizedField<boolean>;
7
+ title: LocalizedField<string>;
8
+ mobileTitleAlignment: LocalizedField<AlignmentFieldType>;
9
+ desktopTitleAlignment: LocalizedField<AlignmentFieldType>;
10
+ text: LocalizedField<Document>;
11
+ desktopTextAlignment: LocalizedField<AlignmentFieldType>;
12
+ mobileTextAlignment: LocalizedField<AlignmentFieldType>;
13
+ showButton: LocalizedField<boolean>;
14
+ buttonLink?: LocalizedField<string>;
15
+ buttonsText?: LocalizedField<string>;
16
+ desktopButtonAlignment: LocalizedField<AlignmentFieldType>;
17
+ mobileButtonAlignment: LocalizedField<AlignmentFieldType>;
18
+ fullSizeBackground: LocalizedField<SysAssetLink>;
19
+ mobileBackground: LocalizedField<SysAssetLink>;
20
+ logo?: LocalizedField<SysAssetLink>;
21
+ };
22
+ type MarketingBannerProps = {
23
+ id: string;
24
+ environment: string;
25
+ token: string;
26
+ space: string;
27
+ locale?: Locales;
28
+ };
29
+ export type { LowercasedAlignment, IBannerFields, MarketingBannerProps };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MarketingBanner.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarketingBanner.types.js","sourceRoot":"","sources":["../../../src/components/MarketingBanner/MarketingBanner.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { MarketingBanner } from "./MarketingBanner";
2
+ export { MarketingBannerProps } from "./MarketingBanner.types";
@@ -0,0 +1,2 @@
1
+ export { MarketingBanner } from "./MarketingBanner";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MarketingBanner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
@@ -16,7 +16,9 @@ const SubMenuContainer = styled(Box)((props) => {
16
16
  },
17
17
  };
18
18
  });
19
- const MenuItemContainer = styled(Box)((props) => {
19
+ const MenuItemContainer = styled(Box, {
20
+ shouldForwardProp: (prop) => !["active", "section", "isMobile"].includes(prop),
21
+ })((props) => {
20
22
  const { active, section, theme } = props;
21
23
  let modifiedStyles;
22
24
  let mobileModifiedStyles;
@@ -1 +1 @@
1
- {"version":3,"file":"SubMenu.styled.js","sourceRoot":"","sources":["../../../../src/components/Navbar/SubMenu/SubMenu.styled.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubMenu.styled.js","sourceRoot":"","sources":["../../../../src/components/Navbar/SubMenu/SubMenu.styled.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ContentfulAsset, Locales, LocalizedField, LocalizedFieldType, SysAssetLink } from "./contentful.types";
2
+ declare const getAssetUrl: (assets: Record<string, ContentfulAsset>, locale: Locales, assetLink?: SysAssetLink) => string;
3
+ declare const useGetContentfulEntry: <T extends Record<string, LocalizedField<LocalizedFieldType>>>(id: string, environment: string, contentType: string, token: string, space: string) => {
4
+ fields: T | null;
5
+ assets: {};
6
+ isLoading: boolean;
7
+ error: string | null;
8
+ };
9
+ export { useGetContentfulEntry, getAssetUrl };
@@ -0,0 +1,54 @@
1
+ import { useEffect, useState } from "react";
2
+ const getAssetUrl = (assets, locale, assetLink) => {
3
+ if (!assetLink)
4
+ return "";
5
+ const asset = assets[assetLink.sys.id];
6
+ return asset?.fields.file[locale]?.url
7
+ ? `https:${asset.fields.file[locale].url}`
8
+ : "";
9
+ };
10
+ const useGetContentfulEntry = (id, environment, contentType, token, space) => {
11
+ const [fields, setFields] = useState(null);
12
+ const [assets, setAssets] = useState({});
13
+ const [isLoading, setIsLoading] = useState(true);
14
+ const [error, setError] = useState(null);
15
+ useEffect(() => {
16
+ const fetchData = async () => {
17
+ try {
18
+ const response = await fetch(`https://cdn.contentful.com/spaces/${space}/environments/${environment}/entries/?` +
19
+ new URLSearchParams({
20
+ "sys.id": id,
21
+ content_type: contentType,
22
+ locale: "*",
23
+ }), {
24
+ headers: {
25
+ Authorization: `Bearer ${token}`,
26
+ },
27
+ });
28
+ if (!response.ok) {
29
+ throw new Error("Failed to fetch entity data");
30
+ }
31
+ const data = await response.json();
32
+ if (!data.items || data.items.length === 0) {
33
+ throw new Error("No entity found with the specified ID");
34
+ }
35
+ const assetsMap = data.includes.Asset.reduce((acc, asset) => {
36
+ acc[asset.sys.id] = asset;
37
+ return acc;
38
+ }, {});
39
+ setAssets(assetsMap);
40
+ setFields(data.items[0].fields);
41
+ }
42
+ catch (err) {
43
+ setError(err instanceof Error ? err.message : "An error occurred");
44
+ }
45
+ finally {
46
+ setIsLoading(false);
47
+ }
48
+ };
49
+ fetchData();
50
+ }, [id, environment, token, space]);
51
+ return { fields, assets, isLoading, error };
52
+ };
53
+ export { useGetContentfulEntry, getAssetUrl };
54
+ //# sourceMappingURL=contentful.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentful.js","sourceRoot":"","sources":["../../../src/hooks/contenful/contentful.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { Document } from "@contentful/rich-text-types";
2
+ declare enum ContentfulLocale {
3
+ enUS = "en-US",
4
+ es = "es",
5
+ zh = "zh"
6
+ }
7
+ type LocalizedField<T> = {
8
+ [key in ContentfulLocale]: T;
9
+ };
10
+ type SysAssetLink = {
11
+ sys: {
12
+ type: "Link";
13
+ linkType: "Asset";
14
+ id: string;
15
+ };
16
+ };
17
+ type ContentfulAsset = {
18
+ sys: {
19
+ id: string;
20
+ type: "Asset";
21
+ };
22
+ fields: {
23
+ title: LocalizedField<string>;
24
+ description: LocalizedField<string>;
25
+ file: LocalizedField<{
26
+ url: string;
27
+ details: {
28
+ size: number;
29
+ image?: {
30
+ width: number;
31
+ height: number;
32
+ };
33
+ };
34
+ fileName: string;
35
+ contentType: string;
36
+ }>;
37
+ };
38
+ };
39
+ type AlignmentFieldType = "Left" | "Center" | "Right";
40
+ type LocalizedFieldType = string | boolean | Document | SysAssetLink | AlignmentFieldType;
41
+ type ContentfulResponse<T extends Record<string, LocalizedField<LocalizedFieldType>>> = {
42
+ items: Array<{
43
+ fields: T;
44
+ sys: {
45
+ id: string;
46
+ type: "Entry";
47
+ };
48
+ }>;
49
+ includes: {
50
+ Asset: ContentfulAsset[];
51
+ };
52
+ };
53
+ export { ContentfulLocale as Locales, LocalizedField, SysAssetLink, ContentfulAsset, AlignmentFieldType, LocalizedFieldType, ContentfulResponse, };
@@ -0,0 +1,8 @@
1
+ var ContentfulLocale;
2
+ (function (ContentfulLocale) {
3
+ ContentfulLocale["enUS"] = "en-US";
4
+ ContentfulLocale["es"] = "es";
5
+ ContentfulLocale["zh"] = "zh";
6
+ })(ContentfulLocale || (ContentfulLocale = {}));
7
+ export { ContentfulLocale as Locales, };
8
+ //# sourceMappingURL=contentful.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentful.types.js","sourceRoot":"","sources":["../../../src/hooks/contenful/contentful.types.ts"],"names":[],"mappings":"AAEA,IAAK,gBAIJ;AAJD,WAAK,gBAAgB;IACnB,kCAAc,CAAA;IACd,6BAAS,CAAA;IACT,6BAAS,CAAA;AACX,CAAC,EAJI,gBAAgB,KAAhB,gBAAgB,QAIpB;AA4DD,OAAO,EACL,gBAAgB,IAAI,OAAO,GAO5B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./contentful.types";
2
+ export * from "./contentful";
@@ -0,0 +1,3 @@
1
+ export * from "./contentful.types";
2
+ export * from "./contentful";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/contenful/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decentraland-ui2",
3
- "version": "0.8.7",
3
+ "version": "0.8.8-12715448437.commit-f79f5b3",
4
4
  "description": "Decentraland's UI components and styles",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,6 +37,7 @@
37
37
  },
38
38
  "homepage": "https://github.com/decentraland/ui2#readme",
39
39
  "dependencies": {
40
+ "@contentful/rich-text-react-renderer": "^16.0.1",
40
41
  "@dcl/schemas": "^13.9.0",
41
42
  "@dcl/ui-env": "^1.5.1",
42
43
  "@emotion/react": "^11.11.4",
@@ -55,6 +56,7 @@
55
56
  "@babel/preset-env": "^7.24.7",
56
57
  "@babel/preset-react": "^7.24.7",
57
58
  "@babel/preset-typescript": "^7.24.7",
59
+ "@contentful/rich-text-types": "^17.0.0",
58
60
  "@dcl/eslint-config": "^2.2.1",
59
61
  "@storybook/addon-docs": "^7.6.20",
60
62
  "@storybook/addon-essentials": "^7.6.20",
@@ -90,5 +92,5 @@
90
92
  "files": [
91
93
  "dist"
92
94
  ],
93
- "commit": "d2cfa98df66f67f2e2c13d37b012c7f4fed550cf"
95
+ "commit": "f79f5b312df56f61e54f7a4be4fe6b8206890d72"
94
96
  }