4.0.0-alpha.32 • Published 2 months ago

@contentful/experience-builder v4.0.0-alpha.32

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

@contentful/experience-builder

Experience builder SDK by Contentful.

Documentation

Please find more information about this sdk on our Wiki page

Installation

npm install @contentful/experience-builder

Example Component:

function MyButton({ buttonTitle, buttonUrl, ...props }) {
  // WARNING:
  //  - you must spread the props as last argument to enable canvas interactions and proper rendering on canvas
  //  - be sure to ensure that onClick handlers are above the {...props} spreading so that they are stubbed
  //    during EDITOR mode
  return (
    <button onClick={() => (window.location.href = buttonUrl)} {...props}>
      {buttonTitle}
    </button>
  );
}

Setup example

Please find more setup examples on a dedicated Wiki page

import {
  defineComponents,
  defineDesignTokens,
  ExperienceRoot,
  useFetchBySlug,
} from '@contentful/experience-builder';

import { createClient } from 'contentful';

// component example can be found at the top of this document
import { MyButton } from './components/MyButton';

const client = createClient({
  space: 'YOUR_SPACE_ID',
  environment: 'YOUR_ENVIRONMENT_ID',
  host: 'preview.contentful.com', // Supported values: 'preview.contentful.com' or 'cdn.contentful.com',
  accessToken: 'YOUR_PREVIEW_OR_DELIVERY_TOKEN', // needs to be preview token if host = 'preview.contentful.com' and delivery token if 'cdn.contentful.com'
});

// 1. Define components outside of React
defineComponents([
  {
    component: MyButton, // example component defined above in this file
    definition: {
      id: 'my-button',
      name: 'MyButton',
      variables: {
        buttonTitle: { type: 'Text', defaultValue: 'Click me' },
        buttonUrl: {
          type: 'Text',
          defaultValue: 'https://www.contentful.com/',
        },
      },
    },
  },
]);

// 2. Define design tokens (optional)
defineDesignTokens({
  spacing: { XS: '4px', S: '16px', M: '32px', L: '64px', XL: '128px' },
  color: { Slate: '#94a3b8', Azure: 'azure', Orange: '#fdba74' },
});

const Home = () => {

  // You could pull these values from your router, state, etc...
  const localeCode = 'en-US';  // the initial locale to use
  const slug = 'homePage'; // the slug of the experience to fetch
  const mode = 'delivery'; // 'delivery' or 'preview'
  const experienceTypeId = 'layout'; // the content id of the experience to fetch

  // 3. Fetch the experience
  const { experience, error, isLoading } = useFetchBySlug({
    client,
    slug,
    mode,
    experienceTypeId,
    localeCode,
  });

  // 4. Handle loading state
  if(isLoading) {
    return <div>Loading...</div>
  }

  // 5. Handle errors
  if (error) {
    return <div>{error.message}</div>;
  }

  // 6. Render the experience
  return (
    <ExperienceRoot
      experience={experience}
      // The locale that will appear on the website first
      locale={locale}
    />
  );
};
4.0.0-alpha.32

2 months ago

4.0.0-alpha.31

2 months ago

4.0.0-alpha.30

2 months ago

4.0.0-alpha.29

2 months ago

4.0.0-alpha.28

2 months ago

4.0.0-alpha.27

2 months ago

4.0.0-alpha.26

2 months ago

4.0.0-alpha.25

2 months ago

4.0.0-alpha.24

2 months ago

4.0.0-alpha.23

3 months ago

4.0.0-alpha.22

3 months ago

4.0.0-alpha.21

3 months ago

4.0.0-alpha.20

3 months ago

4.0.0-alpha.19

3 months ago

4.0.0-alpha.17

3 months ago

4.0.0-alpha.16

3 months ago

4.0.0-alpha.15

3 months ago

4.0.0-alpha.14

3 months ago

4.0.0-alpha.13

3 months ago

4.0.0-alpha.12

3 months ago

4.0.0-alpha.9

4 months ago

