import {
  AdministrationService
} from "./chunk-RFRQWW6A.js";
import {
  InternalRouteService
} from "./chunk-B4U6NSGR.js";
import {
  InternalRoute,
  RouteLoadDirection
} from "./chunk-PRTLXG5I.js";
import {
  createCustomElement
} from "./chunk-DQUMCYPT.js";
import {
  UiService
} from "./chunk-WUILV27O.js";
import {
  BehaviorSubject,
  CUSTOM_ELEMENTS_SCHEMA,
  CommonModule,
  Component,
  DatePipe,
  DefaultValueAccessor,
  FormsModule,
  HttpClient,
  Injectable,
  Injector,
  Input,
  LoaderComponent,
  NgControlStatus,
  NgModel,
  NgModule,
  NgSelectOption,
  OrderByPipe,
  ReactiveFormsModule,
  SelectControlValueAccessor,
  UiModule,
  ViewChild,
  provideHttpClient,
  setClassMetadata,
  withInterceptorsFromDi,
  ɵNgSelectMultipleOption,
  ɵsetClassDebugInfo,
  ɵɵadvance,
  ɵɵclassMap,
  ɵɵclassProp,
  ɵɵconditional,
  ɵɵconditionalCreate,
  ɵɵdefineComponent,
  ɵɵdefineInjectable,
  ɵɵdefineInjector,
  ɵɵdefineNgModule,
  ɵɵdirectiveInject,
  ɵɵelement,
  ɵɵelementEnd,
  ɵɵelementStart,
  ɵɵgetCurrentView,
  ɵɵinject,
  ɵɵinterpolate1,
  ɵɵlistener,
  ɵɵloadQuery,
  ɵɵnextContext,
  ɵɵpipe,
  ɵɵpipeBind2,
  ɵɵpipeBind3,
  ɵɵproperty,
  ɵɵqueryRefresh,
  ɵɵrepeater,
  ɵɵrepeaterCreate,
  ɵɵrepeaterTrackByIdentity,
  ɵɵresetView,
  ɵɵrestoreView,
  ɵɵsanitizeUrl,
  ɵɵtext,
  ɵɵtextInterpolate,
  ɵɵtextInterpolate1,
  ɵɵtwoWayBindingSet,
  ɵɵtwoWayListener,
  ɵɵtwoWayProperty,
  ɵɵviewQuery
} from "./chunk-VAMMRICA.js";
import {
  __async
} from "./chunk-RVA4KI76.js";

// src/app/administration/entities/models/navigation.ts
var RouteType;
(function(RouteType2) {
  RouteType2["attributes"] = "attributes";
  RouteType2["fixtures"] = "fixtures";
})(RouteType || (RouteType = {}));

// src/app/administration/entities/services/entity.service.ts
var _EntityService = class _EntityService {
  constructor(http) {
    this.http = http;
  }
  // #region Attributes
  getAttributes() {
    const url = `{{api}}/entities/attributes/admin/all`;
    return this.http.get(url);
  }
  storeAttribute(id, displayOrder) {
    const url = `{{api}}/entities/attributes/admin/store`;
    const headers = { "Content-Type": "application/json" };
    const request = {
      id,
      displayOrder
    };
    return this.http.put(url, JSON.stringify(request), { headers });
  }
};
_EntityService.\u0275fac = function EntityService_Factory(__ngFactoryType__) {
  return new (__ngFactoryType__ || _EntityService)(\u0275\u0275inject(HttpClient));
};
_EntityService.\u0275prov = /* @__PURE__ */ \u0275\u0275defineInjectable({ token: _EntityService, factory: _EntityService.\u0275fac, providedIn: "root" });
var EntityService = _EntityService;
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(EntityService, [{
    type: Injectable,
    args: [{
      providedIn: "root"
    }]
  }], () => [{ type: HttpClient }], null);
})();

