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)
}
class Symbol {
static #secretHashMap = Object.create(null);
static for(description) {
if(description in this.#secretHashMap)
return this.#secretHashMap[description];
return this.#secretHashMap[description] = Symbol(description);
}
}
Как с большей частью раннего javascript - случай когда кто-то ставит нулевой таймаут расценивается скорее как ошибка нежели изначальная цель, и сглаживается, чтоб не произошло выстрела себе в ногу.)