Yamato DaiwaFrontend (2.0.0-beta.4)

Версия 2.0 (Beta)

Основной пакет (@yamato-daiwa/frontend)

Новая функциональность

Разметка

Внутренний JavaScript в Pug
Функции и классы
Ассеты

Стили

Ассеты

Критические изменения

Стили

Ассеты
Переименование константы NARROWEST_SCREEN_WIDTH_UNIT

Константа NARROWEST_SCREEN_WIDTH_UNIT была переименована в NARROWEST_SCREEN_WIDTH_UNIT--YDF.

Причина
С целью значительного уменьшения вероятности конфликта имён был добавлен вендорный постфикс --YDF.
Понадобится редактирование Вашего кода, если
В Вашем коде есть прямые ссылки на константу NARROWEST_SCREEN_WIDTH_UNIT.
Миграция
Используя соответствующую функциональнсоть Вашего редактора кода или интегрированной среды разработки, замените NARROWEST_SCREEN_WIDTH_UNIT на NARROWEST_SCREEN_WIDTH_UNIT--YDF во всех Stylus-файлах проекта. Например, в интегрированных средах разработки семейства IntelliJ IDEA такая функциональностью доступна с помощью сочетания клавиш Ctrl + Shift + R (по умолчанию).
Переименование перечисления DataTypes и некоторых его элементов
  1. Перечисление DataTypes было переименовано в DataTypes--YDF.
  2. Элемент dimensionalAmount был переименован в dimensionalQuantity, а его значение — в "DIMENSIONAL_QUANTITY".
  3. Элемент dimensionlessAmount был переименован в dimensionlessQuantity, а его значение — в "DIMENSIONLESS_QUANTITY".
Причина
  • Вендорный постфикс --YDF был добавлен к имени перечисления с целью значительного уменьшения вероятности конфликта имён.
  • Элементы были переименованы с целью приведения к канонической научной терминологии.
Понадобится редактирование Вашего кода, если
В Вашем коде есть прямые ссылки на перечисление DataTypes.
Миграция

Используя соответствующую функциональнсоть Вашего редактора кода или интегрированной среды разработки, замените в всех Stylus-файлах проекта:

  • Имя перечисления DataTypes на DataTypes--YDF.
  • Элемент перечисления dimensionalAmount на dimensionalQuantity.
  • Элемент перечисления dimensionlessAmount на dimensionlessQuantity.

Например, в интегрированных средах разработки семейства IntelliJ IDEA такая функциональностью доступна с помощью сочетания клавиш Ctrl + Shift + R (по умолчанию).

Переименование двухуровневого объекта PracticalColorCoordinateSystem

К имени объекта PracticalColorCoordinateSystem был добавлен вендорный постфикс с целью уменьшения вероятности конфликта имён, и теперь этот двухуровневый объект имеет имя PracticalColorCoordinateSystem--YDF.

Изменения в двухуровневом объекте TemporaryHighlighting
  • Объект был переименован в TemporarySemitransparentHighlighting--YDF.
  • Теперь сверхкороткие свойства типа o25, смысл которых не может быть понятен без документации или проверки выходного CSS кода заменены на более содержательные, такие как opacity25Percent.
Причины
  • Слово «semitransparent» («полупрозрачный») было добавлено для повышения содержательности имени.
  • Вендорный постфикс --YDF был добавлен с целью значительного уменьшения конфликта имён.
  • Свойства второго уровня были переименованы потому что все библиотеки поставщика Ямато Дайва не приемлют имён, смысл которых не может быть раскрыт обычным переводом с английского на русской, и вот теперь это правило распространилось на объект TemporarySemitransparentHighlighting--YDF даже несмотря на то, что он не должен использоваться в окончательном варианте стилей.
Понадобится редактирование Вашего кода, если
Вы, вопреки рекомендации не использовать этот объект с чистовом коде использовали его, либо обновили YDF во время написания чернового кода, в котором использовали объект TemporaryHighlighting.
Миграция

Используя соответствующую функциональнсоть редактора кода или интегрированной среды разработки, выполните следующие замены во всех Stylus-файлах.

  • TemporaryHighlightingTemporarySemitransparentHighlighting--YDF
  • .o10.opacity10Percent
  • .o25.opacity25Percent
  • .o50.opacity50Percent
  • .o75.opacity75Percent
Переименование массива ShadesOfGray__39ColorsW3C_Palette

Массив ShadesOfGray__39ColorsW3C_Palette был переименован в W3C_39_ShadesOfGray--YDF.

Ядро
Замена базовых переменных на объект конфигурации

Следующие базовые переменные (как они назывались в версиях 1.X) были заменены на объект конфигурации YDF_Configuration либо удалены по указанным ниже причинам.

MAIN_FONT_STACK
Заменена на YDF_Configuration.fontsStacks.main
MAIN_SANS_SERIF_FONT_STACK
Заменена на YDF_Configuration.fontsStacks.mainSansSerif
MAIN_SERIF_FONT_STACK
Заменена на YDF_Configuration.fontsStacks.mainSerif
MAIN_MONOSPACED_FONT_STACK
Заменена на YDF_Configuration.fontsStacks.mainMonospaced
BASIC_FONT_SIZE
Заменена на YDF_Configuration.textGeometry.basicFontSize
BASIC_LINE_HEIGHT
Заменена на YDF_Configuration.textGeometry.basicLineHeight
BASIC_LINE_HEIGHT_IN_MULTILINE_TEXT_BLOCKS
Заменена на YDF_Configuration.textGeometry.basicLineHeightInMultilineTextBlocks
BASIC_FONT_SIZE_IN_MULTILINE_TEXT_BLOCKS
Удалена ввиду того, что более нет нужда в размере шрифта только для многострочных элементов в дополнение к YDF_Configuration.textGeometry.basicFontSize внутри YDF
BEM_ELEMENT_SEPARATOR
Удалена ввиду того, что больше не используется внутри YDF
BEM_MODIFIER_SEPARATOR
Удалена ввиду того, что больше не используется внутри YDF
ZIndexes
Заменена на YDF_Configuration.zIndexes
Причина замены на объект конфигурации
Переменные имели слишком общие названия, а на их принадлежность к YDF ничто не указывало. Для решения последней проблемы можно было пометить переменные вендорным постфиксом (например, MAIN_SANS_SERIF_FONT_STACK тогда превратилась бы в MAIN_SANS_SERIF_FONT_STACK--YDF), но переменная типа «объект» лучше подходит для хранения конфигурации.
Понадобится редактирование Вашего кода, если
Вы использовали одну или несколько из упомянутых выше переменных напрямую
Миграция
  • Если Вы хотите продолжить использование базовых переменных с теми же именами, что и прежде, то определите их самостоятельно с нужными Вам значениями.
  • Если Вы ранее переопределяли базовые переменные, то необходимо переопределить объект YDF_Configuration вместо них.
  • Если Вас устраивает использование объекта YDF_Configuration вместо базовых переменных, то замените ссылки на эти переменные на обращение к соответствующим свойствам объекта YDF_Configuration. Но имейте ввиду, что данный объект, как следует из называния, предназначен для конфигурации функциональности YDF, а эта библиотека является лишь вспомогательным инструментом в Вашем проекте. Поэтому, если у Вас уникальный дизайн, то соответствующие настройки рекомендуется определить независимо от YDF, а свойства объекта YDF_Configuration пусть ссылается на настройки Вашего дизайна.