Одно главное действие на область. Удаление не выглядит как продолжение.
HTML компонента </>
<div class="oppo-row"><button type="button" class="oppo-button " data-commerce-message="Основное действие выбрано.">Продолжить</button><button type="button" class="oppo-button oppo-button--secondary" data-commerce-message="Редактирование выбрано.">Изменить</button><button type="button" class="oppo-button oppo-button--quiet" data-commerce-message="Необязательный шаг пропущен.">Пропустить</button><button type="button" class="oppo-button oppo-button--danger" data-commerce-message="Пример опасного действия. Данные не удаляются.">Удалить</button></div><p>Одно главное действие на область. Удаление не выглядит как продолжение.</p>
Размеры кнопок
Компактная строка, обычная форма и крупное действие.
Стоимость доставки изменилась. Проверьте итог перед продолжением.
Данные не загрузились. Сохранённые изменения остались на месте.
HTML компонента </>
<div class="oppo-stack"><div class="oppo-alert oppo-alert--success"><svg class="oppo-icon" aria-hidden="true"><use href="../src/ui/icons.svg#check"></use></svg><p>Адрес сохранён. Его можно выбрать при оформлении.</p></div><div class="oppo-alert oppo-alert--warning"><svg class="oppo-icon" aria-hidden="true"><use href="../src/ui/icons.svg#warning"></use></svg><p>Стоимость доставки изменилась. Проверьте итог перед продолжением.</p></div><div class="oppo-alert oppo-alert--danger"><svg class="oppo-icon" aria-hidden="true"><use href="../src/ui/icons.svg#info"></use></svg><div><p>Данные не загрузились. Сохранённые изменения остались на месте.</p><button type="button" class="oppo-button oppo-button--sm oppo-button--secondary" data-commerce-message="Повторная попытка выполнена в примере.">Повторить</button></div></div></div>
Обратная связь у поля
Подсказка до ввода, исправимая ошибка и подтверждённое значение.
Ваш следующий OPPOУстройства для каждого дняВыберите модель и сравните характеристики. Длинный текст должен сохранять спокойный ритм и оставаться удобным для чтения.Подпись к изображению · дополнительная информация
HTML компонента </>
<div class="oppo-foundation-type"><span class="oppo-foundation-type__display">Ваш следующий OPPO</span><span class="oppo-foundation-type__title">Устройства для каждого дня</span><span class="oppo-foundation-type__body">Выберите модель и сравните характеристики. Длинный текст должен сохранять спокойный ритм и оставаться удобным для чтения.</span><span class="oppo-foundation-type__caption">Подпись к изображению · дополнительная информация</span></div>
Цвета и назначение токенов
Роли палитры: поверхность, текст, акцент и обратная связь.
<label class="oppo-field"><span class="oppo-field__label">Изображение для обращения</span><input class="oppo-input oppo-foundation-file" type="file" accept="image/png,image/jpeg" data-foundation-upload aria-describedby="forms-upload-note"><small id="forms-upload-note">PNG или JPEG. Файл остаётся на устройстве; сервер не вызывается.</small><p role="status" data-foundation-file-result>Файл не выбран</p></label>
Подсказки нативного ввода
Datalist предлагает варианты, сохраняя возможность собственного значения.
<div class="oppo-commerce-empty"><span class="oppo-empty-mark" aria-hidden="true">○</span><h4>Ничего не нашлось</h4><p>Уберите часть фильтров или выберите другую серию.</p><a class="oppo-link" href="#cp-filter-chips">Изменить фильтры →</a></div>
<div class="oppo-state-message oppo-state-message--danger"><strong>Не удалось получить товары</strong><p>Сохранённые фильтры остаются на месте. Повторите запрос позже.</p></div><a class="oppo-link" href="#cp-recovery">Пример повторной загрузки →</a>
Нравятся экран и фотографии. Телефон удобно лежит в руке.
Ответ магазина
Спасибо, что поделились впечатлениями!
HTML компонента </>
<div class="oppo-review"><header><span class="oppo-avatar">А</span><div><strong>Алексей</strong><small>Покупка подтверждена · пример</small></div><span aria-label="5 из 5">★★★★★</span></header><h4>Удобно каждый день</h4><p>Нравятся экран и фотографии. Телефон удобно лежит в руке.</p><button type="button" class="oppo-button oppo-button--secondary" data-review-helpful aria-pressed="false">Полезно · 12</button><blockquote><strong>Ответ магазина</strong><p>Спасибо, что поделились впечатлениями!</p></blockquote></div>
<div class="oppo-spec-groups"><details open><summary>Об устройстве</summary><dl class="oppo-spec-list"><div><dt>Модель</dt><dd>OPPO Reno15</dd></div><div><dt>Категория</dt><dd>Смартфон</dd></div><div><dt>Цвет</dt><dd>Белый</dd></div></dl></details><details ><summary>Память и комплектация</summary><dl class="oppo-spec-list"><div><dt>Память</dt><dd>256 ГБ · пример варианта</dd></div><div><dt>В коробке</dt><dd>Состав зависит от региона</dd></div></dl></details><details ><summary>Материалы</summary><dl class="oppo-spec-list"><div><dt>Изображения</dt><dd>Официальные материалы OPPO</dd></div><div><dt>Характеристики</dt><dd>Уточняются для артикула</dd></div></dl></details></div>
<div class="oppo-state-message oppo-state-message--neutral"><strong>Отзыв на проверке</strong><p>После модерации он появится на странице товара.</p></div><div class="oppo-state-message oppo-state-message--warning"><strong>Отзыв после покупки</strong><p>Войдите в аккаунт, с которого оформлен заказ.</p></div><a class="oppo-link" href="#cp-otp">Перейти к форме входа →</a>
С этим устройством
Аксессуар в контексте покупки с отдельным действием.
<div class="oppo-commerce-empty"><span class="oppo-empty-mark" aria-hidden="true">○</span><h4>Ваша корзина пока пуста</h4><p>Посмотрите устройства OPPO и выберите то, что подходит вам.</p><a class="oppo-link" href="#cp-product-row">Перейти к товарам →</a></div>
Изменился доступный остаток
Ограничение количества с объяснением до оформления.
<div class="oppo-state-message oppo-state-message--danger"><strong>Проверьте состав корзины</strong><p>Одна позиция больше недоступна. Обновите корзину перед продолжением.</p></div><button class="oppo-button" type="button" disabled>Подтвердить заказ</button><a class="oppo-link" href="#cp-cart-unavailable">Вернуться к корзине →</a>
<div class="oppo-commerce-empty"><span class="oppo-empty-mark" aria-hidden="true">○</span><h4>Сохраните первый адрес</h4><p>Он будет доступен при следующем оформлении заказа.</p><a class="oppo-link" href="#cp-courier-address">Добавить адрес →</a></div>
<div class="oppo-commerce-empty"><span class="oppo-empty-mark" aria-hidden="true">○</span><h4>Войдите, чтобы увидеть заказы</h4><p>Используйте номер телефона, указанный при оформлении.</p><a class="oppo-link" href="#cp-otp">Войти по телефону →</a></div>
Настройки уведомлений
Независимые каналы и обязательные сообщения о заказе.
<ol class="oppo-timeline"><li class="is-complete"><strong>Заказ принят</strong><small>14 октября · 10:00</small></li><li class="is-complete"><strong>Собран</strong><small>14 октября · 11:20</small></li><li aria-current="step"><strong>Готов к выдаче</strong><small>Получите до 18 октября</small></li><li><strong>Получен</strong></li></ol>
<div class="oppo-commerce-empty"><span class="oppo-empty-mark" aria-hidden="true">○</span><h4>Здесь будут ваши заказы</h4><p>После оформления можно следить за получением и открыть документы.</p><a class="oppo-link" href="#cp-series-navigation">Выбрать устройство →</a></div>
Деньги не подтверждены. Выберите способ оплаты повторно.
HTML компонента </>
<div class="oppo-state-grid"><div class="oppo-state-message oppo-state-message--success"><strong>Оплата подтверждена</strong><p>Заказ передан в обработку.</p></div><div class="oppo-state-message oppo-state-message--warning"><strong>Ожидаем подтверждение</strong><p>Обновление статуса может занять несколько минут.</p></div><div class="oppo-state-message oppo-state-message--danger"><strong>Оплата не прошла</strong><p>Деньги не подтверждены. Выберите способ оплаты повторно.</p></div></div>
<div class="oppo-state-message oppo-state-message--warning"><strong>Доступна 1 позиция из 2</strong><p>Enco Air3 Pro сейчас нет в наличии. Состав и цена нового заказа могут отличаться.</p></div><div class="oppo-product-row"><img class="oppo-commerce-thumb" src="../assets/rich/reno15/catalog-white.png" alt="Reno15" width="96" height="96" loading="lazy"><div><strong>OPPO Reno15</strong><small>Доступен для новой покупки</small></div></div><a class="oppo-link" href="#cp-cart-composition">Проверить корзину →</a>
На шаге оформления выберите пункт выдачи или курьера.
Где посмотреть заказ?
Номер и статус заказа отображаются в личном кабинете.
Как оформить возврат?
Откройте заказ и выберите товар для обращения.
HTML компонента </>
<div class="oppo-faq"><details><summary>Как выбрать способ получения?</summary><p>На шаге оформления выберите пункт выдачи или курьера.</p></details><details><summary>Где посмотреть заказ?</summary><p>Номер и статус заказа отображаются в личном кабинете.</p></details><details><summary>Как оформить возврат?</summary><p>Откройте заказ и выберите товар для обращения.</p></details></div>
Закрываемое уведомление
Локальное закрытие с возможностью повторного показа.
<nav class="oppo-help-grid" aria-label="Помощь покупателю"><a href="#cp-spec-groups"><strong>Об устройстве</strong><span>Параметры и комплектация →</span></a><a href="#cp-fulfillment"><strong>Получение заказа</strong><span>Доставка и самовывоз →</span></a><a href="#cp-return-items"><strong>Возврат и обращение</strong><span>Как описать проблему →</span></a><a href="#cp-support-request"><strong>Связаться с нами</strong><span>Форма обращения →</span></a></nav>
<div class="oppo-commerce-empty"><span class="oppo-error-number">404</span><h4>Здесь пока ничего нет</h4><p>Возможно, ссылка изменилась или страница больше недоступна.</p><a class="oppo-link" href="#cp-series-navigation">Открыть навигацию →</a></div>
Настройки необязательных cookies
Равнозначный выбор и локальное сохранение предпочтения.
Фотография 01 · официальный пример OPPO Find X9 ProФотография 02 · официальный пример OPPO Find X9 ProФотография 03 · официальный пример OPPO Find X9 ProФотография 04 · официальный пример OPPO Find X9 Pro
Фоновое видео OPPO и отдельный слой устройства. Запустите ролик, чтобы увидеть движение света.
OPPO Reno15 Свет. Форма. Цвет.
О материалах и композиции
Оригинальное видео содержит фон. Телефон добавлен отдельным оригинальным рендером. Автовоспроизведение выключено; ролик управляется нативными контролами браузера. Это пример сборки rich-блока, а не снимок страницы производителя.
04 / OPPO ENCO AIR3 PRO
Больше музыки. Больше воздуха.
Широкий продуктовый баннер: спокойный фон, крупный объект и пространство для текста.
1. Характеристики взяты со страницы OPPO Find X9 Pro. Ёмкость указана как типичная. Условия измерений, режимы работы и ограничения — на сайте производителя.
Изображения и видео — публичные ресурсы OPPO. Тексты и композиции этой страницы подготовлены для UI-kit. Материалы относятся к указанным моделям; их наличие здесь не определяет ассортимент магазина.
Подборка для UI-kit. Оригинальные изображения и характеристики связаны с указанными моделями. Ассортимент, цены и остатки витрины подключаются отдельно.
02 / СРАВНЕНИЕ
Разница в деталях.
Выберите до трёх моделей для сравнения.
Характеристики по официальным страницам OPPO. Вес указан приблизительно.
Параметры и комплектации могут различаться по регионам. Полные условия и примечания — по ссылкам производителя в заголовках таблицы. Снимок данных: 2026-10-13.
Сбор: 2026-10-13. В исходных страницах найдено 2143 ссылок на ресурсы; локально сохранены 44 выбранных файлов. Это подборка для UI-kit, а не полный архив сайта.
Размеры, контрольные суммы SHA256 и точные URLs: JSON-манифест. Desktop и Mobile обозначают версии ресурсов производителя. Главный баннер Find X9 Pro содержит надпись серии Find X9. Видео Reno15 и его постеры содержат фон; изображения устройства сохранены отдельно.
Ресурсы собраны с официальных продуктовых страниц. Доступность моделей и цветов в магазине задаётся каталогом отдельно.