Для разработчиков приложений
Предварительные настройки, определяемые приложением
Зарегистрируйте полные и действительные определения ThemeDefinitions в коде приложения; не представляйте их как официальный каталог и не обходите проверку ядра.Создайте полное определение и сначала проверьте его.
ts
import { createThemeFromSeed, validateTheme, oriaStandardContract } from "@oriatheme/core";
const brandTheme = createThemeFromSeed(
{ color: "#2563eb" },
{ id: "acme-blue", name: "Acme Blue" },
);
const result = validateTheme(brandTheme, oriaStandardContract);
if (!result.ok) throw new Error("Theme definition is invalid");Рабочее приложение должно проверять полное определение ThemeDefinition во время сборки или контролируемой инициализации. Не компилируйте CSS из ненадежного JSON; маршрутизировать ввод пользователя через основные API-интерфейсы импорта и проверки.
Передайте его в среду выполнения с официальными пресетами.
ts
import { oriaPresetThemes } from "@oriatheme/presets";
import { createOriaThemeRuntime } from "@oriatheme/runtime-dom";
const runtime = createOriaThemeRuntime({
presets: [...oriaPresetThemes, brandTheme],
defaultThemeId: "acme-blue",
});Это не официальный каталог пресетов.
Каталог в @oriatheme/presets поддерживается процессом выпуска OriaTheme. Предварительные настройки приложения относятся только к собственной конфигурации приложения: они не могут переопределить официальные идентификаторы или обойти проверку ядра, разрешение или атомарное приложение во время выполнения.
Вернуться к выбору пакета