Раскройте возможности Anvil2 на конкретном примере: модель токенов из трёх уровней, проверенные значения ролей для светлой и тёмной тем и полный сценарий назначения услуги с синхронизированными состояниями специалиста, времени и проверки.
В Anvil2 отдельно представлены исходные примитивы, семантические роли и алиасы для конкретных компонентов. Обычно продукту следует выбирать роль, описывающую смысл элемента интерфейса, а не копировать примитивный синий цвет в каждый элемент управления. В справочной таблице приведены точные экспортируемые значения и соответствующие им значения для тёмной темы, чтобы изменения темы можно было проверять попарно.
Не рассчитывайте на пересчёт алиасов во время выполнения
В официальном руководстве по темам указано, что ссылки на примитивы разрешаются во время сборки. Изменение примитива через поставщик во время выполнения не приводит к автоматической генерации семантического слоя. Чтобы изменить цвета приложения, переопределите нужную семантическую роль; чтобы изменить один компонент, используйте уровень компонентов. Это предотвращает частичное изменение темы, при котором связанные элементы управления начинают выглядеть несогласованно.
Светлая и тёмная темы дизайн-системы ServiceTitan Anvil
Меняйте цвета текста и фона парами
В основном действии используются BackgroundColorPrimary и ForegroundColorOnPrimary. В светлой теме это синий фон и белый текст, а в тёмной — более светлый синий фон и тёмная подпись. Изменение только заливки нарушило бы согласованность пары. В полном учебном примере HTML используется light-dark() вместе с переключателем color-scheme, чтобы показать эти значения, не выдавая пример за ThemeProvider.
Используйте цвета статусов с явно указанным значением
В Anvil2 значение статуса связано с цветовыми семействами. В локальной проверке используется роль успешного выполнения, но при этом точно указано, что произошло. Недоступный специалист обозначен текстом и имеет отключённый переключатель radio. Зелёный оттенок не используется для создания впечатления, будто выездное обслуживание отправлено: пример не подключается к системе диспетчеризации.
Назначение обслуживания и состояния в дизайн-системе ServiceTitan Anvil
Свяжите доступность со следующим выбором
При выборе специалиста варианты времени начала заменяются с учётом вымышленного расписания этого человека. Недоступный специалист остаётся видимым, но выбрать его нельзя. Это зависимость между двумя элементами управления, поэтому при изменении первого нужно сбросить второй до допустимого значения, а не сохранять время, доступное только другому специалисту.
Отделяйте планирование от выполнения
Проверка назначения сохраняет локальный план и явно сообщает, что выезд не назначен. Для выполнения рабочего процесса в реальной системе перед подтверждением потребуются проверка разрешений, актуальный ответ о расписании и обработка конфликтов. В примере эта граница остаётся очевидной, но взаимодействие при этом полностью функционально и его можно изучить и адаптировать.
Плотность интерфейса и читаемость дизайн-системы ServiceTitan Anvil
Размещайте контекст задания рядом с выбором
Краткая сводка задания содержит описание работы, её длительность, район и приоритет. Варианты специалистов представлены в виде удобного для чтения вертикального списка, а предлагаемый выезд вынесен в отдельную панель. В интерфейсе используются нейтральные границы и сдержанный акцентный цвет, чтобы выбор и основное действие было легко найти. Полосы расписания обозначены как иллюстративные; фактическое время задаётся в элементе select.
Сохраняйте порядок чтения на мобильных устройствах
Нативная интеграция дизайн-системы ServiceTitan Anvil и полноценная альтернатива HTML
Используйте документированную структуру поставщика
ThemeProvider в Anvil2 принимает переопределения семантических токенов и токенов компонентов с полями value и расширениями для тёмной темы. Ниже приведён полный пример поставщика, основанный на общедоступной документации. Это справочник по нативной интеграции, отличный от независимого примера HTML, который запускался локально.
Не заявляйте о работе пакета без проверки
На этой странице приведена рабочая реализация HTML и проверенные данные токенов. Отдельный пример нативного поставщика предназначен для справки по интеграции и не используется в среде выполнения, показанной в предварительном просмотре. При внедрении компонентов React установите совместимую версию Anvil2, подключите необходимые стили и проверьте API компонентов, прежде чем заменять нативные элементы управления HTML.
Доступность и проверка состояний дизайн-системы ServiceTitan Anvil
Используйте нативную семантику форм
Специалисты представлены нативными переключателями radio с подписями, время начала выбирается в элементе select с подписью, а состояние элемента управления темой отображается через aria-pressed. Сообщение о проверке размещается в области статуса. За выбор radio отвечает встроенная в браузер модель клавиатурной навигации; видимое оформление фокуса не зависит от оформления выбранного элемента или состояния при наведении.
Проверяйте изменения после подтверждения
При изменении специалиста или времени прежнее сообщение о проверке сбрасывается. Переключение темы сохраняет выбранных специалиста и время, поскольку визуальное изменение темы не должно стирать план. Тесты должны охватывать оба перехода, а также недоступность выбора и переполнение на узком экране, а не только проверять, что на кнопку можно нажать.
Передача агенту и реализация дизайн-системы ServiceTitan Anvil
Начните с полной модели состояний
Сохраните и запустите полный пример HTML, чтобы изучить его поведение. Пары значений для светлой и тёмной тем, полученные из токенов, показаны в верхней части CSS, а заданные в примере данные о доступности находятся в скрипте. Нативная реализация React может сохранить те же переходы состояний, заменив элементы управления на проверенные компоненты Anvil2.
Запустите полный пример HTML.
Выберите второго специалиста и убедитесь, что варианты времени начала изменились.
Проверьте план, затем измените время и убедитесь, что сообщение сброшено.
Переключите тему и убедитесь, что текущий выбор сохранился.
Уточните, для чего нужны реальные данные
Попросите агента сохранить зависимый список времени, отключённого сотрудника, сброс проверки при изменении назначения и поведение оформления. Заменяйте вымышленные задание и сотрудников только при наличии реального контракта данных. Не выдавайте локальную проверку за успешную отправку, просто изменив текст кнопки.
Перед реальной отправкой проверьте доступность.
Не смешивайте семантические переопределения с переопределениями компонентов.
Проверьте пары цветов текста и фона в светлой и тёмной темах.
Этот справочник по провайдеру сверён с официальной документацией; приведённый выше работающий пример HTML независим от него.
04
Настройка агента для дизайн-системы ServiceTitan Anvil
Отправная точка для реализации
Для запущенного примера пакет Anvil2 не требуется. Для отдельного примера ThemeProvider нужна совместимая нативная установка.
sh
# Save the complete HTML example as index.html
python3 -m http.server 8080
# Open http://localhost:8080
Запрос для вашего проекта
Промпт для AI-агента
Создайте интерфейс назначения выездных работ, используя семантические роли Anvil2. Сохраните пары цветов текста и фона для светлой и тёмной тем, зависимый от выбранного техника список времени, отключение недоступных сотрудников и сброс проверки при изменении данных из полного примера. Явно выберите исходный HTML или проверенную установку Anvil2 React. Никогда не заявляйте об отправке задания без ответа от серверной части.
05
Источники и область применения дизайн-системы ServiceTitan Anvil
Руководство по ServiceTitan Anvil2 для OpenDesign. Значения токенов извлечены из общедоступного набора токенов Hammer 3.5.0. Работающий пример использует оригинальный HTML, а не среду выполнения Anvil2 React; все техники и данные о доступности вымышлены.