diff --git a/packages/integration/src/dev/StylesGaufre.tsx b/packages/integration/src/dev/StylesGaufre.tsx new file mode 100644 index 0000000..5b8432e --- /dev/null +++ b/packages/integration/src/dev/StylesGaufre.tsx @@ -0,0 +1,25 @@ +import { ReactNode, useEffect } from "react" +import gaufreStyles from "../styles/gaufre.css?inline" +import devStyles from "./dev.css?inline" + +/** + * wrap a component in StylesGaufre to apply the "gaufre" styles + * + * this helps testing the html when we include the gaufre css + */ +export const StylesGaufre = ({ children }: { children: ReactNode }) => { + useEffect(() => { + if (document.querySelector("#styles-gaufre")) { + return + } + const style = document.createElement("style") + style.id = "styles-gaufre" + style.innerHTML = gaufreStyles + devStyles + document.head.appendChild(style) + return () => { + document.querySelector("#styles-gaufre")?.remove() + } + }, []) + + return children +} diff --git a/packages/integration/src/dev/dev.tsx b/packages/integration/src/dev/dev.tsx index 397b4b3..b449ac8 100644 --- a/packages/integration/src/dev/dev.tsx +++ b/packages/integration/src/dev/dev.tsx @@ -10,6 +10,7 @@ import { Email } from "../components/Homepage/Email" import { Proconnect } from "../components/Homepage/Proconnect" import { StylesFull } from "./StylesFull" import { StylesStandalone } from "./StylesStandalone" +import { StylesGaufre } from "./StylesGaufre" import { DsfrHeader } from "./DsfrHeader" import services from "../../../../website/src/data/services.json" @@ -96,7 +97,7 @@ const routes = [ }), { path: "/gaufre", - label: "Gaufre", + label: "Gaufre (header DSFR)", component: ( ]} /> @@ -134,6 +135,57 @@ const routes = [ ), }, + { + path: "/gaufre-custom", + label: "Gaufre (header custom)", + component: ( + +
+
+

Test de la Gaufre

+ +
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac diam a libero posuere + ornare facilisis in mi. Nullam eu vulputate augue, in auctor nibh. Praesent ac tempus + dui. Integer vel enim non purus facilisis mattis et vel dolor. Aliquam lacinia elit et + massa faucibus, at dictum risus ornare. Vivamus ultricies magna et gravida consequat. + Donec ac odio finibus, lobortis purus vel, consequat purus. Maecenas convallis vel enim + eu malesuada. Vestibulum elementum maximus massa, a porta erat congue quis. Nunc neque + quam, euismod et malesuada in, bibendum ac ex. Phasellus felis elit, egestas a convallis + nec, malesuada a est. Donec ac urna venenatis lorem aliquet rhoncus in accumsan ipsum. +

+

+ Interdum et malesuada fames ac ante ipsum primis in faucibus. Morbi sed augue elementum, + tempus diam in, euismod purus. Fusce interdum, leo nec blandit eleifend, sapien ligula + egestas quam, quis aliquam ex turpis ut augue. Nullam a neque consectetur, feugiat eros + a, lacinia tortor. Proin imperdiet vehicula justo, eget bibendum tortor gravida a. + Pellentesque sit amet fermentum urna. Ut rutrum eros a ligula dapibus pharetra. In + porttitor arcu in euismod dictum. Aenean vestibulum mi et dignissim rutrum. Phasellus + ultrices ex justo, eu tincidunt metus efficitur non. Curabitur ac lorem ornare, aliquet + neque et, tristique elit. Donec quis turpis sodales, interdum massa fermentum, dictum + magna. +

+

+ Mauris elit risus, facilisis at magna quis, interdum tempor nulla. Ut ac erat eget + tellus ultricies semper. Ut at dictum ante. Lorem ipsum dolor sit amet, consectetur + adipiscing elit. Nam placerat lacinia eros ac convallis. Sed ultricies lectus et + pharetra aliquet. Vestibulum feugiat pulvinar fermentum. Vivamus imperdiet dapibus + ornare. Donec venenatis, lectus id faucibus tempus, sapien urna molestie augue, at + egestas enim lectus quis nisi. +

+
+
+ ), + }, ] ReactDOM.createRoot(document.getElementById("root")!).render(