const ltrChars = "A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF"; const rtlChars = "\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC"; const rtlDirCheck = new RegExp("^[^" + ltrChars + "]*[" + rtlChars + "]"); const ltrDirCheck = new RegExp("^[^" + rtlChars + "]*[" + ltrChars + "]"); let _siteDir; export function isRTL(text) { return rtlDirCheck.test(text); } export function isLTR(text) { return ltrDirCheck.test(text); } export function setTextDirections($elem) { $elem.find("*").each((i, e) => { let $e = $(e), textContent = $e.text(); if (textContent) { isRTL(textContent) ? $e.attr("dir", "rtl") : $e.attr("dir", "ltr"); } }); } export function siteDir() { if (!_siteDir) { _siteDir = $("html").hasClass("rtl") ? "rtl" : "ltr"; } return _siteDir; }