// src/app/administration/entities/components/attributes/attributes.component.ts
var _c0 = ["componentElm"];
function AttributesComponent_Conditional_1_Conditional_6_Conditional_1_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 5);
  }
}
function AttributesComponent_Conditional_1_Conditional_6_Conditional_2_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 6);
  }
}
function AttributesComponent_Conditional_1_Conditional_6_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "span", 4);
    \u0275\u0275conditionalCreate(1, AttributesComponent_Conditional_1_Conditional_6_Conditional_1_Template, 1, 0, "i", 5);
    \u0275\u0275conditionalCreate(2, AttributesComponent_Conditional_1_Conditional_6_Conditional_2_Template, 1, 0, "i", 6);
    \u0275\u0275elementEnd();
  }
  if (rf & 2) {
    const ctx_r1 = \u0275\u0275nextContext(2);
    \u0275\u0275advance();
    \u0275\u0275conditional(!ctx_r1.sortDescending ? 1 : -1);
    \u0275\u0275advance();
    \u0275\u0275conditional(ctx_r1.sortDescending ? 2 : -1);
  }
}
function AttributesComponent_Conditional_1_Conditional_10_Conditional_1_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 5);
  }
}
function AttributesComponent_Conditional_1_Conditional_10_Conditional_2_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 6);
  }
}
function AttributesComponent_Conditional_1_Conditional_10_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "span", 4);
    \u0275\u0275conditionalCreate(1, AttributesComponent_Conditional_1_Conditional_10_Conditional_1_Template, 1, 0, "i", 5);
    \u0275\u0275conditionalCreate(2, AttributesComponent_Conditional_1_Conditional_10_Conditional_2_Template, 1, 0, "i", 6);
    \u0275\u0275elementEnd();
  }
  if (rf & 2) {
    const ctx_r1 = \u0275\u0275nextContext(2);
    \u0275\u0275advance();
    \u0275\u0275conditional(!ctx_r1.sortDescending ? 1 : -1);
    \u0275\u0275advance();
    \u0275\u0275conditional(ctx_r1.sortDescending ? 2 : -1);
  }
}
function AttributesComponent_Conditional_1_Conditional_14_Conditional_1_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 5);
  }
}
function AttributesComponent_Conditional_1_Conditional_14_Conditional_2_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 6);
  }
}
function AttributesComponent_Conditional_1_Conditional_14_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "span", 4);
    \u0275\u0275conditionalCreate(1, AttributesComponent_Conditional_1_Conditional_14_Conditional_1_Template, 1, 0, "i", 5);
    \u0275\u0275conditionalCreate(2, AttributesComponent_Conditional_1_Conditional_14_Conditional_2_Template, 1, 0, "i", 6);
    \u0275\u0275elementEnd();
  }
  if (rf & 2) {
    const ctx_r1 = \u0275\u0275nextContext(2);
    \u0275\u0275advance();
    \u0275\u0275conditional(!ctx_r1.sortDescending ? 1 : -1);
    \u0275\u0275advance();
    \u0275\u0275conditional(ctx_r1.sortDescending ? 2 : -1);
  }
}
function AttributesComponent_Conditional_1_Conditional_18_Conditional_1_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 5);
  }
}
function AttributesComponent_Conditional_1_Conditional_18_Conditional_2_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 6);
  }
}
function AttributesComponent_Conditional_1_Conditional_18_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "span", 4);
    \u0275\u0275conditionalCreate(1, AttributesComponent_Conditional_1_Conditional_18_Conditional_1_Template, 1, 0, "i", 5);
    \u0275\u0275conditionalCreate(2, AttributesComponent_Conditional_1_Conditional_18_Conditional_2_Template, 1, 0, "i", 6);
    \u0275\u0275elementEnd();
  }
  if (rf & 2) {
    const ctx_r1 = \u0275\u0275nextContext(2);
    \u0275\u0275advance();
    \u0275\u0275conditional(!ctx_r1.sortDescending ? 1 : -1);
    \u0275\u0275advance();
    \u0275\u0275conditional(ctx_r1.sortDescending ? 2 : -1);
  }
}
function AttributesComponent_Conditional_1_For_21_For_8_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "option", 10);
    \u0275\u0275text(1);
    \u0275\u0275elementEnd();
  }
  if (rf & 2) {
    const order_r5 = ctx.$implicit;
    \u0275\u0275property("ngValue", order_r5);
    \u0275\u0275advance();
    \u0275\u0275textInterpolate(order_r5);
  }
}
function AttributesComponent_Conditional_1_For_21_Template(rf, ctx) {
  if (rf & 1) {
    const _r3 = \u0275\u0275getCurrentView();
    \u0275\u0275elementStart(0, "tr")(1, "td")(2, "span", 7);
    \u0275\u0275text(3);
    \u0275\u0275elementEnd()();
    \u0275\u0275elementStart(4, "td")(5, "span", 8)(6, "select", 9);
    \u0275\u0275listener("change", function AttributesComponent_Conditional_1_For_21_Template_select_change_6_listener() {
      const attribute_r4 = \u0275\u0275restoreView(_r3).$implicit;
      const ctx_r1 = \u0275\u0275nextContext(2);
      return \u0275\u0275resetView(ctx_r1.storeAttribute(attribute_r4));
    });
    \u0275\u0275twoWayListener("ngModelChange", function AttributesComponent_Conditional_1_For_21_Template_select_ngModelChange_6_listener($event) {
      const attribute_r4 = \u0275\u0275restoreView(_r3).$implicit;
      \u0275\u0275twoWayBindingSet(attribute_r4.displayOrder, $event) || (attribute_r4.displayOrder = $event);
      return \u0275\u0275resetView($event);
    });
    \u0275\u0275repeaterCreate(7, AttributesComponent_Conditional_1_For_21_For_8_Template, 2, 2, "option", 10, \u0275\u0275repeaterTrackByIdentity);
    \u0275\u0275elementEnd()()();
    \u0275\u0275elementStart(9, "td")(10, "span", 7);
    \u0275\u0275text(11);
    \u0275\u0275elementEnd()();
    \u0275\u0275elementStart(12, "td")(13, "span", 7);
    \u0275\u0275text(14);
    \u0275\u0275pipe(15, "date");
    \u0275\u0275elementEnd()()();
  }
  if (rf & 2) {
    const attribute_r4 = ctx.$implicit;
    const ctx_r1 = \u0275\u0275nextContext(2);
    \u0275\u0275advance(3);
    \u0275\u0275textInterpolate1(" ", attribute_r4.name, " ");
    \u0275\u0275advance(3);
    \u0275\u0275twoWayProperty("ngModel", attribute_r4.displayOrder);
    \u0275\u0275advance();
    \u0275\u0275repeater(ctx_r1.availableOrders);
    \u0275\u0275advance(4);
    \u0275\u0275textInterpolate1(" ", attribute_r4.type, " ");
    \u0275\u0275advance(3);
    \u0275\u0275textInterpolate1(" ", \u0275\u0275pipeBind2(15, 4, attribute_r4.lastUpdated_Utc, "MMM dd, yyyy hh:mm a"), " ");
  }
}
function AttributesComponent_Conditional_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = \u0275\u0275getCurrentView();
    \u0275\u0275elementStart(0, "div", 1)(1, "table")(2, "thead")(3, "th", 2);
    \u0275\u0275listener("click", function AttributesComponent_Conditional_1_Template_th_click_3_listener() {
      \u0275\u0275restoreView(_r1);
      const ctx_r1 = \u0275\u0275nextContext();
      return \u0275\u0275resetView(ctx_r1.setSort("name"));
    });
    \u0275\u0275elementStart(4, "span", 3);
    \u0275\u0275text(5, " Name ");
    \u0275\u0275elementEnd();
    \u0275\u0275conditionalCreate(6, AttributesComponent_Conditional_1_Conditional_6_Template, 3, 2, "span", 4);
    \u0275\u0275elementEnd();
    \u0275\u0275elementStart(7, "th", 2);
    \u0275\u0275listener("click", function AttributesComponent_Conditional_1_Template_th_click_7_listener() {
      \u0275\u0275restoreView(_r1);
      const ctx_r1 = \u0275\u0275nextContext();
      return \u0275\u0275resetView(ctx_r1.setSort("displayOrder"));
    });
    \u0275\u0275elementStart(8, "span", 3);
    \u0275\u0275text(9, " Display Order ");
    \u0275\u0275elementEnd();
    \u0275\u0275conditionalCreate(10, AttributesComponent_Conditional_1_Conditional_10_Template, 3, 2, "span", 4);
    \u0275\u0275elementEnd();
    \u0275\u0275elementStart(11, "th", 2);
    \u0275\u0275listener("click", function AttributesComponent_Conditional_1_Template_th_click_11_listener() {
      \u0275\u0275restoreView(_r1);
      const ctx_r1 = \u0275\u0275nextContext();
      return \u0275\u0275resetView(ctx_r1.setSort("type"));
    });
    \u0275\u0275elementStart(12, "span", 3);
    \u0275\u0275text(13, " Type ");
    \u0275\u0275elementEnd();
    \u0275\u0275conditionalCreate(14, AttributesComponent_Conditional_1_Conditional_14_Template, 3, 2, "span", 4);
    \u0275\u0275elementEnd();
    \u0275\u0275elementStart(15, "th", 2);
    \u0275\u0275listener("click", function AttributesComponent_Conditional_1_Template_th_click_15_listener() {
      \u0275\u0275restoreView(_r1);
      const ctx_r1 = \u0275\u0275nextContext();
      return \u0275\u0275resetView(ctx_r1.setSort("lastUpdated_Utc"));
    });
    \u0275\u0275elementStart(16, "span", 3);
    \u0275\u0275text(17, " Last Updated ");
    \u0275\u0275elementEnd();
    \u0275\u0275conditionalCreate(18, AttributesComponent_Conditional_1_Conditional_18_Template, 3, 2, "span", 4);
    \u0275\u0275elementEnd()();
    \u0275\u0275elementStart(19, "tbody");
    \u0275\u0275repeaterCreate(20, AttributesComponent_Conditional_1_For_21_Template, 16, 7, "tr", null, \u0275\u0275repeaterTrackByIdentity);
    \u0275\u0275pipe(22, "orderBy");
    \u0275\u0275elementEnd()()();
  }
  if (rf & 2) {
    const ctx_r1 = \u0275\u0275nextContext();
    \u0275\u0275advance(6);
    \u0275\u0275conditional(ctx_r1.sort == "name" ? 6 : -1);
    \u0275\u0275advance(4);
    \u0275\u0275conditional(ctx_r1.sort == "displayOrder" ? 10 : -1);
    \u0275\u0275advance(4);
    \u0275\u0275conditional(ctx_r1.sort == "type" ? 14 : -1);
    \u0275\u0275advance(4);
    \u0275\u0275conditional(ctx_r1.sort == "lastUpdated_Utc" ? 18 : -1);
    \u0275\u0275advance(2);
    \u0275\u0275repeater(\u0275\u0275pipeBind3(22, 4, ctx_r1.attributes, ctx_r1.sort, ctx_r1.sortDescending));
  }
}
var _AttributesComponent = class _AttributesComponent {
  constructor(entityService) {
    this.entityService = entityService;
    this.sort = "displayOrder";
    this.sortDescending = false;
    this.retrievingAttributes = false;
    this.attributes = [];
    this.availableOrders = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
  }
  setSort(sort) {
    if (this.sort == sort) {
      this.toggleSortDirection();
    }
    this.sort = sort;
  }
  toggleSortDirection() {
    this.sortDescending = !this.sortDescending;
  }
  get hasAttributes() {
    return this.attributes.length > 0;
  }
  getAttributes() {
    this.retrievingAttributes = true;
    this.entityService.getAttributes().subscribe({
      next: (attributes) => {
        this.attributes = attributes;
        this.retrievingAttributes = false;
      },
      error: () => {
        this.retrievingAttributes = false;
      }
    });
  }
  storeAttribute(attribute) {
    attribute.storing = true;
    this.entityService.storeAttribute(attribute.id, attribute.displayOrder).subscribe({
      next: () => {
        attribute.storing = false;
      },
      error: () => {
        attribute.storing = false;
      }
    });
  }
  // #endregion
  // #region UI
  get showLoader() {
    return this.retrievingAttributes || this.attributes.find((x) => x.storing) != null;
  }
  init() {
    this.getAttributes();
  }
  // #endregion
  ngAfterViewInit() {
    setTimeout(() => {
      this.init();
      setTimeout(() => {
        if (this.route != null) {
          this.route.initialized.next();
        }
      }, 32);
    }, 16);
  }
  ngOnDestroy() {
  }
};
_AttributesComponent.\u0275fac = function AttributesComponent_Factory(__ngFactoryType__) {
  return new (__ngFactoryType__ || _AttributesComponent)(\u0275\u0275directiveInject(EntityService));
};
_AttributesComponent.\u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _AttributesComponent, selectors: [["attributes"]], viewQuery: function AttributesComponent_Query(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275viewQuery(_c0, 5);
  }
  if (rf & 2) {
    let _t;
    \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx.componentElm = _t.first);
  }
}, inputs: { route: "route" }, standalone: false, decls: 3, vars: 3, consts: [["id", "attributes"], [1, "content"], [3, "click"], [1, "title"], [1, "icon"], [1, "fa-solid", "fa-caret-up"], [1, "fa-solid", "fa-caret-down"], [1, "value"], [1, "input-wrap"], [3, "change", "ngModelChange", "ngModel"], [3, "ngValue"]], template: function AttributesComponent_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "section", 0);
    \u0275\u0275conditionalCreate(1, AttributesComponent_Conditional_1_Template, 23, 8, "div", 1);
    \u0275\u0275elementEnd();
    \u0275\u0275element(2, "loader");
  }
  if (rf & 2) {
    \u0275\u0275advance();
    \u0275\u0275conditional(ctx.hasAttributes ? 1 : -1);
    \u0275\u0275advance();
    \u0275\u0275classProp("active", ctx.showLoader);
  }
}, dependencies: [LoaderComponent, NgSelectOption, \u0275NgSelectMultipleOption, SelectControlValueAccessor, NgControlStatus, NgModel, OrderByPipe, DatePipe], styles: ["\n\n#attributes[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  overflow-x: hidden;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  position: relative;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%] {\n  table-layout: fixed;\n  width: 100%;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%] {\n  padding: 0.6vw 0;\n  background-color: var(--color2Alt3);\n  position: relative;\n  border-right: 0.1vw var(--color1Alt1) solid;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]    > .title[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  padding: 0 2vw;\n  color: var(--color1);\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]    > .icon[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  -moz-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  -o-transform: translateY(-50%);\n  -webkit-transform: translateY(-50%);\n  transform: translateY(-50%);\n  right: 1.2vw;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]    > .icon[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]:last-child {\n  border-right: none;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%] {\n  border-top: 0.1vw var(--color1Alt1) solid;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%] {\n  padding: 0.4vw 1vw;\n  border-right: 0.1vw var(--color2Alt3) solid;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .value[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  font-size: 1.2vw;\n  color: var(--color1);\n  -ms-text-overflow: ellipsis;\n  -o-text-overflow: ellipsis;\n  text-overflow: ellipsis;\n  display: block;\n  white-space: nowrap;\n  overflow: hidden;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt3) solid;\n  border-radius: 1vw;\n  padding: 0.4vw 1vw;\n  background-color: var(--color2);\n  -moz-transition: border-color 0.2s linear;\n  -o-transition: border-color 0.2s linear;\n  -webkit-transition: border-color 0.2s linear;\n  transition: border-color 0.2s linear;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]   select[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]:focus-within {\n  border-color: var(--color3);\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]:last-child {\n  border-right: none;\n}\n#attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-child(even) {\n  background-color: var(--color2Alt2);\n}\nloader[_ngcontent-%COMP%] {\n  position: absolute;\n  bottom: 2vw;\n  right: 2vw;\n  height: 4vw;\n  width: 4vw;\n  z-index: 2;\n  display: block;\n  opacity: 0;\n  pointer-events: none;\n  -moz-transition: opacity 0.5s linear;\n  -o-transition: opacity 0.5s linear;\n  -webkit-transition: opacity 0.5s linear;\n  transition: opacity 0.5s linear;\n}\nloader.active[_ngcontent-%COMP%] {\n  opacity: 1;\n}\n/*# sourceMappingURL=attributes.component.css.map */"] });
var AttributesComponent = _AttributesComponent;
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(AttributesComponent, [{
    type: Component,
    args: [{ standalone: false, selector: "attributes", template: `<section id="attributes">
  @if (hasAttributes) {
    <div class="content">
      <table>
        <thead>
          <th (click)="setSort('name')">
            <span class="title">
              Name
            </span>
            @if (sort == 'name') {
              <span class="icon">
                @if (!sortDescending) {
                  <i class="fa-solid fa-caret-up"></i>
                }
                @if (sortDescending) {
                  <i class="fa-solid fa-caret-down"></i>
                }
              </span>
            }
          </th>
          <th (click)="setSort('displayOrder')">
            <span class="title">
              Display Order
            </span>
            @if (sort == 'displayOrder') {
              <span class="icon">
                @if (!sortDescending) {
                  <i class="fa-solid fa-caret-up"></i>
                }
                @if (sortDescending) {
                  <i class="fa-solid fa-caret-down"></i>
                }
              </span>
            }
          </th>
          <th (click)="setSort('type')">
            <span class="title">
              Type
            </span>
            @if (sort == 'type') {
              <span class="icon">
                @if (!sortDescending) {
                  <i class="fa-solid fa-caret-up"></i>
                }
                @if (sortDescending) {
                  <i class="fa-solid fa-caret-down"></i>
                }
              </span>
            }
          </th>
          <th (click)="setSort('lastUpdated_Utc')">
            <span class="title">
              Last Updated
            </span>
            @if (sort == 'lastUpdated_Utc') {
              <span class="icon">
                @if (!sortDescending) {
                  <i class="fa-solid fa-caret-up"></i>
                }
                @if (sortDescending) {
                  <i class="fa-solid fa-caret-down"></i>
                }
              </span>
            }
          </th>
        </thead>
        <tbody>
          @for (attribute of attributes | orderBy:sort:sortDescending; track attribute) {
            <tr>
              <td>
                <span class="value">
                  {{attribute.name}}
                </span>
              </td>
              <td>
                <span class="input-wrap">
                  <select (change)="storeAttribute(attribute)" [(ngModel)]="attribute.displayOrder">
                    @for (order of availableOrders; track order) {
                      <option [ngValue]="order">{{order}}</option>
                    }
                  </select>
                </span>
              </td>
              <td>
                <span class="value">
                  {{attribute.type}}
                </span>
              </td>
              <td>
                <span class="value">
                  {{attribute.lastUpdated_Utc | date:'MMM dd, yyyy hh:mm a'}}
                </span>
              </td>
            </tr>
          }
        </tbody>
      </table>
    </div>
  }
</section>

<loader [class.active]="showLoader"></loader>`, styles: ["/* src/app/administration/entities/components/attributes/attributes.component.scss */\n#attributes {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  overflow-x: hidden;\n}\n#attributes > .content {\n  position: relative;\n}\n#attributes > .content > table {\n  table-layout: fixed;\n  width: 100%;\n}\n#attributes > .content > table thead th {\n  padding: 0.6vw 0;\n  background-color: var(--color2Alt3);\n  position: relative;\n  border-right: 0.1vw var(--color1Alt1) solid;\n}\n#attributes > .content > table thead th > .title {\n  font-size: 1.2vw;\n  padding: 0 2vw;\n  color: var(--color1);\n}\n#attributes > .content > table thead th > .icon {\n  position: absolute;\n  top: 50%;\n  -moz-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  -o-transform: translateY(-50%);\n  -webkit-transform: translateY(-50%);\n  transform: translateY(-50%);\n  right: 1.2vw;\n}\n#attributes > .content > table thead th > .icon i {\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#attributes > .content > table thead th:last-child {\n  border-right: none;\n}\n#attributes > .content > table tbody tr {\n  border-top: 0.1vw var(--color1Alt1) solid;\n}\n#attributes > .content > table tbody tr td {\n  padding: 0.4vw 1vw;\n  border-right: 0.1vw var(--color2Alt3) solid;\n}\n#attributes > .content > table tbody tr td > .value {\n  display: block;\n  width: 100%;\n  font-size: 1.2vw;\n  color: var(--color1);\n  -ms-text-overflow: ellipsis;\n  -o-text-overflow: ellipsis;\n  text-overflow: ellipsis;\n  display: block;\n  white-space: nowrap;\n  overflow: hidden;\n}\n#attributes > .content > table tbody tr td > .input-wrap {\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt3) solid;\n  border-radius: 1vw;\n  padding: 0.4vw 1vw;\n  background-color: var(--color2);\n  -moz-transition: border-color 0.2s linear;\n  -o-transition: border-color 0.2s linear;\n  -webkit-transition: border-color 0.2s linear;\n  transition: border-color 0.2s linear;\n}\n#attributes > .content > table tbody tr td > .input-wrap select {\n  display: block;\n  width: 100%;\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#attributes > .content > table tbody tr td > .input-wrap:focus-within {\n  border-color: var(--color3);\n}\n#attributes > .content > table tbody tr td:last-child {\n  border-right: none;\n}\n#attributes > .content > table tbody tr:nth-child(even) {\n  background-color: var(--color2Alt2);\n}\nloader {\n  position: absolute;\n  bottom: 2vw;\n  right: 2vw;\n  height: 4vw;\n  width: 4vw;\n  z-index: 2;\n  display: block;\n  opacity: 0;\n  pointer-events: none;\n  -moz-transition: opacity 0.5s linear;\n  -o-transition: opacity 0.5s linear;\n  -webkit-transition: opacity 0.5s linear;\n  transition: opacity 0.5s linear;\n}\nloader.active {\n  opacity: 1;\n}\n/*# sourceMappingURL=attributes.component.css.map */\n"] }]
  }], () => [{ type: EntityService }], { route: [{
    type: Input,
    args: ["route"]
  }], componentElm: [{
    type: ViewChild,
    args: ["componentElm"]
  }] });
})();
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(AttributesComponent, { className: "AttributesComponent" });
})();

