import React, { Children, ReactElement } from "react"; type Props = { divider: "dotted" | "slash"; children: React.ReactNode; className?: string; } ; /* ---------- a random number for a unique key (react requirement) ---------- */ function randomInteger( min: number, max: number ) { let rand = min + Math.random() * (max + 1 - min); return Math.floor(rand); } /* ----------------------- get the divider as designed ---------------------- */ function GetDivider( symbol: string ) { const dividers = { 'dotted' : , 'slash' : /, } return ( symbol === 'dotted') ? dividers.dotted : dividers.slash } export default function Breadcrumbs( { divider ,children, className }: Props ) { /* -------------- Convert the children into an array and insert ------------- */ /* ------------------the elements with the divider into it ------------------ */ let childrenToArray = React.Children.toArray(children) let LinkAndDivider: any LinkAndDivider = []; for( let i = 0; i < childrenToArray.length; i++ ) { let dividerComponent = GetDivider( divider ) LinkAndDivider = LinkAndDivider.concat(
{childrenToArray[i]}
).concat( dividerComponent ) } LinkAndDivider.pop(); return(
{ LinkAndDivider }
) }