OriaTheme
GitHub

Для разработчиков приложений

Предварительные настройки, определяемые приложением

Зарегистрируйте полные и действительные определения 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. Предварительные настройки приложения относятся только к собственной конфигурации приложения: они не могут переопределить официальные идентификаторы или обойти проверку ядра, разрешение или атомарное приложение во время выполнения.

Вернуться к выбору пакета