// src/app/administration/entities/services/fixture.service.ts
var _FixtureService = class _FixtureService {
  constructor(http) {
    this.http = http;
  }
  // #region Fixtures
  getFixtures() {
    const url = `{{api}}/fixtures/admin/all`;
    return this.http.get(url);
  }
  storeFixtures(id, imageSrc_Base64) {
    const url = `{{api}}/fixtures/admin/store`;
    const headers = { "Content-Type": "application/json" };
    const request = {
      id,
      imageSrc_Base64
    };
    return this.http.put(url, JSON.stringify(request), { headers });
  }
};
_FixtureService.\u0275fac = function FixtureService_Factory(__ngFactoryType__) {
  return new (__ngFactoryType__ || _FixtureService)(\u0275\u0275inject(HttpClient));
};
_FixtureService.\u0275prov = /* @__PURE__ */ \u0275\u0275defineInjectable({ token: _FixtureService, factory: _FixtureService.\u0275fac, providedIn: "root" });
var FixtureService = _FixtureService;
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(FixtureService, [{
    type: Injectable,
    args: [{
      providedIn: "root"
    }]
  }], () => [{ type: HttpClient }], null);
})();

// src/app/administration/entities/components/fixtures/fixtures.component.ts
var _c02 = ["componentElm"];
function FixturesComponent_Conditional_1_For_3_Conditional_10_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "i", 6);
  }
}
function FixturesComponent_Conditional_1_For_3_Conditional_11_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "img", 7);
  }
  if (rf & 2) {
    const fixture_r2 = \u0275\u0275nextContext().$implicit;
    \u0275\u0275property("src", fixture_r2.imageSrc_Base64, \u0275\u0275sanitizeUrl);
  }
}
function FixturesComponent_Conditional_1_For_3_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = \u0275\u0275getCurrentView();
    \u0275\u0275elementStart(0, "div", 3)(1, "header")(2, "h1");
    \u0275\u0275text(3);
    \u0275\u0275elementEnd();
    \u0275\u0275elementStart(4, "h2");
    \u0275\u0275text(5);
    \u0275\u0275pipe(6, "date");
    \u0275\u0275elementEnd()();
    \u0275\u0275elementStart(7, "div", 1)(8, "div", 4);
    \u0275\u0275element(9, "canvas", 5);
    \u0275\u0275conditionalCreate(10, FixturesComponent_Conditional_1_For_3_Conditional_10_Template, 1, 0, "i", 6);
    \u0275\u0275conditionalCreate(11, FixturesComponent_Conditional_1_For_3_Conditional_11_Template, 1, 1, "img", 7);
    \u0275\u0275elementEnd();
    \u0275\u0275elementStart(12, "div", 8)(13, "input", 9);
    \u0275\u0275twoWayListener("ngModelChange", function FixturesComponent_Conditional_1_For_3_Template_input_ngModelChange_13_listener($event) {
      const fixture_r2 = \u0275\u0275restoreView(_r1).$implicit;
      \u0275\u0275twoWayBindingSet(fixture_r2.imageSrc_Base64, $event) || (fixture_r2.imageSrc_Base64 = $event);
      return \u0275\u0275resetView($event);
    });
    \u0275\u0275listener("input", function FixturesComponent_Conditional_1_For_3_Template_input_input_13_listener() {
      const fixture_r2 = \u0275\u0275restoreView(_r1).$implicit;
      const ctx_r2 = \u0275\u0275nextContext(2);
      return \u0275\u0275resetView(ctx_r2.storeFixture(fixture_r2));
    });
    \u0275\u0275elementEnd()()()();
  }
  if (rf & 2) {
    const fixture_r2 = ctx.$implicit;
    \u0275\u0275advance(3);
    \u0275\u0275textInterpolate(fixture_r2.name);
    \u0275\u0275advance(2);
    \u0275\u0275textInterpolate(\u0275\u0275pipeBind2(6, 5, fixture_r2.lastUpdated_Utc, "MMM dd, yyyy hh:mm a"));
    \u0275\u0275advance(5);
    \u0275\u0275conditional(fixture_r2.imageSrc_Base64 == null ? 10 : -1);
    \u0275\u0275advance();
    \u0275\u0275conditional(fixture_r2.imageSrc_Base64 != null ? 11 : -1);
    \u0275\u0275advance(2);
    \u0275\u0275twoWayProperty("ngModel", fixture_r2.imageSrc_Base64);
  }
}
function FixturesComponent_Conditional_1_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "div", 1)(1, "div", 2);
    \u0275\u0275repeaterCreate(2, FixturesComponent_Conditional_1_For_3_Template, 14, 8, "div", 3, \u0275\u0275repeaterTrackByIdentity);
    \u0275\u0275pipe(4, "orderBy");
    \u0275\u0275elementEnd()();
  }
  if (rf & 2) {
    const ctx_r2 = \u0275\u0275nextContext();
    \u0275\u0275advance(2);
    \u0275\u0275repeater(\u0275\u0275pipeBind3(4, 0, ctx_r2.fixtures, ctx_r2.sort, ctx_r2.sortDescending));
  }
}
var _FixturesComponent = class _FixturesComponent {
  constructor(fixtureService) {
    this.fixtureService = fixtureService;
    this.sort = "name";
    this.sortDescending = false;
    this.retrievingFixtures = false;
    this.fixtures = [];
  }
  setSort(sort) {
    if (this.sort == sort) {
      this.toggleSortDirection();
    }
    this.sort = sort;
  }
  toggleSortDirection() {
    this.sortDescending = !this.sortDescending;
  }
  get hasFixtures() {
    return this.fixtures.length > 0;
  }
  isValidImage(base64) {
    return new Promise((resolve) => {
      const img = new Image();
      img.onload = () => {
        resolve(true);
      };
      img.onerror = () => {
        resolve(false);
      };
      img.src = base64;
    });
  }
  getFixtures() {
    this.retrievingFixtures = true;
    this.fixtureService.getFixtures().subscribe({
      next: (fixtures) => {
        this.fixtures = fixtures;
        this.retrievingFixtures = false;
      },
      error: () => {
        this.retrievingFixtures = false;
      }
    });
  }
  storeFixture(fixture) {
    return __async(this, null, function* () {
      const isValidImage = yield this.isValidImage(fixture.imageSrc_Base64);
      if (isValidImage) {
        fixture.storing = true;
        this.fixtureService.storeFixtures(fixture.id, fixture.imageSrc_Base64).subscribe({
          next: () => {
            fixture.storing = false;
          },
          error: () => {
            fixture.storing = false;
          }
        });
      }
    });
  }
  // #endregion
  // #region UI
  get showLoader() {
    return this.retrievingFixtures || this.fixtures.find((x) => x.storing) != null;
  }
  init() {
    this.getFixtures();
  }
  // #endregion
  ngAfterViewInit() {
    setTimeout(() => {
      this.init();
      setTimeout(() => {
        if (this.route != null) {
          this.route.initialized.next();
        }
      }, 32);
    }, 16);
  }
  ngOnDestroy() {
  }
};
_FixturesComponent.\u0275fac = function FixturesComponent_Factory(__ngFactoryType__) {
  return new (__ngFactoryType__ || _FixturesComponent)(\u0275\u0275directiveInject(FixtureService));
};
_FixturesComponent.\u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _FixturesComponent, selectors: [["fixtures"]], viewQuery: function FixturesComponent_Query(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275viewQuery(_c02, 5);
  }
  if (rf & 2) {
    let _t;
    \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx.componentElm = _t.first);
  }
}, inputs: { route: "route" }, standalone: false, decls: 3, vars: 3, consts: [["id", "fixtures"], [1, "content"], [1, "fixtures"], [1, "fixture"], [1, "image"], ["width", "1", "height", "1"], [1, "fa-light", "fa-image-slash"], [3, "src"], [1, "input-wrap"], ["type", "text", "placeholder", "SVG Image (Base 64)", 3, "ngModelChange", "input", "ngModel"]], template: function FixturesComponent_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "section", 0);
    \u0275\u0275conditionalCreate(1, FixturesComponent_Conditional_1_Template, 5, 4, "div", 1);
    \u0275\u0275elementEnd();
    \u0275\u0275element(2, "loader");
  }
  if (rf & 2) {
    \u0275\u0275advance();
    \u0275\u0275conditional(ctx.hasFixtures ? 1 : -1);
    \u0275\u0275advance();
    \u0275\u0275classProp("active", ctx.showLoader);
  }
}, dependencies: [LoaderComponent, DefaultValueAccessor, NgControlStatus, NgModel, OrderByPipe, DatePipe], styles: ["\n\n#fixtures[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  overflow-x: hidden;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  position: relative;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%] {\n  font-size: 0;\n  padding: 2vw;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%] {\n  display: inline-block;\n  width: calc(25% - 1.5vw);\n  vertical-align: top;\n  font-size: 1rem;\n  border-radius: 1vw;\n  background-color: var(--color2);\n  margin-left: 2vw;\n  margin-top: 2vw;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  padding: 1vw 1vw 0;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h1[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  -ms-text-overflow: ellipsis;\n  -o-text-overflow: ellipsis;\n  text-overflow: ellipsis;\n  display: block;\n  white-space: nowrap;\n  overflow: hidden;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  font-size: 1vw;\n  color: var(--color1Alt1);\n  font-weight: var(--stdweight);\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  padding: 1vw;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .image[_ngcontent-%COMP%] {\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  position: relative;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .image[_ngcontent-%COMP%]   canvas[_ngcontent-%COMP%] {\n  width: 100%;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .image[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -moz-transform: translate(-50%, -50%);\n  -ms-transform: translate(-50%, -50%);\n  -o-transform: translate(-50%, -50%);\n  -webkit-transform: translate(-50%, -50%);\n  transform: translate(-50%, -50%);\n  font-size: 8vw;\n  color: var(--color2Alt4);\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .image[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -moz-transform: translate(-50%, -50%);\n  -ms-transform: translate(-50%, -50%);\n  -o-transform: translate(-50%, -50%);\n  -webkit-transform: translate(-50%, -50%);\n  transform: translate(-50%, -50%);\n  height: 80%;\n  max-width: 80%;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt3) solid;\n  border-radius: 1vw;\n  padding: 0.4vw 1vw;\n  background-color: var(--color2);\n  -moz-transition: border-color 0.2s linear;\n  -o-transition: border-color 0.2s linear;\n  -webkit-transition: border-color 0.2s linear;\n  transition: border-color 0.2s linear;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]   input[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]:focus-within {\n  border-color: var(--color3);\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]:nth-child(-n+4) {\n  margin-top: 0;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]:first-child, \n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]:nth-child(4n+1) {\n  margin-left: 0;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%] {\n  table-layout: fixed;\n  width: 100%;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th.image[_ngcontent-%COMP%], \n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   td.image[_ngcontent-%COMP%], \n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   th.image[_ngcontent-%COMP%], \n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   td.image[_ngcontent-%COMP%] {\n  width: 8vw;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%] {\n  padding: 0.6vw 0;\n  background-color: var(--color2Alt3);\n  position: relative;\n  border-right: 0.1vw var(--color1Alt1) solid;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]    > .title[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  padding: 0 2vw;\n  color: var(--color1);\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]    > .icon[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  -moz-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  -o-transform: translateY(-50%);\n  -webkit-transform: translateY(-50%);\n  transform: translateY(-50%);\n  right: 1.2vw;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]    > .icon[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]:last-child {\n  border-right: none;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%] {\n  border-top: 0.1vw var(--color1Alt1) solid;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%] {\n  padding: 0.4vw 1vw;\n  border-right: 0.1vw var(--color2Alt3) solid;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .value[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  font-size: 1.2vw;\n  color: var(--color1);\n  -ms-text-overflow: ellipsis;\n  -o-text-overflow: ellipsis;\n  text-overflow: ellipsis;\n  display: block;\n  white-space: nowrap;\n  overflow: hidden;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt3) solid;\n  border-radius: 1vw;\n  padding: 0.4vw 1vw;\n  background-color: var(--color2);\n  -moz-transition: border-color 0.2s linear;\n  -o-transition: border-color 0.2s linear;\n  -webkit-transition: border-color 0.2s linear;\n  transition: border-color 0.2s linear;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]   input[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]:focus-within {\n  border-color: var(--color3);\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .image[_ngcontent-%COMP%] {\n  display: block;\n  text-align: center;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]    > .image[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  height: 4vw;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]:last-child {\n  border-right: none;\n}\n#fixtures[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:nth-child(even) {\n  background-color: var(--color2Alt2);\n}\nloader[_ngcontent-%COMP%] {\n  position: absolute;\n  bottom: 2vw;\n  right: 2vw;\n  height: 4vw;\n  width: 4vw;\n  z-index: 2;\n  display: block;\n  opacity: 0;\n  pointer-events: none;\n  -moz-transition: opacity 0.5s linear;\n  -o-transition: opacity 0.5s linear;\n  -webkit-transition: opacity 0.5s linear;\n  transition: opacity 0.5s linear;\n}\nloader.active[_ngcontent-%COMP%] {\n  opacity: 1;\n}\n/*# sourceMappingURL=fixtures.component.css.map */"] });
var FixturesComponent = _FixturesComponent;
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(FixturesComponent, [{
    type: Component,
    args: [{ standalone: false, selector: "fixtures", template: `<section id="fixtures">
  @if (hasFixtures) {
    <div class="content">
      <div class="fixtures">
        @for (fixture of fixtures | orderBy:sort:sortDescending; track fixture) {
          <div class="fixture">
            <header>
              <h1>{{fixture.name}}</h1>
              <h2>{{fixture.lastUpdated_Utc | date:'MMM dd, yyyy hh:mm a'}}</h2>
            </header>
            <div class="content">
              <div class="image">
                <canvas width="1" height="1"></canvas>
                @if (fixture.imageSrc_Base64 == null) {
                  <i class="fa-light fa-image-slash"></i>
                }
                @if (fixture.imageSrc_Base64 != null) {
                  <img [src]="fixture.imageSrc_Base64" />
                }
              </div>
              <div class="input-wrap">
                <input type="text" placeholder="SVG Image (Base 64)" [(ngModel)]="fixture.imageSrc_Base64" (input)="storeFixture(fixture)" />
              </div>
            </div>
          </div>
        }
      </div>
    </div>
  }
</section>

<loader [class.active]="showLoader"></loader>`, styles: ["/* src/app/administration/entities/components/fixtures/fixtures.component.scss */\n#fixtures {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  overflow-x: hidden;\n}\n#fixtures > .content {\n  position: relative;\n}\n#fixtures > .content > .fixtures {\n  font-size: 0;\n  padding: 2vw;\n}\n#fixtures > .content > .fixtures > .fixture {\n  display: inline-block;\n  width: calc(25% - 1.5vw);\n  vertical-align: top;\n  font-size: 1rem;\n  border-radius: 1vw;\n  background-color: var(--color2);\n  margin-left: 2vw;\n  margin-top: 2vw;\n}\n#fixtures > .content > .fixtures > .fixture > header {\n  padding: 1vw 1vw 0;\n}\n#fixtures > .content > .fixtures > .fixture > header > h1 {\n  font-size: 1.6vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  -ms-text-overflow: ellipsis;\n  -o-text-overflow: ellipsis;\n  text-overflow: ellipsis;\n  display: block;\n  white-space: nowrap;\n  overflow: hidden;\n}\n#fixtures > .content > .fixtures > .fixture > header > h2 {\n  font-size: 1vw;\n  color: var(--color1Alt1);\n  font-weight: var(--stdweight);\n}\n#fixtures > .content > .fixtures > .fixture > .content {\n  padding: 1vw;\n}\n#fixtures > .content > .fixtures > .fixture > .content > .image {\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  position: relative;\n}\n#fixtures > .content > .fixtures > .fixture > .content > .image canvas {\n  width: 100%;\n}\n#fixtures > .content > .fixtures > .fixture > .content > .image i {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -moz-transform: translate(-50%, -50%);\n  -ms-transform: translate(-50%, -50%);\n  -o-transform: translate(-50%, -50%);\n  -webkit-transform: translate(-50%, -50%);\n  transform: translate(-50%, -50%);\n  font-size: 8vw;\n  color: var(--color2Alt4);\n}\n#fixtures > .content > .fixtures > .fixture > .content > .image img {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -moz-transform: translate(-50%, -50%);\n  -ms-transform: translate(-50%, -50%);\n  -o-transform: translate(-50%, -50%);\n  -webkit-transform: translate(-50%, -50%);\n  transform: translate(-50%, -50%);\n  height: 80%;\n  max-width: 80%;\n}\n#fixtures > .content > .fixtures > .fixture > .content > .input-wrap {\n  margin-top: 1vw;\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt3) solid;\n  border-radius: 1vw;\n  padding: 0.4vw 1vw;\n  background-color: var(--color2);\n  -moz-transition: border-color 0.2s linear;\n  -o-transition: border-color 0.2s linear;\n  -webkit-transition: border-color 0.2s linear;\n  transition: border-color 0.2s linear;\n}\n#fixtures > .content > .fixtures > .fixture > .content > .input-wrap input {\n  display: block;\n  width: 100%;\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#fixtures > .content > .fixtures > .fixture > .content > .input-wrap:focus-within {\n  border-color: var(--color3);\n}\n#fixtures > .content > .fixtures > .fixture:nth-child(-n+4) {\n  margin-top: 0;\n}\n#fixtures > .content > .fixtures > .fixture:first-child,\n#fixtures > .content > .fixtures > .fixture:nth-child(4n+1) {\n  margin-left: 0;\n}\n#fixtures > .content > table {\n  table-layout: fixed;\n  width: 100%;\n}\n#fixtures > .content > table thead th.image,\n#fixtures > .content > table thead td.image,\n#fixtures > .content > table tbody th.image,\n#fixtures > .content > table tbody td.image {\n  width: 8vw;\n}\n#fixtures > .content > table thead th {\n  padding: 0.6vw 0;\n  background-color: var(--color2Alt3);\n  position: relative;\n  border-right: 0.1vw var(--color1Alt1) solid;\n}\n#fixtures > .content > table thead th > .title {\n  font-size: 1.2vw;\n  padding: 0 2vw;\n  color: var(--color1);\n}\n#fixtures > .content > table thead th > .icon {\n  position: absolute;\n  top: 50%;\n  -moz-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  -o-transform: translateY(-50%);\n  -webkit-transform: translateY(-50%);\n  transform: translateY(-50%);\n  right: 1.2vw;\n}\n#fixtures > .content > table thead th > .icon i {\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#fixtures > .content > table thead th:last-child {\n  border-right: none;\n}\n#fixtures > .content > table tbody tr {\n  border-top: 0.1vw var(--color1Alt1) solid;\n}\n#fixtures > .content > table tbody tr td {\n  padding: 0.4vw 1vw;\n  border-right: 0.1vw var(--color2Alt3) solid;\n}\n#fixtures > .content > table tbody tr td > .value {\n  display: block;\n  width: 100%;\n  font-size: 1.2vw;\n  color: var(--color1);\n  -ms-text-overflow: ellipsis;\n  -o-text-overflow: ellipsis;\n  text-overflow: ellipsis;\n  display: block;\n  white-space: nowrap;\n  overflow: hidden;\n}\n#fixtures > .content > table tbody tr td > .input-wrap {\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt3) solid;\n  border-radius: 1vw;\n  padding: 0.4vw 1vw;\n  background-color: var(--color2);\n  -moz-transition: border-color 0.2s linear;\n  -o-transition: border-color 0.2s linear;\n  -webkit-transition: border-color 0.2s linear;\n  transition: border-color 0.2s linear;\n}\n#fixtures > .content > table tbody tr td > .input-wrap input {\n  display: block;\n  width: 100%;\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n#fixtures > .content > table tbody tr td > .input-wrap:focus-within {\n  border-color: var(--color3);\n}\n#fixtures > .content > table tbody tr td > .image {\n  display: block;\n  text-align: center;\n}\n#fixtures > .content > table tbody tr td > .image img {\n  height: 4vw;\n}\n#fixtures > .content > table tbody tr td:last-child {\n  border-right: none;\n}\n#fixtures > .content > table tbody tr:nth-child(even) {\n  background-color: var(--color2Alt2);\n}\nloader {\n  position: absolute;\n  bottom: 2vw;\n  right: 2vw;\n  height: 4vw;\n  width: 4vw;\n  z-index: 2;\n  display: block;\n  opacity: 0;\n  pointer-events: none;\n  -moz-transition: opacity 0.5s linear;\n  -o-transition: opacity 0.5s linear;\n  -webkit-transition: opacity 0.5s linear;\n  transition: opacity 0.5s linear;\n}\nloader.active {\n  opacity: 1;\n}\n/*# sourceMappingURL=fixtures.component.css.map */\n"] }]
  }], () => [{ type: FixtureService }], { route: [{
    type: Input,
    args: ["route"]
  }], componentElm: [{
    type: ViewChild,
    args: ["componentElm"]
  }] });
})();
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(FixturesComponent, { className: "FixturesComponent" });
})();

