Développeur

Tout ce qu'un développeur doit savoir pour bien débuter son projet avec Trilogy se trouve ici !

Installation

Comment utiliser le framework ? Une ligne suffit.
npm i @bytel/trilogy-react

Frameworks

Pour la plupart des frameworks React (Create React App, Astro, Nextjs app router, Remix etc...), la lib Trilogy fonctionne as-is. Seul un projet Nextjs avec pages router requiert une configuration spécifique.
// next.config.js
const nextConfig = {
  transpilePackages: ["@bytel/trilogy-react", "@trilogy-ds/react"]
  // Le reste de votre configuration
};
 
export default nextConfig;

Utilisation

Exemple d'utilisation de Trilogy.
// App.tsx
import { Button, Container, Section, Text } from '@bytel/trilogy-react';

export const App = (): JSX.Element => (
    <main>
        <Section>
            <Container>
                <Text>Welcome to Trilogy Design System</Text>
                <Button>My button</Button>
            </Container>
        </Section>
    </main>
);

Style

Pour utiliser le style Trilogy, 2 options s'offrent à vous :
  • Utiliser le fichier CSS
  • Utiliser le provider Trilogy

Fichier CSS

Dans votre fichier

_document.tsx
ou dans votre fichier racine, importez le fichier CSS de Trilogy de la façon suivante :

// _document.tsx
import { Head, Html, Main, NextScript } from "next/document";

export default function Document() {
    return (
        <Html lang="fr">
            <Head>
                <link
                    rel="stylesheet"
                    href="https://assets.bouyguestelecom.fr/TRILOGY/trilogy-styles@4.1.3/default/trilogy.css"
                />
            </Head>
            <body>
                <Main/>
                <NextScript/>
            </body>
        </Html>
    );
}

Provider Trilogy

Toujours dans votre fichier

_document.tsx
ou dans votre fichier racine, importez et utilisez le provider de la façon suivante :

// _document.tsx
import { Head, Html, Main, NextScript } from "next/document";
import { TrilogyProvider } from "@bytel/trilogy-react/lib/context/provider";

export default function Document() {
    return (
        <Html lang="fr">
            <Head/>
            <body>
                <TrilogyProvider>
                    <Main/>
                </TrilogyProvider>
                <NextScript/>
            </body>
        </Html>
    );
}

Aller plus loin...

Structurer sa première page avec Trilogy

Il est primordial d'avoir une base de travail saine qui respecte les conventions. Pour ce faire, rien de compliqué : il suffit de jouer correctement avec les différents éléments de structure, notamment les composants Section et Container.

// Home.tsx
import { Button, Container, Section, Text } from '@bytel/trilogy-react';

export default function Home() {
    return (
        <main>
            <Section>
                <Container>
                    <Text>First section</Text>
                    <Button>My button</Button>
                </Container>
            </Section>
            <Section>
                <Container>
                    <Text>Second section</Text>
                    <Button>My button</Button>
                </Container>
            </Section>
        </main>
    );
}

Pour aller plus loin, vous pouvez explorer la section composants de la documentation.