Replace internal references (Yoga, CanvasKit, Paragraph API, style runs, characterStyleIDs, vectorNetworkBlob, Kiwi binary, scene graph, font-kit, Local Font Access API, COMPONENT type, override key format, hex codes, px specs) with user-facing language across all 7 locales.
86 lines
7.4 KiB
Markdown
86 lines
7.4 KiB
Markdown
---
|
||
title: Компоненты
|
||
description: Создание переиспользуемых компонентов, экземпляров, наборов компонентов, переопределений и живой синхронизации в OpenPencil.
|
||
---
|
||
|
||
# Компоненты
|
||
|
||
Компоненты — это переиспользуемые элементы дизайна. Отредактируйте основной компонент, и все его экземпляры обновятся автоматически.
|
||
|
||
## Создание компонента
|
||
|
||
Выделите фрейм или группу и нажмите <kbd>⌥</kbd><kbd>⌘</kbd><kbd>K</kbd> (<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>K</kbd>). Выделение становится многоразовым компонентом.
|
||
|
||
Если выделено несколько узлов, они оборачиваются в новый компонент, позиционированный по их ограничивающей рамке.
|
||
|
||
Компоненты отображаются с фиолетовой меткой и значком ромба над ними.
|
||
|
||
## Наборы компонентов
|
||
|
||
Выделите два или более компонента и нажмите <kbd>⇧</kbd><kbd>⌘</kbd><kbd>K</kbd> (<kbd>Shift</kbd> + <kbd>Ctrl</kbd> + <kbd>K</kbd>), чтобы объединить их в набор компонентов — контейнер с пунктирной фиолетовой рамкой и отступом 40 px вокруг дочерних элементов. Наборы компонентов полезны для группировки вариантов (например, состояний кнопки).
|
||
|
||
## Создание экземпляров
|
||
|
||
Кликните правой кнопкой мыши по компоненту и выберите **Создать экземпляр** в контекстном меню. Экземпляр появляется на 40 px правее исходного компонента, визуально идентичный ему.
|
||
|
||
Создание экземпляров доступно только через контекстное меню — кнопки на панели инструментов нет.
|
||
|
||
## Отсоединение экземпляра
|
||
|
||
Выделите экземпляр и нажмите <kbd>⌥</kbd><kbd>⌘</kbd><kbd>B</kbd> (<kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>B</kbd>), чтобы отсоединить его. Экземпляр становится обычным фреймом без связи с оригинальным компонентом. Все переопределения сохраняются.
|
||
|
||
## Перейти к основному компоненту
|
||
|
||
Кликните правой кнопкой мыши по экземпляру и выберите **Перейти к основному компоненту**. Редактор переходит к основному компоненту и выделяет его, при необходимости переключая страницу.
|
||
|
||
## Живая синхронизация
|
||
|
||
При редактировании компонента все его экземпляры обновляются автоматически. Синхронизируемые свойства включают:
|
||
|
||
- Ширину и высоту
|
||
- Заливки, обводки и эффекты
|
||
- Прозрачность и скругление углов
|
||
- Свойства раскладки (настройки авто-раскладки)
|
||
- Настройку обрезки содержимого
|
||
|
||
Синхронизация срабатывает автоматически после обновлений узлов, перемещений и изменений размеров внутри компонента.
|
||
|
||
## Переопределения
|
||
|
||
Экземпляры могут переопределять отдельные свойства без разрыва связи синхронизации. Когда свойство переопределено на экземпляре, оно пропускается при синхронизации — остальные свойства продолжают обновляться из основного компонента.
|
||
|
||
### Переопределяемые свойства
|
||
|
||
Переопределения на уровне дочерних элементов поддерживают: имя, текст, размер шрифта, насыщенность шрифта, семейство шрифта, а также все визуальные свойства и свойства раскладки (заливки, обводки, эффекты, прозрачность, скругление углов, размеры).
|
||
|
||
### Новые дочерние элементы
|
||
|
||
Когда вы добавляете дочерний элемент в компонент, все существующие экземпляры автоматически получают клонированную копию. Порядок дочерних элементов в экземплярах всегда соответствует компоненту.
|
||
|
||
## Попадание в объект
|
||
|
||
Компоненты и экземпляры являются непрозрачными контейнерами — клик по дочернему элементу выделяет сам компонент, а не дочерний элемент. **Дважды кликните**, чтобы войти в компонент и выделить элементы внутри него.
|
||
|
||
## Визуальное оформление
|
||
|
||
| Элемент | Внешний вид |
|
||
|---------|-------------|
|
||
| Метка компонента | Фиолетовая с значком ромба, всегда видна |
|
||
| Метка экземпляра | Фиолетовая с значком ромба, всегда видна |
|
||
| Рамка набора компонентов | Пунктирная фиолетовая рамка |
|
||
|
||
## Сочетания клавиш
|
||
|
||
| Действие | Mac | Windows / Linux |
|
||
|----------|-----|-----------------|
|
||
| Создать компонент | <kbd>⌥</kbd><kbd>⌘</kbd><kbd>K</kbd> | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>K</kbd> |
|
||
| Создать набор компонентов | <kbd>⇧</kbd><kbd>⌘</kbd><kbd>K</kbd> | <kbd>Shift</kbd> + <kbd>Ctrl</kbd> + <kbd>K</kbd> |
|
||
| Отсоединить экземпляр | <kbd>⌥</kbd><kbd>⌘</kbd><kbd>B</kbd> | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>B</kbd> |
|
||
|
||
## Советы
|
||
|
||
- Редактирование текста внутри экземпляра создаёт переопределение — текст не будет перезаписан при изменении компонента.
|
||
- Используйте наборы компонентов для организации вариантов (например, состояния кнопки Primary/Secondary/Disabled).
|
||
- Дважды кликните внутрь компонента перед редактированием его дочерних элементов — одиночный клик выделяет контейнер компонента.
|
||
- См. [Контекстное меню](./context-menu) для всех действий, связанных с компонентами.
|