import { r as registerInstance, h, F as Fragment, H as Host, a as getElement, c as createEvent } from './index-8dc1a0b7.js';
import './index-2f7827f5.js';
import { r as runState, m as menuState, R as Route, a as match } from './runStore-08a7baa7.js';

const CorejamRun = class {
  constructor(hostRef) {
    registerInstance(this, hostRef);
  }
  async componentWillLoad() {
    await this.getConfig();
  }
  async getConfig() {
    try {
      const buildConfig = await fetch("/build/config.json");
      const config = await buildConfig.json();
      this.config = config;
      runState.routes = config.router.routes;
      runState.wrapper = config.wrapper;
      runState.recommendations = config.recommendations;
      runState.mode = config.mode;
      runState.layout = config.layout;
      runState.plugins = config.plugins;
    }
    catch (e) {
      console.log("Error", e);
    }
  }
  renderRecos() {
    if (this.config.recommendations.length > 0) {
      return this.config.recommendations.map((reco) => {
        const Reco = reco;
        return h(Reco, null);
      });
    }
  }
  renderWrapperComponent() {
    if (this.config.wrapper.length > 0) {
      let Res = (h(Fragment, null, this.renderRecos(), h("corejam-router", null)));
      this.config.wrapper.reverse().forEach((component) => {
        const Component = component;
        Res = h(Component, null, Res);
      });
      return Res;
    }
    return (h(Fragment, null, this.renderRecos(), h("corejam-router", null), this.config.mode === "development" && h("corejam-menu", null)));
  }
  render() {
    return h(Host, null, this.renderWrapperComponent());
  }
};

