openpencil/packages/docs/ru/user-guide/components.md
Danila Poyarkov d67415c793
docs: explain component library workflows (#520)
Documents component libraries and localized workflows added by #512.
2026-08-14 20:39:47 +03:00

11 KiB
Raw Permalink Blame History

title description
Компоненты Создание переиспользуемых компонентов, экземпляров, наборов компонентов, переопределений и живой синхронизации в OpenPencil.

Компоненты

Компоненты — это переиспользуемые элементы дизайна. Отредактируйте основной компонент, и все его экземпляры обновятся автоматически.

Просмотр компонентов

Откройте вкладку Assets на левой панели, чтобы просматривать локальные компоненты и подключённые библиотеки. Ищите по имени, переключайтесь между сеткой и списком и вставляйте компонент щелчком, клавишей Enter или перетаскиванием на холст. Загруженные ревизии остаются доступны без сети.

Создание компонента

Выделите фрейм или группу и нажмите ⌥⌘K (Ctrl + Alt + K). Выделение становится многоразовым компонентом.

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

Компоненты отображаются с фиолетовой меткой и значком ромба над ними.

Наборы компонентов и варианты

Выделите два или более компонента и нажмите ⇧⌘K (Shift + Ctrl + K), чтобы объединить их в набор компонентов — контейнер с пунктирной фиолетовой рамкой и отступом 40 px вокруг дочерних элементов.

Варианты поддерживают несколько измерений, например Размер=Маленький, Состояние=Hover и Тема=Тёмная, и не требуют всех возможных комбинаций. Верхний левый вариант используется по умолчанию и как запасной, если после обновления точной комбинации больше нет. В панели свойств можно добавлять, переименовывать, переупорядочивать и удалять измерения и значения; повторяющиеся комбинации отклоняются.

Свойства компонентов

Компоненты поддерживают текстовые свойства, логическую видимость и замену экземпляра. Свяжите свойство с полем дочернего узла, а затем изменяйте его значение в экземпляре без отсоединения. Определения и назначения сохраняются в файлах .fig.

Библиотеки компонентов

Библиотека публикует компоненты как неизменяемую ревизию. Откройте Assets → Управление библиотеками → Опубликовать библиотеку, при первой публикации задайте стабильный ID и имя, выберите изменения и опубликуйте. Неотмеченные изменения останутся ожидающими.

Подключите библиотеку в разделе Управление библиотеками. Её ресурсы появятся рядом с локальными компонентами. Опубликованные определения доступны только для чтения в документе-потребителе, а связанные экземпляры и переопределения остаются редактируемыми.

В разделе Обновления сравните текущий и новый экземпляры рядом. Можно обновить один экземпляр, все экземпляры одного ресурса, текущую страницу или все страницы. Совместимые свойства сохраняются, а при отсутствии точного варианта запасной вариант показывается до подтверждения. Обновления поддерживают отмену и повтор.

Библиотеки могут использовать локальный каталог или настроенного поставщика хранилища. Загруженные ревизии кэшируются. Подключения библиотек и материализованные определения сохраняются в .fig, поэтому документ можно открыть без доступа к удалённой библиотеке.

Создание экземпляров

Кликните правой кнопкой мыши по компоненту и выберите Создать экземпляр в контекстном меню. Экземпляр появляется на 40 px правее исходного компонента, визуально идентичный ему.

Создание экземпляров доступно только через контекстное меню — кнопки на панели инструментов нет.

Отсоединение экземпляра

Выделите экземпляр и нажмите ⌥⌘B (Ctrl + Alt + B), чтобы отсоединить его. Экземпляр становится обычным фреймом без связи с оригинальным компонентом. Все переопределения сохраняются.

Перейти к основному компоненту

Кликните правой кнопкой мыши по экземпляру и выберите Перейти к основному компоненту. Редактор переходит к основному компоненту и выделяет его, при необходимости переключая страницу.

Живая синхронизация

При редактировании компонента все его экземпляры обновляются автоматически. Синхронизируемые свойства включают:

  • Ширину и высоту
  • Заливки, обводки и эффекты
  • Прозрачность и скругление углов
  • Свойства раскладки (настройки авто-раскладки)
  • Настройку обрезки содержимого

Синхронизация срабатывает автоматически после обновлений узлов, перемещений и изменений размеров внутри компонента.

Переопределения

Экземпляры могут переопределять отдельные свойства без разрыва связи синхронизации. Когда свойство переопределено на экземпляре, оно пропускается при синхронизации — остальные свойства продолжают обновляться из основного компонента.

Переопределяемые свойства

Переопределения на уровне дочерних элементов поддерживают: имя, текст, размер шрифта, насыщенность шрифта, семейство шрифта, а также все визуальные свойства и свойства раскладки (заливки, обводки, эффекты, прозрачность, скругление углов, размеры).

Новые дочерние элементы

Когда вы добавляете дочерний элемент в компонент, все существующие экземпляры автоматически получают клонированную копию. Порядок дочерних элементов в экземплярах всегда соответствует компоненту.

Попадание в объект

Компоненты и экземпляры являются непрозрачными контейнерами — клик по дочернему элементу выделяет сам компонент, а не дочерний элемент. Дважды кликните, чтобы войти в компонент и выделить элементы внутри него.

Визуальное оформление

Элемент Внешний вид
Метка компонента Фиолетовая с значком ромба, всегда видна
Метка экземпляра Фиолетовая с значком ромба, всегда видна
Рамка набора компонентов Пунктирная фиолетовая рамка

Сочетания клавиш

Действие Mac Windows / Linux
Создать компонент ⌥⌘K Ctrl + Alt + K
Создать набор компонентов ⇧⌘K Shift + Ctrl + K
Отсоединить экземпляр ⌥⌘B Ctrl + Alt + B

Советы

  • Редактирование текста внутри экземпляра создаёт переопределение — текст не будет перезаписан при изменении компонента.
  • Используйте наборы компонентов для организации вариантов (например, состояния кнопки Primary/Secondary/Disabled).
  • Дважды кликните внутрь компонента перед редактированием его дочерних элементов — одиночный клик выделяет контейнер компонента.
  • См. Контекстное меню для всех действий, связанных с компонентами.