import { injectOptionsKey as s, injectIconsKey as m, injectThemeKey as r } from "./composables/keys.js";
import { injectThemeStyles as h } from "./theme.js";
const y = {
  prefix: "X",
  injectIconsKey: m,
  injectOptionsKey: s,
  injectThemeKey: r
}, a = (f = {}) => ({
  install: (t, n = {}) => {
    var c;
    const e = {
      ...y,
      ...f,
      ...n
    };
    e.components && e.components.forEach((o) => {
      const i = o.name.startsWith("X") ? o.name.slice(1) : o.name;
      t.component(`${e.prefix}${i}`) || t.component(`${e.prefix}${i}`, o);
    }), t.provide(n.injectOptionsKey || s, e), t.provide(n.injectIconsKey || m, e.icons || {}), t.provide(n.injectThemeKey || r, e.theme || {}), (c = e.theme) != null && c.styles && h(e.theme.name || "", e.theme.styles);
  }
}), $ = a;
export {
  $ as default
};