// src/app/administration/entities/components/layout/layout.component.ts
var _c03 = ["componentElm"];
function LayoutComponent_Conditional_3_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "attributes", 4);
  }
  if (rf & 2) {
    const ctx_r0 = \u0275\u0275nextContext();
    \u0275\u0275classMap(\u0275\u0275interpolate1("route ", ctx_r0.attributesRoute == null ? null : ctx_r0.attributesRoute.loadDirection));
    \u0275\u0275classProp("rendered", ctx_r0.attributesRoute == null ? null : ctx_r0.attributesRoute.rendered)("animate", ctx_r0.attributesRoute == null ? null : ctx_r0.attributesRoute.animating)("closing", ctx_r0.attributesRoute == null ? null : ctx_r0.attributesRoute.closing);
    \u0275\u0275property("route", ctx_r0.attributesRoute);
  }
}
function LayoutComponent_Conditional_4_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275element(0, "fixtures", 4);
  }
  if (rf & 2) {
    const ctx_r0 = \u0275\u0275nextContext();
    \u0275\u0275classMap(\u0275\u0275interpolate1("route ", ctx_r0.fixturesRoute == null ? null : ctx_r0.fixturesRoute.loadDirection));
    \u0275\u0275classProp("rendered", ctx_r0.fixturesRoute == null ? null : ctx_r0.fixturesRoute.rendered)("animate", ctx_r0.fixturesRoute == null ? null : ctx_r0.fixturesRoute.animating)("closing", ctx_r0.fixturesRoute == null ? null : ctx_r0.fixturesRoute.closing);
    \u0275\u0275property("route", ctx_r0.fixturesRoute);
  }
}
var _LayoutComponent = class _LayoutComponent {
  constructor(routeService, adminService, uiService) {
    this.routeService = routeService;
    this.adminService = adminService;
    this.uiService = uiService;
    this.RouteType = RouteType;
    this.routesInitialized = false;
    this.params = new BehaviorSubject([]);
  }
  get routes() {
    return this.routeService.routes;
  }
  initRoutes(initialRouteType = void 0) {
    setTimeout(() => {
      if (this.componentElm != null) {
        const routes = {
          [RouteType.attributes]: new InternalRoute(RouteType.attributes),
          [RouteType.fixtures]: new InternalRoute(RouteType.fixtures)
        };
        const initialRoute = initialRouteType != null ? initialRouteType : RouteType.attributes;
        this.routeService.init(routes, initialRoute, 250, this.componentElm.nativeElement);
        this.routeSubscription = this.routeService.activeRoute.subscribe({
          next: (route) => {
            if (route != null) {
              switch (route.type) {
                case RouteType.attributes:
                  {
                    this.setTitle("Attributes");
                  }
                  break;
                case RouteType.fixtures:
                  {
                    this.setTitle("Fixtures");
                  }
                  break;
              }
            }
          }
        });
        this.routesInitialized = true;
      }
    }, 0);
  }
  viewRoute(type) {
    if (type != null) {
      this.routeService.viewRoute(type, RouteLoadDirection.Forward, true);
    }
  }
  // #endregion
  // #region Attributes
  get attributesRoute() {
    return this.routes[RouteType.attributes];
  }
  // #endregion
  // #region Fixtures
  get fixturesRoute() {
    return this.routes[RouteType.fixtures];
  }
  watchParams() {
    this.paramsSubscription = this.params.subscribe({
      next: (params) => {
        let route = params[0]?.toLowerCase();
        if (route != null) {
          const routeMatches = Object.values(RouteType).includes(route);
          if (routeMatches) {
            if (!this.routesInitialized) {
              this.initRoutes(route);
            } else {
              this.viewRoute(route);
            }
          } else {
            if (!this.routesInitialized) {
              this.initRoutes();
            }
          }
        }
      }
    });
  }
  setTitle(routeTitle) {
    this.adminService.routeTitle.next(routeTitle);
  }
  init() {
    this.watchParams();
  }
  // #endregion
  ngOnInit() {
    this.init();
  }
  ngOnDestroy() {
  }
};
_LayoutComponent.\u0275fac = function LayoutComponent_Factory(__ngFactoryType__) {
  return new (__ngFactoryType__ || _LayoutComponent)(\u0275\u0275directiveInject(InternalRouteService), \u0275\u0275directiveInject(AdministrationService), \u0275\u0275directiveInject(UiService));
};
_LayoutComponent.\u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _LayoutComponent, selectors: [["layout"]], viewQuery: function LayoutComponent_Query(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275viewQuery(_c03, 5);
  }
  if (rf & 2) {
    let _t;
    \u0275\u0275queryRefresh(_t = \u0275\u0275loadQuery()) && (ctx.componentElm = _t.first);
  }
}, inputs: { params: "params" }, standalone: false, decls: 5, vars: 2, consts: [["componentElm", ""], ["id", "entitiesLayout"], [1, "routes"], [3, "class", "route", "rendered", "animate", "closing"], [3, "route"]], template: function LayoutComponent_Template(rf, ctx) {
  if (rf & 1) {
    \u0275\u0275elementStart(0, "section", 1, 0)(2, "div", 2);
    \u0275\u0275conditionalCreate(3, LayoutComponent_Conditional_3_Template, 1, 10, "attributes", 3);
    \u0275\u0275conditionalCreate(4, LayoutComponent_Conditional_4_Template, 1, 10, "fixtures", 3);
    \u0275\u0275elementEnd()();
  }
  if (rf & 2) {
    \u0275\u0275advance(3);
    \u0275\u0275conditional((ctx.attributesRoute == null ? null : ctx.attributesRoute.active) ? 3 : -1);
    \u0275\u0275advance();
    \u0275\u0275conditional((ctx.fixturesRoute == null ? null : ctx.fixturesRoute.active) ? 4 : -1);
  }
}, dependencies: [AttributesComponent, FixturesComponent], styles: ["\n\n@-webkit-keyframes _ngcontent-%COMP%_forwardRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-moz-keyframes forwardRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-o-keyframes forwardRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@keyframes _ngcontent-%COMP%_forwardRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-webkit-keyframes _ngcontent-%COMP%_forwardRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-moz-keyframes forwardRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-o-keyframes forwardRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@keyframes _ngcontent-%COMP%_forwardRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-webkit-keyframes _ngcontent-%COMP%_reverseRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-moz-keyframes reverseRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-o-keyframes reverseRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@keyframes _ngcontent-%COMP%_reverseRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-webkit-keyframes _ngcontent-%COMP%_reverseRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-moz-keyframes reverseRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-o-keyframes reverseRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@keyframes _ngcontent-%COMP%_reverseRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n#entitiesLayout[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: var(--color2Alt1);\n}\n#entitiesLayout[_ngcontent-%COMP%]    > .routes[_ngcontent-%COMP%]    > .route[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  overflow-x: hidden;\n  will-change: transform;\n}\n#entitiesLayout[_ngcontent-%COMP%]    > .routes[_ngcontent-%COMP%]    > .route[_ngcontent-%COMP%]:not(.rendered):not(.animate) {\n  opacity: 0;\n}\n#entitiesLayout[_ngcontent-%COMP%]    > .routes[_ngcontent-%COMP%]    > .route.forward.animate[_ngcontent-%COMP%]:not(.closing) {\n  -moz-animation-name: forwardRouteLoadIn;\n  -ms-animation-name: forwardRouteLoadIn;\n  -o-animation-name: forwardRouteLoadIn;\n  -webkit-animation-name: _ngcontent-%COMP%_forwardRouteLoadIn;\n  animation-name: _ngcontent-%COMP%_forwardRouteLoadIn;\n  -moz-animation-iteration-count: 1;\n  -ms-animation-iteration-count: 1;\n  -o-animation-iteration-count: 1;\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -moz-animation-timing-function: var(--easeInOutQuad);\n  -ms-animation-timing-function: var(--easeInOutQuad);\n  -o-animation-timing-function: var(--easeInOutQuad);\n  -webkit-animation-timing-function: var(--easeInOutQuad);\n  animation-timing-function: var(--easeInOutQuad);\n  -moz-animation-duration: var(--routeTransition);\n  -ms-animation-duration: var(--routeTransition);\n  -o-animation-duration: var(--routeTransition);\n  -webkit-animation-duration: var(--routeTransition);\n  animation-duration: var(--routeTransition);\n  -moz-animation-direction: normal;\n  -ms-animation-direction: normal;\n  -o-animation-direction: normal;\n  -webkit-animation-direction: normal;\n  animation-direction: normal;\n  -moz-animation-delay: 0s;\n  -ms-animation-delay: 0s;\n  -o-animation-delay: 0s;\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n  -moz-animation-fill-mode: forwards;\n  -ms-animation-fill-mode: forwards;\n  -o-animation-fill-mode: forwards;\n  -webkit-animation-fill-mode: forwards;\n  animation-fill-mode: forwards;\n}\n#entitiesLayout[_ngcontent-%COMP%]    > .routes[_ngcontent-%COMP%]    > .route.forward.animate.closing[_ngcontent-%COMP%] {\n  -moz-animation-name: forwardRouteLoadOut;\n  -ms-animation-name: forwardRouteLoadOut;\n  -o-animation-name: forwardRouteLoadOut;\n  -webkit-animation-name: _ngcontent-%COMP%_forwardRouteLoadOut;\n  animation-name: _ngcontent-%COMP%_forwardRouteLoadOut;\n  -moz-animation-iteration-count: 1;\n  -ms-animation-iteration-count: 1;\n  -o-animation-iteration-count: 1;\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -moz-animation-timing-function: var(--easeInOutQuad);\n  -ms-animation-timing-function: var(--easeInOutQuad);\n  -o-animation-timing-function: var(--easeInOutQuad);\n  -webkit-animation-timing-function: var(--easeInOutQuad);\n  animation-timing-function: var(--easeInOutQuad);\n  -moz-animation-duration: var(--routeTransition);\n  -ms-animation-duration: var(--routeTransition);\n  -o-animation-duration: var(--routeTransition);\n  -webkit-animation-duration: var(--routeTransition);\n  animation-duration: var(--routeTransition);\n  -moz-animation-direction: normal;\n  -ms-animation-direction: normal;\n  -o-animation-direction: normal;\n  -webkit-animation-direction: normal;\n  animation-direction: normal;\n  -moz-animation-delay: 0s;\n  -ms-animation-delay: 0s;\n  -o-animation-delay: 0s;\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n  -moz-animation-fill-mode: forwards;\n  -ms-animation-fill-mode: forwards;\n  -o-animation-fill-mode: forwards;\n  -webkit-animation-fill-mode: forwards;\n  animation-fill-mode: forwards;\n}\n#entitiesLayout[_ngcontent-%COMP%]    > .routes[_ngcontent-%COMP%]    > .route.reverse.animate[_ngcontent-%COMP%]:not(.closing) {\n  -moz-animation-name: reverseRouteLoadIn;\n  -ms-animation-name: reverseRouteLoadIn;\n  -o-animation-name: reverseRouteLoadIn;\n  -webkit-animation-name: _ngcontent-%COMP%_reverseRouteLoadIn;\n  animation-name: _ngcontent-%COMP%_reverseRouteLoadIn;\n  -moz-animation-iteration-count: 1;\n  -ms-animation-iteration-count: 1;\n  -o-animation-iteration-count: 1;\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -moz-animation-timing-function: var(--easeInOutQuad);\n  -ms-animation-timing-function: var(--easeInOutQuad);\n  -o-animation-timing-function: var(--easeInOutQuad);\n  -webkit-animation-timing-function: var(--easeInOutQuad);\n  animation-timing-function: var(--easeInOutQuad);\n  -moz-animation-duration: var(--routeTransition);\n  -ms-animation-duration: var(--routeTransition);\n  -o-animation-duration: var(--routeTransition);\n  -webkit-animation-duration: var(--routeTransition);\n  animation-duration: var(--routeTransition);\n  -moz-animation-direction: normal;\n  -ms-animation-direction: normal;\n  -o-animation-direction: normal;\n  -webkit-animation-direction: normal;\n  animation-direction: normal;\n  -moz-animation-delay: 0s;\n  -ms-animation-delay: 0s;\n  -o-animation-delay: 0s;\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n  -moz-animation-fill-mode: forwards;\n  -ms-animation-fill-mode: forwards;\n  -o-animation-fill-mode: forwards;\n  -webkit-animation-fill-mode: forwards;\n  animation-fill-mode: forwards;\n}\n#entitiesLayout[_ngcontent-%COMP%]    > .routes[_ngcontent-%COMP%]    > .route.reverse.animate.closing[_ngcontent-%COMP%] {\n  -moz-animation-name: reverseRouteLoadOut;\n  -ms-animation-name: reverseRouteLoadOut;\n  -o-animation-name: reverseRouteLoadOut;\n  -webkit-animation-name: _ngcontent-%COMP%_reverseRouteLoadOut;\n  animation-name: _ngcontent-%COMP%_reverseRouteLoadOut;\n  -moz-animation-iteration-count: 1;\n  -ms-animation-iteration-count: 1;\n  -o-animation-iteration-count: 1;\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -moz-animation-timing-function: var(--easeInOutQuad);\n  -ms-animation-timing-function: var(--easeInOutQuad);\n  -o-animation-timing-function: var(--easeInOutQuad);\n  -webkit-animation-timing-function: var(--easeInOutQuad);\n  animation-timing-function: var(--easeInOutQuad);\n  -moz-animation-duration: var(--routeTransition);\n  -ms-animation-duration: var(--routeTransition);\n  -o-animation-duration: var(--routeTransition);\n  -webkit-animation-duration: var(--routeTransition);\n  animation-duration: var(--routeTransition);\n  -moz-animation-direction: normal;\n  -ms-animation-direction: normal;\n  -o-animation-direction: normal;\n  -webkit-animation-direction: normal;\n  animation-direction: normal;\n  -moz-animation-delay: 0s;\n  -ms-animation-delay: 0s;\n  -o-animation-delay: 0s;\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n  -moz-animation-fill-mode: forwards;\n  -ms-animation-fill-mode: forwards;\n  -o-animation-fill-mode: forwards;\n  -webkit-animation-fill-mode: forwards;\n  animation-fill-mode: forwards;\n}\n/*# sourceMappingURL=layout.component.css.map */"] });
var LayoutComponent = _LayoutComponent;
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(LayoutComponent, [{
    type: Component,
    args: [{ standalone: false, selector: "layout", template: '<section id="entitiesLayout" #componentElm>\n  <div class="routes">\n    @if (attributesRoute?.active) {\n      <attributes\n        class="route {{attributesRoute?.loadDirection}}"\n        [route]="attributesRoute"\n        [class.rendered]="attributesRoute?.rendered"\n        [class.animate]="attributesRoute?.animating"\n      [class.closing]="attributesRoute?.closing"></attributes>\n    }\n    @if (fixturesRoute?.active) {\n      <fixtures\n        class="route {{fixturesRoute?.loadDirection}}"\n        [route]="fixturesRoute"\n        [class.rendered]="fixturesRoute?.rendered"\n        [class.animate]="fixturesRoute?.animating"\n      [class.closing]="fixturesRoute?.closing"></fixtures>\n    }\n  </div>\n</section>', styles: ["/* src/app/administration/entities/components/layout/layout.component.scss */\n@-webkit-keyframes forwardRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-moz-keyframes forwardRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-o-keyframes forwardRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@keyframes forwardRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-webkit-keyframes forwardRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-moz-keyframes forwardRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-o-keyframes forwardRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@keyframes forwardRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-webkit-keyframes reverseRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-moz-keyframes reverseRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-o-keyframes reverseRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@keyframes reverseRouteLoadIn {\n  0% {\n    -moz-transform: translateY(100%);\n    -ms-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    -webkit-transform: translateY(100%);\n    transform: translateY(100%);\n  }\n  100% {\n    -moz-transform: translateY(0);\n    -ms-transform: translateY(0);\n    -o-transform: translateY(0);\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n}\n@-webkit-keyframes reverseRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-moz-keyframes reverseRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@-o-keyframes reverseRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n@keyframes reverseRouteLoadOut {\n  0% {\n    -moz-transform: scale(1);\n    -ms-transform: scale(1);\n    -o-transform: scale(1);\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -moz-transform: scale(0.8);\n    -ms-transform: scale(0.8);\n    -o-transform: scale(0.8);\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n    opacity: 0;\n  }\n}\n#entitiesLayout {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: var(--color2Alt1);\n}\n#entitiesLayout > .routes > .route {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  overflow-x: hidden;\n  will-change: transform;\n}\n#entitiesLayout > .routes > .route:not(.rendered):not(.animate) {\n  opacity: 0;\n}\n#entitiesLayout > .routes > .route.forward.animate:not(.closing) {\n  -moz-animation-name: forwardRouteLoadIn;\n  -ms-animation-name: forwardRouteLoadIn;\n  -o-animation-name: forwardRouteLoadIn;\n  -webkit-animation-name: forwardRouteLoadIn;\n  animation-name: forwardRouteLoadIn;\n  -moz-animation-iteration-count: 1;\n  -ms-animation-iteration-count: 1;\n  -o-animation-iteration-count: 1;\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -moz-animation-timing-function: var(--easeInOutQuad);\n  -ms-animation-timing-function: var(--easeInOutQuad);\n  -o-animation-timing-function: var(--easeInOutQuad);\n  -webkit-animation-timing-function: var(--easeInOutQuad);\n  animation-timing-function: var(--easeInOutQuad);\n  -moz-animation-duration: var(--routeTransition);\n  -ms-animation-duration: var(--routeTransition);\n  -o-animation-duration: var(--routeTransition);\n  -webkit-animation-duration: var(--routeTransition);\n  animation-duration: var(--routeTransition);\n  -moz-animation-direction: normal;\n  -ms-animation-direction: normal;\n  -o-animation-direction: normal;\n  -webkit-animation-direction: normal;\n  animation-direction: normal;\n  -moz-animation-delay: 0s;\n  -ms-animation-delay: 0s;\n  -o-animation-delay: 0s;\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n  -moz-animation-fill-mode: forwards;\n  -ms-animation-fill-mode: forwards;\n  -o-animation-fill-mode: forwards;\n  -webkit-animation-fill-mode: forwards;\n  animation-fill-mode: forwards;\n}\n#entitiesLayout > .routes > .route.forward.animate.closing {\n  -moz-animation-name: forwardRouteLoadOut;\n  -ms-animation-name: forwardRouteLoadOut;\n  -o-animation-name: forwardRouteLoadOut;\n  -webkit-animation-name: forwardRouteLoadOut;\n  animation-name: forwardRouteLoadOut;\n  -moz-animation-iteration-count: 1;\n  -ms-animation-iteration-count: 1;\n  -o-animation-iteration-count: 1;\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -moz-animation-timing-function: var(--easeInOutQuad);\n  -ms-animation-timing-function: var(--easeInOutQuad);\n  -o-animation-timing-function: var(--easeInOutQuad);\n  -webkit-animation-timing-function: var(--easeInOutQuad);\n  animation-timing-function: var(--easeInOutQuad);\n  -moz-animation-duration: var(--routeTransition);\n  -ms-animation-duration: var(--routeTransition);\n  -o-animation-duration: var(--routeTransition);\n  -webkit-animation-duration: var(--routeTransition);\n  animation-duration: var(--routeTransition);\n  -moz-animation-direction: normal;\n  -ms-animation-direction: normal;\n  -o-animation-direction: normal;\n  -webkit-animation-direction: normal;\n  animation-direction: normal;\n  -moz-animation-delay: 0s;\n  -ms-animation-delay: 0s;\n  -o-animation-delay: 0s;\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n  -moz-animation-fill-mode: forwards;\n  -ms-animation-fill-mode: forwards;\n  -o-animation-fill-mode: forwards;\n  -webkit-animation-fill-mode: forwards;\n  animation-fill-mode: forwards;\n}\n#entitiesLayout > .routes > .route.reverse.animate:not(.closing) {\n  -moz-animation-name: reverseRouteLoadIn;\n  -ms-animation-name: reverseRouteLoadIn;\n  -o-animation-name: reverseRouteLoadIn;\n  -webkit-animation-name: reverseRouteLoadIn;\n  animation-name: reverseRouteLoadIn;\n  -moz-animation-iteration-count: 1;\n  -ms-animation-iteration-count: 1;\n  -o-animation-iteration-count: 1;\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -moz-animation-timing-function: var(--easeInOutQuad);\n  -ms-animation-timing-function: var(--easeInOutQuad);\n  -o-animation-timing-function: var(--easeInOutQuad);\n  -webkit-animation-timing-function: var(--easeInOutQuad);\n  animation-timing-function: var(--easeInOutQuad);\n  -moz-animation-duration: var(--routeTransition);\n  -ms-animation-duration: var(--routeTransition);\n  -o-animation-duration: var(--routeTransition);\n  -webkit-animation-duration: var(--routeTransition);\n  animation-duration: var(--routeTransition);\n  -moz-animation-direction: normal;\n  -ms-animation-direction: normal;\n  -o-animation-direction: normal;\n  -webkit-animation-direction: normal;\n  animation-direction: normal;\n  -moz-animation-delay: 0s;\n  -ms-animation-delay: 0s;\n  -o-animation-delay: 0s;\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n  -moz-animation-fill-mode: forwards;\n  -ms-animation-fill-mode: forwards;\n  -o-animation-fill-mode: forwards;\n  -webkit-animation-fill-mode: forwards;\n  animation-fill-mode: forwards;\n}\n#entitiesLayout > .routes > .route.reverse.animate.closing {\n  -moz-animation-name: reverseRouteLoadOut;\n  -ms-animation-name: reverseRouteLoadOut;\n  -o-animation-name: reverseRouteLoadOut;\n  -webkit-animation-name: reverseRouteLoadOut;\n  animation-name: reverseRouteLoadOut;\n  -moz-animation-iteration-count: 1;\n  -ms-animation-iteration-count: 1;\n  -o-animation-iteration-count: 1;\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -moz-animation-timing-function: var(--easeInOutQuad);\n  -ms-animation-timing-function: var(--easeInOutQuad);\n  -o-animation-timing-function: var(--easeInOutQuad);\n  -webkit-animation-timing-function: var(--easeInOutQuad);\n  animation-timing-function: var(--easeInOutQuad);\n  -moz-animation-duration: var(--routeTransition);\n  -ms-animation-duration: var(--routeTransition);\n  -o-animation-duration: var(--routeTransition);\n  -webkit-animation-duration: var(--routeTransition);\n  animation-duration: var(--routeTransition);\n  -moz-animation-direction: normal;\n  -ms-animation-direction: normal;\n  -o-animation-direction: normal;\n  -webkit-animation-direction: normal;\n  animation-direction: normal;\n  -moz-animation-delay: 0s;\n  -ms-animation-delay: 0s;\n  -o-animation-delay: 0s;\n  -webkit-animation-delay: 0s;\n  animation-delay: 0s;\n  -moz-animation-fill-mode: forwards;\n  -ms-animation-fill-mode: forwards;\n  -o-animation-fill-mode: forwards;\n  -webkit-animation-fill-mode: forwards;\n  animation-fill-mode: forwards;\n}\n/*# sourceMappingURL=layout.component.css.map */\n"] }]
  }], () => [{ type: InternalRouteService }, { type: AdministrationService }, { type: UiService }], { componentElm: [{
    type: ViewChild,
    args: ["componentElm"]
  }], params: [{
    type: Input,
    args: ["params"]
  }] });
})();
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(LayoutComponent, { className: "LayoutComponent" });
})();

