Колись реалізовував, але не на SPA. Просто додавав клас на body і далі зміни в шаблоні розрулювались за домогою чисто css. Для rtl дійсно прийнято тримати справа усе, що в нас зазвичай ліворуч (лого, меню...)
йо у кого-то есть опыт внедрения LTR-RTL (вместе с ngx-translate?) а то не хочется делать 2 темплейта разных для локалей (нативный angular)
layout нужно менять. Мы когда-то пилили и использовали nebular. По-моему они юзают эту штуку из CDK https://material.angular.io/cdk/bidi/overview. Если FlexBox для раскладки, тогда меняешь направление и все. Ну и миксины нужны для SCSS или что там у вас для того что бы отступы и позиционирование тоже подстривать.