4.0.0-alpha.8

4 months ago

4.0.0-alpha.11

4 months ago

4.0.0-alpha.10

4 months ago

4.0.0-alpha.7

4 months ago

4.0.0-alpha.6

4 months ago

4.0.0-alpha.5

4 months ago

4.0.0-alpha.4

4 months ago

4.0.0-alpha.3

4 months ago

4.0.0-alpha.1

4 months ago

4.0.0-alpha.2

4 months ago

4.0.0-alpha.0

4 months ago

3.5.2

4 months ago

3.5.1

4 months ago

3.5.0

4 months ago

3.4.0

4 months ago

3.4.4

4 months ago

3.4.3

4 months ago

3.4.2

4 months ago

3.4.1

4 months ago

3.3.1

4 months ago

3.2.0

4 months ago

3.1.3

4 months ago

3.3.0

4 months ago

3.1.2

4 months ago

3.1.1

5 months ago

3.1.0

5 months ago

3.0.4

5 months ago

3.0.3

5 months ago

3.0.2

5 months ago

3.0.1

5 months ago

4.0.0-next.1

5 months ago

4.0.0-next.0

5 months ago

4.0.0-next.2

5 months ago

3.0.0

5 months ago

2.13.0

5 months ago

2.11.0

5 months ago

2.11.1

5 months ago

2.12.0

5 months ago

2.10.1

5 months ago

2.10.0

5 months ago

2.9.0

5 months ago

2.8.5

5 months ago

2.8.4

6 months ago

2.8.3

6 months ago

2.8.2

6 months ago

2.8.1

6 months ago

2.8.0

6 months ago

2.7.3

6 months ago

2.7.2

6 months ago

2.7.1

6 months ago

2.7.0

6 months ago

2.6.3

6 months ago

2.6.2

6 months ago

2.6.1

6 months ago

2.6.0

6 months ago

2.5.1

6 months ago

2.5.0

6 months ago

2.4.0

6 months ago

2.3.1

6 months ago

2.3.0

6 months ago

2.2.0

7 months ago

2.1.1

7 months ago

2.1.0

7 months ago

2.0.3

7 months ago

2.0.2

7 months ago

2.0.1

7 months ago

2.0.0

7 months ago

1.1.0-alpha.76

7 months ago

1.1.0-alpha.75

7 months ago

1.1.0-alpha.74

7 months ago

1.1.0-alpha.73

7 months ago

1.1.0-alpha.72

7 months ago

1.1.0-alpha.71

7 months ago

1.1.0-alpha.70

7 months ago

1.1.0-alpha.69

7 months ago

1.1.0-alpha.68

8 months ago

1.1.0-alpha.67

8 months ago

1.1.0-alpha.66

8 months ago

1.1.0-alpha.65

8 months ago

1.1.0-alpha.64

8 months ago

1.1.0-alpha.63

8 months ago

1.1.0-alpha.62

8 months ago

1.1.0-alpha.61

8 months ago

1.1.0-alpha.60

8 months ago

1.1.0-alpha.59

8 months ago

1.1.0-alpha.58

8 months ago

1.1.0-alpha.57

8 months ago

1.1.0-alpha.56

8 months ago

1.1.0-alpha.55

8 months ago

1.1.0-alpha.54

8 months ago

1.1.0-alpha.53

8 months ago

1.1.0-alpha.52

9 months ago

1.1.0-alpha.51

9 months ago

1.1.0-alpha.50

9 months ago

1.1.0-alpha.49

9 months ago

1.1.0-alpha.48

9 months ago

1.1.0-alpha.47

9 months ago

1.1.0-alpha.46

9 months ago

1.1.0-alpha.45

9 months ago

1.1.0-alpha.44

9 months ago

1.1.0-alpha.43

9 months ago

1.1.0-alpha.42

9 months ago

1.1.0-alpha.41

9 months ago

1.1.0-alpha.40

9 months ago

1.1.0-alpha.39

9 months ago

1.1.0-alpha.38

