a1
b1
a2
b2
a3
b3 по моему явно говорит, что никто никаких преференций не получает.
setTimeout никогда не 0, он минимум ~10ms, даже если ты указываешь ему 0 в задержке. По этому он падает в очередь после всех микротасков, которые идут просто друг за другом.
input с иконкой в label(самое семантичное), либо положить под input с помощью z-index, чтоб клики на самом деле были по нему, либо сделать кнопку прозрачной для кликов, назначив ей pointer-events: none;.hover и прочие эффекты - то наследуй от input:input[type="date"]:hover + .icon {}
public должно быть собрано на этапе компиляции. Всех этих путей не будет существовать в готовом приложении: что-то соберётся в javascript, что-то в css, что-то таки будет переложено в публичную папку(с переименованием и хэшированием), в зависимости от набора и настроек loader'ов.fetch же работает уже на этапе исполнения и получить он может только то, что есть в публичной папке. build и посмотри как выглядит папка dist.svg надо настроить соответствующий loader: есть специальные конкретно для svg, с разными фичами - так и гуглятся по "svg loader", есть raw-loader - который грузит что угодно как текст, есть встроенный file-loader который при import\require просто вернёт ссылку, по которой на этапе сборки он переложит файл - вот её можно будет использовать в fetch. fetch, можно просто переложить этот svg в папку public и обращаться к нему от корня, условно /icons/some.svg. Либо можно воспользоваться плагином CopyWebpackPlugin, который на этапе сборки перекопирует что укажешь в публичную папку.
input[type="date"] {
-webkit-mask-image: radial-gradient(circle at right 65px top 50%, rgba(0,0,0,0) 20px, rgba(0,0,0,1) 20px)
}
На глаз? Если да - попробуй экспортировать настойки в файлы и сдаелать diff.)
Если нет - можно написать в саппорт. Webstorm же куплен?)