Ну а в чём проблема? OPTIONS нужен только чтобы проверить саму возможность, типа проверить `Origin`, так что не нужно проверять его. Ну, либо топорно `https://user:pass@domain.com/`
Смотрите, если взять ваш пример, то я не понимаю, зачем мне наследовать кнопку, если нужно просто передать другие `props`, тут ООП только мешает, вместо простого использования, я должен создать класс и потом его использовать.
Поймите, у блоки не должны быть умными, декомпозируйте задачу. У блоков сложным может быть только поведение и если поведение нужно в многих местах или нужно просто добавить какую-то функциональность, например `draggable` или `droppable`, то вместо наследования/mixin'ов пишем HOC и все довольны.
Interreto, ну если вы хотели сделать перечисление `\s`, `|`, `,` и `#`, то один `|` лишний, но если вы всё же хотели перечислить `\s`, `,` и `#`, то `/\s|,|#/` или `/[\s,#]/`
Модератор, на нармольных ресурсах это назвается «работа за автора» и жестко присекается. Вопрос слишком простой, чтобы давать на него прямой ответ, попустить уже.
AJAX уже давно слово нарицательное, означающая совокупность технологий (IFrame/XHR/JSONP/WS и т.п.), ну а SPA...
но всё это не имеет смысла, пока человек задаёт такие вопросы, пусть сначала начнет с гугления SPA (на уровне определения), потому читает про AJAX и после возвращается к SPA.
Это тоже не так, BEM методология помогает сделать верстку, которую не придется переделывать при редизайне, но до этого нужно дорасти, за пару часов, недель, ничего не усвоишь.
green/red — это не модификаторы, вот у вас есть новости, зеленые, красные, но эти цвета означают только тип новости, поэтому нужно и модифкаторы называть соотвествующие, потому что завтра, красный, станет оранжевым или картинкой, понимаете?
ну у вас сейчас мрак, это всё не BEM, даже именование "особое", все эти green/yellow, так никуда не годится. Помочь вам не могу, вопрос не понятен, если надо сделать блок, который будет содержать Х элементов разных размеров, то тут тоже, не всё так очевидно, может это вовсе не размер, а тип айтема, который да, выглядит больше, но именовать его нужно именно как, тип, например `primary`, и тогда от этого модификатора увеличивать размер.
BEM — это не просто «длинные» имена классов, тут всё намного хитрей, чем кажется. Я бы сказал, это OOP в мире CSS, только без наследования.