driver.js / docs /src /components /CodeSample.tsx
kamrify's picture
Normalize hooks and write docs
3223525
raw
history blame
1.02 kB
import type { Config, DriveStep } from "driver.js";
import { driver } from "driver.js";
import "driver.js/dist/driver.css";
type CodeSampleProps = {
heading: string;
config?: Config;
highlight?: DriveStep;
tour?: DriveStep[];
id?: string;
className?: string;
children: any;
};
export function CodeSample(props: CodeSampleProps) {
const { heading, id, children, className, config, highlight, tour } = props;
function onClick() {
if (highlight) {
const driverObj = driver();
driverObj.highlight(highlight);
} else if (tour) {
const driverObj = driver({
...config,
steps: tour,
});
driverObj.drive();
}
}
return (
<div id={id} className={className}>
<p className="text-lg -mt-0 font-medium text-black -mb-3 rounded-md">{ heading }</p>
<div className="-mb-4">{children}</div>
<button onClick={onClick} className="w-full rounded-md bg-black p-2 text-white">
Show me an Example
</button>
</div>
);
}