// src/app/administration/entities/entities.module.ts
var _EntitiesModule = class _EntitiesModule {
  constructor(injector) {
    this.injector = injector;
    this.ngDoBootstrap();
  }
  ngDoBootstrap() {
    const el = createCustomElement(LayoutComponent, { injector: this.injector });
    customElements.define("administration-entities", el);
  }
};
_EntitiesModule.\u0275fac = function EntitiesModule_Factory(__ngFactoryType__) {
  return new (__ngFactoryType__ || _EntitiesModule)(\u0275\u0275inject(Injector));
};
_EntitiesModule.\u0275mod = /* @__PURE__ */ \u0275\u0275defineNgModule({ type: _EntitiesModule });
_EntitiesModule.\u0275inj = /* @__PURE__ */ \u0275\u0275defineInjector({ providers: [
  InternalRouteService,
  FixtureService,
  EntityService,
  provideHttpClient(withInterceptorsFromDi())
], imports: [
  UiModule,
  CommonModule,
  FormsModule,
  ReactiveFormsModule
] });
var EntitiesModule = _EntitiesModule;
(() => {
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(EntitiesModule, [{
    type: NgModule,
    args: [{
      declarations: [
        LayoutComponent,
        AttributesComponent,
        FixturesComponent
      ],
      schemas: [
        CUSTOM_ELEMENTS_SCHEMA
      ],
      imports: [
        UiModule,
        CommonModule,
        FormsModule,
        ReactiveFormsModule
      ],
      providers: [
        InternalRouteService,
        FixtureService,
        EntityService,
        provideHttpClient(withInterceptorsFromDi())
      ]
    }]
  }], () => [{ type: Injector }], null);
})();
export {
  EntitiesModule
};
//# sourceMappingURL=chunk-Y7B6TS4Y.js.map
