<script context="module" lang="ts">
  interface ThemerProps {
    overrideTheme?: Partial<Theme>;
    children: any;
  }
</script>

<script lang="ts">
  import type { Theme } from "./types";

  export let overrideTheme: ThemerProps["overrideTheme"] = undefined;

  function onUpdateFn_0(..._args: any[]) {
    Object.entries({
      ...overrideTheme,
    }).forEach(([cssVar, value]) => {
      document.documentElement.style.setProperty(cssVar, value);
    });
  }

  $: onUpdateFn_0(...[overrideTheme]);
</script>

<div id="__themer"><slot /></div>