Skip to content
Snippets Groups Projects
Commit 6b9ea0be authored by Julien MARGAIL's avatar Julien MARGAIL
Browse files

Merge branch 'main' into 'feat/badge'

# Conflicts:
#   index.d.ts
#   index.js
#   src/pages-doc/doc/core/index.tsx
parents 7004f294 1289f298
No related branches found
No related tags found
No related merge requests found
...@@ -50,6 +50,12 @@ interface BadgeProps { ...@@ -50,6 +50,12 @@ interface BadgeProps {
} }
export function Badge(props: BadgeProps): JSX.Element; export function Badge(props: BadgeProps): JSX.Element;
interface TocProps {
children?: React.ReactNode;
className?: string;
}
export function Toc(props: TocProps): JSX.Element;
interface LinkProps { interface LinkProps {
children?: React.ReactNode; children?: React.ReactNode;
to: string; to: string;
......
...@@ -10,6 +10,7 @@ export { default as Card } from "./src/components/core/Card"; ...@@ -10,6 +10,7 @@ export { default as Card } from "./src/components/core/Card";
export { default as Link } from "./src/components/core/Link"; export { default as Link } from "./src/components/core/Link";
export { default as Search } from "./src/components/core/Search"; export { default as Search } from "./src/components/core/Search";
export { default as Badge } from "./src/components/core/Badge"; export { default as Badge } from "./src/components/core/Badge";
export { default as Toc } from "./src/components/core/Toc";
export { default as Map } from "./src/components/core/Map"; export { default as Map } from "./src/components/core/Map";
// Feature components // Feature components
......
import React from "react";
import { useEffect, useState } from "react";
import { useHeadsObserver } from "./utils/hook";
const rnd = (() => {
const gen = (min, max) => max++ && [...Array(max-min)].map((s, i) => String.fromCharCode(min+i));
const sets = {
alphaLower: gen(97,122),
alphaUpper: gen(65,90)
};
function* iter(len, set) {
if (set.length < 1) set = Object.values(sets).flat();
for (let i = 0; i < len; i++) yield set[Math.random() * set.length|0]
}
return Object.assign(((len, ...set) => [...iter(len, set.flat())].join('')), sets);
})();
const navStyle = {
position: "sticky -webkit-sticky",
top: "24px",
maxHeight: "calc(100vh - 40px)",
overflow: "auto",
} as unknown as React.CSSProperties;
let navulliStyle = {
marginBottom: "15px",
} as React.CSSProperties;
const getClassName = (level) => {
switch (level) {
case 1:
navulliStyle = {
...navulliStyle,
marginLeft: "0px",
};
return "head1";
case 2:
navulliStyle = {
...navulliStyle,
marginLeft: "10px",
};
return "head2";
case 3:
navulliStyle = {
...navulliStyle,
marginLeft: "20px",
};
return "head3";
case 4:
navulliStyle = {
...navulliStyle,
marginLeft: "30px",
};
return "head4";
default:
return undefined;
}
};
interface Props {
className?: string;
}
const Toc = (props: Props) => {
const { className = "" } = props;
const [headings, setHeadings] = useState<any>([]);
const { activeId } = useHeadsObserver();
useEffect(() => {
const elements = Array.from(
document.querySelectorAll("h1, h2, h3, h4")
).map((elem) => ({
id: elem.id ? elem.id : elem.id=rnd(4),
text: elem.textContent,
level: Number(elem.nodeName.charAt(1)),
}));
setHeadings(elements);
}, []);
return (
<aside
className={`w-[20%] fixed right-0 top-auto h-screen bg-slate-50 p-5 ${className}`}
>
<div className="text-2xl pb-5 flex flex-row">
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
strokeWidth={1.5}
stroke="currentColor"
className="w-6 h-6 mt-2"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zM3.75 12h.007v.008H3.75V12zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm-.375 5.25h.007v.008H3.75v-.008zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z"
/>
</svg>
<p className="px-2 mt-0.5"> Menu interne </p>
</div>
<nav style={navStyle}>
<ul style={navulliStyle}>
{headings.map((heading) => (
<li
key={heading.id}
className={getClassName(heading.level)}
style={navulliStyle}
>
<a
href={`#${heading.id}`}
onClick={(e) => {
e.preventDefault();
const element = document.querySelector(`#${heading.id}`);
if(element) {
element?.scrollIntoView({
behavior: "smooth",
});
}
else {
console.log("No element");
}
}}
style={{
fontWeight: activeId == heading.id ? "bold" : "normal",
fontFamily: "Georgia, serif",
}}
>
{heading.text}
</a>
</li>
))}
</ul>
</nav>
</aside>
);
};
export default Toc;
import { useRef, useState, useEffect } from "react";
export function useHeadsObserver() {
const observer = useRef<any>();
const [activeId, setActiveId] = useState<any>("");
useEffect(() => {
const handleObsever = (entries) => {
entries.forEach((entry) => {
if (entry?.isIntersecting) {
setActiveId(entry.target.id);
}
});
};
observer.current = new IntersectionObserver(handleObsever, {
rootMargin: "28% 0% -87% 0%",
});
const elements = document.querySelectorAll("h1, h2, h3, h4");
elements.forEach((elem) => observer.current.observe(elem));
return () => observer.current?.disconnect();
}, []);
return { activeId };
}
...@@ -17,6 +17,8 @@ function index(): ReactElement { ...@@ -17,6 +17,8 @@ function index(): ReactElement {
<br></br> <br></br>
<Link to="/doc/core/badge">Badge</Link> <Link to="/doc/core/badge">Badge</Link>
<br></br> <br></br>
<Link to="/doc/core/toc">Toc</Link>
<br></br>
<Link to="/doc/core/map">Map</Link> <Link to="/doc/core/map">Map</Link>
<br></br> <br></br>
<Link to="/doc/core/logo">Logo</Link> <Link to="/doc/core/logo">Logo</Link>
......
import React from "react";
import { Toc } from "@onegeo/gatsby-theme-onegeo";
import { Link } from "gatsby";
function tocIndex() {
return (
<>
<Toc className="" />
<div className="mr-[25%] ml-4">
<div className="prose">
<Link to="/doc/core">Retour</Link>
<h2>Props</h2>
<div className="mockup-code">
<pre>
<code>
{`interface Props {
className?: string;
}`}
</code>
</pre>
</div>
</div>
<br />
<h1>Essai h1</h1>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h1>Essai h1 no_2</h1>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h2>Essai h2</h2>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h3>Essai h3</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h4>Essai h4</h4>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h4>Essai h4 no_2</h4>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h3>Essai h3 no_2</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h2>Essai h2 no_2</h2>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h1>Essai h1 no_3</h1>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
<h2>Essai h2 no_3</h2>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
vestibulum posuere ultricies. Pellentesque habitant morbi tristique
senectus et netus et malesuada fames ac turpis egestas. Nullam sed
justo dolor. Aliquam luctus sem massa, suscipit suscipit arcu pulvinar
at. Duis laoreet nec nisl nec condimentum. Etiam bibendum felis
pulvinar nisi tincidunt, eget egestas dui sodales. Suspendisse
lobortis mi elit, eu auctor sem convallis quis. Nullam congue eleifend
nisi, et consectetur est maximus non. Nulla facilisi. Aenean posuere
nibh nec lacus fringilla lacinia. In varius dignissim elementum. Etiam
ornare quam nisl. Integer in tincidunt nisl. Suspendisse laoreet, odio
et blandit sodales, mi mauris euismod erat, at mattis ligula neque et
lectus. Suspendisse ullamcorper, odio eu euismod tempus, felis ex
vulputate lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia curae;
Suspendisse laoreet tortor ut eleifend tristique. Proin porta sodales
lectus, a condimentum justo pretium sed. Quisque sapien sapien,
ultricies nec feugiat et, aliquam et purus. Integer quis ipsum
volutpat orci faucibus blandit quis at odio. Morbi ultrices tincidunt
neque, in rutrum libero cursus non. Pellentesque quis cursus lorem.
Vivamus tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Mauris vestibulum posuere ultricies. Pellentesque
habitant morbi tristique senectus et netus et malesuada fames ac
turpis egestas. Nullam sed justo dolor. Aliquam luctus sem massa,
suscipit suscipit arcu pulvinar at. Duis laoreet nec nisl nec
condimentum. Etiam bibendum felis pulvinar nisi tincidunt, eget
egestas dui sodales. Suspendisse lobortis mi elit, eu auctor sem
convallis quis. Nullam congue eleifend nisi, et consectetur est
maximus non. Nulla facilisi. Aenean posuere nibh nec lacus fringilla
lacinia. In varius dignissim elementum. Etiam ornare quam nisl.
Integer in tincidunt nisl. Suspendisse laoreet, odio et blandit
sodales, mi mauris euismod erat, at mattis ligula neque et lectus.
Suspendisse ullamcorper, odio eu euismod tempus, felis ex vulputate
lacus, eget sagittis mi nunc in dolor. Vestibulum ante ipsum primis in
faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse
laoreet tortor ut eleifend tristique. Proin porta sodales lectus, a
condimentum justo pretium sed. Quisque sapien sapien, ultricies nec
feugiat et, aliquam et purus. Integer quis ipsum volutpat orci
faucibus blandit quis at odio. Morbi ultrices tincidunt neque, in
rutrum libero cursus non. Pellentesque quis cursus lorem. Vivamus
tempus vulputate nisl, eu ultricies neque pulvinar eu. Ut vel
pellentesque dui. Nunc sit amet erat tincidunt, vehicula neque in,
ultrices felis. Sed pharetra tempor ante, at ultricies est elementum
nec. Proin sit amet augue a nunc cursus sollicitudin. Orci varius
natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Mauris euismod tempus dui. Ut nec sem ligula. Quisque
pellentesque blandit nulla, at ornare nisi cursus at. Aliquam erat
volutpat. Phasellus pulvinar, nisl sit amet imperdiet accumsan, mauris
felis laoreet urna, laoreet varius nisi purus vitae mi. Aenean luctus
turpis vel eros scelerisque tempus. Pellentesque at cursus nisi.
Quisque aliquam libero vel lacus auctor pellentesque ut ut purus. Duis
hendrerit neque eget est ullamcorper volutpat. Pellentesque rhoncus
vel nisl eget aliquet. Vestibulum varius congue arcu et facilisis.
Donec dapibus purus metus, eget sodales leo molestie ac. Cras
porttitor lectus orci, id pulvinar ex ultricies at. Nunc non rhoncus
velit. Pellentesque ullamcorper elit neque, sit amet efficitur magna
aliquet at. Ut in nibh ut nisl dictum egestas. Quisque vel nulla
imperdiet sem scelerisque consectetur. Duis suscipit, orci in volutpat
consequat, nunc felis volutpat nulla, vel placerat risus purus quis
mi. Nullam maximus consequat mi, vitae fringilla nisl hendrerit at.
Cras ullamcorper nisi vitae efficitur pulvinar. Nulla sodales mollis
semper. Sed faucibus, ante quis congue convallis, tortor dolor
volutpat sem, et auctor arcu nulla sed ligula. Curabitur a arcu non
ipsum placerat aliquam sit amet id nibh. Sed condimentum magna ac
fringilla maximus. Vivamus pellentesque enim eget nunc gravida, vitae
varius orci convallis. Quisque sagittis mi lacus, sed aliquam velit
tincidunt sit amet. Nam vitae tortor feugiat, efficitur nisl ac,
fringilla urna. Vestibulum pharetra viverra laoreet. Mauris nec tortor
non lacus hendrerit hendrerit.
</div>
</>
);
}
export default tocIndex;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment