Пример Evergreen с фактическими значениями темы, управляемым вводом тегов, динамической проверкой правил, восстановлением после пустого состояния и встроенным диалогом проверки.
Выберите план и обязательные теги, просмотрите подходящие записи, восстановите результаты после отсутствия совпадений и изучите локальный снимок данных.
В этой теме Evergreen обозначает полужирное начертание значением 500, а жирное — 600; не подменяйте их без предупреждения стандартными ключевыми словами браузера.
fontWeights.normal
400
В этой теме Evergreen обозначает полужирное начертание значением 500, а жирное — 600; не подменяйте их без предупреждения стандартными ключевыми словами браузера.
fontWeights.semibold
500
В этой теме Evergreen обозначает полужирное начертание значением 500, а жирное — 600; не подменяйте их без предупреждения стандартными ключевыми словами браузера.
fontWeights.bold
600
В этой теме Evergreen обозначает полужирное начертание значением 500, а жирное — 600; не подменяйте их без предупреждения стандартными ключевыми словами браузера.
Структура конструктора аудитории в дизайн-системе Segment Evergreen
Расположите правила рядом с результатами их применения
В примере панель правил расположена рядом со списком соответствующих вымышленных записей. Выбор тарифа и обязательные теги видны одновременно с числом результатов, поэтому влияние изменения правила легко понять. Пользователю не нужно сохранять настройки или открывать диалоговое окно, чтобы узнать, подходит ли текущая комбинация кому-либо.
Используйте ограниченный набор прозрачных тестовых данных
В примере представлены пять записей с названиями, тарифами и тегами. Страница не имитирует запрос к хранилищу данных клиентов и не оценивает размер реальной аудитории. Нулевое число результатов — полезная часть примера; предусмотрено действие, восстанавливающее полный набор данных.
Значения и семантика темы дизайн-системы Segment Evergreen
Изучите фактические значения стандартной темы
В Evergreen 7.1.9, помимо именованных цветов и стилей компонентов, заданы радиусы, размеры шрифта и высота строки с индексами. В таблице приведены именно экспортируемые значения. Особенно важно проверить названия начертаний: полужирное и жирное соответствуют значениям 500 и 600, что отличается от распространённых представлений.
Сохраняйте согласованность пользовательской композиции
ThemeProvider предоставляет стандартные поля ввода, теги, бейджи, кнопки и диалоговое окно. В оформлении панелей используется та же сдержанная гамма холодных серых и синих оттенков. Пример не переопределяет внутренние стили стандартных компонентов с помощью широких селекторов CSS, поэтому встроенное оформление состояний взаимодействия сохраняется.
Типографика для редактирования правил в дизайн-системе Segment Evergreen
Задайте понятную иерархию
Стили заголовков помогают отличить название аудитории от заголовков панелей и названий записей в результатах. Вспомогательный текст поясняет ввод тегов и вымышленный характер данных. Бейдж с числом результатов расположен рядом с заголовком списка, а не вместо него: сначала пользователь определяет нужную область, а затем читает число.
Сохраняйте читаемость метаданных
Данные о тарифе и тегах помогают понять, почему запись соответствует правилам, и служат не только украшением. На узком экране теги переносятся, а текст и бейджи записи располагаются друг под другом. Если уменьшить все подписи до крошечного размера, пользователю будет сложнее проверить правила.
Основная и дополнительная сетки дизайн-системы Segment Evergreen
Используйте функции для повторяющихся интервалов
majorScale и minorScale задают шаги в восемь и четыре пикселя. В примере компонента majorScale(3) задаёт интервал 24px между заголовками панелей, а адаптивная композиция оформлена пользовательской таблицей стилей. Разделяйте эти задачи: контрольная точка сетки — решение приложения, а не результат применения функции отступов.
Сохраняйте взаимосвязь полей на мобильных устройствах
Контролируемые теги и сопоставление в дизайн-системе Segment Evergreen
Нормализуйте значения перед добавлением
Обработчик onChange удаляет пробелы в начале и конце строк, переводит символы в нижний регистр, убирает дубликаты и отклоняет ввод, если в нём больше четырёх разных тегов. Возврат false сохраняет значение поля, если новый тег отклонён. Это правило относится к логике приложения для работы с аудиториями; TagInput обеспечивает контролируемое взаимодействие, но не задаёт бизнес-ограничения.
Осознанно используйте сопоставление по всем тегам
Запись должна соответствовать выбранному тарифу и каждому обязательному тегу. Если удалить все теги, это ограничение снимается; если выбрать Any, снимается ограничение по тарифу. Текущее число результатов вычисляется по тому же отфильтрованному массиву, который отображается на экране, поэтому число не расходится с видимыми карточками.
Диалог подтверждения и локальный снимок в дизайн-системе Segment Evergreen
Проверяйте текущие правила перед сохранением
Чтобы открыть диалоговое окно, нужно указать название аудитории. В окне повторно отображаются название, число результатов, тариф и теги, а затем предлагается сохранить данные локально. Этот дополнительный шаг показывает работу стандартного всплывающего окна с конкретным снимком настроек вместо пустого подтверждения с вопросом «Вы уверены?».
Сбрасывайте прежний статус успеха при изменении правил
Изменение названия, тарифа или тегов удаляет индикатор сохранённого снимка. Поэтому прежнее сообщение об успехе нельзя принять за подтверждение новых правил. Приложение не называет снимок аудиторией Segment и не отправляет запросы на платформу для работы с данными клиентов.
Ввод с клавиатуры и восстановление диалога в дизайн-системе Segment Evergreen
Проверьте теги, результаты и подтверждение в рамках одного сценария
Теги можно добавлять с помощью описанных клавиш ввода; доступное имя поля задаётся через id. Если превышен лимит тегов, появляется стандартное предупреждение об ошибке. Для диалога используется стандартная логика управления фокусом Dialog, а не самодельное всплывающее окно с неконтролируемым фокусом.
Добавьте newsletter к начальному активному тегу и сравните число результатов.
Добавьте тег, которому ничего не соответствует, а затем сбросьте правила, чтобы восстановить все пять записей.
Просмотрите и сохраните данные локально, затем измените правило и убедитесь, что прежнее сообщение об успехе исчезло.
Предусмотрите восстановление после пустого результата в рамках текущей задачи
Сброс правил снимает ограничения по тарифу и тегам, а также скрывает устаревшее сообщение о сохранении. После этого в списке результатов снова появляются все пять записей. Пользователь может сразу продолжить редактирование — скрытая навигация и перезагрузка страницы не требуются.
Интеграция дизайн-системы Segment Evergreen React
Используйте полный контролируемый пример
В исходной точке входа подключаются ThemeProvider, defaultTheme и отображаемые компоненты. Состояние хранит правила, ошибки, видимость диалогового окна и локальный сохранённый снимок. Полный JSX и CSS ниже содержат вымышленные тестовые данные, поэтому расчёт результатов можно воспроизвести без внешнего API.
ThemeProvider использует закреплённую версию defaultTheme.
Значениями TagInput управляет приложение.
Dialog проверяет те же правила, что и список результатов.
Добавьте доступ к данным отдельным уровнем приложения
Сохраните рядом с main.jsx. Эти собственные правила композиции отделены от справочника токенов библиотеки.
04
Настройка агента дизайн-системы Segment Evergreen
Отправная точка для реализации
Пример с закреплёнными версиями нативных компонентов собран и проверен в браузере локально. В образце используется только локальное состояние приложения.
sh
npm create vite@latest evergreen-audience -- --template react
cd evergreen-audience
npm install
npm install [email protected][email protected][email protected]
# Replace src/main.jsx and add src/evergreen.css.
npm run dev
Запрос для вашего проекта
Промпт для AI-агента
Создайте редактор аудитории на основе Evergreen с фактической темой и контролируемым TagInput. Нормализуйте теги и удаляйте дубликаты, явно задайте сопоставление по всем тегам, обеспечьте согласованность списка и числа результатов, просматривайте данные в стандартном Dialog и сбрасывайте устаревшее сообщение об успехе при изменении правил. Не заявляйте о подключении к сервису Segment.
05
Источники и область применения дизайн-системы Segment Evergreen
Руководство по приложению OpenDesign для Evergreen 7.1.9. Пять вымышленных записей демонстрируют локальную фильтрацию и просмотр снимка. Данные клиентов Segment и API аудитории не подключены.