const CorejamDevPlayground = class {
  constructor(hostRef) {
    registerInstance(this, hostRef);
    this.devices = [
      {
        name: "iPhone 6/7/8",
        type: "mobile",
        dimensions: {
          width: "375px",
          height: "667px",
        },
      },
      {
        name: "iPad",
        type: "tablett",
        dimensions: {
          width: "768px",
          height: "1024px",
        },
      },
      {
        name: "Laptop",
        type: "desktop",
        dimensions: {
          width: "1024px",
          height: "1000px",
        },
      },
      {
        name: "Laptop L",
        type: "desktop",
        dimensions: {
          width: "1440px",
          height: "1000px",
        },
      },
    ];
    this.max = false;
    this.device = this.devices.filter((d) => d.name === "Laptop")[0];
  }
  componentWillLoad() {
    this.markup = `<${this.cmp}></${this.cmp}>`;
  }
  handleClick(e) {
    console.log(e);
  }
  maxy() {
    if (!this.max) {
      this.max = true;
      const area = this.component.querySelector("textarea");
      area.focus();
    }
  }
  render() {
    const playground = document.location.search.includes("live");
    const Component = this.cmp;
    if (playground)
      return (h(Host, null, h("iframe", { style: this.device.dimensions, src: `http://localhost:3001/liveview?data=${JSON.stringify({ content: this.markup })}`, frameborder: "0" }), this.max && (h("div", { class: "close", onClick: () => (this.max = false) }, h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, h("path", {
        //@ts-ignore
        strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
      })))), h("div", { class: `editor ${this.max ? "focus" : ""}` }, h("div", { class: "panel" }, h("div", { class: "devices" }, this.devices.map((d) => {
        if (d.type === "mobile")
          return (h("svg", { class: d === this.device ? "active" : "", onClick: () => (this.device = d), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, h("path", {
            //@ts-ignore
            strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z"
          })));
        if (d.type === "tablett")
          return (h("svg", { class: d === this.device ? "active" : "", onClick: () => (this.device = d), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M12 18h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z" })));
        if (d.type === "desktop")
          return (h("svg", { class: d === this.device ? "active" : "", onClick: () => (this.device = d), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, h("path", {
            //@ts-ignore
            strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
          })));
      }))), h("div", { class: "input", onClick: () => this.maxy() }, h("textarea", { autocorrect: "off", autocapitalize: "off", spellcheck: "false", name: "editor", onInput: (event) => (this.markup = event.target.value) }, this.markup)))));
    return (h(Host, null, h(Component, null)));
  }
  get component() { return getElement(this); }
};
CorejamDevPlayground.style = ".editor {\n    width: 100%;\n    height: 30px;\n    overflow-y: auto;\n    position: fixed;\n    bottom: 0;\n    left: 0;\n    border-top: 1px solid rgba(0,0,0,.1);\n    -webkit-box-shadow: -10px -8px 50px -15px rgba(128,128,128,.5);\n    -moz-box-shadow: -10px -8px 50px -15px rgba(128,128,128,.5);\n    box-shadow: -10px -8px 50px -15px rgba(128,128,128,.5);\n    font-size: 16px;\n  }\n  .editor.focus {\n    height: 300px;\n  }\n  .editor.focus:focus {\n    outline: none;\n  }\n  .input textarea {\n    width: calc(100% - 200px);\n    border: none;\n    outline: none;\n    padding: 4px;\n    outline: none;\n    font-size: 16px;\n  }\n\n  .editor.focus .input textarea {\n    height: 300px;\n  }\n  .panel {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    background: lightgray;\n    z-index: 10;\n    width: 200px;\n  }\n  .view {\n    width: 1024px;\n    height: 768px;\n    border: 1px solid darkgray;\n    overflow-y: scroll;\n  }\n  app-playground {\n    display: flex;\n    flex-direction: column;\n    background: #fefefe\n  }\n  .size {\n    font-size: 10px;\n  }\n  .close {\n    width: 30px;\n    height: 30px;\n    position: fixed;\n    bottom: 320px;\n    right: 20px;\n    cursor: pointer;\n  }\n  .devices {\n    display: flex;\n    padding: 4px;\n    justify-content: space-around;\n  }\n  .devices svg {\n    width: 20px;\n    height: 20px;\n    cursor: pointer;\n  }\n\n  .devices svg:hover, .devices svg.active {\n    color: #fff;\n  }\n  app-playground iframe {\n    margin: auto;\n  }";

const Corejam = (props) => (
//@ts-ignore
h("svg", { version: "1.1", id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", x: "0px", y: "0px", width: props.w, height: props.h, viewBox: "0 0 450 450", "enable-background": "new 0 0 450 450", spacing: "preserve", class: props.class, onClick: props.onClick },
  " ",
  h("image", { id: "image0", width: "450", height: "450", x: "0", y: "0", href: "data:image/png;base64,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\ngMX8iaP0apudFQznfQfO++s/fHfFy4e9HDa9y4QwTYJQiCyZ+PGtxWN4ZL2y2KeIvQpOLYirFbia\nLIxmzaMU8WiCHkHgEiIuAmvVu7JFGATSgNaKECQ4mwFsJtYbCdxBcDoIWEsKLZpDrawRIHa+2KSb\n/S+Pv7/b9LYLIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQ\nQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghRHL+H9Uw30QR\n+p8KAAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABS\nASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAASwAAAABAAABLAAAAAEAA6ABAAMAAAABAAEA\nAKACAAQAAAABAAABwqADAAQAAAABAAABwgAAAABSEIIBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIw\nLTEyLTEwVDE1OjI2OjA2KzAwOjAwLGs+3wAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMC0xMi0xMFQx\nNToyNjowNiswMDowMF02hmMAAAARdEVYdGV4aWY6Q29sb3JTcGFjZQAxD5sCSQAAABJ0RVh0ZXhp\nZjpFeGlmT2Zmc2V0ADkwWYzemwAAABh0RVh0ZXhpZjpQaXhlbFhEaW1lbnNpb24ANDUwPY52wwAA\nABh0RVh0ZXhpZjpQaXhlbFlEaW1lbnNpb24ANDUwoIGXtQAAAABJRU5ErkJggg==" })));

const CorejamMenu = class {
  constructor(hostRef) {
    registerInstance(this, hostRef);
    this.showCorejamMenu = createEvent(this, "showCorejamMenu", 7);
    this.hideCorejamMenu = createEvent(this, "hideCorejamMenu", 7);
    this.demo = false;
    this.show = false;
    this.max = false;
    this.fullscreen = false;
    this.stockActions = {
      fullscreen: (h("svg", { class: "max", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", onClick: () => (this.fullscreen = !this.fullscreen) }, h("path", { stroke: "#374151", "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M3 8V4m0 0h4M3 4l4 4m8 0V4m0 0h-4m4 0l-4 4m-8 4v4m0 0h4m-4 0l4-4m8 4l-4-4m4 4v-4m0 4h-4" }))),
    };
  }
  toggleMenu() {
    if (!this.show)
      this.showCorejamMenu.emit();
    this.show = !this.show;
  }
  /**
   * Add tab via custom event and dispatch on document.
   * @param e
   */
  listenForTab(e) {
    if (e.detail.tab)
      this.pushTabToState(e.detail.tab);
  }
  /**
   * Add tab via public component method
   * @param tab
   */
  async addTab(tab) {
    return new Promise((res, rej) => {
      if (tab) {
        this.pushTabToState(tab);
        return res("Added tab");
      }
      return rej("No tab provided");
    });
  }
  pushTabToState(tab) {
    if (!menuState.tabs.includes(tab)) {
      menuState.tabs = [...menuState.tabs, tab];
    }
  }
  click(e) {
    if (!this.show)
      return;
    if (!e.path.includes(this.instance)) {
      this.hideCorejamMenu.emit();
      this.show = false;
      this.max = false;
      this.fullscreen = false;
    }
  }
  renderSubActions(tab) {
    var _a;
    return (_a = tab.actions) === null || _a === void 0 ? void 0 : _a.map((a) => this.stockActions[a]);
  }
  render() {
    return (h(Host, null, h(Corejam, { "data-cy": "corejam-builder", w: "30px", h: "30px", class: "icon", onClick: () => this.toggleMenu() }), this.show && (h(Fragment, null, h("div", { class: {
        "menu-inner": true,
        active: this.max,
        full: this.fullscreen,
      } }, h("corejam-tabs", { onTabSelected: () => (this.max = true) }, menuState.tabs.map((tab) => {
      const Cmp = tab.content;
      return (h(Fragment, null, h("corejam-tab", { header: tab.header }, h(Cmp, null), this.renderSubActions(tab))));
    })))))));
  }
  get instance() { return getElement(this); }
};
CorejamMenu.style = ".icon {\n      position: fixed;\n      bottom: 25px;\n      left: 25px;\n      z-index: 600;\n      width: 30px !important;\n      height: 30px !important;\n    }\n\n    .menu-inner {\n      padding: 1rem;\n      padding-bottom: 4rem;\n      position: fixed;\n      bottom: 0;\n      left: 0;\n      right: 0;\n      z-index: 500;\n      height: 0px;\n    }\n    .active {\n      height: 400px;\n      backdrop-filter: blur(5px);\n      background: rgba(255,255,255,0.65);\n      border-top: 1px solid #ececec;\n    }\n    .full {\n      height: calc(100vh);\n    }\n    .max {\n      position: fixed;\n      bottom: 25px;\n      right: 20px;\n      width: 25px !important;\n      height: 25px !important;\n      z-index: 700;\n    }";

const Router = runState.router;
const CorejamRouter = class {
  constructor(hostRef) {
    registerInstance(this, hostRef);
  }
  collectRoutesInRightOrder() {
    let routes = [];
    runState.routes.forEach((route) => {
      if (route.exact && route.canvasPage === true) {
        routes = [...routes, route];
      }
      else if (route.exact && route.url.includes("component")) {
        routes = [route, ...routes];
      }
      else if (route.exact) {
        routes = [route, ...routes];
      }
      else {
        routes = [...routes, route];
      }
    });
    runState.plugins.forEach((plugin) => plugin.router.routes.forEach((route) => {
      if (route.exact && route.canvasPage === true) {
        routes = [...routes, route];
      }
      else if (route.exact && route.url.includes("component")) {
        routes = [route, ...routes];
      }
      else if (route.exact) {
        routes = [route, ...routes];
      }
      else {
        routes = [...routes, route];
      }
    }));
    return routes;
  }
  render() {
    const routes = this.collectRoutesInRightOrder();
    const Layout = runState.layout && runState.layout.length > 0 ? runState.layout[0].component : "div";
    return (h(Host, null, h(Router.Switch, null, routes.map((route) => {
      const Component = route.component;
      //We have a canvasPage object coming in
      if (route.exact && route.canvasPage === true) {
        return (h(Route, { path: match(route.url, { exact: true }) }, h("div", { innerHTML: JSON.parse(route.component) })));
      }
      if (route.exact && route.url.includes("component")) {
        return (h(Route, { path: route.url }, h("corejam-dev-playground", { cmp: route.component })));
      }
      if (route.exact && !route.dev && !route.third) {
        return (h(Route, { path: route.url }, h(Layout, null, h(Component, null))));
      }
      if (route.exact && (route.dev || route.third)) {
        return (h(Route, { path: route.url }, h(Component, null)));
      }
      return (h(Route, { path: match(route.url, { exact: true }), render: (router) => (h(Layout, null, h(Component, { param: router }))) }));
    }))));
  }
};

const CjTab = class {
  constructor(hostRef) {
    registerInstance(this, hostRef);
  }
  render() {
    return (h(Host, null, h("slot", null)));
  }
};

const CorejamTabs = class {
  constructor(hostRef) {
    registerInstance(this, hostRef);
    this.tabSelected = createEvent(this, "tabSelected", 7);
    this.activeTab = -1;
    this.max = false;
  }
  componentWillLoad() {
    this.init();
  }
  init() {
    this.tabs = Array.from(this.el.querySelectorAll("corejam-tab"));
    this.displayTab(this.activeTab);
  }
  connectedCallback() {
    this.mutationO = new MutationObserver(() => {
      this.init();
    });
    this.mutationO.observe(this.el, {
      childList: true,
    });
  }
  displayTab(index) {
    var _a;
    this.activeTab = index;
    this.tabs = (_a = this.tabs) === null || _a === void 0 ? void 0 : _a.map((tab, i) => {
      if (index === i) {
        this.tabSelected.emit(tab.children[0].localName);
        tab.style.display = "block";
      }
      else {
        tab.style.display = "none";
      }
      return tab;
    });
  }
  render() {
    return (h(Host, { style: { display: "block", height: "100%", overflow: "scroll" } }, h("div", { class: "buttons", role: "tablist" }, this.tabs.map((tab, index) => (h("div", { onClick: () => {
        this.displayTab(index);
      } }, h("div", { class: "tab" }, h("span", { class: {
        tabButton: true,
        tabButtonActive: this.activeTab === index,
      } }, tab.header)))))), h("div", { style: this.activeTab === -1 && { display: "none" } }, h("slot", null))));
  }
  get el() { return getElement(this); }
};
CorejamTabs.style = ".buttons.sc-corejam-tabs {\n      position: absolute;\n      bottom: 25px;\n      left: 75px;\n      display: flex;\n      transition-property: height;\n      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n      transition-duration: 1250ms;\n    }\n\n    .tab.sc-corejam-tabs {\n      padding-right: 0.5rem;\n    }\n\n    .tabButton.sc-corejam-tabs {\n      display: inline-block;\n      padding: .1rem 0.4rem;\n      background: var(--cj-colors-green-400, #4ade80);\n      font-size: .8rem;\n      color: var(--cj-colors-gray-700, #3f3f46);\n      border-radius: 0.125rem;\n      cursor: pointer;\n      transition-property: color;\n      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n      transition-duration: 150ms;\n    }\n    .tabButton.sc-corejam-tabs:hover {\n      color: #fff;\n    }\n    .tabButtonActive.sc-corejam-tabs {\n      color: var(--cj-colors-gray-100, #fafafa);\n      background: var(--cj-colors-green-300, #86efac);\n    }";

export { CorejamRun as corejam_app, CorejamDevPlayground as corejam_dev_playground, CorejamMenu as corejam_menu, CorejamRouter as corejam_router, CjTab as corejam_tab, CorejamTabs as corejam_tabs };
