checkout ajala.js here
## npm
npm i react-ajala
## yarn
yarn add react-ajala
##pnpm
pnpm add react-ajala
import { AjalaJourneyProvider } from "react-ajala";
import YourComponent from "./where-ever-it-kept";
import "ajala.js/dist/ajala.css";
function App() {
return (
<AjalaJourneyProvider
steps={[
{
target: ".random",
id: "1",
title: "Step 2 Title",
content: "step 2 content lorem ipson",
tooltip_placement: "left_top",
enable_target_interaction: true,
},
]}
>
<YourComponent />
</AjalaJourneyProvider>
);
}
Please note: That you only need import "ajala.js/dist/ajala.css";
when you are using ajala default tooltip, you don't need it if you provide your own CustomTooltip
component.
Property | Type | Description |
---|---|---|
steps | TStep | An array of object that's passed down as ajala.js steps, for a full description of this props please check ajala.js doc here |
options | TAjalaOptions | An object that's passed down to to customize ajala.js, for a full description of this props please check ajala.js doc here |
CustomTooltip | JSX.Element or ReactNode | A React component that get's render as ajala.js custom_tooltip , this component will accept a prop of TReactAjalaCustomTooltipProps which is the active step and an ajala instance |
CustomArrow | JSX.Element or ReactNode | A React component that get's render as ajala.js custom_arrow . |
getInstance | Function | A callback function that gets called with ajala.js instance, can be used to get ajala instance at the parent file where AjalaJourneyProvider is being used. |
react-ajala also export a useAjalaJourneyContext
hook that can be used to get ajala instance down your component tree. Please note that your component must be wrapped with AjalaJourneyProvider
to use useAjalaJourneyContext
import { useAjalaJourneyContext } from "react-ajala";
function YourComponentWrappedWithAjalaJourneyProvider() {
const ajalaInstance = useAjalaJourneyContext();
return <div> ...Some content </div>;
}
import { AjalaJourneyProvider } from "react-ajala";
import YourComponent from "./where-ever-it-kept";
import YourCustomTooltipComponent from "./where-ever-it-kept";
import YourCustomArrowComponent from "./where-ever-it-kept";
function App() {
return (
<AjalaJourneyProvider
steps={[
{
target: ".random",
id: "1",
title: "Step 2 Title",
content: "step 2 content lorem ipson",
},
]}
CustomTooltip={YourCustomTooltipComponent}
CustomArrow={YourCustomArrowComponent}
>
<YourComponent />
</AjalaJourneyProvider>
);
}
export interface TReactAjalaCustomTooltipProps {
active_step: TSteps | undefined | null;
ajala: AjalaJourney | null;
}
Feel free to submit pull requests, create issues or spread the word.
MIT © Adeyanju Adeyemi