Что Тильда поменяла в своих скриптах, стилях и вёрстке блоков за этот день.
Вся лента измененийПри инициализации условной формы теперь дополнительно проставляется атрибут data-conditional-form-ready="true" на контейнер формы — помимо генерации события conditional-form-init, что позволяет внешним скриптам проверять готовность формы по DOM-атрибуту.
Добавлена функция t396__isGlobalStyleCSSVar для проверки, является ли строка корректной CSS-переменной глобального стиля, регулярка вынесена в отдельную переменную t396__parsedCssVarRegex. В t396__parseGlobalStyleCSSVar изменена логика получения значения fallback: в режиме zero-редактора берётся исходное значение переменной вместо вычисленного через getComputedStyle. Также в расчёте позиционирования элементов на артборде (t396__artboard) исправлена перепутанная местами пара min/max-height прокси-артборда и переименованы локальные переменные.
Логика определения языка корзины изменена: вместо чтения атрибута data-tilda-project-lang у элемента allrecords теперь используется функция t_cart__getCartLang, которая определяет язык по приоритету — авторизованный профиль → язык проекта → язык браузера. Определение языка также вызывается повторно перед загрузкой переводов при инициализации корзины.
Убран лишний пробел перед названием опции товара в разметке блока выбора свойств (js-product-option-name) в карточке товара каталога.
Добавлена проверка атрибута data-conditional-form-ready: если условная форма уже готова на момент инициализации калькулятора, обёртки инициализируются сразу, а не через ожидание события conditional-form-init. Это устраняет случаи, когда событие инициализации формы срабатывало раньше подписки на него и калькулятор не запускался.
Добавлена поддержка глобальных CSS-переменных стиля (через t396__isGlobalStyleCSSVar и t396__parseGlobalStyleCSSVar) для настроек кнопки формы: позиции и размера иконки, отступа между иконкой и текстом, анимации иконки, радиуса скругления, размера шрифта и толщины границы кнопки. Теперь эти параметры могут задаваться не только числом в px, но и ссылкой на глобальный стиль с фолбэком, который корректно разбирается и подставляется в соответствующие CSS-свойства.
Убран лишний пробел перед названием опции в верстке мультиопций товара (js-product-option-name) — исправление мелкой визуальной неточности в карточке товара каталога.
Изменено определение языка корзины: теперь язык берётся из данных Mauser/tildaMembers.userLang (если есть токен), затем из data-tilda-project-lang блока allrecords, и только потом из языка браузера — за это отвечают новые функции t_cart__getBrowserLang, t_cart__getCartLang и t_cart__normalizeLang. Также при инициализации корзины (блок ST100) и загрузке переводов используется этот новый механизм вместо простого чтения атрибута allrecords.
Добавлено определение языка корзины: если авторизован участник Tilda Members и указан язык — берётся он, иначе используется data-tilda-project-lang проекта, а при его отсутствии — язык браузера пользователя. Это влияет на локализацию текстов корзины и оформления заказа.
В модуле анимаций для CSS-переменных глобальных стилей (t396) добавлена функция t396__isGlobalStyleCSSVar для проверки, что строка является валидной CSS-переменной глобального стиля, а regex для парсинга вынесен в отдельную переменную t396__parsedCssVarRegex. Также в t396__parseGlobalStyleCSSVar добавлена проверка режима tildamode: в режиме "zero" вычисляемое значение стиля больше не запрашивается через getComputedStyle, а используется значение по умолчанию из переменной.
Добавлена функция t396__isGlobalStyleCSSVar для проверки, является ли строка CSS-переменной глобального стиля, а парсинг таких переменных в t396__parseGlobalStyleCSSVar теперь учитывает режим zero — в нём используется значение по умолчанию без вычисления computed style. Также переименованы переменные при разборе позиции изображения в галерее (slds_imgposition), логика позиционирования не изменилась.
Добавлена функция t396__isGlobalStyleCSSVar для проверки, что значение является CSS-переменной глобального стиля, с общим регэкспом t396__parsedCssVarRegex. В парсинге переменных для анимации (эффект scroll-by-scroll) добавлена проверка режима tildamode — в режиме zero fallback-значение берётся напрямую из строки без вызова getComputedStyle, что позволяет корректно обрабатывать глобальные стили в редакторе.
При инициализации условной формы теперь дополнительно проставляется атрибут data-conditional-form-ready="true" на форме, помимо диспатча события conditional-form-init — это позволяет внешнему коду проверять готовность формы по атрибуту, а не только слушать событие.
Добавлена проверка атрибута data-conditional-form-ready: если условная форма (.t-conditional-form) уже помечена готовой, калькулятор инициализирует связанные поля сразу, без ожидания события conditional-form-init. Остальные изменения — переименование локальных переменных при минификации, поведение не затронуто.
Добавлена функция t396__isGlobalStyleCSSVar для проверки, является ли строка корректной CSS-переменной глобального стиля (var(--uc-...)), с вынесенным regex t396__parsedCssVarRegex. Заодно поправлена логика t396__parseGlobalStyleCSSVar: значение по умолчанию берётся из computed style только вне режима «zero», иначе используется значение из самой переменной. Остальные изменения — переименование локальных переменных в минифицированном коде форм без изменения поведения.
Добавлена проверка t396__isGlobalStyleCSSVar для валидации CSS-переменных глобальных стилей (--uc-...), а t396__parseGlobalStyleCSSVar теперь берёт fallback-значение из computedStyle только вне режима zero, иначе использует значение из var() напрямую. Остальные правки в блоке артборда (t396) — переименование локальных переменных без изменения логики позиционирования и высоты элементов.