message: ConfigProvider: generateVKUITokensClassName
diff: @@ -58,6 +58,13 @@ const deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>
  ? "dark"
  : "light";
  +const generateVKUITokensClassName = (
  + platform: string,
  + appearance: string
  +): string => {
  + return `vkui--${platform}-${appearance}`;
  +};
  +
  const ConfigProvider: React.FC<ConfigProviderProps> = ({
  children,
  schemeTarget,
  @@ -66,10 +73,11 @@ const ConfigProvider: React.FC<ConfigProviderProps> = ({
  schemeTarget?: HTMLElement;
  }) => {
  const config = { ...defaultConfigProviderProps, ...props };
  + const { platform, appearance } = config;
  const scheme = normalizeScheme({
  scheme: config.scheme,
  - platform: config.platform,
  - appearance: config.appearance,
  + platform: platform,
  + appearance: appearance,
  });
  const { document } = useDOM();
  const target = schemeTarget || document?.body;
  @@ -91,8 +99,23 @@ const ConfigProvider: React.FC<ConfigProviderProps> = ({
  }, [scheme]);
  const realScheme = useSchemeDetector(target, scheme);
  + const derivedAppearance = deriveAppearance(realScheme);
  +
  + useIsomorphicLayoutEffect(() => {
  + const VKUITokensClassName = generateVKUITokensClassName(
  + platform,
  + derivedAppearance
  + );
  +
  + target?.classList.add(VKUITokensClassName);
  +
  + return () => {
  + target?.classList.remove(VKUITokensClassName);
  + };
  + }, [platform, derivedAppearance]);
  +
  const configContext = useObjectMemo({
  - appearance: deriveAppearance(realScheme),
  + appearance: derivedAppearance,
  ...config,
  });
  