/**
* Adds animated arrows to the end of links
* @module linkArrow
* @param {String} className=".uol-arrow-link" - Selector for the elements
* @param {Boolean} backgroundDark=false - If background is dark set true
* @param {Boolean} fadeIn=false - If fade in required set true
*/
export const linkArrow = (
className = ".uol-arrow-link",
backgroundDark = false,
fadeIn = false
) => {
// Create SVG arrow string that will be appended to link
const svgRightArrow = ``;
// Get all matching links
const links = document.querySelectorAll(className);
links.forEach((link) => {
// Add arrow class
link.classList.add("uol-arrow-link");
// Handle dark backgrounds
if (backgroundDark) link.classList.add("uol-arrow-link--bg-dark");
// Handle fade in option
if (fadeIn) link.classList.add("uol-arrow-link--fade-in");
// Split text to array
const innerTextArray = link.innerText.trim().split(" ");
// Wrap inner text in role="text" to "help" VoiceOver. Wrap last word and arrow in non-breaking span to avoid orphaned arrows
link.innerHTML = `${innerTextArray
.slice(0, -1)
.join(" ")} ${
innerTextArray[innerTextArray.length - 1]
}${svgRightArrow}`;
});
};