9 months ago

1.1.0-alpha.37

9 months ago

1.1.0-alpha.36

9 months ago

1.1.0-alpha.35

9 months ago

1.1.0-alpha.34

9 months ago

1.1.0-alpha.33

9 months ago

1.1.0-alpha.32

9 months ago

1.1.0-alpha.31

9 months ago

1.1.0-alpha.30

9 months ago

1.1.0-alpha.29

10 months ago

1.1.0-alpha.28

10 months ago

1.1.0-alpha.27

10 months ago

1.1.0-alpha.26

10 months ago

1.1.0-alpha.25

10 months ago

1.1.0-alpha.24

10 months ago

1.1.0-alpha.23

10 months ago

1.1.0-alpha.22

10 months ago

1.1.0-alpha.21

10 months ago

1.1.0-alpha.20

10 months ago

1.1.0-alpha.19

10 months ago

1.1.0-alpha.18

10 months ago

1.1.0-alpha.17

10 months ago

1.1.0-alpha.16

10 months ago

1.1.0-alpha.15

10 months ago

1.1.0-alpha.14

10 months ago

1.1.0-alpha.13

10 months ago

1.1.0-alpha.12

10 months ago

1.1.0-alpha.11

10 months ago

1.1.0-alpha.10

10 months ago

1.1.0-alpha.9

10 months ago

1.1.0-alpha.8

10 months ago

1.1.0-noemotion.1

10 months ago

1.1.0-alpha.7

10 months ago

1.1.0-alpha.6

11 months ago

1.1.0-alpha.5

11 months ago

1.1.0-lite.1

11 months ago

1.1.0-alpha.4

11 months ago

1.1.0-alpha.3

11 months ago

1.1.0-alpha.2

11 months ago

1.1.0-alpha.1

11 months ago

1.0.0-alpha.13

11 months ago

1.0.0-alpha.12

11 months ago

1.0.0-alpha.11

11 months ago

1.0.0-alpha.10

11 months ago

1.0.0-alpha.9

11 months ago

1.0.0-alpha.8

11 months ago

1.0.0-alpha.7

11 months ago

1.0.0-alpha.6

11 months ago

1.0.0-alpha.5

12 months ago

1.0.0-alpha.4

12 months ago

1.0.0-alpha.3

12 months ago

1.0.0-alpha.2

12 months ago

1.0.0-alpha.1

12 months ago

1.0.0

12 months ago

0.7.14

1 year ago

0.7.13

1 year ago

0.7.12

1 year ago

0.7.11

1 year ago

0.7.10

1 year ago

0.7.9

1 year ago

0.7.8

1 year ago

0.7.7

1 year ago

0.7.6

1 year ago

0.7.5

1 year ago

0.7.4

1 year ago

0.7.3

1 year ago

0.7.2

1 year ago

0.7.1

1 year ago

0.7.0

1 year ago

0.6.16

1 year ago

0.6.15

1 year ago

0.6.14

1 year ago

0.6.13

1 year ago

0.6.12

1 year ago

0.6.11

1 year ago

0.6.10

1 year ago

0.6.9

1 year ago

0.6.8

1 year ago

0.6.7

1 year ago

0.6.6

1 year ago

0.6.5

1 year ago

0.6.4

1 year ago

0.6.3

1 year ago

0.6.2

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.5.19

1 year ago

0.5.18

1 year ago

0.5.17

1 year ago

0.5.16

1 year ago

0.5.15

1 year ago

0.5.14

1 year ago

0.5.13

1 year ago

0.5.12

1 year ago

0.5.11

1 year ago

0.5.10

1 year ago

0.5.9

1 year ago

0.5.8

1 year ago

0.5.7

1 year ago

0.5.6

1 year ago

0.5.5

1 year ago

0.5.4

1 year ago

0.5.3

1 year ago

0.5.2

1 year ago

0.5.1

1 year ago

0.5.0

1 year ago

0.4.0

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago

0.0.0

1 year ago