привет! Делаю дейтпикер (.datepicker). он состоит из поля ввода (.datepicker__input) и меню с календарем (.datepicker__calendar), которое отрисовывается вне контейнера и прикрепляется к <body>. Вопрос: стоит ли соблюдать иерархию элементов, если эти элементы могут отрисовываться вне своего родителя? Или может быть правильнее вместо .datepicker__calendar использовать .datepicker-calendar ?
Можно. Если посмотреть блок popup из bem-components, то он как раз так и делает, чтобы упростить работу с z-index (как я понял). Popup там используется для всех слоёв, которые имеют «верхний» уровень отображения (select, modal)