"use strict";
(self["webpackChunkproject"] = self["webpackChunkproject"] || []).push([[625],{

/***/ 3424:
/*!**************************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/attributes/attributes.component.ts ***!
  \**************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AttributesComponent: () => (/* binding */ AttributesComponent)
/* harmony export */ });
/* harmony import */ var src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/shared/appointments/models/appointment */ 8723);
/* harmony import */ var src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/shared/properties/models/property */ 1750);
/* harmony import */ var src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/appointments/models/rendering */ 3114);
/* harmony import */ var src_app_shared_entities_models_attributes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/shared/entities/models/attributes */ 7720);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common */ 6216);
/* harmony import */ var _shared_ui_pipes_order_by_pipe__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../shared/ui/pipes/order-by.pipe */ 9093);
/* Models */










const _c0 = ["componentElm"];
function AttributesComponent_div_1_span_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](0, "span", 8)(1, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtext"](2, "Can select multiple options.");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]()();
  }
}
function AttributesComponent_div_1_ng_container_4_span_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](0, "span", 10)(1, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtext"](2, "Please answer the question.");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]()();
  }
}
function AttributesComponent_div_1_ng_container_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtemplate"](1, AttributesComponent_div_1_ng_container_4_span_1_Template, 3, 0, "span", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerEnd"]();
  }
  if (rf & 2) {
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", !attribute_r1.valid);
  }
}
function AttributesComponent_div_1_ng_container_5_span_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](0, "span", 10)(1, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtext"](2, "Please select an available option.");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]()();
  }
}
function AttributesComponent_div_1_ng_container_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtemplate"](1, AttributesComponent_div_1_ng_container_5_span_1_Template, 3, 0, "span", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerEnd"]();
  }
  if (rf & 2) {
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", !attribute_r1.valid);
  }
}
function AttributesComponent_div_1_ng_container_7_Template(rf, ctx) {
  if (rf & 1) {
    const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](1, "input", 11, 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵlistener"]("input", function AttributesComponent_div_1_ng_container_7_Template_input_input_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵrestoreView"](_r2);
      const inputElm_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵreference"](2);
      const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵresetView"](ctx_r3.setAttribute(attribute_r1, inputElm_r3.value));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerEnd"]();
  }
  if (rf & 2) {
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("disabled", attribute_r1.disabled || !ctx_r3.canModifyAppointment)("value", attribute_r1.values[0])("placeholder", attribute_r1.name + " Number");
  }
}
function AttributesComponent_div_1_ng_container_8_Template(rf, ctx) {
  if (rf & 1) {
    const _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](1, "button", 12, 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵlistener"]("click", function AttributesComponent_div_1_ng_container_8_Template_button_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵrestoreView"](_r5);
      const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵresetView"](ctx_r3.setAttribute(attribute_r1, "true"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](3, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtext"](4, "Yes");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](5, "button", 12, 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵlistener"]("click", function AttributesComponent_div_1_ng_container_8_Template_button_click_5_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵrestoreView"](_r5);
      const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵresetView"](ctx_r3.setAttribute(attribute_r1, "false"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](7, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtext"](8, "No");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerEnd"]();
  }
  if (rf & 2) {
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵclassProp"]("checked", attribute_r1.values.indexOf("true") > -1);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("disabled", attribute_r1.disabled || !ctx_r3.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵclassProp"]("checked", attribute_r1.values.indexOf("false") > -1);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("disabled", attribute_r1.disabled || !ctx_r3.canModifyAppointment);
  }
}
function AttributesComponent_div_1_ng_container_9_button_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](0, "button", 12, 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵlistener"]("click", function AttributesComponent_div_1_ng_container_9_button_1_Template_button_click_0_listener() {
      const value_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵrestoreView"](_r6).$implicit;
      const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"](2).$implicit;
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵresetView"](ctx_r3.setAttribute(attribute_r1, value_r7));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](2, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtext"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const value_r7 = ctx.$implicit;
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"](2).$implicit;
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵclassProp"]("checked", attribute_r1.values.indexOf(value_r7) > -1);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("disabled", attribute_r1.disabled || !ctx_r3.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtextInterpolate"](value_r7);
  }
}
function AttributesComponent_div_1_ng_container_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtemplate"](1, AttributesComponent_div_1_ng_container_9_button_1_Template, 4, 4, "button", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerEnd"]();
  }
  if (rf & 2) {
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngForOf", attribute_r1.possibleValues);
  }
}
function AttributesComponent_div_1_ng_container_10_button_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r8 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](0, "button", 12, 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵlistener"]("click", function AttributesComponent_div_1_ng_container_10_button_1_Template_button_click_0_listener() {
      const value_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵrestoreView"](_r8).$implicit;
      const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"](2).$implicit;
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵresetView"](ctx_r3.setAttribute(attribute_r1, value_r9));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](2, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtext"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const value_r9 = ctx.$implicit;
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"](2).$implicit;
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵclassProp"]("checked", attribute_r1.values.indexOf(value_r9) > -1);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("disabled", attribute_r1.disabled || !ctx_r3.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtextInterpolate"](value_r9);
  }
}
function AttributesComponent_div_1_ng_container_10_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtemplate"](1, AttributesComponent_div_1_ng_container_10_button_1_Template, 4, 4, "button", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerEnd"]();
  }
  if (rf & 2) {
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngForOf", attribute_r1.possibleValues);
  }
}
function AttributesComponent_div_1_ng_container_11_Template(rf, ctx) {
  if (rf & 1) {
    const _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerStart"](0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](1, "input", 14, 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵlistener"]("input", function AttributesComponent_div_1_ng_container_11_Template_input_input_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵrestoreView"](_r10);
      const inputElm_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵreference"](2);
      const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵresetView"](ctx_r3.setAttribute(attribute_r1, inputElm_r11.value));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementContainerEnd"]();
  }
  if (rf & 2) {
    let tmp_5_0;
    const attribute_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]().$implicit;
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("disabled", attribute_r1.disabled || !ctx_r3.canModifyAppointment)("value", (tmp_5_0 = attribute_r1.values[0]) !== null && tmp_5_0 !== undefined ? tmp_5_0 : null)("placeholder", attribute_r1.name);
  }
}
function AttributesComponent_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](0, "div", 4)(1, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtemplate"](3, AttributesComponent_div_1_span_3_Template, 3, 0, "span", 5)(4, AttributesComponent_div_1_ng_container_4_Template, 2, 1, "ng-container", 6)(5, AttributesComponent_div_1_ng_container_5_Template, 2, 1, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](6, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtemplate"](7, AttributesComponent_div_1_ng_container_7_Template, 3, 3, "ng-container", 6)(8, AttributesComponent_div_1_ng_container_8_Template, 9, 6, "ng-container", 6)(9, AttributesComponent_div_1_ng_container_9_Template, 2, 1, "ng-container", 6)(10, AttributesComponent_div_1_ng_container_10_Template, 2, 1, "ng-container", 6)(11, AttributesComponent_div_1_ng_container_11_Template, 3, 3, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const attribute_r1 = ctx.$implicit;
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵclassProp"]("disabled", attribute_r1.disabled || !ctx_r3.canModifyAppointment)("hidden", attribute_r1.shouldHide);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtextInterpolate"](attribute_r1.name);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", attribute_r1.type == ctx_r3.EntityAttributeType.MultiSelect);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", attribute_r1.type == ctx_r3.EntityAttributeType.Input || attribute_r1.type == ctx_r3.EntityAttributeType.Number);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", attribute_r1.type == ctx_r3.EntityAttributeType.Select || attribute_r1.type == ctx_r3.EntityAttributeType.MultiSelect || attribute_r1.type == ctx_r3.EntityAttributeType.Boolean);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", attribute_r1.type == ctx_r3.EntityAttributeType.Number);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", attribute_r1.type == ctx_r3.EntityAttributeType.Boolean);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", attribute_r1.type == ctx_r3.EntityAttributeType.MultiSelect);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", attribute_r1.type == ctx_r3.EntityAttributeType.Select);
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngIf", attribute_r1.type == ctx_r3.EntityAttributeType.Input);
  }
}
/* Components */
let AttributesComponent = /*#__PURE__*/(() => {
  class AttributesComponent {
    constructor(localAppointmentService, appointmentService, uiService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      this.availableEntities = [];
      this.availableFixtures = [];
      // #endregion
      // #region Attributes
      this.EntityAttributeType = src_app_shared_entities_models_attributes__WEBPACK_IMPORTED_MODULE_3__.EntityAttributeType;
      this.attributes = [];
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    toggleAttributeValue(attribute, value) {
      if (value.length > 0) {
        const existingIndex = attribute.values.findIndex(x => x == value);
        if (existingIndex <= -1) {
          if (attribute.type == src_app_shared_entities_models_attributes__WEBPACK_IMPORTED_MODULE_3__.EntityAttributeType.MultiSelect) {
            attribute.values.push(value);
          } else {
            attribute.values = [value];
          }
        } else {
          attribute.values.splice(existingIndex, 1);
        }
      } else {
        attribute.values = [];
      }
    }
    setAttribute(attribute, value) {
      this.toggleAttributeValue(attribute, value);
      attribute.touched = true;
      this.changeAttribute(attribute);
    }
    changeAttribute(attribute) {
      if (this.entity != null) {
        const functionName = attribute.functionName?.toLowerCase();
        switch (functionName) {
          case "update number of units":
            {
              // Number of Units
              if (attribute.values.length > 0) {
                try {
                  const units = parseInt(attribute.values[0]);
                  this.updateUnits(units).then(count => {
                    attribute.values[0] = `${count}`;
                    this.appointment?.changed$.next();
                  });
                } catch {}
              }
            }
            break;
          case "update number of rooms":
            {
              // Number of Rooms
              if (attribute.values[0] != null) {
                const rooms = parseInt(attribute.values[0]);
                this.updateRooms(rooms).then(count => {
                  attribute.values[0] = `${count}`;
                  this.appointment?.changed$.next();
                });
              }
            }
            break;
          case "update number of floors":
            {
              // Number of Levels
              if (attribute.values.length > 0) {
                try {
                  const levels = parseInt(attribute.values[0]);
                  this.updateFloors(levels).then(count => {
                    attribute.values[0] = `${count}`;
                    this.appointment?.changed$.next();
                  });
                } catch {}
              }
            }
            break;
          case "update number of structures":
            {
              // Number of Structures
              if (attribute.values.length > 0) {
                try {
                  const structures = parseInt(attribute.values[0]);
                  this.updateStructures(structures).then(count => {
                    attribute.values[0] = `${count}`;
                    this.appointment?.changed$.next();
                  });
                } catch {}
              }
            }
            break;
          case "update entity name":
            {
              if (attribute.values[0] != null) {
                this.entity.name = attribute.values[0];
              } else {
                this.entity.name = this.entity.type;
              }
            }
            break;
        }
        if (this.appointment != null) {
          this.appointment.changed$.next();
        }
      }
    }
    initAttributes() {}
    // #endregion
    // #region Property
    get property() {
      return this.appointment?.property?.entity;
    }
    updateUnits(numUnits) {
      return new Promise((res, rej) => {
        if (this.property != null && this.availableUnit != null) {
          const units = this.property.entities;
          if (units.length < numUnits) {
            const delta = numUnits - units.length;
            for (var i = 0; i < delta; i++) {
              const newUnit = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.AppointmentPropertyEntity(this.uiService.generateId(), this.availableUnit.entityId, this.availableUnit.type, "Unit", 1, this.availableUnit.attributes, [], new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_2__.RenderDimensions(0, 0, 0, 0, 0), {}, [], [], [], undefined, undefined, {});
              this.property.entities.push(newUnit);
            }
            res(numUnits);
          } else if (units.length > numUnits) {
            this.uiService.prompt("Are you sure?", "Reducing the number of units will delete any excessive units you've already inspected.", "Yes, that's fine", "No, go back").subscribe({
              next: confirmed => {
                if (confirmed && this.appointment != null && this.property != null) {
                  this.property.entities = this.property.entities.slice(0, numUnits);
                  res(numUnits);
                } else {
                  res(units.length);
                }
              }
            });
          }
        }
        this.appointment?.changed$.next();
      });
    }
    // #endregion
    // #region Floor
    get floor() {
      const entity = this.entity;
      if (entity?.type == src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_1__.PropertyEntityType.Floor) {
        return entity;
      }
      return undefined;
    }
    updateRooms(roomCount) {
      return new Promise((res, rej) => {
        if (this.floor != null && this.appointment != null && this.availableRoom != null) {
          const rooms = this.floor.entities;
          const attributes = this.uiService.deepClone(this.availableRoom.attributes);
          const mappedAttributes = this.appointmentService.mapAttributes(attributes);
          if (rooms.length < roomCount) {
            const delta = roomCount - rooms.length;
            const width = 200;
            const height = 200;
            for (var i = 0; i < delta; i++) {
              const x = 15 + 225 * i;
              const y = 15;
              const roomCount = this.appointment.getRoomTypeCount("bathroom", this.appointment?.property?.entity?.entities) + 1;
              const newRoom = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.AppointmentPropertyEntity(this.uiService.generateId(), this.availableRoom.entityId, this.availableRoom.type, "Bathroom", roomCount, mappedAttributes, [], new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_2__.RenderDimensions(x, y, width, height, 0), {}, [], [], [], undefined, undefined, {});
              this.floor.entities.push(newRoom);
            }
            res(roomCount);
          } else if (rooms.length > roomCount) {
            this.uiService.prompt("Are you sure?", "Reducing the number of rooms will delete any excessive rooms on this floor you've already inspected.", "Yes, that's fine", "No, go back").subscribe({
              next: confirmed => {
                if (confirmed && this.appointment != null && this.floor != null) {
                  this.floor.entities = this.floor.entities.slice(0, roomCount);
                  res(roomCount);
                } else {
                  res(rooms.length);
                }
              }
            });
          }
        }
        this.appointment?.changed$.next();
      });
    }
    // #endregion
    // #region Units
    get unit() {
      const entity = this.entity;
      if (entity?.type == src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_1__.PropertyEntityType.Unit) {
        return entity;
      }
      return undefined;
    }
    updateStructures(numStructures) {
      return new Promise((res, rej) => {
        if (this.unit != null && this.availableStructure != null) {
          const structures = this.unit.entities;
          if (structures.length < numStructures) {
            const delta = numStructures - structures.length;
            for (var i = 0; i < delta; i++) {
              let x = 50;
              let y = 50;
              let height = 300;
              let width = 300;
              if (this.renderElm != null) {
                width = this.renderElm.offsetWidth / 2.5;
                height = width;
                x = Math.floor(Math.random() * (this.renderElm.offsetWidth - 400 - 50 + 1)) + 50;
                y = Math.floor(Math.random() * (this.renderElm.offsetHeight - 400 - 50 + 1)) + 50;
              }
              const newStructure = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.AppointmentPropertyEntity(this.uiService.generateId(), this.availableStructure.entityId, this.availableStructure.type, "New Structure", 1, this.availableStructure.attributes, [], new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_2__.RenderDimensions(x, y, width, height, 0), {}, [], [], [], undefined, undefined, {});
              this.unit.entities.push(newStructure);
            }
            res(numStructures);
          } else if (structures.length > numStructures) {
            this.uiService.prompt("Are you sure?", "Reducing the number of structures will delete any excessive structures on this floor you've already inspected.", "Yes, that's fine", "No, go back").subscribe({
              next: confirmed => {
                if (confirmed && this.appointment != null && this.unit != null) {
                  this.unit.entities = this.unit.entities.slice(0, numStructures);
                  res(numStructures);
                } else {
                  res(structures.length);
                }
              }
            });
          }
        }
        this.appointment?.changed$.next();
      });
    }
    // #endregion
    // #region Structure
    get structure() {
      const entity = this.entity;
      if (entity?.type == src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_1__.PropertyEntityType.Structure) {
        return entity;
      }
      return undefined;
    }
    updateFloors(levels) {
      return new Promise((res, rej) => {
        if (this.structure != null && this.availableFloor != null) {
          const floors = this.structure.entities;
          if (floors.length < levels) {
            const delta = levels - floors.length;
            for (var i = 0; i < delta; i++) {
              const newFloor = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.AppointmentPropertyEntity(this.uiService.generateId(), this.availableFloor.entityId, this.availableFloor.type, "New Floor", 1, this.availableFloor.attributes, [], new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_2__.RenderDimensions(0, 0, 0, 0, 0), {}, [], [], [], undefined, undefined, {});
              this.structure.entities.push(newFloor);
            }
          } else if (floors.length > levels) {
            this.uiService.prompt("Are you sure?", "Reducing the number of floors will delete any excessive floors on this floor you've already inspected.", "Yes, that's fine", "No, go back").subscribe({
              next: confirmed => {
                if (confirmed && this.appointment != null && this.structure != null) {
                  this.structure.entities = this.structure.entities.slice(0, levels);
                  res(levels);
                } else {
                  res(floors.length);
                }
              }
            });
          }
        }
        this.appointment?.changed$.next();
      });
    }
    init() {}
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function AttributesComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || AttributesComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_4__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_5__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_6__.UiService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵdefineComponent"]({
      type: AttributesComponent,
      selectors: [["attributes"]],
      viewQuery: function AttributesComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment",
        availableFloor: "availableFloor",
        availableRoom: "availableRoom",
        availableStructure: "availableStructure",
        availableUnit: "availableUnit",
        availableEntities: "availableEntities",
        availableFixtures: "availableFixtures",
        entity: "entity",
        attributes: "attributes",
        renderElm: "renderElm"
      },
      standalone: false,
      decls: 3,
      vars: 4,
      consts: [["inputElm", ""], ["optionElm", ""], [1, "form"], ["class", "input-wrap", 3, "disabled", "hidden", 4, "ngFor", "ngForOf"], [1, "input-wrap"], ["class", "message", 4, "ngIf"], [4, "ngIf"], [1, "input"], [1, "message"], ["class", "validation", 4, "ngIf"], [1, "validation"], ["type", "number", 3, "input", "disabled", "value", "placeholder"], [1, "option", 3, "click", "disabled"], ["class", "option", 3, "disabled", "checked", "click", 4, "ngFor", "ngForOf"], ["type", "text", 3, "input", "disabled", "value", "placeholder"]],
      template: function AttributesComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementStart"](0, "div", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵtemplate"](1, AttributesComponent_div_1_Template, 12, 13, "div", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵpipe"](2, "orderBy");
          _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵelementEnd"]();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_8__["ɵɵpipeBind2"](2, 1, ctx.attributes, "displayOrder"));
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _shared_ui_pipes_order_by_pipe__WEBPACK_IMPORTED_MODULE_7__.OrderByPipe],
      styles: [".form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n  width: 100%;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%] {\n  display: block;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  color: var(--color1Alt3);\n  font-weight: var(--stdweight);\n  font-size: 1vw;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .validation[_ngcontent-%COMP%] {\n  display: block;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .validation[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  color: var(--error);\n  font-weight: var(--strong);\n  font-size: 1vw;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%] {\n  padding: 0.25vw 0 0.5vw;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]    > .option[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  margin-top: 0.25vw;\n  cursor: pointer;\n  padding: 0.25vw 0.5vw;\n  border-radius: 999px;\n  border: 0.1vw var(--color2Alt4) solid;\n  background-color: var(--color2);\n  text-align: center;\n  transition: background-color 0.2s, border-color 0.2s;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]    > .option[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  font-weight: var(--stdweight);\n  color: var(--color1);\n  transition: color 0.2s linear;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]    > .option.checked[_ngcontent-%COMP%] {\n  background-color: var(--color3);\n  border-color: transparent;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]    > .option.checked[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  color: var(--color2);\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]    > .option[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]   select[_ngcontent-%COMP%], \n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]   input[_ngcontent-%COMP%], \n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%] {\n  display: block;\n  resize: none;\n  width: 100%;\n  border: 0.1vw var(--color2Alt3) solid;\n  border-radius: 1vw;\n  background-color: var(--color2Alt1);\n  padding: 1vw;\n  font-size: 1.2vw;\n  font-weight: var(--stdweight);\n  background-color: var(--color2);\n  transition: background-color 0.2s, border-color 0.2s;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]   select[_ngcontent-%COMP%]:focus, \n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]   input[_ngcontent-%COMP%]:focus, \n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]    > .input[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%]:focus {\n  background-color: var(--color2);\n  border-color: var(--color3);\n}\n.form[_ngcontent-%COMP%]    > .input-wrap.disabled[_ngcontent-%COMP%] {\n  opacity: 0.75;\n  pointer-events: none;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap.hidden[_ngcontent-%COMP%] {\n  display: none;\n}\n.form[_ngcontent-%COMP%]    > .input-wrap[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n.form[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n.form.disabled[_ngcontent-%COMP%] {\n  opacity: 0.2;\n  -moz-filter: blur(1vw);\n  -o-filter: blur(1vw);\n  -ms-filter: blur(1vw);\n  filter: blur(1vw);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return AttributesComponent;
})();

/***/ }),

/***/ 5166:
/*!**********************************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/fixture-render/fixture-render.component.ts ***!
  \**********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FixtureRenderComponent: () => (/* binding */ FixtureRenderComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common */ 6216);




const _c0 = ["componentElm"];
function FixtureRenderComponent_div_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 4)(1, "div", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](2, "canvas", 6)(3, "img", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "div", 8)(7, "div", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("mousedown", function FixtureRenderComponent_div_1_Template_div_mousedown_7_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("touchstart", function FixtureRenderComponent_div_1_Template_div_touchstart_7_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("mouseup", function FixtureRenderComponent_div_1_Template_div_mouseup_7_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r1.rotateL($event));
    })("touchend", function FixtureRenderComponent_div_1_Template_div_touchend_7_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r1.rotateL($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "svg", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](9, "path", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](10, "div", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("mousedown", function FixtureRenderComponent_div_1_Template_div_mousedown_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("touchstart", function FixtureRenderComponent_div_1_Template_div_touchstart_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("mouseup", function FixtureRenderComponent_div_1_Template_div_mouseup_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r1.rotateR($event));
    })("touchend", function FixtureRenderComponent_div_1_Template_div_touchend_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresetView"](ctx_r1.rotateR($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](11, "svg", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](12, "path", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()()()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵclassProp"]("moving", ctx_r1.fixture.moving);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵstyleProp"]("transform", ctx_r1.rotationTransform);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("src", ctx_r1.fixture.imageSrc_Base64, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵsanitizeUrl"]);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtextInterpolate"](ctx_r1.fixtureLabel);
  }
}
/* Components */
let FixtureRenderComponent = /*#__PURE__*/(() => {
  class FixtureRenderComponent {
    constructor(appointmentService, uiService) {
      this.appointmentService = appointmentService;
      this.uiService = uiService;
    }
    get fixtureLabel() {
      if (this.fixture?.name != null) {
        return `${this.fixture.name} ${this.fixture.number}`;
      }
      return "";
    }
    // #endregion
    // #region Rotation
    get rotationTransform() {
      if (this.fixture?.renderDimensions != null) {
        return `rotate(${this.fixture.renderDimensions.rotation}deg)`;
      }
      return "";
    }
    rotateL(e) {
      e.stopPropagation();
      e.preventDefault();
      if (this.fixture?.renderDimensions != null) {
        let newRotation = this.fixture.renderDimensions.rotation - 45;
        if (newRotation == -360) {
          newRotation = -0;
        }
        this.fixture.renderDimensions.rotation = newRotation;
      }
    }
    rotateR(e) {
      e.stopPropagation();
      e.preventDefault();
      if (this.fixture?.renderDimensions != null) {
        let newRotation = this.fixture.renderDimensions.rotation + 45;
        if (newRotation == 360) {
          newRotation = 0;
        }
        this.fixture.renderDimensions.rotation = newRotation;
      }
    }
    killEvent(e) {
      e.stopPropagation();
    }
    init() {}
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function FixtureRenderComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || FixtureRenderComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_0__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_1__.UiService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({
      type: FixtureRenderComponent,
      selectors: [["fixture-render"]],
      viewQuery: function FixtureRenderComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        parent: "parent",
        fixture: "fixture"
      },
      standalone: false,
      decls: 5,
      vars: 1,
      consts: [["class", "fixture", 3, "moving", 4, "ngIf"], ["id", "filter", 1, "defs-only"], ["id", "moving", "color-interpolation-filters", "sRGB", "x", "0", "y", "0", "height", "100%", "width", "100%"], ["type", "matrix", "values", "0.95 0 0 0 0.05 \n              0.63 0 0 0 0.37  \n              0.45 0 0 0 0.55 \n              0    0 0 1 0"], [1, "fixture"], [1, "image"], ["height", "1", "width", "1"], ["draggable", "false", 3, "src"], [1, "rotation", "no-render"], [1, "rotate", "l", 3, "mousedown", "touchstart", "mouseup", "touchend"], ["id", "rotateIcon", "xmlns", "http://www.w3.org/2000/svg", "version", "1.1", "viewBox", "0 0 800 672.3"], ["d", "M565.8,527v145.3l234.2-234.2-234.2-234.2v147C289.8,330.1,66.9,186.4,12.6,0,4.4,28.4,0,57.9,0,88c0,227.7,247.7,415,565.8,439Z", 1, "path"], [1, "rotate", "r", 3, "mousedown", "touchstart", "mouseup", "touchend"]],
      template: function FixtureRenderComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementContainerStart"](0);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](1, FixtureRenderComponent_div_1_Template, 13, 6, "div", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnamespaceSVG"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "svg", 1)(3, "filter", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](4, "feColorMatrix", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]()();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementContainerEnd"]();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", ctx.fixture != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_3__.NgIf],
      styles: ["@keyframes _ngcontent-%COMP%_loadIn {\n  0% {\n    transform: scale(5);\n  }\n  100% {\n    transform: scale(1);\n  }\n}\n.fixture[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n.fixture[_ngcontent-%COMP%]   .image[_ngcontent-%COMP%] {\n  width: 75%;\n  margin: 0 auto;\n  position: relative;\n}\n.fixture[_ngcontent-%COMP%]   .image[_ngcontent-%COMP%]   canvas[_ngcontent-%COMP%] {\n  width: 100%;\n}\n.fixture[_ngcontent-%COMP%]   .image[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  -webkit-object-fit: contain;\n  -moz-object-fit: contain;\n  -o-background-size: contain;\n  object-fit: contain;\n}\n.fixture[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  white-space: nowrap;\n  display: block;\n  font-size: var(--fixtureFontSize);\n  color: var(--color1);\n  font-weight: var(--strong);\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  bottom: 0;\n}\n.fixture[_ngcontent-%COMP%]    > .rotation[_ngcontent-%COMP%]   .rotate[_ngcontent-%COMP%] {\n  position: absolute;\n  top: calc(50% - 1vw);\n  transform-origin: center center;\n  height: 1.4vw;\n  border: 0.1vw var(--color1) solid;\n  border-radius: 0.5vw;\n  cursor: pointer;\n  padding: 0.2vw;\n}\n.fixture[_ngcontent-%COMP%]    > .rotation[_ngcontent-%COMP%]   .rotate[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%] {\n  height: 100%;\n}\n.fixture[_ngcontent-%COMP%]    > .rotation[_ngcontent-%COMP%]   .rotate[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]   .path[_ngcontent-%COMP%] {\n  fill: var(--color1);\n}\n.fixture[_ngcontent-%COMP%]    > .rotation[_ngcontent-%COMP%]   .rotate.l[_ngcontent-%COMP%] {\n  right: 100%;\n  transform: rotate(90deg);\n}\n.fixture[_ngcontent-%COMP%]    > .rotation[_ngcontent-%COMP%]   .rotate.r[_ngcontent-%COMP%] {\n  left: 100%;\n  transform: rotate(-90deg) scaleX(-1);\n}\n.fixture.moving[_ngcontent-%COMP%]   .image[_ngcontent-%COMP%] {\n  filter: url(#moving);\n}\n\n#filter[_ngcontent-%COMP%] {\n  opacity: 0;\n  pointer-events: none;\n  position: absolute;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return FixtureRenderComponent;
})();

/***/ }),

/***/ 9848:
/*!********************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/fixture/fixture.component.ts ***!
  \********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FixtureComponent: () => (/* binding */ FixtureComponent)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rxjs */ 2714);
/* harmony import */ var src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/shared/appointments/models/appointment */ 8723);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 6216);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/forms */ 8335);
/* harmony import */ var _attributes_attributes_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../attributes/attributes.component */ 3424);
/* harmony import */ var _photo_photo_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../photo/photo.component */ 3747);

/* Models */









const _c0 = ["componentElm"];
function FixtureComponent_section_0_div_13_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 24)(1, "h4");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2, "Missing Information");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"](" Please take at least 1 photo of your ", ctx_r2.fixture.name, ". ");
  }
}
function FixtureComponent_section_0_div_14_Template(rf, ctx) {
  if (rf & 1) {
    const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 25)(1, "button", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function FixtureComponent_section_0_div_14_Template_button_click_1_listener() {
      const photo_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r4).$implicit;
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"](ctx_r2.deletePhoto(photo_r5));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](2, "i", 26);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](3, "canvas", 27);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](4, "photo", 28);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function FixtureComponent_section_0_div_14_Template_photo_click_4_listener() {
      const photo_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r4).$implicit;
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"](ctx_r2.viewPhoto(photo_r5));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const photo_r5 = ctx.$implicit;
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("disabled", !ctx_r2.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("photo", photo_r5);
  }
}
function FixtureComponent_section_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "section", 8)(1, "div", 9)(2, "div", 10)(3, "div", 11)(4, "header")(5, "div", 4)(6, "button", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function FixtureComponent_section_0_Template_button_click_6_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r1);
      const photoElm_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵreference"](11);
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"](ctx_r2.selectMedia(photoElm_r2));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](7, "i", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](8, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](9, "Add Photo(s)");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](10, "input", 14, 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("input", function FixtureComponent_section_0_Template_input_input_10_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r1);
      const photoElm_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵreference"](11);
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"](ctx_r2.selectFile(photoElm_r2));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](12, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](13, FixtureComponent_section_0_div_13_Template, 5, 1, "div", 15)(14, FixtureComponent_section_0_div_14_Template, 5, 2, "div", 16);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](15, "div", 17)(16, "div", 11)(17, "header")(18, "h2");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](19);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](20, "div", 11)(21, "div", 18);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](22, "attributes", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](23, "div", 20)(24, "div", 21)(25, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](26, "Notes for the Customer");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](27, "textarea", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("input", function FixtureComponent_section_0_Template_textarea_input_27_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r1);
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"](ctx_r2.updateNotes(ctx_r2.NoteAudience.Customer));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtwoWayListener"]("ngModelChange", function FixtureComponent_section_0_Template_textarea_ngModelChange_27_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r1);
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtwoWayBindingSet"](ctx_r2.customerNotes, $event) || (ctx_r2.customerNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](28, "div", 21)(29, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](30, "Notes for the Shop");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](31, "textarea", 23);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("input", function FixtureComponent_section_0_Template_textarea_input_31_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r1);
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"](ctx_r2.updateNotes(ctx_r2.NoteAudience.Shop));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtwoWayListener"]("ngModelChange", function FixtureComponent_section_0_Template_textarea_ngModelChange_31_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵrestoreView"](_r1);
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtwoWayBindingSet"](ctx_r2.shopNotes, $event) || (ctx_r2.shopNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()()()()()()()();
  }
  if (rf & 2) {
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](6);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("disabled", !ctx_r2.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵpropertyInterpolate"]("accept", ctx_r2.acceptFileTypes);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", !ctx_r2.hasPhotos);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngForOf", ctx_r2.photos);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate2"]("", ctx_r2.fixture.name, " ", ctx_r2.fixture.number, " Details");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("appointment", ctx_r2.appointment)("entity", ctx_r2.fixture)("availableEntities", ctx_r2.availableEntities)("availableFixtures", ctx_r2.availableFixtures)("availableFloor", ctx_r2.availableFloor)("availableRoom", ctx_r2.availableFloor)("availableStructure", ctx_r2.availableStructure)("attributes", ctx_r2.attributes);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("disabled", !ctx_r2.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtwoWayProperty"]("ngModel", ctx_r2.customerNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("disabled", !ctx_r2.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtwoWayProperty"]("ngModel", ctx_r2.shopNotes);
  }
}
function FixtureComponent_label_8_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"]("Save & Close ", ctx_r2.fixture == null ? null : ctx_r2.fixture.name, "");
  }
}
function FixtureComponent_label_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"]("Close ", ctx_r2.fixture == null ? null : ctx_r2.fixture.name, "");
  }
}
/* Components */
let FixtureComponent = /*#__PURE__*/(() => {
  class FixtureComponent {
    constructor(localAppointmentService, appointmentService, uiService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      this.availableEntities = [];
      this.availableFixtures = [];
      // #endregion
      // #region Notes
      this.NoteAudience = src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience;
      this.customerNotes = "";
      this.shopNotes = "";
      this.acceptFileTypes = '*.jpg,*.png,*.webp';
      this.acceptMimeTypes = ['image/jpeg', 'image/jpg', 'image/png', 'image/webp'];
      this.photos = [];
      this.close = new rxjs__WEBPACK_IMPORTED_MODULE_7__.Subject();
      this.deleted = new rxjs__WEBPACK_IMPORTED_MODULE_7__.Subject();
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    update() {
      if (this.appointment != null) {
        this.appointment.changed$.next();
      }
    }
    updateNotes(type) {
      if (this.fixture != null) {
        switch (type) {
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Customer:
            this.fixture.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Customer] = this.customerNotes;
            break;
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Shop:
            this.fixture.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Shop] = this.shopNotes;
            break;
        }
        this.update();
      }
    }
    initNotes() {
      if (this.fixture != null) {
        this.customerNotes = this.fixture.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Customer] ?? "";
        this.shopNotes = this.fixture.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Shop] ?? "";
      }
    }
    get hasPhotos() {
      return this.photos.length > 0;
    }
    get viewingPhoto() {
      return this.localAppointmentService.viewingPhoto;
    }
    get photoSrc() {
      return this.localAppointmentService.photoSrc;
    }
    matchesMimeType(mimeType) {
      let i = this.acceptMimeTypes.length;
      while (i--) {
        const acceptMimeType = this.acceptMimeTypes[i];
        if (acceptMimeType == mimeType) {
          return true;
        }
      }
      return false;
    }
    setFile(deviceBlob, photos) {
      if (deviceBlob != null && this.matchesMimeType(deviceBlob.type)) {
        const url = URL.createObjectURL(deviceBlob);
        const srcImage = new Image();
        srcImage.onload = () => {
          URL.revokeObjectURL(url);
          const offscreenCanvas = document.createElement('canvas');
          const ctx = offscreenCanvas.getContext('2d');
          if (ctx != null) {
            const ratio = srcImage.width / 1024;
            let width = srcImage.width;
            let height = srcImage.height;
            if (ratio > 1) {
              width = 1024;
              height = Math.round(srcImage.height / ratio);
            }
            offscreenCanvas.width = width;
            offscreenCanvas.height = height;
            ctx.drawImage(srcImage, 0, 0, width, height);
            const base64Image = offscreenCanvas.toDataURL('image/jpeg');
            this.fixture?.photos_B64.push(base64Image);
            this.initPhotos();
            if (this.appointment != null) {
              this.appointment.changed$.next();
            }
            this.initPhotos();
          }
        };
        srcImage.src = url;
      }
    }
    selectFile(elm) {
      if (elm.files != null) {
        const file = elm.files[0];
        this.setFile(file, this.photos);
      } else {
        this.setFile(undefined, this.photos);
      }
    }
    selectMedia(fileInputElm) {
      setTimeout(() => {
        if (fileInputElm != null) {
          fileInputElm.click();
        }
      }, 0);
    }
    deletePhoto(src) {
      if (this.fixture != null) {
        this.uiService.prompt("Delete Photo?", "Are you sure you want to delete this photo?", "Yes", "No").subscribe({
          next: confirmed => {
            if (confirmed && this.fixture != null) {
              for (var i = 0, len = this.fixture.photos.length; i < len; i++) {
                const photo = this.fixture.photos[i];
                if (photo.src == src) {
                  this.fixture.photos.splice(i, 1);
                  break;
                }
              }
              for (var i = 0, len = this.fixture.photos_B64.length; i < len; i++) {
                const photo = this.fixture.photos_B64[i];
                if (photo == src) {
                  this.fixture.photos_B64.splice(i, 1);
                  break;
                }
              }
              this.initPhotos();
              this.appointment?.changed$.next();
            }
          }
        });
      }
    }
    viewPhoto(photo) {
      this.localAppointmentService.viewPhoto(photo);
    }
    stopViewingPhoto() {
      this.localAppointmentService.stopViewingPhoto();
    }
    storePhotoMeta() {
      if (this.activePhoto != null) {
        if (this.photoName != null) {
          this.activePhoto.name = this.photoName;
        }
        if (this.photoNotes != null) {
          this.activePhoto.notes = this.photoNotes;
        }
      }
    }
    initPhotos() {
      const photos = [];
      if (this.fixture != null) {
        photos.push(...this.fixture.photos_B64);
        this.fixture.photos.forEach(photo => {
          photos.push(photo.src);
        });
      }
      this.photos = photos;
    }
    // #endregion
    // #region Attributes
    get attributes() {
      return this.fixture?.attributes ?? [];
    }
    // #endregion
    // #region Removal
    removeFixture() {
      this.uiService.prompt(`Remove ${this.fixture?.name}`, `Are you sure you want to remove this ${this.fixture?.name}`, "Yes", "No").subscribe({
        next: confirmed => {
          if (confirmed) {
            this.deleted.next();
          }
        }
      });
    }
    get canClose() {
      if (!this.canModifyAppointment) {
        return true;
      } else {
        if (this.fixture != null) {
          return this.fixture.valid && this.hasPhotos;
        }
        return false;
      }
    }
    closeView() {
      this.close.next();
    }
    init() {
      this.initNotes();
      this.initPhotos();
      // Fire attribution logic
      this.appointment?.changed$.next();
    }
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {
      this.fixtureSubscription?.unsubscribe();
    }
    static #_ = (() => this.ɵfac = function FixtureComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || FixtureComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_2__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_3__.UiService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdefineComponent"]({
      type: FixtureComponent,
      selectors: [["fixture"]],
      viewQuery: function FixtureComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment",
        parent: "parent",
        availableFloor: "availableFloor",
        availableRoom: "availableRoom",
        availableStructure: "availableStructure",
        availableEntities: "availableEntities",
        availableFixtures: "availableFixtures",
        fixture: "fixture"
      },
      outputs: {
        close: "close",
        deleted: "deleted"
      },
      standalone: false,
      decls: 10,
      vars: 5,
      consts: [["photoElm", ""], ["id", "fixture", 4, "ngIf"], ["id", "mainNav"], [1, "island"], [1, "controls"], [1, "control", "warning", 3, "click"], [1, "control", "success", 3, "click", "disabled"], [4, "ngIf"], ["id", "fixture"], [1, "columns"], [1, "column", "photos"], [1, "content"], [1, "control", 3, "click", "disabled"], [1, "fa-regular", "fa-camera"], ["type", "file", 3, "input", "accept"], ["class", "message", 4, "ngIf"], ["class", "photo", 4, "ngFor", "ngForOf"], [1, "fixture", "column"], [1, "attributes"], [3, "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableStructure", "attributes"], [1, "notes"], [1, "note"], ["rows", "5", "placeholder", "If you have any notes for our customer, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["rows", "5", "placeholder", "If you have any notes important for the shop, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], [1, "message"], [1, "photo"], [1, "fa-solid", "fa-trash-can"], ["width", "1", "height", "1"], [3, "click", "photo"]],
      template: function FixtureComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](0, FixtureComponent_section_0_Template, 32, 18, "section", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "nav", 2)(2, "div", 3)(3, "div", 4)(4, "button", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function FixtureComponent_Template_button_click_4_listener() {
            return ctx.removeFixture();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](5, "label");
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](6);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()();
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](7, "button", 6);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function FixtureComponent_Template_button_click_7_listener() {
            return ctx.closeView();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](8, FixtureComponent_label_8_Template, 2, 1, "label", 7)(9, FixtureComponent_label_9_Template, 2, 1, "label", 7);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()()()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx.fixture != null);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](6);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"]("Remove ", ctx.fixture == null ? null : ctx.fixture.name, "");
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("disabled", !ctx.canClose);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx.canModifyAppointment);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", !ctx.canModifyAppointment);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_8__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_8__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_9__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_9__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_9__.NgModel, _attributes_attributes_component__WEBPACK_IMPORTED_MODULE_4__.AttributesComponent, _photo_photo_component__WEBPACK_IMPORTED_MODULE_5__.PhotoComponent],
      styles: ["#fixture[_ngcontent-%COMP%] {\n  position: absolute;\n  top: calc(6vw + var(--systemOffset-top));\n  left: auto;\n  right: 0;\n  bottom: 6vw;\n  width: 45vw;\n  background-color: var(--color2Alt3);\n  border: 0.1vw var(--color2Alt4) solid;\n  box-shadow: -0.2vw 0 1vw rgba(var(--black-raw), 0.1);\n  border-top-left-radius: 2vw;\n  border-bottom-left-radius: 2vw;\n  overflow: hidden;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%] {\n  font-size: 0;\n  height: 100%;\n  width: 100%;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%] {\n  display: inline-block;\n  vertical-align: top;\n  height: 100%;\n  font-size: 1rem;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  padding: 0.75vw 1vw;\n  border-bottom: 0.1vw var(--color2Alt4) solid;\n  display: flex;\n  justify-content: flex-end;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  color: var(--color1);\n  font-weight: var(--stronger);\n  font-size: 1.4vw;\n  line-height: 1;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  margin-left: 1vw;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 999px;\n  background-color: var(--color3Alt3);\n  padding: 0.75vw 1vw;\n  transition: background-color 0.2s linear;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%], \n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  color: var(--color2);\n  transition: color 0.2s linear;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  margin-left: 0.5vw;\n  line-height: 1;\n  font-size: 1.2vw;\n  font-weight: var(--strong);\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active    > i[_ngcontent-%COMP%], #fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active    > label[_ngcontent-%COMP%] {\n  color: var(--color5);\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > input[_ngcontent-%COMP%] {\n  position: absolute;\n  visibility: hidden;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  flex: 1;\n  border-right: 0.1vw var(--color2Alt4) solid;\n  padding: 1vw 1vw 5vw;\n  overflow-x: hidden;\n  position: relative;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  z-index: 1;\n  top: 1vw;\n  background-color: var(--error);\n  border: 0.5vw var(--errorAlt3) solid;\n  border-radius: 1vw;\n  width: 90%;\n  padding: 0.75vw 1vw;\n  pointer-events: none;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  font-weight: var(--stronger);\n  color: var(--color2);\n  text-align: center;\n  text-transform: uppercase;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  margin-top: 0.5vw;\n  color: var(--color2);\n  font-size: 1.2vw;\n  font-weight: var(--strong);\n  text-align: center;\n  line-height: 1.2;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt4) solid;\n  cursor: pointer;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  background-color: var(--color2Alt1);\n  padding: 2vw 0;\n  border-radius: 1vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 2vw;\n  color: var(--color3);\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color3);\n  font-weight: var(--strong);\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%] {\n  width: 16vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  background-color: rgba(var(--color1-raw), 0.08);\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n  position: relative;\n  overflow: hidden;\n  border-radius: 1vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]   canvas[_ngcontent-%COMP%] {\n  width: 100%;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: 1;\n  top: 1vw;\n  right: 1vw;\n  cursor: pointer;\n  height: 3vw;\n  width: 3vw;\n  background-color: var(--color2);\n  overflow: hidden;\n  border-radius: 100%;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  font-size: 1.4vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]   photo[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%] {\n  width: calc(100% - 16vw);\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  padding: 1vw 1.5vw;\n  background-color: var(--color4Alt3);\n  border-left: 0.2vw var(--color4Alt4) solid;\n  justify-content: center;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  font-size: 2.2vw;\n  text-align: center;\n  color: var(--color2);\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  background-color: var(--color2Alt2);\n  padding: 1vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%] {\n  margin-top: 0.25vw;\n  background-color: var(--color2);\n  border-radius: 1vw;\n  border: 0.1vw var(--color1) solid;\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--stdweight);\n  padding: 1vw;\n  display: block;\n  width: 100%;\n  font-family: \"Times New Roman\", Times, serif;\n  resize: none;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.fixture[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n#fixture[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]:first-child {\n  border-left: none;\n}\n\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%] {\n  position: absolute;\n  bottom: 1vw;\n  right: 1vw;\n  z-index: 9;\n  background-color: var(--color2);\n  border-radius: 999px;\n  padding: 0.5vw 1vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  position: relative;\n  margin-left: 1vw;\n  padding: 0.8vw 2vw;\n  border-radius: 999px;\n  cursor: pointer;\n  margin-left: 1vw;\n  display: flex;\n  align-items: center;\n  background-color: var(--color3);\n  border: 0.1vw transparent solid;\n  transition: background-color 0.1s linear;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%]:last-child, \n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%]:last-child {\n  margin-left: 0.5vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  line-height: 1;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.success[_ngcontent-%COMP%] {\n  background-color: var(--success);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.warning[_ngcontent-%COMP%] {\n  background-color: var(--error);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.6;\n  pointer-events: none;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active {\n  background-color: var(--color3Alt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active.success {\n  background-color: var(--successAlt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active.warning {\n  background-color: var(--errorAlt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#mainNav.hidden[_ngcontent-%COMP%] {\n  opacity: 0;\n  pointer-events: none;\n  transition: opacity 0.25s linear;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return FixtureComponent;
})();

/***/ }),

/***/ 3210:
/*!**********************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/fixtures/fixtures.component.ts ***!
  \**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FixturesComponent: () => (/* binding */ FixturesComponent)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs */ 2714);
/* harmony import */ var src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/shared/appointments/models/appointment */ 8723);
/* harmony import */ var src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/shared/appointments/models/rendering */ 3114);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 6216);

/* Models */






const _c0 = ["componentElm"];
function FixturesComponent_div_8_div_5_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 10, 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function FixturesComponent_div_8_div_5_Template_div_click_0_listener() {
      const fixture_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r1).$implicit;
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵresetView"](ctx_r2.selectFixture(fixture_r2));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](3, "canvas", 12)(4, "img", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](6);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const fixture_r2 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("src", fixture_r2.imageSrc_Base64, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate"](fixture_r2.name);
  }
}
function FixturesComponent_div_8_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 7)(1, "header")(2, "h3");
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](5, FixturesComponent_div_8_div_5_Template, 7, 2, "div", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const category_r4 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate"](category_r4.name);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵclassProp"]("expanded", category_r4.active);
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngForOf", category_r4.fixtures);
  }
}
/* Components */
let FixturesComponent = /*#__PURE__*/(() => {
  class FixturesComponent {
    constructor(appointmentService, uiService) {
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      // #endregion
      // #region Fixtures
      this.selectedFixture = new rxjs__WEBPACK_IMPORTED_MODULE_5__.Subject();
      this.availableFixtures = [];
      this.close = new rxjs__WEBPACK_IMPORTED_MODULE_5__.Subject();
    }
    selectFixture(fixture) {
      if (this.appointment != null) {
        const typeCount = this.appointment.getFixtureCount(fixture.imageSrc_Base64, this.appointment?.property?.entity?.entities) + 1;
        const attributes = this.uiService.deepClone(fixture.attributes);
        const mappedAttributes = this.appointmentService.mapAttributes(attributes);
        const newFixture = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.AppointmentFixture(this.uiService.generateId(), fixture.entityId, fixture.name, fixture.imageSrc_Base64, typeCount, mappedAttributes, new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_1__.RenderDimensions(0, 0, 0, 0, 0), [], [], {});
        this.selectedFixture.next(newFixture);
      }
    }
    initFixtures() {
      if (this.appointment != null) {
        this.appointment.availableFixtures.forEach(category => {
          if (category.fixtures.length > 0) {
            this.availableFixtures.push(category);
          }
        });
      }
    }
    closeView() {
      this.close.next();
    }
    init() {
      this.initFixtures();
    }
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function FixturesComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || FixturesComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_2__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_3__.UiService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({
      type: FixturesComponent,
      selectors: [["fixtures"]],
      viewQuery: function FixturesComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment"
      },
      outputs: {
        selectedFixture: "selectedFixture",
        close: "close"
      },
      standalone: false,
      decls: 9,
      vars: 1,
      consts: [["fixtureElm", ""], ["id", "fixtures"], [1, "controls"], [1, "control", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "categories"], ["class", "category", 4, "ngFor", "ngForOf"], [1, "category"], [1, "fixtures"], ["class", "fixture", 3, "click", 4, "ngFor", "ngForOf"], [1, "fixture", 3, "click"], [1, "image"], ["height", "1", "width", "1"], [3, "src"]],
      template: function FixturesComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 1)(1, "header")(2, "h2");
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](3, " Select a Fixture ");
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 2)(5, "button", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function FixturesComponent_Template_button_click_5_listener() {
            return ctx.closeView();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](6, "i", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()()();
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](7, "div", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](8, FixturesComponent_div_8_Template, 6, 4, "div", 6);
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](8);
          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngForOf", ctx.availableFixtures);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_6__.NgForOf],
      styles: ["#fixtures[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  overflow-y: scroll;\n}\n#fixtures[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  background-color: var(--color2Alt1);\n  position: sticky;\n  top: 0;\n  z-index: 1;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 1vw 2vw;\n  border-bottom: 0.1vw var(--color2Alt2) solid;\n}\n#fixtures[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n}\n#fixtures[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#fixtures[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  margin-left: 1vw;\n  cursor: pointer;\n}\n#fixtures[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 2vw;\n  color: var(--color1);\n}\n#fixtures[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%] {\n  padding: 0 2vw 2vw;\n  margin-top: 1vw;\n  position: relative;\n  z-index: 0;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  padding-bottom: 0.5vw;\n  border-bottom: 0.1vw var(--color1) solid;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%] {\n  font-size: 0;\n  padding: 2vw 0;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%] {\n  display: inline-block;\n  vertical-align: top;\n  width: calc(20% - 0.8vw);\n  font-size: 1rem;\n  margin-left: 1vw;\n  margin-top: 1vw;\n  border: 0.1vw var(--color2Alt4) solid;\n  background-color: var(--color2);\n  border-radius: 1vw;\n  cursor: pointer;\n  padding: 1vw;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]   .image[_ngcontent-%COMP%] {\n  width: 75%;\n  margin: 0 auto;\n  position: relative;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]   .image[_ngcontent-%COMP%]   canvas[_ngcontent-%COMP%] {\n  width: 100%;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]   .image[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  -webkit-object-fit: contain;\n  -moz-object-fit: contain;\n  -o-background-size: contain;\n  object-fit: contain;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  white-space: nowrap;\n  margin-top: 0.5vw;\n  display: block;\n  width: 100%;\n  font-size: 1vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  -ms-text-overflow: ellipsis;\n  text-overflow: ellipsis;\n  display: block;\n  white-space: nowrap;\n  overflow: hidden;\n  text-align: center;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]:nth-child(-n+5) {\n  margin-top: 0;\n}\n#fixtures[_ngcontent-%COMP%]    > .categories[_ngcontent-%COMP%]    > .category[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]    > .fixture[_ngcontent-%COMP%]:nth-child(5n+1) {\n  margin-left: 0;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return FixturesComponent;
})();

/***/ }),

/***/ 8342:
/*!******************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/layout/layout.component.ts ***!
  \******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   InspectionLayoutComponent: () => (/* binding */ InspectionLayoutComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _services_inspection_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/inspection.service */ 3311);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 6216);
/* harmony import */ var _property_details_property_details_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../property-details/property-details.component */ 6930);







const _c0 = ["componentElm"];
function InspectionLayoutComponent_section_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "section", 1)(1, "div", 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](2, "property-details", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("appointment", ctx_r0.appointment);
  }
}
/* Components */
let InspectionLayoutComponent = /*#__PURE__*/(() => {
  class InspectionLayoutComponent {
    constructor(localAppointmentService, appointmentService, uiService, inspectionService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      this.inspectionService = inspectionService;
      // #nedregion
      // #region Property Details
      this.invalidEntities = [];
      // #endregion
      // #region UI
      this.activeSection = "propertyDetails";
    }
    get property() {
      return this.appointment?.property?.entity;
    }
    get hasInvalidEntities() {
      return this.invalidEntities.length > 0;
    }
    setActiveSection(section) {
      this.activeSection = section;
    }
    init() {}
    // #endregion
    ngAfterViewInit() {
      setTimeout(() => {
        this.init();
        setTimeout(() => {
          if (this.route != null) {
            this.route.initialized.next();
          }
        }, 32);
      }, 16);
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function InspectionLayoutComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || InspectionLayoutComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_0__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_2__.UiService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_services_inspection_service__WEBPACK_IMPORTED_MODULE_3__.InspectionService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineComponent"]({
      type: InspectionLayoutComponent,
      selectors: [["ng-component"]],
      viewQuery: function InspectionLayoutComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment",
        route: "route"
      },
      standalone: false,
      decls: 1,
      vars: 1,
      consts: [["id", "inspectionLayout", 4, "ngIf"], ["id", "inspectionLayout"], [1, "content"], [3, "appointment"]],
      template: function InspectionLayoutComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](0, InspectionLayoutComponent_section_0_Template, 3, 1, "section", 0);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.appointment != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_6__.NgIf, _property_details_property_details_component__WEBPACK_IMPORTED_MODULE_4__.PropertyDetailsComponent],
      styles: ["#inspectionLayout[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: calc(var(--navLayer) + 1);\n  top: calc(1.1vw + var(--systemOffset-top));\n  background-color: var(--color2);\n  border-radius: 999px;\n  padding: 0.25vw 1vw;\n  right: 8vw;\n  display: flex;\n  align-items: center;\n  transition: background-color 0.1s linear;\n}\n#inspectionLayout[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#inspectionLayout[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  height: 3.5vw;\n  width: 3.5vw;\n  border-radius: 100%;\n  position: relative;\n  cursor: pointer;\n  display: block;\n  position: relative;\n}\n#inspectionLayout[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n  color: var(--color1);\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n}\n#inspectionLayout[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.nav-control[_ngcontent-%COMP%] {\n  transition: transform 0.2s var(--easeInOutQuad);\n  transform: translateX(0) translateY(0);\n}\n#inspectionLayout[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.active[_ngcontent-%COMP%] {\n  background-color: rgba(var(--color2-raw), 0.4);\n}\n#inspectionLayout[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   property-details[_ngcontent-%COMP%] {\n  display: block;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return InspectionLayoutComponent;
})();

/***/ }),

/***/ 3747:
/*!****************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/photo/photo.component.ts ***!
  \****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   PhotoComponent: () => (/* binding */ PhotoComponent)
/* harmony export */ });
/* harmony import */ var gsap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! gsap */ 4076);
/* harmony import */ var gsap_Draggable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! gsap/Draggable */ 7431);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common */ 6216);




function PhotoComponent_i_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0, "i", 3);
  }
}
function PhotoComponent_img_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0, "img", 4);
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("src", ctx_r0.src, _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
  }
}
gsap__WEBPACK_IMPORTED_MODULE_1__["default"].registerPlugin(gsap_Draggable__WEBPACK_IMPORTED_MODULE_2__["default"]);
/* Services */
let PhotoComponent = /*#__PURE__*/(() => {
  class PhotoComponent {
    constructor() {}
    setPhotoSrc() {
      if (this.photo != null) {
        this.src = this.photo;
      }
    }
    init() {
      this.setPhotoSrc();
    }
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function PhotoComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || PhotoComponent)();
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
      type: PhotoComponent,
      selectors: [["photo"]],
      inputs: {
        photo: "photo"
      },
      standalone: false,
      decls: 3,
      vars: 2,
      consts: [[1, "render"], ["class", "fa-regular fa-image-slash", 4, "ngIf"], [3, "src", 4, "ngIf"], [1, "fa-regular", "fa-image-slash"], [3, "src"]],
      template: function PhotoComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](1, PhotoComponent_i_1_Template, 1, 0, "i", 1)(2, PhotoComponent_img_2_Template, 1, 1, "img", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngIf", ctx.src == null);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngIf", ctx.src != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_3__.NgIf],
      styles: [".render[_ngcontent-%COMP%] {\n  height: 100%;\n  width: 100%;\n  position: relative;\n  background-color: var(--color2Alt1);\n}\n.render[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  font-size: 2vw;\n  color: var(--color2Alt2);\n}\n.render[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  -webkit-object-fit: cover;\n  -moz-object-fit: cover;\n  -o-background-size: cover;\n  object-fit: cover;\n  width: 100%;\n  height: 100%;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return PhotoComponent;
})();

/***/ }),

/***/ 6930:
/*!**************************************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/property-details/property-details.component.ts ***!
  \**************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   PropertyDetailsComponent: () => (/* binding */ PropertyDetailsComponent)
/* harmony export */ });
/* harmony import */ var src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/shared/appointments/models/appointment */ 8723);
/* harmony import */ var src_app_appointment_models_navigation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/appointment/models/navigation */ 2375);
/* harmony import */ var src_app_shared_navigation_models_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/navigation/models/navigation */ 9518);
/* harmony import */ var src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/shared/properties/models/property */ 1750);
/* harmony import */ var src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/shared/appointments/models/rendering */ 3114);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _services_inspection_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/inspection.service */ 3311);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/common */ 6216);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @angular/forms */ 8335);
/* harmony import */ var _standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../standalone-attributes/standalone-attributes.component */ 4624);
/* harmony import */ var _unit_unit_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../unit/unit.component */ 6774);
/* Models */














const _c0 = ["componentElm"];
function PropertyDetailsComponent_section_0_div_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "div", 27)(1, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](2, " Select the number of units on the property before proceeding with your inspection. ");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()();
  }
}
function PropertyDetailsComponent_section_0_div_7_div_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "div", 33);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelement"](1, "img", 34);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const unit_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]().$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("src", unit_r3.render_B64, _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵsanitizeUrl"]);
  }
}
function PropertyDetailsComponent_section_0_div_7_div_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "div", 35)(1, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const unit_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]().$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtextInterpolate"](unit_r3.name);
  }
}
function PropertyDetailsComponent_section_0_div_7_p_6_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "p", 36);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](1, " Missing Information ");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
  }
}
function PropertyDetailsComponent_section_0_div_7_Template(rf, ctx) {
  if (rf & 1) {
    const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "div", 28);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵlistener"]("click", function PropertyDetailsComponent_section_0_div_7_Template_div_click_0_listener() {
      const unit_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵrestoreView"](_r2).$implicit;
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵresetView"](ctx_r3.selectUnit(unit_r3));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](1, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelement"](2, "canvas", 29);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtemplate"](3, PropertyDetailsComponent_section_0_div_7_div_3_Template, 2, 1, "div", 30)(4, PropertyDetailsComponent_section_0_div_7_div_4_Template, 3, 1, "div", 31);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](5, "footer");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtemplate"](6, PropertyDetailsComponent_section_0_div_7_p_6_Template, 2, 0, "p", 32);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const unit_r3 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", unit_r3.render_B64 != null);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", unit_r3.render_B64 == null);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", !unit_r3.valid);
  }
}
function PropertyDetailsComponent_section_0_div_11_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "div", 37)(1, "h3");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](2, "Tip: Start the Inspection");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](3, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](4, " To continue, tap on the unit you're ready to inspect. ");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()();
  }
}
function PropertyDetailsComponent_section_0_div_12_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "div", 37)(1, "h3");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](2, "Tip: The Repipe Value");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](3, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](4, " When you're done inspecting the property, you can continue to The Repipe Value. ");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()();
  }
}
function PropertyDetailsComponent_section_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "section", 11)(1, "div", 12)(2, "div", 13)(3, "div", 14)(4, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtemplate"](5, PropertyDetailsComponent_section_0_div_5_Template, 3, 0, "div", 15);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](6, "div", 16);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtemplate"](7, PropertyDetailsComponent_section_0_div_7_Template, 7, 3, "div", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](8, "div", 18)(9, "div", 14)(10, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtemplate"](11, PropertyDetailsComponent_section_0_div_11_Template, 5, 0, "div", 19)(12, PropertyDetailsComponent_section_0_div_12_Template, 5, 0, "div", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](13, "div", 20)(14, "div", 21)(15, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](16, "Customer Notes");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](17, "textarea", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵlistener"]("input", function PropertyDetailsComponent_section_0_Template_textarea_input_17_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵrestoreView"](_r1);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵresetView"](ctx_r3.updateNotes(ctx_r3.NoteAudience.Customer));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtwoWayListener"]("ngModelChange", function PropertyDetailsComponent_section_0_Template_textarea_ngModelChange_17_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵrestoreView"](_r1);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtwoWayBindingSet"](ctx_r3.customerNotes, $event) || (ctx_r3.customerNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](18, "div", 21)(19, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](20, "Shop Notes");
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](21, "textarea", 23);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵlistener"]("input", function PropertyDetailsComponent_section_0_Template_textarea_input_21_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵrestoreView"](_r1);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵresetView"](ctx_r3.updateNotes(ctx_r3.NoteAudience.Shop));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtwoWayListener"]("ngModelChange", function PropertyDetailsComponent_section_0_Template_textarea_ngModelChange_21_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵrestoreView"](_r1);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtwoWayBindingSet"](ctx_r3.shopNotes, $event) || (ctx_r3.shopNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()()()()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](22, "aside", 24);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelement"](23, "div", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](24, "div", 25)(25, "standalone-attributes", 26);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵlistener"]("close", function PropertyDetailsComponent_section_0_Template_standalone_attributes_close_25_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵrestoreView"](_r1);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵresetView"](ctx_r3.stopEditingAttributes());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()()()();
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", !ctx_r3.hasUnits);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngForOf", ctx_r3.units);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", !ctx_r3.property.valid);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx_r3.property.valid);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("disabled", !ctx_r3.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtwoWayProperty"]("ngModel", ctx_r3.customerNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("disabled", !ctx_r3.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtwoWayProperty"]("ngModel", ctx_r3.shopNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵclassProp"]("active", ctx_r3.editingAttributes);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("appointment", ctx_r3.appointment)("entity", ctx_r3.property)("availableEntities", ctx_r3.availableEntities)("availableFixtures", ctx_r3.availableFixtures)("availableFloor", ctx_r3.availableFloor)("availableRoom", ctx_r3.availableRoom)("availableUnit", ctx_r3.availableUnit)("availableStructure", ctx_r3.availableStructure)("attributes", ctx_r3.attributes)("headerLabel", "Please Complete Property Details")("saveLabel", "Continue Inspection");
  }
}
function PropertyDetailsComponent_unit_17_Template(rf, ctx) {
  if (rf & 1) {
    const _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](0, "unit", 38);
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵlistener"]("close", function PropertyDetailsComponent_unit_17_Template_unit_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵrestoreView"](_r5);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵresetView"](ctx_r3.stopEditingUnit());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("appointment", ctx_r3.appointment)("unit", ctx_r3.selectedUnit)("availableEntities", ctx_r3.availableEntities)("availableFixtures", ctx_r3.availableFixtures)("availableFloor", ctx_r3.availableFloor)("availableRoom", ctx_r3.availableRoom)("availableUnit", ctx_r3.availableUnit)("availableStructure", ctx_r3.availableStructure);
  }
}
/* Components */
let PropertyDetailsComponent = /*#__PURE__*/(() => {
  class PropertyDetailsComponent {
    constructor(localAppointmentService, appointmentService, uiService, inspectionService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      this.inspectionService = inspectionService;
      this.availableEntities = [];
      this.availableFixtures = [];
      // #endregion
      // #region Notes
      this.NoteAudience = src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience;
      this.customerNotes = "";
      this.shopNotes = "";
      // #endregion
      // #region Attributes
      this.editingAttributes = false;
      this.showAttributesUI = false;
      // #endregion
      // #region Units
      this.editingUnit = false;
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    update() {
      this.appointment?.changed$.next();
    }
    initAvailableEntities() {
      let availableProperty;
      let availableStructure;
      let availableRoom;
      let availableUnit;
      let availableFloor;
      const availableEntities = [];
      const availableFixtures = [];
      if (this.appointment != null) {
        this.appointment.availableEntities.forEach(e => {
          e.entities.forEach(ee => {
            switch (ee.type) {
              case src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_3__.PropertyEntityType.Property:
                availableProperty = ee;
                break;
              case src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_3__.PropertyEntityType.Unit:
                availableUnit = ee;
                break;
              case src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_3__.PropertyEntityType.Structure:
                availableStructure = ee;
                break;
              case src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_3__.PropertyEntityType.Floor:
                availableFloor = ee;
                break;
              case src_app_shared_properties_models_property__WEBPACK_IMPORTED_MODULE_3__.PropertyEntityType.Room:
                availableRoom = ee;
                break;
            }
            availableEntities.push(ee);
          });
        });
        this.appointment.availableFixtures.forEach(f => {
          f.fixtures.forEach(ff => {
            availableFixtures.push(ff);
          });
        });
        this.appointment.changed$.next();
      }
      this.availableProperty = availableProperty;
      this.availableStructure = availableStructure;
      this.availableFloor = availableFloor;
      this.availableRoom = availableRoom;
      this.availableUnit = availableUnit;
      this.availableEntities = availableEntities;
      this.availableFixtures = availableFixtures;
    }
    initProperty() {
      if (this.appointment != null) {
        const property = this.appointment.property;
        if (property != null) {
          if (this.availableProperty != null && property.entity == null) {
            const attributes = this.uiService.deepClone(this.availableProperty.attributes);
            const mappedAttributes = this.appointmentService.mapAttributes(attributes);
            property.entity = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.AppointmentPropertyEntity(this.uiService.generateId(), this.availableProperty.entityId, this.availableProperty.type, "Property", 1, mappedAttributes, [], new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_4__.RenderDimensions(0, 0, 0, 0, 0), {}, [], [], [], undefined, undefined, {});
            this.property = property.entity;
          } else {
            this.property = property.entity;
          }
          this.appointment.changed$.next();
          this.initAttributes();
        }
      }
    }
    updateNotes(type) {
      if (this.property != null) {
        switch (type) {
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Customer:
            this.property.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Customer] = this.customerNotes;
            break;
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Shop:
            this.property.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Shop] = this.shopNotes;
            break;
        }
        this.update();
      }
    }
    initNotes() {
      if (this.property != null) {
        this.customerNotes = this.property.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Customer] ?? "";
        this.shopNotes = this.property.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.NoteAudience.Shop] ?? "";
      }
    }
    get attributes() {
      return this.property?.attributes ?? [];
    }
    editAttributes() {
      this.editingAttributes = true;
      this.showAttributesUI = true;
    }
    stopEditingAttributes() {
      window.clearTimeout(this.attributesTimer);
      this.editingAttributes = false;
      this.attributesTimer = window.setTimeout(() => {
        this.showAttributesUI = false;
      }, 250);
    }
    initAttributes() {
      if (this.property != null) {
        if (this.property.hasInvalidAttributes) {
          this.editAttributes();
        }
      }
    }
    get units() {
      return this.property?.entities ?? [];
    }
    get hasUnits() {
      return this.units.length > 0;
    }
    // TEMP: short term hack
    get canAddUnit() {
      return this.units.length < 3;
    }
    inspectFirstUnit() {
      if (this.units.length > 0) {
        this.selectUnit(this.units[0]);
      }
    }
    selectUnit(unit) {
      this.selectedUnit = unit;
      this.editingUnit = true;
    }
    stopEditingUnit() {
      window.clearTimeout(this.editingUnitTimer);
      this.editingUnit = false;
      this.editingUnitTimer = window.setTimeout(() => {
        this.selectedUnit = undefined;
      }, 250);
    }
    addUnit() {
      if (this.property != null && this.availableUnit != null) {
        let unitAttribute;
        for (var i = 0, len = this.property.attributes.length; i < len; i++) {
          const attribute = this.property.attributes[i];
          if (attribute.name.toLowerCase() == 'number of units') {
            unitAttribute = attribute;
            break;
          }
        }
        if (unitAttribute != null && this.property.entities.length < unitAttribute.possibleValues.length) {
          const newUnit = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_0__.AppointmentPropertyEntity(this.uiService.generateId(), this.availableUnit.entityId, this.availableUnit.type, "New Unit", 1, this.availableUnit.attributes, [], new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_4__.RenderDimensions(0, 0, 0, 0, 0), {}, [], [], [], undefined, undefined, {});
          this.property.entities.push(newUnit);
          unitAttribute.values = [this.property.entities.length.toString()];
        }
        this.appointment?.changed$.next();
      }
    }
    // #endregion
    // #region Navigation
    get routeService() {
      return this.localAppointmentService.routeService;
    }
    get canGoForward() {
      return this.appointment?.property?.entity?.valid ?? false;
    }
    get canGoToPresentation() {
      return this.appointment?.inspectionCompleted ?? false;
    }
    goBack() {
      if (this.appointment != null) {
        this.localAppointmentService.goToNeeds(this.appointment);
      }
    }
    goForward() {
      this.routeService.viewRoute(src_app_appointment_models_navigation__WEBPACK_IMPORTED_MODULE_1__.AppointmentRouteType.Presentation, src_app_shared_navigation_models_navigation__WEBPACK_IMPORTED_MODULE_2__.RouteLoadDirection.Forward, true);
    }
    init() {
      this.initAvailableEntities();
      this.initProperty();
      this.initNotes();
    }
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function PropertyDetailsComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || PropertyDetailsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_5__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_6__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_7__.UiService), _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵdirectiveInject"](_services_inspection_service__WEBPACK_IMPORTED_MODULE_8__.InspectionService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵdefineComponent"]({
      type: PropertyDetailsComponent,
      selectors: [["property-details"]],
      viewQuery: function PropertyDetailsComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment"
      },
      standalone: false,
      decls: 18,
      vars: 7,
      consts: [["id", "propertyDetails", 4, "ngIf"], ["id", "mainNav"], [1, "island"], [1, "controls"], [1, "control", 3, "click"], [1, "fa-solid", "fa-arrow-left-long"], [1, "control", "success", 3, "click", "disabled"], [1, "fa-solid", "fa-arrow-right-long"], ["id", "unitView"], [1, "bg"], [3, "appointment", "unit", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "close", 4, "ngIf"], ["id", "propertyDetails"], [1, "columns"], [1, "column", "units"], [1, "content"], ["class", "message", 4, "ngIf"], [1, "units"], ["class", "unit", 3, "click", 4, "ngFor", "ngForOf"], [1, "property", "column"], ["class", "tooltip", 4, "ngIf"], [1, "notes"], [1, "note"], ["rows", "5", "placeholder", "If you have any notes for our customer, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["rows", "5", "placeholder", "If you have any notes important for the shop, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["id", "standaloneAttributes"], [1, "attributes"], [3, "close", "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "attributes", "headerLabel", "saveLabel"], [1, "message"], [1, "unit", 3, "click"], ["width", "1", "height", "1"], ["class", "render", 4, "ngIf"], ["class", "placeholder", 4, "ngIf"], ["class", "warning no-render", 4, "ngIf"], [1, "render"], [3, "src"], [1, "placeholder"], [1, "warning", "no-render"], [1, "tooltip"], [3, "close", "appointment", "unit", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure"]],
      template: function PropertyDetailsComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtemplate"](0, PropertyDetailsComponent_section_0_Template, 26, 21, "section", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](1, "nav", 1)(2, "div", 2)(3, "div", 3)(4, "button", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵlistener"]("click", function PropertyDetailsComponent_Template_button_click_4_listener() {
            return ctx.goBack();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelement"](5, "i", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](6, "label");
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](7, "Back to Needs Assessment");
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()();
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](8, "button", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵlistener"]("click", function PropertyDetailsComponent_Template_button_click_8_listener() {
            return ctx.editAttributes();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](9, "label");
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](10, "Change Property Details");
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()();
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](11, "button", 6);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵlistener"]("click", function PropertyDetailsComponent_Template_button_click_11_listener() {
            return ctx.goForward();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelement"](12, "i", 7);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](13, "label");
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtext"](14, "The Repipe Selling Value");
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]()()()()();
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementStart"](15, "aside", 8);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelement"](16, "div", 9);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵtemplate"](17, PropertyDetailsComponent_unit_17_Template, 1, 8, "unit", 10);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵelementEnd"]();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx.property != null);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵclassProp"]("hidden", ctx.editingUnit);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](10);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("disabled", !ctx.canGoToPresentation);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](4);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵclassProp"]("active", ctx.editingUnit);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_11__["ɵɵproperty"]("ngIf", ctx.selectedUnit != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_12__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_12__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_13__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_13__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_13__.NgModel, _standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_9__.StandaaloneAttributesComponent, _unit_unit_component__WEBPACK_IMPORTED_MODULE_10__.UnitComponent],
      styles: ["#propertyDetails[_ngcontent-%COMP%] {\n  position: absolute;\n  top: calc(7vw + var(--systemOffset-top));\n  left: 0;\n  right: 0;\n  bottom: 7vw;\n  overflow: hidden;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%] {\n  font-size: 0;\n  height: 100%;\n  width: 100%;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%] {\n  display: inline-block;\n  height: 100%;\n  vertical-align: middle;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  flex: 1;\n  height: 100%;\n  overflow-x: hidden;\n  border-right: 0.1vw var(--color2Alt4) solid;\n  padding: 1vw 1vw 5vw;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%] {\n  width: 75%;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  margin: 2vw 2vw 1.5vw;\n  padding: 2vw;\n  background-color: var(--color2Alt3);\n  border-radius: 1vw;\n  position: relative;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  width: 65%;\n  text-align: center;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  font-size: 3.4vw;\n  color: var(--color1Alt1);\n  font-weight: var(--ltweight);\n  font-style: italic;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%] {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: flex-start;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%] {\n  display: block;\n  width: calc(33.3333333333% - 0.6666666667vw);\n  margin-top: 1vw;\n  margin-left: 1vw;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: var(--color2);\n  padding: 1vw;\n  border-radius: 1vw;\n  position: relative;\n  overflow: hidden;\n  border: 0.2vw var(--color2Alt4) solid;\n  cursor: pointer;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > canvas[_ngcontent-%COMP%] {\n  width: 100%;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  display: block;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 100%;\n  height: 100%;\n  -webkit-object-fit: contain;\n  -moz-object-fit: contain;\n  -o-background-size: contain;\n  object-fit: contain;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .placeholder[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 2vw;\n  left: 2vw;\n  right: 2vw;\n  bottom: 2vw;\n  display: block;\n  border: 0.2vw var(--color1) solid;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .placeholder[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  display: block;\n  width: 100%;\n  text-align: center;\n  font-size: 1.4vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%] {\n  margin-top: 0.25vw;\n  display: flex;\n  justify-content: center;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  font-size: 1vw;\n  text-transform: uppercase;\n  font-weight: var(--stronger);\n  white-space: nowrap;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p.warning[_ngcontent-%COMP%] {\n  color: var(--error);\n  font-style: italic;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]:nth-child(-n+3) {\n  margin-top: 0;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.units[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .units[_ngcontent-%COMP%]    > .unit[_ngcontent-%COMP%]:nth-child(3n+1) {\n  margin-left: 0;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%] {\n  width: 25%;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  position: relative;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  background-color: var(--color2Alt2);\n  border: 0.1vw var(--color2Alt4) solid;\n  border-right: none;\n  border-top-left-radius: 2vw;\n  border-bottom-left-radius: 2vw;\n  padding: 1vw;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%] {\n  border-radius: 1vw;\n  padding: 1vw;\n  background-color: var(--color5Alt3);\n  border: 0.5vw var(--color5Alt4) solid;\n  margin-bottom: 1vw;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  margin-bottom: 0.5vw;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color2);\n  font-weight: var(--stdweight);\n  line-height: 1;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%] {\n  margin-top: 0.25vw;\n  background-color: var(--color2);\n  border-radius: 1vw;\n  border: 0.1vw var(--color1) solid;\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--stdweight);\n  padding: 1vw;\n  display: block;\n  width: 100%;\n  font-family: \"Times New Roman\", Times, serif;\n  resize: none;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  cursor: pointer;\n  border-radius: 999px;\n  padding: 0.5vw 1vw;\n  background-color: var(--success);\n  text-align: center;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.alternate[_ngcontent-%COMP%] {\n  background-color: var(--color3);\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.property[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.4;\n  pointer-events: none;\n}\n#propertyDetails[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]:first-child {\n  border-left: none;\n}\n#propertyDetails[_ngcontent-%COMP%]   #standaloneAttributes[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  background-color: rgba(var(--color2Alt1-raw), 0.9);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#propertyDetails[_ngcontent-%COMP%]   #standaloneAttributes[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 5%;\n  left: 30%;\n  right: 30%;\n  bottom: 5%;\n  z-index: 2;\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  overflow: hidden;\n  opacity: 0;\n  pointer-events: none;\n  transform: scale(0.8);\n  transition: opacity 0.2s, transform 0.2s;\n  box-shadow: 0 0.2vw 1vw rgba(var(--black-raw), 0.1);\n}\n#propertyDetails[_ngcontent-%COMP%]   #standaloneAttributes.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#propertyDetails[_ngcontent-%COMP%]   #standaloneAttributes.active[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n  transform: scale(1);\n}\n\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%] {\n  position: absolute;\n  bottom: 1vw;\n  right: 1vw;\n  z-index: calc(var(--navLayer) + 1);\n  background-color: var(--color2);\n  border-radius: 999px;\n  padding: 0.5vw 1vw;\n  opacity: 1;\n  transition: opacity 0.25s 0.25s;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  position: relative;\n  margin-left: 1vw;\n  padding: 0.8vw 2vw;\n  border-radius: 999px;\n  cursor: pointer;\n  margin-left: 1vw;\n  display: flex;\n  align-items: center;\n  background-color: var(--color3);\n  border: 0.1vw transparent solid;\n  transition: background-color 0.1s linear;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%]:last-child, #mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%]:last-child {\n  margin-left: 0.5vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  line-height: 1;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.success[_ngcontent-%COMP%] {\n  background-color: var(--success);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.alternate[_ngcontent-%COMP%] {\n  background-color: var(--color2);\n  border-color: var(--color1);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.alternate[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  color: var(--color1);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.6;\n  pointer-events: none;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active {\n  background-color: var(--color3Alt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active.success {\n  background-color: var(--successAlt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active.alternate {\n  background-color: var(--color2Alt2);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#mainNav.hidden[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%] {\n  opacity: 0;\n  pointer-events: none;\n  transition: opacity 0.25s linear;\n}\n@keyframes _ngcontent-%COMP%_unitLoadIn {\n  0% {\n    transform: translateX(100%);\n  }\n  100% {\n    transform: translateX(0);\n  }\n}\n@keyframes _ngcontent-%COMP%_unitLoadOut {\n  to {\n    transform: translateX(100%);\n  }\n}\n@keyframes _ngcontent-%COMP%_unitNavLoadIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n@keyframes _ngcontent-%COMP%_unitNavLoadOut {\n  to {\n    opacity: 0;\n  }\n}\n#unitView[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  background-color: rgba(var(--color2Alt1-raw), 0.3);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#unitView[_ngcontent-%COMP%]    > unit[_ngcontent-%COMP%]     #unit {\n  z-index: 2;\n  animation-name: _ngcontent-%COMP%_unitLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#unitView[_ngcontent-%COMP%]    > unit[_ngcontent-%COMP%]     #mainNav > .island {\n  animation-name: _ngcontent-%COMP%_unitNavLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#unitView.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#unitView.active[_ngcontent-%COMP%]    > unit[_ngcontent-%COMP%]     #unit {\n  animation-name: _ngcontent-%COMP%_unitLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#unitView.active[_ngcontent-%COMP%]    > unit[_ngcontent-%COMP%]     #mainNav > .island {\n  opacity: 0;\n  animation-name: _ngcontent-%COMP%_unitNavLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0.3s;\n  animation-fill-mode: forwards;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return PropertyDetailsComponent;
})();

/***/ }),

/***/ 9144:
/*!****************************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/room-render/room-render.component.ts ***!
  \****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   RoomRenderComponent: () => (/* binding */ RoomRenderComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 6216);





const _c0 = ["componentElm"];
function RoomRenderComponent_div_0_div_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "img", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("src", ctx_r1.room.render_B64, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]);
  }
}
function RoomRenderComponent_div_0_div_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "div", 13);
  }
}
function RoomRenderComponent_div_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 1)(1, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](3, RoomRenderComponent_div_0_div_3_Template, 2, 1, "div", 2)(4, RoomRenderComponent_div_0_div_4_Template, 1, 0, "div", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](5, "div", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousemove", function RoomRenderComponent_div_0_Template_div_mousemove_5_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.resize($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresolveWindow"])("touchmove", function RoomRenderComponent_div_0_Template_div_touchmove_5_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.resize($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresolveWindow"])("mouseup", function RoomRenderComponent_div_0_Template_div_mouseup_5_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.stopResizing($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresolveWindow"])("touchend", function RoomRenderComponent_div_0_Template_div_touchend_5_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.stopResizing($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresolveWindow"]);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousedown", function RoomRenderComponent_div_0_Template_div_mousedown_6_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "nw"));
    })("touchstart", function RoomRenderComponent_div_0_Template_div_touchstart_6_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "nw"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](7, "i", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousedown", function RoomRenderComponent_div_0_Template_div_mousedown_8_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "ne"));
    })("touchstart", function RoomRenderComponent_div_0_Template_div_touchstart_8_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "nw"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](9, "i", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "div", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousedown", function RoomRenderComponent_div_0_Template_div_mousedown_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "se"));
    })("touchstart", function RoomRenderComponent_div_0_Template_div_touchstart_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "se"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](11, "i", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "div", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousedown", function RoomRenderComponent_div_0_Template_div_mousedown_12_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "sw"));
    })("touchstart", function RoomRenderComponent_div_0_Template_div_touchstart_12_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "sw"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](13, "i", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](ctx_r1.roomLabel);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r1.room.render_B64 != null);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r1.room.render_B64 == null);
  }
}
/* Components */
let RoomRenderComponent = /*#__PURE__*/(() => {
  class RoomRenderComponent {
    constructor(localAppointmentService, appointmentService, uiService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      // #endregion
      // #region Resizing
      this.resizeDirection = "";
      this.resizePositioning = {
        initialX: 0,
        initialY: 0,
        relX: 0,
        relY: 0,
        relHeight: 0,
        relWidth: 0,
        maxX: 0,
        maxY: 0,
        x: 0,
        y: 0
      };
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    get roomLabel() {
      if (this.room?.name != null) {
        return `${this.room.name[0]} ${this.room.number}`;
      }
      return "";
    }
    startResizing(e, direction) {
      this.resizeDirection = direction;
      e.stopPropagation();
      const isTouch = 'touches' in e && e instanceof TouchEvent;
      if (isTouch) {
        this.resizePositioning.initialX = e.touches[0].clientX;
        this.resizePositioning.initialY = e.touches[0].clientY;
      } else {
        this.resizePositioning.initialX = e.clientX;
        this.resizePositioning.initialY = e.clientY;
      }
      this.resizePositioning.relX = this.room?.renderDimensions.x ?? 0;
      this.resizePositioning.relY = this.room?.renderDimensions.y ?? 0;
      this.resizePositioning.relHeight = this.room?.renderDimensions.height ?? 0;
      this.resizePositioning.relWidth = this.room?.renderDimensions.width ?? 0;
      if (this.parentElm != null) {
        this.resizePositioning.maxX = this.parentElm.offsetWidth;
        this.resizePositioning.maxY = this.parentElm.offsetHeight;
      }
      if (this.room != null) {
        this.room.resizing = true;
      }
    }
    resize(e) {
      if (this.canModifyAppointment) {
        e.stopPropagation();
        switch (this.resizeDirection) {
          case "nw":
            this.resizeNw(e);
            break;
          case "ne":
            this.resizeNe(e);
            break;
          case "sw":
            this.resizeSw(e);
            break;
          case "se":
            this.resizeSe(e);
            break;
        }
      }
    }
    resizeNw(e) {
      if (this.room != null) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.room.resizing && this.room.renderDimensions != null) {
          if (isTouch) {
            this.resizePositioning.x = e.touches[0].clientX;
            this.resizePositioning.y = e.touches[0].clientY;
          } else {
            this.resizePositioning.x = e.clientX;
            this.resizePositioning.y = e.clientY;
          }
          const deltaX = this.resizePositioning.x - this.resizePositioning.initialX;
          const deltaY = this.resizePositioning.y - this.resizePositioning.initialY;
          if (deltaX < 0) {
            const x = Math.abs(deltaX);
            this.room.renderDimensions.x = this.resizePositioning.relX - x;
            if (this.room.renderDimensions.x < 0) {
              this.room.renderDimensions.x = 0;
            } else {
              this.room.renderDimensions.width = x + this.resizePositioning.relWidth;
            }
          } else {
            const x = Math.abs(deltaX);
            let newWidth = this.resizePositioning.relWidth - x;
            if (newWidth < 140) {
              newWidth = 140;
            } else {
              this.room.renderDimensions.x = this.resizePositioning.relX + x;
              const maxX = this.resizePositioning.maxX - this.room.renderDimensions.width;
              if (this.room.renderDimensions.x > maxX) {
                this.room.renderDimensions.x = maxX;
                newWidth = this.room.renderDimensions.width;
              }
            }
            this.room.renderDimensions.width = newWidth;
          }
          this.room.renderDimensions.height = this.room.renderDimensions.width;
        }
      }
    }
    resizeNe(e) {
      const isTouch = 'touches' in e && e instanceof TouchEvent;
      if (this.room != null) {
        if (this.room.resizing && this.room.renderDimensions != null) {
          if (isTouch) {
            this.resizePositioning.x = e.touches[0].clientX;
            this.resizePositioning.y = e.touches[0].clientY;
          } else {
            this.resizePositioning.x = e.clientX;
            this.resizePositioning.y = e.clientY;
          }
          const deltaX = this.resizePositioning.x - this.resizePositioning.initialX;
          const deltaY = this.resizePositioning.y - this.resizePositioning.initialY;
          if (deltaX < 0) {
            const x = Math.abs(deltaX);
            this.room.renderDimensions.width = this.resizePositioning.relWidth - x;
            if (this.room.renderDimensions.width < 140) {
              this.room.renderDimensions.width = 140;
            }
          } else {
            const x = Math.abs(deltaX);
            let newWidth = this.resizePositioning.relWidth + x;
            const totalX = newWidth + this.room.renderDimensions.x;
            if (totalX <= this.resizePositioning.maxX) {
              this.room.renderDimensions.width = this.resizePositioning.relWidth + x;
            } else {
              this.room.renderDimensions.width = this.resizePositioning.maxX - this.room.renderDimensions.x;
            }
          }
          this.room.renderDimensions.height = this.room.renderDimensions.width;
        }
      }
    }
    resizeSe(e) {
      if (this.room != null) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.room.resizing && this.room?.renderDimensions != null) {
          if (isTouch) {
            this.resizePositioning.x = e.touches[0].clientX;
            this.resizePositioning.y = e.touches[0].clientY;
          } else {
            this.resizePositioning.x = e.clientX;
            this.resizePositioning.y = e.clientY;
          }
          const deltaX = this.resizePositioning.x - this.resizePositioning.initialX;
          const deltaY = this.resizePositioning.y - this.resizePositioning.initialY;
          if (deltaX < 0) {
            const x = Math.abs(deltaX);
            this.room.renderDimensions.width = this.resizePositioning.relWidth - x;
            if (this.room.renderDimensions.width < 140) {
              this.room.renderDimensions.width = 140;
            }
          } else {
            const x = Math.abs(deltaX);
            let newWidth = this.resizePositioning.relWidth + x;
            const totalX = newWidth + this.room.renderDimensions.x;
            if (totalX <= this.resizePositioning.maxX) {
              this.room.renderDimensions.width = this.resizePositioning.relWidth + x;
            } else {
              this.room.renderDimensions.width = this.resizePositioning.maxX - this.room.renderDimensions.x;
            }
          }
        }
      }
    }
    resizeSw(e) {
      if (this.room != null) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.room.resizing && this.room?.renderDimensions != null) {
          if (isTouch) {
            this.resizePositioning.x = e.touches[0].clientX;
            this.resizePositioning.y = e.touches[0].clientY;
          } else {
            this.resizePositioning.x = e.clientX;
            this.resizePositioning.y = e.clientY;
          }
          const deltaX = this.resizePositioning.x - this.resizePositioning.initialX;
          const deltaY = this.resizePositioning.y - this.resizePositioning.initialY;
          if (deltaX < 0) {
            const x = Math.abs(deltaX);
            this.room.renderDimensions.x = this.resizePositioning.relX - x;
            if (this.room.renderDimensions.x < 0) {
              this.room.renderDimensions.x = 0;
            } else {
              this.room.renderDimensions.width = x + this.resizePositioning.relWidth;
            }
          } else {
            const x = Math.abs(deltaX);
            let newWidth = this.resizePositioning.relWidth - x;
            if (newWidth < 140) {
              newWidth = 140;
            } else {
              this.room.renderDimensions.x = this.resizePositioning.relX + x;
              const maxX = this.resizePositioning.maxX - this.room.renderDimensions.width;
              if (this.room.renderDimensions.x > maxX) {
                this.room.renderDimensions.x = maxX;
                newWidth = this.room.renderDimensions.width;
              }
            }
            this.room.renderDimensions.width = newWidth;
          }
        }
      }
    }
    stopResizing(e) {
      e.stopPropagation();
      setTimeout(() => {
        if (this.room != null) {
          this.room.resizing = false;
          this.resizeDirection = "";
        }
      }, 0);
    }
    init() {}
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function RoomRenderComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || RoomRenderComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_0__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_2__.UiService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({
      type: RoomRenderComponent,
      selectors: [["room-render"]],
      viewQuery: function RoomRenderComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        parent: "parent",
        parentElm: "parentElm",
        room: "room"
      },
      standalone: false,
      decls: 1,
      vars: 1,
      consts: [["class", "room", 4, "ngIf"], [1, "room"], ["class", "render", 4, "ngIf"], ["class", "placeholder", 4, "ngIf"], [1, "corners", "no-render", 3, "mousemove", "touchmove", "mouseup", "touchend"], [1, "corner", "nw", 3, "mousedown", "touchstart"], [1, "fa-solid", "fa-up-right-and-down-left-from-center", "fa-flip-horizontal"], [1, "corner", "ne", 3, "mousedown", "touchstart"], [1, "fa-solid", "fa-up-right-and-down-left-from-center"], [1, "corner", "se", 3, "mousedown", "touchstart"], [1, "corner", "sw", 3, "mousedown", "touchstart"], [1, "render"], ["draggable", "false", 3, "src"], [1, "placeholder"]],
      template: function RoomRenderComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](0, RoomRenderComponent_div_0_Template, 14, 3, "div", 0);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.room != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf],
      styles: [".room[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: rgba(var(--color2-raw), 0.8);\n  border: 0.5vw var(--color3) solid;\n  border-radius: 0.25vw;\n}\n.room[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  z-index: 1;\n  bottom: 3vw;\n  white-space: none;\n  color: var(--color3);\n  font-size: var(--roomFontSize);\n  font-weight: var(--stronger);\n  white-space: nowrap;\n}\n.room[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n.room[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  height: 100%;\n  width: 100%;\n  -webkit-object-fit: contain;\n  -moz-object-fit: contain;\n  -o-background-size: contain;\n  object-fit: contain;\n}\n.room[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner[_ngcontent-%COMP%] {\n  position: absolute;\n  height: 2vw;\n  width: 2vw;\n  background-color: var(--color2);\n  border: 0.2vw var(--color1) solid;\n  cursor: pointer;\n  z-index: 1;\n}\n.room[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n.room[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner[_ngcontent-%COMP%]    > i.fa-flip-horizontal[_ngcontent-%COMP%] {\n  transform: translate(-50%, -50%) scaleX(-1);\n}\n.room[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner.nw[_ngcontent-%COMP%] {\n  top: 0;\n  left: 0;\n  transform: translate(-50%, -50%);\n}\n.room[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner.ne[_ngcontent-%COMP%] {\n  top: 0;\n  right: 0;\n  transform: translate(50%, -50%);\n}\n.room[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner.sw[_ngcontent-%COMP%] {\n  bottom: 0;\n  left: 0;\n  transform: translate(-50%, 50%);\n}\n.room[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner.se[_ngcontent-%COMP%] {\n  bottom: 0;\n  right: 0;\n  transform: translate(50%, 50%);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return RoomRenderComponent;
})();

/***/ }),

/***/ 704:
/*!**************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/room/room.component.ts ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   RoomComponent: () => (/* binding */ RoomComponent)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! rxjs */ 2714);
/* harmony import */ var html_to_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! html-to-image */ 8311);
/* harmony import */ var src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/appointments/models/appointment */ 8723);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _services_inspection_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/inspection.service */ 3311);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @angular/common */ 6216);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @angular/forms */ 8335);
/* harmony import */ var _standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../standalone-attributes/standalone-attributes.component */ 4624);
/* harmony import */ var _photo_photo_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../photo/photo.component */ 3747);
/* harmony import */ var _fixture_fixture_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fixture/fixture.component */ 9848);
/* harmony import */ var _fixtures_fixtures_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../fixtures/fixtures.component */ 3210);
/* harmony import */ var _fixture_render_fixture_render_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../fixture-render/fixture-render.component */ 5166);



/* Models */













const _c0 = ["renderElm"];
const _c1 = ["componentElm"];
function RoomComponent_section_0_div_27_p_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "p", 47);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](1, " Missing Information ");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
  }
}
function RoomComponent_section_0_div_27_Template(rf, ctx) {
  if (rf & 1) {
    const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "div", 44, 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("mouseup", function RoomComponent_section_0_div_27_Template_div_mouseup_0_listener() {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r3).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.selectFixture(fixture_r4));
    })("touchend", function RoomComponent_section_0_div_27_Template_div_touchend_0_listener() {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r3).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.selectFixture(fixture_r4));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](2, "fixture-render", 45);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("touchstart", function RoomComponent_section_0_div_27_Template_fixture_render_touchstart_2_listener($event) {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r3).$implicit;
      const fixtureElm_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.startMoving($event, fixtureElm_r5, fixture_r4));
    })("mousedown", function RoomComponent_section_0_div_27_Template_fixture_render_mousedown_2_listener($event) {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r3).$implicit;
      const fixtureElm_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.startMoving($event, fixtureElm_r5, fixture_r4));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](3, "footer");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtemplate"](4, RoomComponent_section_0_div_27_p_4_Template, 2, 0, "p", 46);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const fixture_r4 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵstyleProp"]("transform", fixture_r4.renderDimensions.transform);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("fixture", fixture_r4);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngIf", !fixture_r4.valid);
  }
}
function RoomComponent_section_0_div_39_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "div", 48)(1, "h4");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](2, "Missing Information");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](3, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtextInterpolate1"](" Please take at least 1 photo of your ", ctx_r1.room.name, ". ");
  }
}
function RoomComponent_section_0_div_40_Template(rf, ctx) {
  if (rf & 1) {
    const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "div", 49)(1, "button", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("click", function RoomComponent_section_0_div_40_Template_button_click_1_listener() {
      const photo_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r7).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.deletePhoto(photo_r8));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](2, "i", 50);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](3, "canvas", 51);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](4, "photo", 52);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("click", function RoomComponent_section_0_div_40_Template_photo_click_4_listener() {
      const photo_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r7).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.viewPhoto(photo_r8));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const photo_r8 = ctx.$implicit;
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("photo", photo_r8);
  }
}
function RoomComponent_section_0_standalone_attributes_67_Template(rf, ctx) {
  if (rf & 1) {
    const _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "standalone-attributes", 53);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("close", function RoomComponent_section_0_standalone_attributes_67_Template_standalone_attributes_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r9);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.stopEditingAttributes());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
    const renderElm_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵreference"](11);
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("appointment", ctx_r1.appointment)("entity", ctx_r1.room)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableUnit", ctx_r1.availableUnit)("availableStructure", ctx_r1.availableStructure)("attributes", ctx_r1.attributes)("renderElm", renderElm_r10)("headerLabel", "Please Complete Room Details")("saveLabel", "Continue Inspecting Room");
  }
}
function RoomComponent_section_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "section", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("touchend", function RoomComponent_section_0_Template_section_touchend_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.stopMoving($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresolveWindow"])("mouseup", function RoomComponent_section_0_Template_section_mouseup_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.stopMoving($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresolveWindow"]);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](1, "div", 14)(2, "div", 15)(3, "div", 16)(4, "header")(5, "div", 6)(6, "button", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("click", function RoomComponent_section_0_Template_button_click_6_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.selectFixtures());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](7, "i", 18);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](8, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](9, "Add Fixture To Room");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](10, "div", 19, 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("mousemove", function RoomComponent_section_0_Template_div_mousemove_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.moveEntity($event));
    })("touchmove", function RoomComponent_section_0_Template_div_touchmove_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.moveEntity($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](12, "div", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](13, "svg", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](14, "path", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](15, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](16, "Rear of Property");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](17, "svg", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](18, "path", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](19, "div", 23);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](20, "svg", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](21, "path", 24);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](22, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](23, "Front of Property");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](24, "svg", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](25, "path", 24);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](26, "div", 25);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("click", function RoomComponent_section_0_Template_div_click_26_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.unselectFixture());
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresolveWindow"]);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtemplate"](27, RoomComponent_section_0_div_27_Template, 5, 4, "div", 26);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](28, "div", 27)(29, "div", 16)(30, "header")(31, "div", 6)(32, "button", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("click", function RoomComponent_section_0_Template_button_click_32_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const photoElm_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵreference"](37);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.selectMedia(photoElm_r6));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](33, "i", 28);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](34, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](35, "Add Photo(s)");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](36, "input", 29, 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("input", function RoomComponent_section_0_Template_input_input_36_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const photoElm_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵreference"](37);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.selectFile(photoElm_r6));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](38, "div", 16);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtemplate"](39, RoomComponent_section_0_div_39_Template, 5, 1, "div", 30)(40, RoomComponent_section_0_div_40_Template, 5, 2, "div", 31);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](41, "div", 32)(42, "div", 16)(43, "header")(44, "h2");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](45, " Inspecting ");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](46, "span", 33);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](47);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](48);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](49, "div", 16)(50, "div", 34)(51, "h3");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](52, "Tip: Inspecting the Bathroom");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](53, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](54, " Add fixtures and take photos of your bathroom. ");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](55, "div", 35)(56, "div", 36)(57, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](58, "Notes for the Customer");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](59, "textarea", 37);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("input", function RoomComponent_section_0_Template_textarea_input_59_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.updateNotes(ctx_r1.NoteAudience.Customer));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtwoWayListener"]("ngModelChange", function RoomComponent_section_0_Template_textarea_ngModelChange_59_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtwoWayBindingSet"](ctx_r1.customerNotes, $event) || (ctx_r1.customerNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](60, "div", 36)(61, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](62, "Notes for the Shop");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](63, "textarea", 38);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("input", function RoomComponent_section_0_Template_textarea_input_63_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.updateNotes(ctx_r1.NoteAudience.Shop));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtwoWayListener"]("ngModelChange", function RoomComponent_section_0_Template_textarea_ngModelChange_63_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtwoWayBindingSet"](ctx_r1.shopNotes, $event) || (ctx_r1.shopNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()()()()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](64, "aside", 39);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](65, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](66, "div", 40);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtemplate"](67, RoomComponent_section_0_standalone_attributes_67_Template, 1, 12, "standalone-attributes", 41);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](68, "aside", 42);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](69, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](70, "fixtures", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("close", function RoomComponent_section_0_Template_fixtures_close_70_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.stopSelectingFixtures());
    })("selectedFixture", function RoomComponent_section_0_Template_fixtures_selectedFixture_70_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.addFixture($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](6);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](21);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngForOf", ctx_r1.fixtures);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵpropertyInterpolate"]("accept", ctx_r1.acceptFileTypes);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngIf", !ctx_r1.hasPhotos);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngForOf", ctx_r1.photos);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](7);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtextInterpolate2"]("", ctx_r1.room.name, " ", ctx_r1.room.number, "");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtextInterpolate1"](" on the ", ctx_r1.parent == null ? null : ctx_r1.parent.name, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](11);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtwoWayProperty"]("ngModel", ctx_r1.customerNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtwoWayProperty"]("ngModel", ctx_r1.shopNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵclassProp"]("active", ctx_r1.editingAttributes);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngIf", ctx_r1.showAttributesUI);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵclassProp"]("active", ctx_r1.selectingFixture);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("appointment", ctx_r1.appointment);
  }
}
function RoomComponent_label_8_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtextInterpolate1"]("Save & Close ", ctx_r1.room == null ? null : ctx_r1.room.name, "");
  }
}
function RoomComponent_label_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtextInterpolate1"]("Close ", ctx_r1.room == null ? null : ctx_r1.room.name, "");
  }
}
function RoomComponent_fixture_12_Template(rf, ctx) {
  if (rf & 1) {
    const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](0, "fixture", 54);
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("click", function RoomComponent_fixture_12_Template_fixture_click_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r11);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("close", function RoomComponent_fixture_12_Template_fixture_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r11);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.stopEditingFixture());
    })("deleted", function RoomComponent_fixture_12_Template_fixture_deleted_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵrestoreView"](_r11);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵresetView"](ctx_r1.removeFixture());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("appointment", ctx_r1.appointment)("fixture", ctx_r1.selectedFixture)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableStructure", ctx_r1.availableStructure);
  }
}
/* Components */
let RoomComponent = /*#__PURE__*/(() => {
  class RoomComponent {
    constructor(localAppointmentService, appointmentService, uiService, inspectionService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      this.inspectionService = inspectionService;
      this.relWidth = 0;
      this.relHeight = 0;
      this.relX = 0;
      this.relY = 0;
      this.cursorPosition = {
        initialX: 0,
        initialY: 0,
        x: 0,
        y: 0,
        totalX: 0,
        totalY: 0
      };
      this.renderPosition = {
        offsetWidth: 0,
        offsetHeight: 0,
        offsetX: 0,
        offsetY: 0
      };
      // #endregion
      // #region Fixtures
      this.editingFixture = false;
      this.selectingFixture = false;
      this.showDeleteFixturePrompt = false;
      this.availableEntities = [];
      this.availableFixtures = [];
      // #endregion
      // #region Notes
      this.NoteAudience = src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience;
      this.customerNotes = "";
      this.shopNotes = "";
      // #endregion
      // #region Attributes
      this.editingAttributes = false;
      this.showAttributesUI = false;
      this.acceptFileTypes = '*.jpg,*.png,*.webp';
      this.acceptMimeTypes = ['image/jpeg', 'image/jpg', 'image/png', 'image/webp'];
      this.photos = [];
      this.close = new rxjs__WEBPACK_IMPORTED_MODULE_13__.Subject();
      this.deleted = new rxjs__WEBPACK_IMPORTED_MODULE_13__.Subject();
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    update() {
      if (this.appointment != null) {
        this.appointment.changed$.next();
      }
    }
    startMoving(e, elm, entity) {
      if (!entity.moving) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        this.cursorPosition.totalX = 0;
        this.cursorPosition.totalY = 0;
        if (isTouch) {
          this.cursorPosition.initialX = e.touches[0].clientX;
          this.cursorPosition.initialY = e.touches[0].clientY;
        } else {
          this.cursorPosition.initialX = e.clientX;
          this.cursorPosition.initialY = e.clientY;
        }
        this.renderPosition.offsetHeight = elm.offsetHeight;
        this.renderPosition.offsetWidth = elm.offsetWidth;
        this.renderPosition.offsetX = elm.offsetWidth / 2;
        this.renderPosition.offsetY = elm.offsetHeight / 2;
        this.movingEntity = entity;
      }
    }
    stopMoving(e) {
      if (this.movingEntity?.moving) {
        this.movingEntity.moving = false;
      }
      this.movingEntity = undefined;
      this.fixtures.forEach(fixture => {
        fixture.moving = false;
      });
    }
    moveEntity(e) {
      if (this.canModifyAppointment) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.movingEntity != null && !this.movingEntity.resizing) {
          if (this.cursorPosition.totalX > 3 || this.cursorPosition.totalX < -3 || this.cursorPosition.totalY > 3 || this.cursorPosition.totalY < -3) {
            this.movingEntity.moving = true;
          }
          if (isTouch) {
            this.cursorPosition.x = e.touches[0].clientX;
            this.cursorPosition.y = e.touches[0].clientY;
          } else {
            this.cursorPosition.x = e.clientX;
            this.cursorPosition.y = e.clientY;
          }
          const deltaX = this.cursorPosition.x - this.cursorPosition.initialX;
          const deltaY = this.cursorPosition.y - this.cursorPosition.initialY;
          let newX = this.movingEntity.renderDimensions.x + deltaX;
          let newY = this.movingEntity.renderDimensions.y + deltaY;
          const maxX = this.relWidth - this.renderPosition.offsetWidth;
          const maxY = this.relHeight - this.renderPosition.offsetHeight;
          if (newX < 0) {
            newX = 0;
          } else if (newX > maxX) {
            newX = maxX;
          }
          if (newY < 0) {
            newY = 0;
          } else if (newY > maxY) {
            newY = maxY;
          }
          this.movingEntity.renderDimensions.x = newX;
          this.movingEntity.renderDimensions.y = newY;
          this.cursorPosition.initialX = this.cursorPosition.x;
          this.cursorPosition.initialY = this.cursorPosition.y;
          this.cursorPosition.totalX = this.cursorPosition.totalX + deltaX;
          this.cursorPosition.totalY = this.cursorPosition.totalX + deltaY;
        }
      }
    }
    render() {
      var _this = this;
      return (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
        return new Promise(/*#__PURE__*/function () {
          var _ref = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (res, rej) {
            if (_this.room != null) {
              const renderElm = _this.renderElm?.nativeElement;
              if (renderElm != null) {
                const dataUrl = yield (0,html_to_image__WEBPACK_IMPORTED_MODULE_1__.toPng)(renderElm, {
                  quality: 1.0,
                  backgroundColor: '#fff',
                  skipFonts: true,
                  filter: renderElm => {
                    return !renderElm.classList?.contains('no-render');
                  }
                });
                _this.room.render_B64 = dataUrl;
                _this.appointment?.changed$.next();
                res();
              } else {
                rej();
              }
            } else {
              rej();
            }
          });
          return function (_x, _x2) {
            return _ref.apply(this, arguments);
          };
        }());
      })();
    }
    initRender() {
      setTimeout(() => {
        const renderElm = this.renderElm?.nativeElement;
        if (renderElm != null) {
          const bounds = renderElm.getBoundingClientRect();
          this.relX = bounds.left;
          this.relY = bounds.top;
          this.relWidth = renderElm.offsetWidth;
          this.relHeight = renderElm.offsetHeight;
          this.initAttributes();
        }
      }, 250);
    }
    get fixtures() {
      return this.room?.fixtures ?? [];
    }
    removeFixture() {
      if (this.selectedFixture != null) {
        this.stopEditingFixture(false);
        for (var i = 0, len = this.fixtures.length; i < len; i++) {
          const fixture = this.fixtures[i];
          if (fixture.id == this.selectedFixture.id) {
            this.fixtures.splice(i, 1);
            this.selectedFixture = undefined;
            this.update();
            break;
          }
        }
      }
    }
    stopSelectingFixtures() {
      this.selectingFixture = false;
    }
    selectFixtures() {
      this.selectingFixture = true;
    }
    selectFixture(fixture) {
      if (!fixture.moving && this.selectedFixture?.id != fixture.id) {
        if (this.selectedFixture?.id == fixture.id) {
          this.stopEditingFixture();
        } else {
          this.selectedFixture = fixture;
          this.editingFixture = true;
        }
      }
    }
    stopEditingFixture(showTip = true) {
      window.clearTimeout(this.editingFixtureTimer);
      this.editingFixture = false;
      this.editingFixtureTimer = window.setTimeout(() => {
        this.selectedFixture = undefined;
      }, 250);
    }
    unselectFixture() {
      this.stopEditingFixture();
    }
    addFixture(fixture) {
      if (this.room != null) {
        fixture.renderDimensions.x = this.relWidth / 2 - window.innerWidth * .02;
        fixture.renderDimensions.y = this.relHeight / 2 - window.innerWidth * .02;
        this.room.fixtures.push(fixture);
        this.stopSelectingFixtures();
        this.selectFixture(fixture);
      }
    }
    promptToDeleteFixture(fixture) {
      this.fixtureToDelete = fixture;
      this.showDeleteFixturePrompt = true;
    }
    cancelDeletingFixture() {
      this.showDeleteFixturePrompt = false;
      this.fixtureToDelete = undefined;
    }
    updateNotes(type) {
      if (this.room != null) {
        switch (type) {
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer:
            this.room.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer] = this.customerNotes;
            break;
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop:
            this.room.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop] = this.shopNotes;
            break;
        }
        this.update();
      }
    }
    initNotes() {
      if (this.room != null) {
        this.customerNotes = this.room.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer] ?? "";
        this.shopNotes = this.room.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop] ?? "";
      }
    }
    get attributes() {
      return this.room?.attributes ?? [];
    }
    editAttributes() {
      this.editingAttributes = true;
      this.showAttributesUI = true;
    }
    stopEditingAttributes() {
      window.clearTimeout(this.attributesTimer);
      this.editingAttributes = false;
      this.attributesTimer = window.setTimeout(() => {
        this.showAttributesUI = false;
      }, 250);
    }
    initAttributes() {
      if (this.room != null) {
        if (this.room.hasInvalidAttributes && this.canModifyAppointment) {
          this.editAttributes();
        }
      }
    }
    get hasPhotos() {
      return this.photos.length > 0;
    }
    get viewingPhoto() {
      return this.localAppointmentService.viewingPhoto;
    }
    get photoSrc() {
      return this.localAppointmentService.photoSrc;
    }
    matchesMimeType(mimeType) {
      let i = this.acceptMimeTypes.length;
      while (i--) {
        const acceptMimeType = this.acceptMimeTypes[i];
        if (acceptMimeType == mimeType) {
          return true;
        }
      }
      return false;
    }
    setFile(deviceBlob, photos) {
      if (deviceBlob != null && this.matchesMimeType(deviceBlob.type)) {
        const url = URL.createObjectURL(deviceBlob);
        const srcImage = new Image();
        srcImage.onload = () => {
          URL.revokeObjectURL(url);
          const offscreenCanvas = document.createElement('canvas');
          const ctx = offscreenCanvas.getContext('2d');
          if (ctx != null) {
            const ratio = srcImage.width / 1024;
            let width = srcImage.width;
            let height = srcImage.height;
            if (ratio > 1) {
              width = 1024;
              height = Math.round(srcImage.height / ratio);
            }
            offscreenCanvas.width = width;
            offscreenCanvas.height = height;
            ctx.drawImage(srcImage, 0, 0, width, height);
            const base64Image = offscreenCanvas.toDataURL('image/jpeg');
            this.room?.photos_B64.push(base64Image);
            this.initPhotos();
            if (this.appointment != null) {
              this.appointment.changed$.next();
            }
          }
        };
        srcImage.src = url;
      }
    }
    selectFile(elm) {
      if (elm.files != null) {
        const file = elm.files[0];
        this.setFile(file, this.photos);
      } else {
        this.setFile(undefined, this.photos);
      }
    }
    selectMedia(fileInputElm) {
      setTimeout(() => {
        if (fileInputElm != null) {
          fileInputElm.click();
        }
      }, 0);
    }
    deletePhoto(src) {
      if (this.room != null) {
        this.uiService.prompt("Delete Photo?", "Are you sure you want to delete this photo?", "Yes", "No").subscribe({
          next: confirmed => {
            if (confirmed && this.room != null) {
              for (var i = 0, len = this.room.photos.length; i < len; i++) {
                const photo = this.room.photos[i];
                if (photo.src == src) {
                  this.room.photos.splice(i, 1);
                  break;
                }
              }
              for (var i = 0, len = this.room.photos_B64.length; i < len; i++) {
                const photo = this.room.photos_B64[i];
                if (photo == src) {
                  this.room.photos_B64.splice(i, 1);
                  break;
                }
              }
              this.initPhotos();
              this.appointment?.changed$.next();
            }
          }
        });
      }
    }
    viewPhoto(photo) {
      this.localAppointmentService.viewPhoto(photo);
    }
    stopViewingPhoto() {
      this.localAppointmentService.stopViewingPhoto();
    }
    storePhotoMeta() {
      if (this.activePhoto != null) {
        if (this.photoName != null) {
          this.activePhoto.name = this.photoName;
        }
        if (this.photoNotes != null) {
          this.activePhoto.notes = this.photoNotes;
        }
      }
    }
    initPhotos() {
      const photos = [];
      if (this.room != null) {
        photos.push(...this.room.photos_B64);
        this.room.photos.forEach(room => {
          photos.push(room.src);
        });
      }
      this.photos = photos;
    }
    // #endregion
    // #region Removal
    removeRoom() {
      this.deleted.next();
    }
    killEvent(e) {
      e.stopPropagation();
    }
    get canClose() {
      if (!this.canModifyAppointment) {
        return true;
      } else {
        if (this.room != null) {
          return this.room.valid && this.hasPhotos;
        }
        return false;
      }
    }
    closeView() {
      var _this2 = this;
      return (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
        yield _this2.render();
        _this2.close.next();
      })();
    }
    init() {
      this.initRender();
      this.initNotes();
      this.initPhotos();
    }
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function RoomComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || RoomComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_3__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_4__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_5__.UiService), _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdirectiveInject"](_services_inspection_service__WEBPACK_IMPORTED_MODULE_6__.InspectionService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵdefineComponent"]({
      type: RoomComponent,
      selectors: [["room"]],
      viewQuery: function RoomComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵviewQuery"](_c0, 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵviewQuery"](_c1, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵloadQuery"]()) && (ctx.renderElm = _t.first);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment",
        parent: "parent",
        availableFloor: "availableFloor",
        availableRoom: "availableRoom",
        availableUnit: "availableUnit",
        availableStructure: "availableStructure",
        availableEntities: "availableEntities",
        availableFixtures: "availableFixtures",
        room: "room"
      },
      outputs: {
        close: "close",
        deleted: "deleted"
      },
      standalone: false,
      decls: 13,
      vars: 10,
      consts: [["renderElm", ""], ["photoElm", ""], ["fixtureElm", ""], ["id", "room", 3, "touchend", "mouseup", 4, "ngIf"], ["id", "mainNav"], [1, "island"], [1, "controls"], [1, "control", 3, "click"], [1, "control", "success", 3, "click", "disabled"], [4, "ngIf"], ["id", "fixture"], [1, "bg"], [3, "appointment", "fixture", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableStructure", "click", "close", "deleted", 4, "ngIf"], ["id", "room", 3, "touchend", "mouseup"], [1, "columns"], [1, "column", "diagram"], [1, "content"], [1, "control", 3, "click", "disabled"], [1, "fa-solid", "fa-plus"], [1, "render", 3, "mousemove", "touchmove"], [1, "rear"], ["xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 384 512"], ["d", "M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"], [1, "front"], ["d", "M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"], [1, "fixtures", 3, "click"], ["class", "fixture", 3, "transform", "mouseup", "touchend", 4, "ngFor", "ngForOf"], [1, "column", "photos"], [1, "fa-regular", "fa-camera"], ["type", "file", 3, "input", "disabled", "accept"], ["class", "message", 4, "ngIf"], ["class", "photo", 4, "ngFor", "ngForOf"], [1, "room", "column"], [1, "bathroom"], [1, "tooltip"], [1, "notes"], [1, "note"], ["rows", "5", "placeholder", "If you have any notes for our customer, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["rows", "5", "placeholder", "If you have any notes important for the shop, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["id", "standaloneAttributes"], [1, "attributes"], [3, "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "attributes", "renderElm", "headerLabel", "saveLabel", "close", 4, "ngIf"], ["id", "fixtures"], [3, "close", "selectedFixture", "appointment"], [1, "fixture", 3, "mouseup", "touchend"], [3, "touchstart", "mousedown", "fixture"], ["class", "warning no-render", 4, "ngIf"], [1, "warning", "no-render"], [1, "message"], [1, "photo"], [1, "fa-solid", "fa-trash-can"], ["width", "1", "height", "1"], [3, "click", "photo"], [3, "close", "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "attributes", "renderElm", "headerLabel", "saveLabel"], [3, "click", "close", "deleted", "appointment", "fixture", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableStructure"]],
      template: function RoomComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtemplate"](0, RoomComponent_section_0_Template, 71, 20, "section", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](1, "nav", 4)(2, "div", 5)(3, "div", 6)(4, "button", 7);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("click", function RoomComponent_Template_button_click_4_listener() {
            return ctx.editAttributes();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](5, "label");
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtext"](6);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()();
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](7, "button", 8);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵlistener"]("click", function RoomComponent_Template_button_click_7_listener() {
            return ctx.closeView();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtemplate"](8, RoomComponent_label_8_Template, 2, 1, "label", 9)(9, RoomComponent_label_9_Template, 2, 1, "label", 9);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]()()()();
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementStart"](10, "aside", 10);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelement"](11, "div", 11);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtemplate"](12, RoomComponent_fixture_12_Template, 1, 7, "fixture", 12);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵelementEnd"]();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngIf", ctx.room != null);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵclassProp"]("hidden", ctx.editingFixture || ctx.editingAttributes);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](5);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵtextInterpolate1"]("Change ", ctx.room == null ? null : ctx.room.name, " Details");
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("disabled", !ctx.canClose);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngIf", ctx.canModifyAppointment);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngIf", !ctx.canModifyAppointment);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵclassProp"]("active", ctx.editingFixture);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_12__["ɵɵproperty"]("ngIf", ctx.selectedFixture != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_14__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_14__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_15__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_15__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_15__.NgModel, _standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_7__.StandaaloneAttributesComponent, _photo_photo_component__WEBPACK_IMPORTED_MODULE_8__.PhotoComponent, _fixture_fixture_component__WEBPACK_IMPORTED_MODULE_9__.FixtureComponent, _fixtures_fixtures_component__WEBPACK_IMPORTED_MODULE_10__.FixturesComponent, _fixture_render_fixture_render_component__WEBPACK_IMPORTED_MODULE_11__.FixtureRenderComponent],
      styles: ["#room[_ngcontent-%COMP%] {\n  position: absolute;\n  top: calc(6vw + var(--systemOffset-top));\n  left: 6vw;\n  right: 0;\n  bottom: 6vw;\n  background-color: var(--color2Alt3);\n  border: 0.1vw var(--color2Alt4) solid;\n  box-shadow: -0.2vw 0 1vw rgba(var(--black-raw), 0.1);\n  border-top-left-radius: 2vw;\n  border-bottom-left-radius: 2vw;\n  overflow: hidden;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%] {\n  font-size: 0;\n  height: 100%;\n  width: 100%;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%] {\n  display: inline-block;\n  vertical-align: top;\n  height: 100%;\n  font-size: 1rem;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  border-bottom: 0.1vw var(--color2Alt4) solid;\n  padding: 0.75vw 1.5vw 0.75vw 1.5vw;\n  display: flex;\n  justify-content: flex-end;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  color: var(--color1);\n  font-weight: var(--stronger);\n  font-size: 1.4vw;\n  line-height: 1;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  margin-left: 1vw;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 999px;\n  background-color: var(--color3Alt3);\n  padding: 0.75vw 1vw;\n  transition: background-color 0.2s linear;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%], \n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  color: var(--color2);\n  transition: color 0.2s linear;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  margin-left: 0.5vw;\n  line-height: 1;\n  font-size: 1.2vw;\n  font-weight: var(--strong);\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active    > i[_ngcontent-%COMP%], #room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active    > label[_ngcontent-%COMP%] {\n  color: var(--color5);\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.75;\n  pointer-events: none;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > input[_ngcontent-%COMP%] {\n  position: absolute;\n  visibility: hidden;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  flex: 1;\n  border-right: 0.1vw var(--color2Alt4) solid;\n  padding: 1vw 1vw 5vw;\n  overflow-x: hidden;\n  position: relative;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  z-index: 1;\n  top: 1vw;\n  background-color: var(--error);\n  border: 0.5vw var(--errorAlt3) solid;\n  border-radius: 1vw;\n  width: 90%;\n  padding: 0.75vw 1vw;\n  pointer-events: none;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  font-weight: var(--stronger);\n  color: var(--color2);\n  text-align: center;\n  text-transform: uppercase;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  margin-top: 0.5vw;\n  color: var(--color2);\n  font-size: 1.2vw;\n  font-weight: var(--strong);\n  text-align: center;\n  line-height: 1.2;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt4) solid;\n  cursor: pointer;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  background-color: var(--color2Alt1);\n  padding: 2vw 0;\n  border-radius: 1vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 2vw;\n  color: var(--color3);\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color3);\n  font-weight: var(--strong);\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%] {\n  width: calc(75% - 16vw);\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  position: relative;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%] {\n  flex: 1;\n  background-color: var(--color2);\n  position: relative;\n  overflow: hidden;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .front[_ngcontent-%COMP%], \n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rear[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  display: flex;\n  align-items: center;\n  pointer-events: none;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .front[_ngcontent-%COMP%]    > svg[_ngcontent-%COMP%], \n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rear[_ngcontent-%COMP%]    > svg[_ngcontent-%COMP%] {\n  height: 1.2vw;\n  fill: var(--color1);\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .front[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%], \n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rear[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  margin: 0 1vw;\n  font-size: 1.4vw;\n  text-transform: uppercase;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n  white-space: nowrap;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .front[_ngcontent-%COMP%] {\n  bottom: 1vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rear[_ngcontent-%COMP%] {\n  top: 1vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: 2;\n  cursor: pointer;\n  border: 0.2vw transparent solid;\n  border-radius: 1vw;\n  will-change: transform;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]   fixture-render[_ngcontent-%COMP%] {\n  display: block;\n  width: 8vw;\n  height: 9vw;\n  position: relative;\n  --fixtureFontSize: 1vw;\n  will-change: transform;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  top: 100%;\n  margin-top: 0.25vw;\n  display: flex;\n  justify-content: center;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  font-size: 0.9vw;\n  text-transform: uppercase;\n  font-weight: var(--stronger);\n  white-space: nowrap;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.diagram[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p.warning[_ngcontent-%COMP%] {\n  color: var(--error);\n  font-style: italic;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%] {\n  width: 16vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  background-color: rgba(var(--color1-raw), 0.08);\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n  position: relative;\n  overflow: hidden;\n  border-radius: 1vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]   canvas[_ngcontent-%COMP%] {\n  width: 100%;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: 1;\n  top: 1vw;\n  right: 1vw;\n  cursor: pointer;\n  height: 3vw;\n  width: 3vw;\n  background-color: var(--color2);\n  overflow: hidden;\n  border-radius: 100%;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  font-size: 1.4vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]   photo[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.photos[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .photo[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%] {\n  width: 25%;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  padding: 1vw 1.5vw;\n  background-color: var(--color3Alt3);\n  border-left: 0.2vw var(--color3Alt4) solid;\n  justify-content: center;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  font-size: 2.2vw;\n  text-align: center;\n  color: var(--color2);\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%]    > .bathroom[_ngcontent-%COMP%] {\n  font-weight: var(--stronger);\n  font-style: italic;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  background-color: var(--color2Alt2);\n  padding: 1vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%] {\n  border-radius: 1vw;\n  padding: 1vw;\n  background-color: var(--color5Alt3);\n  border: 0.5vw var(--color5Alt4) solid;\n  margin-bottom: 1vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  margin-bottom: 0.5vw;\n  line-height: 1;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color2);\n  font-weight: var(--stdweight);\n  line-height: 1;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%] {\n  margin-top: 0.25vw;\n  background-color: var(--color2);\n  border-radius: 1vw;\n  border: 0.1vw var(--color1) solid;\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--stdweight);\n  padding: 1vw;\n  display: block;\n  width: 100%;\n  font-family: \"Times New Roman\", Times, serif;\n  resize: none;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.room[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n#room[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]:first-child {\n  border-left: none;\n}\n#room[_ngcontent-%COMP%]   #standaloneAttributes[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  background-color: rgba(var(--color2Alt1-raw), 0.9);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#room[_ngcontent-%COMP%]   #standaloneAttributes[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 5%;\n  left: 30%;\n  right: 30%;\n  bottom: 5%;\n  z-index: 2;\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  overflow: hidden;\n  opacity: 0;\n  pointer-events: none;\n  transform: scale(0.8);\n  transition: opacity 0.2s, transform 0.2s;\n  box-shadow: 0 0.2vw 1vw rgba(var(--black-raw), 0.1);\n}\n#room[_ngcontent-%COMP%]   #standaloneAttributes.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#room[_ngcontent-%COMP%]   #standaloneAttributes.active[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n  transform: scale(1);\n}\n#room[_ngcontent-%COMP%]   #fixtures[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  background-color: rgba(var(--color1-raw), 0.1);\n  -webkit-backdrop-filter: blur(0.25vw);\n  -moz-backdrop-filter: blur(0.25vw);\n  -o-backdrop-filter: blur(0.25vw);\n  backdrop-filter: blur(0.25vw);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#room[_ngcontent-%COMP%]   #fixtures[_ngcontent-%COMP%]    > fixtures[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 5%;\n  left: 20%;\n  right: 20%;\n  bottom: 5%;\n  z-index: 2;\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  overflow: hidden;\n  opacity: 0;\n  pointer-events: none;\n  transform: scale(0.8);\n  transition: opacity 0.2s, transform 0.2s;\n  box-shadow: 0 0.2vw 1vw rgba(var(--black-raw), 0.1);\n}\n#room[_ngcontent-%COMP%]   #fixtures.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#room[_ngcontent-%COMP%]   #fixtures.active[_ngcontent-%COMP%]    > fixtures[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n  transform: scale(1);\n}\n#room[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%] {\n  z-index: 2;\n}\n#room[_ngcontent-%COMP%]   .tooltip.general[_ngcontent-%COMP%] {\n  bottom: 1vw;\n  right: 1vw;\n  width: 22vw;\n}\n#room[_ngcontent-%COMP%]   .tooltip.general[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n}\n#room[_ngcontent-%COMP%]   .tooltip.general[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  font-size: 1.5vw;\n}\n\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%] {\n  position: absolute;\n  bottom: 1vw;\n  right: 1vw;\n  z-index: 9;\n  background-color: var(--color2);\n  border-radius: 999px;\n  padding: 0.5vw 1vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  position: relative;\n  margin-left: 1vw;\n  padding: 0.8vw 2vw;\n  border-radius: 999px;\n  cursor: pointer;\n  margin-left: 1vw;\n  display: flex;\n  align-items: center;\n  background-color: var(--color3);\n  border: 0.1vw transparent solid;\n  transition: background-color 0.1s linear;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%]:last-child, \n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%]:last-child {\n  margin-left: 0.5vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  line-height: 1;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.success[_ngcontent-%COMP%] {\n  background-color: var(--success);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.6;\n  pointer-events: none;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active {\n  background-color: var(--color3Alt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active.success {\n  background-color: var(--successAlt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#mainNav.hidden[_ngcontent-%COMP%] {\n  opacity: 0;\n  pointer-events: none;\n  transition: opacity 0.25s linear;\n}\n@keyframes _ngcontent-%COMP%_childLoadIn {\n  0% {\n    transform: translateX(100%);\n  }\n  100% {\n    transform: translateX(0);\n  }\n}\n@keyframes _ngcontent-%COMP%_childLoadOut {\n  to {\n    transform: translateX(100%);\n  }\n}\n@keyframes _ngcontent-%COMP%_childNavLoadIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n@keyframes _ngcontent-%COMP%_childNavLoadOut {\n  to {\n    opacity: 0;\n  }\n}\n#fixture[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 6;\n  background-color: rgba(var(--color2Alt1-raw), 0.5);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#fixture[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #fixture {\n  z-index: 7;\n  animation-name: _ngcontent-%COMP%_childLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #mainNav > .island {\n  animation-name: _ngcontent-%COMP%_childNavLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#fixture.active[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #fixture {\n  animation-name: _ngcontent-%COMP%_childLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture.active[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #mainNav > .island {\n  opacity: 0;\n  animation-name: _ngcontent-%COMP%_childNavLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0.3s;\n  animation-fill-mode: forwards;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return RoomComponent;
})();

/***/ }),

/***/ 4624:
/*!************************************************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/standalone-attributes/standalone-attributes.component.ts ***!
  \************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   StandaaloneAttributesComponent: () => (/* binding */ StandaaloneAttributesComponent)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs */ 2714);
/* harmony import */ var gsap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! gsap */ 4076);
/* harmony import */ var gsap_Draggable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! gsap/Draggable */ 7431);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var _attributes_attributes_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../attributes/attributes.component */ 3424);







const _c0 = ["componentElm"];
gsap__WEBPACK_IMPORTED_MODULE_3__["default"].registerPlugin(gsap_Draggable__WEBPACK_IMPORTED_MODULE_4__["default"]);
let StandaaloneAttributesComponent = /*#__PURE__*/(() => {
  class StandaaloneAttributesComponent {
    constructor(localAppointmentService) {
      this.localAppointmentService = localAppointmentService;
      this.availableEntities = [];
      this.availableFixtures = [];
      // #endregion
      // #region Attributes
      this.attributes = [];
      this.close = new rxjs__WEBPACK_IMPORTED_MODULE_5__.Subject();
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    get canClose() {
      if (!this.canModifyAppointment) {
        return true;
      } else {
        if (this.entity != null) {
          return !this.entity.hasInvalidAttributes;
        }
        return false;
      }
    }
    closeView() {
      var _this = this;
      return (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
        _this.close.next();
      })();
    }
    init() {}
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function StandaaloneAttributesComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || StandaaloneAttributesComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__.LocalAppointmentService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdefineComponent"]({
      type: StandaaloneAttributesComponent,
      selectors: [["standalone-attributes"]],
      viewQuery: function StandaaloneAttributesComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment",
        availableFloor: "availableFloor",
        availableRoom: "availableRoom",
        availableStructure: "availableStructure",
        availableUnit: "availableUnit",
        availableEntities: "availableEntities",
        availableFixtures: "availableFixtures",
        entity: "entity",
        attributes: "attributes",
        headerLabel: "headerLabel",
        saveLabel: "saveLabel",
        renderElm: "renderElm"
      },
      outputs: {
        close: "close"
      },
      standalone: false,
      decls: 10,
      vars: 13,
      consts: [[1, "standalone-attributes"], [1, "content"], [3, "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "renderElm", "attributes"], [1, "controls"], [1, "control", 3, "click", "disabled"]],
      template: function StandaaloneAttributesComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 0)(1, "header")(2, "h2");
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](3);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()();
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](4, "div", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](5, "attributes", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](6, "div", 3)(7, "button", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵlistener"]("click", function StandaaloneAttributesComponent_Template_button_click_7_listener() {
            return ctx.closeView();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](8, "label");
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](9);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]()()()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](3);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate"](ctx.headerLabel);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("appointment", ctx.appointment)("entity", ctx.entity)("availableEntities", ctx.availableEntities)("availableFixtures", ctx.availableFixtures)("availableFloor", ctx.availableFloor)("availableRoom", ctx.availableRoom)("availableUnit", ctx.availableUnit)("availableStructure", ctx.availableStructure)("renderElm", ctx.renderElm)("attributes", ctx.attributes);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("disabled", !ctx.canClose);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"](" ", ctx.saveLabel, " ");
        }
      },
      dependencies: [_attributes_attributes_component__WEBPACK_IMPORTED_MODULE_2__.AttributesComponent],
      styles: [".standalone-attributes[_ngcontent-%COMP%] {\n  padding: 1vw;\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  display: flex;\n  flex-direction: column;\n}\n.standalone-attributes[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n}\n.standalone-attributes[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  flex: 1;\n  height: 100%;\n  margin-top: 1vw;\n  padding: 1vw 0;\n  border-top: 0.1vw var(--color2Alt2) solid;\n  border-bottom: 0.1vw var(--color2Alt2) solid;\n  overflow-x: hidden;\n}\n.standalone-attributes[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n.standalone-attributes[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  cursor: pointer;\n  border-radius: 999px;\n  padding: 0.5vw 1vw;\n  background-color: var(--success);\n  text-align: center;\n}\n.standalone-attributes[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n}\n.standalone-attributes[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.4;\n  pointer-events: none;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return StandaaloneAttributesComponent;
})();

/***/ }),

/***/ 1254:
/*!**************************************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/structure-render/structure-render.component.ts ***!
  \**************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   StructureRenderComponent: () => (/* binding */ StructureRenderComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 6216);





const _c0 = ["componentElm"];
function StructureRenderComponent_div_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 1)(1, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "div", 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousemove", function StructureRenderComponent_div_0_Template_div_mousemove_3_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.resize($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresolveWindow"])("touchmove", function StructureRenderComponent_div_0_Template_div_touchmove_3_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.resize($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresolveWindow"])("mouseup", function StructureRenderComponent_div_0_Template_div_mouseup_3_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.stopResizing($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresolveWindow"])("touchend", function StructureRenderComponent_div_0_Template_div_touchend_3_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.stopResizing($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresolveWindow"]);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousedown", function StructureRenderComponent_div_0_Template_div_mousedown_4_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "nw"));
    })("touchstart", function StructureRenderComponent_div_0_Template_div_touchstart_4_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "nw"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "i", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousedown", function StructureRenderComponent_div_0_Template_div_mousedown_6_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "ne"));
    })("touchstart", function StructureRenderComponent_div_0_Template_div_touchstart_6_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "ne"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](7, "i", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousedown", function StructureRenderComponent_div_0_Template_div_mousedown_8_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "se"));
    })("touchstart", function StructureRenderComponent_div_0_Template_div_touchstart_8_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "se"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](9, "i", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "div", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("mousedown", function StructureRenderComponent_div_0_Template_div_mousedown_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "sw"));
    })("touchstart", function StructureRenderComponent_div_0_Template_div_touchstart_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵresetView"](ctx_r1.startResizing($event, "sw"));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](11, "i", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]()()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](ctx_r1.structure.name);
  }
}
/* Components */
let StructureRenderComponent = /*#__PURE__*/(() => {
  class StructureRenderComponent {
    constructor(localAppointmentService, appointmentService, uiService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      // #endregion
      // #region Resizing
      this.resizeDirection = "";
      this.resizePositioning = {
        initialX: 0,
        initialY: 0,
        relX: 0,
        relY: 0,
        relHeight: 0,
        relWidth: 0,
        maxX: 0,
        maxY: 0,
        x: 0,
        y: 0
      };
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    startResizing(e, direction) {
      this.resizeDirection = direction;
      e.stopPropagation();
      const isTouch = 'touches' in e && e instanceof TouchEvent;
      if (isTouch) {
        this.resizePositioning.initialX = e.touches[0].clientX;
        this.resizePositioning.initialY = e.touches[0].clientY;
      } else {
        this.resizePositioning.initialX = e.clientX;
        this.resizePositioning.initialY = e.clientY;
      }
      this.resizePositioning.relX = this.structure?.renderDimensions.x ?? 0;
      this.resizePositioning.relY = this.structure?.renderDimensions.y ?? 0;
      this.resizePositioning.relHeight = this.structure?.renderDimensions.height ?? 0;
      this.resizePositioning.relWidth = this.structure?.renderDimensions.width ?? 0;
      if (this.parentElm != null) {
        this.resizePositioning.maxX = this.parentElm.offsetWidth;
        this.resizePositioning.maxY = this.parentElm.offsetHeight;
      }
      if (this.structure != null) {
        this.structure.resizing = true;
      }
    }
    resize(e) {
      if (this.canModifyAppointment) {
        e.stopPropagation();
        switch (this.resizeDirection) {
          case "nw":
            this.resizeNw(e);
            break;
          case "ne":
            this.resizeNe(e);
            break;
          case "sw":
            this.resizeSw(e);
            break;
          case "se":
            this.resizeSe(e);
            break;
        }
      }
    }
    resizeNw(e) {
      if (this.structure != null) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.structure.resizing && this.structure.renderDimensions != null) {
          if (isTouch) {
            this.resizePositioning.x = e.touches[0].clientX;
            this.resizePositioning.y = e.touches[0].clientY;
          } else {
            this.resizePositioning.x = e.clientX;
            this.resizePositioning.y = e.clientY;
          }
          const deltaX = this.resizePositioning.x - this.resizePositioning.initialX;
          const deltaY = this.resizePositioning.y - this.resizePositioning.initialY;
          if (deltaX < 0) {
            const x = Math.abs(deltaX);
            this.structure.renderDimensions.x = this.resizePositioning.relX - x;
            if (this.structure.renderDimensions.x < 0) {
              this.structure.renderDimensions.x = 0;
            } else {
              this.structure.renderDimensions.width = x + this.resizePositioning.relWidth;
            }
          } else {
            const x = Math.abs(deltaX);
            let newWidth = this.resizePositioning.relWidth - x;
            if (newWidth < 140) {
              newWidth = 140;
            } else {
              this.structure.renderDimensions.x = this.resizePositioning.relX + x;
              const maxX = this.resizePositioning.maxX - this.structure.renderDimensions.width;
              if (this.structure.renderDimensions.x > maxX) {
                this.structure.renderDimensions.x = maxX;
                newWidth = this.structure.renderDimensions.width;
              }
            }
            this.structure.renderDimensions.width = newWidth;
          }
          if (deltaY < 0) {
            const y = Math.abs(deltaY);
            this.structure.renderDimensions.y = this.resizePositioning.relY - y;
            if (this.structure.renderDimensions.y < 0) {
              this.structure.renderDimensions.y = 0;
            } else {
              this.structure.renderDimensions.height = y + this.resizePositioning.relHeight;
            }
          } else {
            const y = Math.abs(deltaY);
            let newHeight = this.resizePositioning.relHeight - y;
            if (newHeight < 140) {
              newHeight = 140;
            } else {
              this.structure.renderDimensions.y = this.resizePositioning.relY + y;
              const maxY = this.resizePositioning.maxY - this.structure.renderDimensions.height;
              if (this.structure.renderDimensions.y > maxY) {
                this.structure.renderDimensions.y = maxY;
                newHeight = this.structure.renderDimensions.height;
              }
            }
            this.structure.renderDimensions.height = newHeight;
          }
        }
      }
    }
    resizeNe(e) {
      const isTouch = 'touches' in e && e instanceof TouchEvent;
      if (this.structure != null) {
        if (this.structure.resizing && this.structure.renderDimensions != null) {
          if (isTouch) {
            this.resizePositioning.x = e.touches[0].clientX;
            this.resizePositioning.y = e.touches[0].clientY;
          } else {
            this.resizePositioning.x = e.clientX;
            this.resizePositioning.y = e.clientY;
          }
          const deltaX = this.resizePositioning.x - this.resizePositioning.initialX;
          const deltaY = this.resizePositioning.y - this.resizePositioning.initialY;
          if (deltaX < 0) {
            const x = Math.abs(deltaX);
            this.structure.renderDimensions.width = this.resizePositioning.relWidth - x;
            if (this.structure.renderDimensions.width < 140) {
              this.structure.renderDimensions.width = 140;
            }
          } else {
            const x = Math.abs(deltaX);
            let newWidth = this.resizePositioning.relWidth + x;
            const totalX = newWidth + this.structure.renderDimensions.x;
            if (totalX <= this.resizePositioning.maxX) {
              this.structure.renderDimensions.width = this.resizePositioning.relWidth + x;
            } else {
              this.structure.renderDimensions.width = this.resizePositioning.maxX - this.structure.renderDimensions.x;
            }
          }
          if (deltaY < 0) {
            const y = Math.abs(deltaY);
            this.structure.renderDimensions.y = this.resizePositioning.relY - y;
            if (this.structure.renderDimensions.y < 0) {
              this.structure.renderDimensions.y = 0;
            } else {
              this.structure.renderDimensions.height = y + this.resizePositioning.relHeight;
            }
          } else {
            const y = Math.abs(deltaY);
            let newHeight = this.resizePositioning.relHeight - y;
            if (newHeight < 140) {
              newHeight = 140;
            } else {
              this.structure.renderDimensions.y = this.resizePositioning.relY + y;
              const maxY = this.resizePositioning.maxY - this.structure.renderDimensions.height;
              if (this.structure.renderDimensions.y > maxY) {
                this.structure.renderDimensions.y = maxY;
                newHeight = this.structure.renderDimensions.height;
              }
            }
            this.structure.renderDimensions.height = newHeight;
          }
        }
      }
    }
    resizeSe(e) {
      if (this.structure != null) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.structure.resizing && this.structure?.renderDimensions != null) {
          if (isTouch) {
            this.resizePositioning.x = e.touches[0].clientX;
            this.resizePositioning.y = e.touches[0].clientY;
          } else {
            this.resizePositioning.x = e.clientX;
            this.resizePositioning.y = e.clientY;
          }
          const deltaX = this.resizePositioning.x - this.resizePositioning.initialX;
          const deltaY = this.resizePositioning.y - this.resizePositioning.initialY;
          if (deltaX < 0) {
            const x = Math.abs(deltaX);
            this.structure.renderDimensions.width = this.resizePositioning.relWidth - x;
            if (this.structure.renderDimensions.width < 140) {
              this.structure.renderDimensions.width = 140;
            }
          } else {
            const x = Math.abs(deltaX);
            let newWidth = this.resizePositioning.relWidth + x;
            const totalX = newWidth + this.structure.renderDimensions.x;
            if (totalX <= this.resizePositioning.maxX) {
              this.structure.renderDimensions.width = this.resizePositioning.relWidth + x;
            } else {
              this.structure.renderDimensions.width = this.resizePositioning.maxX - this.structure.renderDimensions.x;
            }
          }
          if (deltaY < 0) {
            const y = Math.abs(deltaY);
            this.structure.renderDimensions.height = this.resizePositioning.relHeight - y;
            if (this.structure.renderDimensions.height < 140) {
              this.structure.renderDimensions.height = 140;
            }
          } else {
            const y = Math.abs(deltaY);
            let newHeight = this.resizePositioning.relHeight + y;
            const totalY = newHeight + this.structure.renderDimensions.y;
            if (totalY <= this.resizePositioning.maxY) {
              this.structure.renderDimensions.height = this.resizePositioning.relHeight + y;
            } else {
              this.structure.renderDimensions.height = this.resizePositioning.maxY - this.structure.renderDimensions.y;
            }
          }
        }
      }
    }
    resizeSw(e) {
      if (this.structure != null) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.structure.resizing && this.structure?.renderDimensions != null) {
          if (isTouch) {
            this.resizePositioning.x = e.touches[0].clientX;
            this.resizePositioning.y = e.touches[0].clientY;
          } else {
            this.resizePositioning.x = e.clientX;
            this.resizePositioning.y = e.clientY;
          }
          const deltaX = this.resizePositioning.x - this.resizePositioning.initialX;
          const deltaY = this.resizePositioning.y - this.resizePositioning.initialY;
          if (deltaX < 0) {
            const x = Math.abs(deltaX);
            this.structure.renderDimensions.x = this.resizePositioning.relX - x;
            if (this.structure.renderDimensions.x < 0) {
              this.structure.renderDimensions.x = 0;
            } else {
              this.structure.renderDimensions.width = x + this.resizePositioning.relWidth;
            }
          } else {
            const x = Math.abs(deltaX);
            let newWidth = this.resizePositioning.relWidth - x;
            if (newWidth < 140) {
              newWidth = 140;
            } else {
              this.structure.renderDimensions.x = this.resizePositioning.relX + x;
              const maxX = this.resizePositioning.maxX - this.structure.renderDimensions.width;
              if (this.structure.renderDimensions.x > maxX) {
                this.structure.renderDimensions.x = maxX;
                newWidth = this.structure.renderDimensions.width;
              }
            }
            this.structure.renderDimensions.width = newWidth;
          }
          if (deltaY < 0) {
            const y = Math.abs(deltaY);
            this.structure.renderDimensions.height = this.resizePositioning.relHeight - y;
            if (this.structure.renderDimensions.height < 140) {
              this.structure.renderDimensions.height = 140;
            }
          } else {
            const y = Math.abs(deltaY);
            let newHeight = this.resizePositioning.relHeight + y;
            const totalY = newHeight + this.structure.renderDimensions.y;
            if (totalY <= this.resizePositioning.maxY) {
              this.structure.renderDimensions.height = this.resizePositioning.relHeight + y;
            } else {
              this.structure.renderDimensions.height = this.resizePositioning.maxY - this.structure.renderDimensions.y;
            }
          }
        }
      }
    }
    stopResizing(e) {
      e.stopPropagation();
      setTimeout(() => {
        if (this.structure != null) {
          this.structure.resizing = false;
          this.resizeDirection = "";
        }
      }, 0);
    }
    init() {}
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function StructureRenderComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || StructureRenderComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_0__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_1__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_2__.UiService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({
      type: StructureRenderComponent,
      selectors: [["structure-render"]],
      viewQuery: function StructureRenderComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵviewQuery"](_c0, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        parent: "parent",
        parentElm: "parentElm",
        structure: "structure"
      },
      standalone: false,
      decls: 1,
      vars: 1,
      consts: [["class", "structure", 4, "ngIf"], [1, "structure"], [1, "corners", "no-render", 3, "mousemove", "touchmove", "mouseup", "touchend"], [1, "corner", "nw", 3, "mousedown", "touchstart"], [1, "fa-solid", "fa-up-right-and-down-left-from-center", "fa-flip-horizontal"], [1, "corner", "ne", 3, "mousedown", "touchstart"], [1, "fa-solid", "fa-up-right-and-down-left-from-center"], [1, "corner", "se", 3, "mousedown", "touchstart"], [1, "corner", "sw", 3, "mousedown", "touchstart"]],
      template: function StructureRenderComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](0, StructureRenderComponent_div_0_Template, 12, 1, "div", 0);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.structure != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf],
      styles: [".structure[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  border: 0.2vw var(--color1Alt1) solid;\n  background-color: var(--color2Alt2);\n}\n.structure[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  white-space: none;\n  color: var(--color1);\n  font-size: var(--structureFontSize);\n  font-weight: var(--strong);\n  display: block;\n  white-space: nowrap;\n}\n.structure[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner[_ngcontent-%COMP%] {\n  position: absolute;\n  height: 2vw;\n  width: 2vw;\n  background-color: var(--color2);\n  border: 0.2vw var(--color1) solid;\n  cursor: pointer;\n  z-index: 1;\n}\n.structure[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  font-size: 1.4vw;\n  color: var(--color1);\n}\n.structure[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner[_ngcontent-%COMP%]    > i.fa-flip-horizontal[_ngcontent-%COMP%] {\n  transform: translate(-50%, -50%) scaleX(-1);\n}\n.structure[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner.nw[_ngcontent-%COMP%] {\n  top: 0;\n  left: 0;\n  transform: translate(-50%, -50%);\n}\n.structure[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner.ne[_ngcontent-%COMP%] {\n  top: 0;\n  right: 0;\n  transform: translate(50%, -50%);\n}\n.structure[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner.sw[_ngcontent-%COMP%] {\n  bottom: 0;\n  left: 0;\n  transform: translate(-50%, 50%);\n}\n.structure[_ngcontent-%COMP%]    > .corners[_ngcontent-%COMP%]    > .corner.se[_ngcontent-%COMP%] {\n  bottom: 0;\n  right: 0;\n  transform: translate(50%, 50%);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return StructureRenderComponent;
})();

/***/ }),

/***/ 3192:
/*!************************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/structure/structure.component.ts ***!
  \************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   StructureComponent: () => (/* binding */ StructureComponent)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! rxjs */ 2714);
/* harmony import */ var html_to_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! html-to-image */ 8311);
/* harmony import */ var src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/appointments/models/appointment */ 8723);
/* harmony import */ var src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/shared/appointments/models/rendering */ 3114);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _services_inspection_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/inspection.service */ 3311);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @angular/common */ 6216);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @angular/forms */ 8335);
/* harmony import */ var _standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../standalone-attributes/standalone-attributes.component */ 4624);
/* harmony import */ var _fixture_fixture_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fixture/fixture.component */ 9848);
/* harmony import */ var _fixtures_fixtures_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../fixtures/fixtures.component */ 3210);
/* harmony import */ var _fixture_render_fixture_render_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../fixture-render/fixture-render.component */ 5166);
/* harmony import */ var _room_room_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../room/room.component */ 704);
/* harmony import */ var _room_render_room_render_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../room-render/room-render.component */ 9144);



/* Models */















const _c0 = ["renderElm"];
const _c1 = ["componentElm"];
function StructureComponent_section_0_div_31_p_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "p", 51);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](1, " Missing Information ");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
  }
}
function StructureComponent_section_0_div_31_Template(rf, ctx) {
  if (rf & 1) {
    const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "div", 48, 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("mouseup", function StructureComponent_section_0_div_31_Template_div_mouseup_0_listener() {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r3).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.selectFixture(fixture_r4));
    })("touchend", function StructureComponent_section_0_div_31_Template_div_touchend_0_listener() {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r3).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.selectFixture(fixture_r4));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](2, "fixture-render", 49);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("touchstart", function StructureComponent_section_0_div_31_Template_fixture_render_touchstart_2_listener($event) {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r3).$implicit;
      const fixtureElm_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.startMoving($event, fixtureElm_r5, fixture_r4));
    })("mousedown", function StructureComponent_section_0_div_31_Template_fixture_render_mousedown_2_listener($event) {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r3).$implicit;
      const fixtureElm_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.startMoving($event, fixtureElm_r5, fixture_r4));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](3, "footer");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](4, StructureComponent_section_0_div_31_p_4_Template, 2, 0, "p", 50);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const fixture_r4 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵstyleProp"]("transform", fixture_r4.renderDimensions.transform);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("fixture", fixture_r4);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", !fixture_r4.valid);
  }
}
function StructureComponent_section_0_div_33_p_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "p", 51);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](1, " Missing Information ");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
  }
}
function StructureComponent_section_0_div_33_Template(rf, ctx) {
  if (rf & 1) {
    const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "div", 52, 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("mouseup", function StructureComponent_section_0_div_33_Template_div_mouseup_0_listener() {
      const room_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r6).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.selectRoom(room_r7));
    })("touchend", function StructureComponent_section_0_div_33_Template_div_touchend_0_listener() {
      const room_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r6).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.selectRoom(room_r7));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](2, "room-render", 53);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("mousedown", function StructureComponent_section_0_div_33_Template_room_render_mousedown_2_listener($event) {
      const room_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r6).$implicit;
      const roomElm_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.startMoving($event, roomElm_r8, room_r7));
    })("touchstart", function StructureComponent_section_0_div_33_Template_room_render_touchstart_2_listener($event) {
      const room_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r6).$implicit;
      const roomElm_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.startMoving($event, roomElm_r8, room_r7));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](3, "footer");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](4, StructureComponent_section_0_div_33_p_4_Template, 2, 0, "p", 50);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const room_r7 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    const renderElm_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵreference"](15);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵstyleProp"]("transform", room_r7.renderDimensions.transform);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵstyleProp"]("width", room_r7.renderDimensions.widthCss)("height", room_r7.renderDimensions.widthCss);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("room", room_r7)("parentElm", renderElm_r9);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", !room_r7.valid);
  }
}
function StructureComponent_section_0_div_50_button_5_Template(rf, ctx) {
  if (rf & 1) {
    const _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "button", 57);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("click", function StructureComponent_section_0_div_50_button_5_Template_button_click_0_listener() {
      const floor_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r10).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](3);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.selectFloor(floor_r11));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](1, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](3, "span", 58);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](4, " Missing Information ");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const floor_r11 = ctx.$implicit;
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵclassProp"]("active", (ctx_r1.selectedFloor == null ? null : ctx_r1.selectedFloor.id) == floor_r11.id)("warning", !floor_r11.valid);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtextInterpolate"](floor_r11.name);
  }
}
function StructureComponent_section_0_div_50_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "div", 54)(1, "header")(2, "h3");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](3, "Switch to Another Floor");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](4, "div", 55);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](5, StructureComponent_section_0_div_50_button_5_Template, 5, 5, "button", 56);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngForOf", ctx_r1.floors);
  }
}
function StructureComponent_section_0_standalone_attributes_63_Template(rf, ctx) {
  if (rf & 1) {
    const _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "standalone-attributes", 59);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("close", function StructureComponent_section_0_standalone_attributes_63_Template_standalone_attributes_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r12);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.stopEditingFloorAttributes());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    const renderElm_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵreference"](15);
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("appointment", ctx_r1.appointment)("entity", ctx_r1.selectedFloor)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableUnit", ctx_r1.availableUnit)("availableStructure", ctx_r1.availableStructure)("attributes", ctx_r1.selectedFloor.attributes)("renderElm", renderElm_r9)("headerLabel", "Which Floor Are You Working On?")("saveLabel", "Continue Inspecting Floor");
  }
}
function StructureComponent_section_0_standalone_attributes_67_Template(rf, ctx) {
  if (rf & 1) {
    const _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "standalone-attributes", 59);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("close", function StructureComponent_section_0_standalone_attributes_67_Template_standalone_attributes_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r13);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.stopEditingAttributes());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    const renderElm_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵreference"](15);
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("appointment", ctx_r1.appointment)("entity", ctx_r1.structure)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableUnit", ctx_r1.availableUnit)("availableStructure", ctx_r1.availableStructure)("attributes", ctx_r1.attributes)("renderElm", renderElm_r9)("headerLabel", "Please Complete Structure Details")("saveLabel", "Continue Inspecting Structure");
  }
}
function StructureComponent_section_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "section", 16);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("touchend", function StructureComponent_section_0_Template_section_touchend_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.stopMoving($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresolveWindow"])("mouseup", function StructureComponent_section_0_Template_section_mouseup_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.stopMoving($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresolveWindow"]);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](1, "div", 17)(2, "div", 18)(3, "div", 19)(4, "header")(5, "div", 6)(6, "button", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("click", function StructureComponent_section_0_Template_button_click_6_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.selectFixtures());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](7, "i", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](8, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](9, "Add Fixture Outside Bathroom(s)");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](10, "button", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("click", function StructureComponent_section_0_Template_button_click_10_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.editFloorAttributes());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](11, "i", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](12, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](13, "Change Number of Bathrooms");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](14, "div", 23, 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("mousemove", function StructureComponent_section_0_Template_div_mousemove_14_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.moveEntity($event));
    })("touchmove", function StructureComponent_section_0_Template_div_touchmove_14_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.moveEntity($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](16, "div", 24);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](17, "svg", 25);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](18, "path", 26);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](19, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](20, "Rear of Property");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](21, "svg", 25);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](22, "path", 26);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](23, "div", 27);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](24, "svg", 25);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](25, "path", 28);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](26, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](27, "Front of Property");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](28, "svg", 25);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](29, "path", 28);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](30, "div", 29);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](31, StructureComponent_section_0_div_31_Template, 5, 4, "div", 30);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](32, "div", 31);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](33, StructureComponent_section_0_div_33_Template, 5, 9, "div", 32);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](34, "div", 33)(35, "div", 34)(36, "header")(37, "h2");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](38, " Inspecting the ");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](39, "span", 35);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](40);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](41);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](42, "div", 34)(43, "div", 36)(44, "h3");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](45, "Tip: Inspecting the Floor");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](46, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](47, " #1: Add fixtures that aren't in bathrooms or... ");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](48, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](49, " #2: Tap on a bathroom to work inside. ");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](50, StructureComponent_section_0_div_50_Template, 6, 1, "div", 37);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](51, "div", 38)(52, "div", 39)(53, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](54, "Notes for the Customer");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](55, "textarea", 40);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("input", function StructureComponent_section_0_Template_textarea_input_55_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.updateNotes(ctx_r1.NoteAudience.Customer));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtwoWayListener"]("ngModelChange", function StructureComponent_section_0_Template_textarea_ngModelChange_55_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtwoWayBindingSet"](ctx_r1.customerNotes, $event) || (ctx_r1.customerNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](56, "div", 39)(57, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](58, "Notes for the Shop");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](59, "textarea", 41);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("input", function StructureComponent_section_0_Template_textarea_input_59_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.updateNotes(ctx_r1.NoteAudience.Shop));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtwoWayListener"]("ngModelChange", function StructureComponent_section_0_Template_textarea_ngModelChange_59_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtwoWayBindingSet"](ctx_r1.shopNotes, $event) || (ctx_r1.shopNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()()()()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](60, "aside", 42);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](61, "div", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](62, "div", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](63, StructureComponent_section_0_standalone_attributes_63_Template, 1, 12, "standalone-attributes", 44);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](64, "aside", 45);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](65, "div", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](66, "div", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](67, StructureComponent_section_0_standalone_attributes_67_Template, 1, 12, "standalone-attributes", 44);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](68, "aside", 46);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](69, "div", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](70, "fixtures", 47);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("close", function StructureComponent_section_0_Template_fixtures_close_70_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.stopSelectingFixtures());
    })("selectedFixture", function StructureComponent_section_0_Template_fixtures_selectedFixture_70_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.addFixture($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](6);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](21);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngForOf", ctx_r1.fixtures);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngForOf", ctx_r1.rooms);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](7);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtextInterpolate"](ctx_r1.selectedFloor == null ? null : ctx_r1.selectedFloor.name);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtextInterpolate1"](" of the ", ctx_r1.structure.name, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](9);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", ctx_r1.floors.length > 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtwoWayProperty"]("ngModel", ctx_r1.customerNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtwoWayProperty"]("ngModel", ctx_r1.shopNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵclassProp"]("active", ctx_r1.editingFloorAttributes);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", ctx_r1.selectedFloor != null);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵclassProp"]("active", ctx_r1.editingAttributes);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", ctx_r1.showAttributesUI);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵclassProp"]("active", ctx_r1.selectingFixture);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("appointment", ctx_r1.appointment);
  }
}
function StructureComponent_button_7_Template(rf, ctx) {
  if (rf & 1) {
    const _r14 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "button", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("click", function StructureComponent_button_7_Template_button_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r14);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.editFloorAttributes());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](1, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtextInterpolate1"]("Change ", ctx_r1.selectedFloor.name, " Details");
  }
}
function StructureComponent_label_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtextInterpolate1"]("Save & Close ", ctx_r1.structure == null ? null : ctx_r1.structure.name, "");
  }
}
function StructureComponent_label_10_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtextInterpolate1"]("Close ", ctx_r1.structure == null ? null : ctx_r1.structure.name, "");
  }
}
function StructureComponent_room_13_Template(rf, ctx) {
  if (rf & 1) {
    const _r15 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "room", 60);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("click", function StructureComponent_room_13_Template_room_click_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r15);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("close", function StructureComponent_room_13_Template_room_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r15);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.stopEditingRoom());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("appointment", ctx_r1.appointment)("room", ctx_r1.selectedRoom)("parent", ctx_r1.selectedFloor)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableUnit", ctx_r1.availableUnit)("availableStructure", ctx_r1.availableStructure);
  }
}
function StructureComponent_fixture_16_Template(rf, ctx) {
  if (rf & 1) {
    const _r16 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](0, "fixture", 61);
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("click", function StructureComponent_fixture_16_Template_fixture_click_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r16);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("close", function StructureComponent_fixture_16_Template_fixture_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r16);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.stopEditingFixture());
    })("deleted", function StructureComponent_fixture_16_Template_fixture_deleted_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵrestoreView"](_r16);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵresetView"](ctx_r1.removeFixture());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("appointment", ctx_r1.appointment)("fixture", ctx_r1.selectedFixture)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableStructure", ctx_r1.availableStructure);
  }
}
/* Components */
let StructureComponent = /*#__PURE__*/(() => {
  class StructureComponent {
    constructor(localAppointmentService, appointmentService, uiService, inspectionService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      this.inspectionService = inspectionService;
      this.availableEntities = [];
      this.availableFixtures = [];
      // #endregion
      // #region Notes
      this.NoteAudience = src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience;
      this.customerNotes = "";
      this.shopNotes = "";
      // #endregion
      // #region Floor Attributes
      this.editingFloorAttributes = false;
      this.showFloorAttributesUI = false;
      // #endregion
      // #region Attributes
      this.editingAttributes = false;
      this.showAttributesUI = false;
      this.acceptFileTypes = '*.jpg,*.png,*.webp';
      this.acceptMimeTypes = ['image/jpeg', 'image/jpg', 'image/png', 'image/webp'];
      this.relWidth = 0;
      this.relHeight = 0;
      this.relX = 0;
      this.relY = 0;
      this.cursorPosition = {
        initialX: 0,
        initialY: 0,
        x: 0,
        y: 0,
        totalX: 0,
        totalY: 0
      };
      this.renderPosition = {
        offsetWidth: 0,
        offsetHeight: 0,
        offsetX: 0,
        offsetY: 0
      };
      // #endregion
      // #region Fixtures
      this.editingFixture = false;
      this.selectingFixture = false;
      this.showDeleteFixturePrompt = false;
      // #endregion
      // #region Rooms
      this.editingRoom = false;
      this.showDeleteRoomPrompt = false;
      this.close = new rxjs__WEBPACK_IMPORTED_MODULE_15__.Subject();
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    update() {
      if (this.appointment != null) {
        this.appointment.changed$.next();
      }
    }
    updateNotes(type) {
      if (this.structure != null) {
        switch (type) {
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer:
            this.structure.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer] = this.customerNotes;
            break;
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop:
            this.structure.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop] = this.shopNotes;
            break;
        }
        this.update();
      }
    }
    initNotes() {
      if (this.structure != null) {
        this.customerNotes = this.structure.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer] ?? "";
        this.shopNotes = this.structure.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop] ?? "";
      }
    }
    editFloorAttributes() {
      this.editingFloorAttributes = true;
      this.showFloorAttributesUI = true;
    }
    stopEditingFloorAttributes() {
      window.clearTimeout(this.floorAttributesTimer);
      this.editingFloorAttributes = false;
      this.attributesTimer = window.setTimeout(() => {
        this.showFloorAttributesUI = false;
      }, 250);
    }
    initFloorAttributes() {
      if (!this.editingAttributes) {
        if (this.selectedFloor != null) {
          if (this.selectedFloor.hasInvalidAttributes && this.canModifyAppointment) {
            this.editFloorAttributes();
          }
        }
      }
    }
    get attributes() {
      return this.structure?.attributes ?? [];
    }
    editAttributes() {
      this.editingAttributes = true;
      this.showAttributesUI = true;
    }
    stopEditingAttributes() {
      window.clearTimeout(this.attributesTimer);
      this.editingAttributes = false;
      this.attributesTimer = window.setTimeout(() => {
        this.showAttributesUI = false;
        this.initFloorAttributes();
      }, 250);
    }
    initAttributes() {
      if (this.structure != null) {
        if (this.structure.hasInvalidAttributes && this.canModifyAppointment) {
          this.editAttributes();
        }
      }
    }
    get photos() {
      return this.structure?.photos_B64 ?? [];
    }
    get viewingPhoto() {
      return this.localAppointmentService.viewingPhoto;
    }
    get photoSrc() {
      return this.localAppointmentService.photoSrc;
    }
    matchesMimeType(mimeType) {
      let i = this.acceptMimeTypes.length;
      while (i--) {
        const acceptMimeType = this.acceptMimeTypes[i];
        if (acceptMimeType == mimeType) {
          return true;
        }
      }
      return false;
    }
    setFile(deviceBlob, photos) {
      if (deviceBlob != null && this.matchesMimeType(deviceBlob.type)) {
        const url = URL.createObjectURL(deviceBlob);
        const srcImage = new Image();
        srcImage.onload = () => {
          URL.revokeObjectURL(url);
          const offscreenCanvas = document.createElement('canvas');
          const ctx = offscreenCanvas.getContext('2d');
          if (ctx != null) {
            const ratio = srcImage.width / 1024;
            let width = srcImage.width;
            let height = srcImage.height;
            if (ratio > 1) {
              width = 1024;
              height = Math.round(srcImage.height / ratio);
            }
            offscreenCanvas.width = width;
            offscreenCanvas.height = height;
            ctx.drawImage(srcImage, 0, 0, width, height);
            const base64Image = offscreenCanvas.toDataURL('image/jpeg');
            this.photos.push(base64Image);
            if (this.appointment != null) {
              this.appointment.changed$.next();
            }
          }
        };
        srcImage.src = url;
      }
    }
    selectFile(elm) {
      if (elm.files != null) {
        const file = elm.files[0];
        this.setFile(file, this.photos);
      } else {
        this.setFile(undefined, this.photos);
      }
    }
    selectMedia(fileInputElm) {
      setTimeout(() => {
        if (fileInputElm != null) {
          fileInputElm.click();
        }
      }, 0);
    }
    deletePhoto(fileName) {
      if (this.structure != null) {
        for (var i = 0, len = this.structure.photos.length; i < len; i++) {
          const photo = this.structure.photos[i];
          if (photo.fileName == fileName) {
            this.structure.photos.splice(i, 1);
            break;
          }
        }
        for (var i = 0, len = this.structure.photos_B64.length; i < len; i++) {
          const photo = this.structure.photos_B64[i];
          if (photo == fileName) {
            this.structure.photos_B64.splice(i, 1);
            break;
          }
        }
        this.appointment?.changed$.next();
      }
    }
    viewPhoto(photo) {
      this.localAppointmentService.viewPhoto(photo);
    }
    stopViewingPhoto() {
      this.localAppointmentService.stopViewingPhoto();
    }
    storePhotoMeta() {
      if (this.activePhoto != null) {
        if (this.photoName != null) {
          this.activePhoto.name = this.photoName;
        }
        if (this.photoNotes != null) {
          this.activePhoto.notes = this.photoNotes;
        }
      }
    }
    startMoving(e, elm, entity) {
      if (!entity.moving) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        this.cursorPosition.totalX = 0;
        this.cursorPosition.totalY = 0;
        if (isTouch) {
          this.cursorPosition.initialX = e.touches[0].clientX;
          this.cursorPosition.initialY = e.touches[0].clientY;
        } else {
          this.cursorPosition.initialX = e.clientX;
          this.cursorPosition.initialY = e.clientY;
        }
        this.renderPosition.offsetHeight = elm.offsetHeight;
        this.renderPosition.offsetWidth = elm.offsetWidth;
        this.renderPosition.offsetX = elm.offsetWidth / 2;
        this.renderPosition.offsetY = elm.offsetHeight / 2;
        this.movingEntity = entity;
      }
    }
    stopMoving(e) {
      if (this.movingEntity?.moving) {
        this.movingEntity.moving = false;
      }
      this.movingEntity = undefined;
      this.fixtures.forEach(fixture => {
        fixture.moving = false;
      });
      this.rooms.forEach(room => {
        room.moving = false;
      });
    }
    moveEntity(e) {
      if (this.canModifyAppointment) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.movingEntity != null && !this.movingEntity.resizing) {
          if (this.cursorPosition.totalX > 3 || this.cursorPosition.totalX < -3 || this.cursorPosition.totalY > 3 || this.cursorPosition.totalY < -3) {
            this.movingEntity.moving = true;
          }
          if (isTouch) {
            this.cursorPosition.x = e.touches[0].clientX;
            this.cursorPosition.y = e.touches[0].clientY;
          } else {
            this.cursorPosition.x = e.clientX;
            this.cursorPosition.y = e.clientY;
          }
          const deltaX = this.cursorPosition.x - this.cursorPosition.initialX;
          const deltaY = this.cursorPosition.y - this.cursorPosition.initialY;
          let newX = this.movingEntity.renderDimensions.x + deltaX;
          let newY = this.movingEntity.renderDimensions.y + deltaY;
          const maxX = this.relWidth - this.renderPosition.offsetWidth;
          const maxY = this.relHeight - this.renderPosition.offsetHeight;
          if (newX < 0) {
            newX = 0;
          } else if (newX > maxX) {
            newX = maxX;
          }
          if (newY < 0) {
            newY = 0;
          } else if (newY > maxY) {
            newY = maxY;
          }
          this.movingEntity.renderDimensions.x = newX;
          this.movingEntity.renderDimensions.y = newY;
          this.cursorPosition.initialX = this.cursorPosition.x;
          this.cursorPosition.initialY = this.cursorPosition.y;
          this.cursorPosition.totalX = this.cursorPosition.totalX + deltaX;
          this.cursorPosition.totalY = this.cursorPosition.totalX + deltaY;
        }
      }
    }
    render(floor) {
      var _this = this;
      return (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
        return new Promise(/*#__PURE__*/function () {
          var _ref = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (res, rej) {
            const renderElm = _this.renderElm?.nativeElement;
            if (renderElm != null) {
              const dataUrl = yield (0,html_to_image__WEBPACK_IMPORTED_MODULE_1__.toPng)(renderElm, {
                quality: 1.0,
                backgroundColor: '#fff',
                skipFonts: true,
                filter: renderElm => {
                  return !renderElm.classList?.contains('no-render');
                }
              });
              floor.render_B64 = dataUrl;
              _this.appointment?.changed$.next();
              res();
            } else {
              rej();
            }
          });
          return function (_x, _x2) {
            return _ref.apply(this, arguments);
          };
        }());
      })();
    }
    initRender() {
      setTimeout(() => {
        const renderElm = this.renderElm?.nativeElement;
        if (renderElm != null) {
          const bounds = renderElm.getBoundingClientRect();
          this.relX = bounds.left;
          this.relY = bounds.top;
          this.relWidth = renderElm.offsetWidth;
          this.relHeight = renderElm.offsetHeight;
          this.initAttributes();
          this.initFloors();
        }
      }, 250);
    }
    get fixtures() {
      return this.selectedFloor?.fixtures ?? [];
    }
    removeFixture() {
      if (this.selectedFixture != null) {
        this.stopEditingFixture();
        for (var i = 0, len = this.fixtures.length; i < len; i++) {
          const fixture = this.fixtures[i];
          if (fixture.id == this.selectedFixture.id) {
            this.fixtures.splice(i, 1);
            this.selectedFixture = undefined;
            this.update();
            break;
          }
        }
      }
    }
    stopSelectingFixtures() {
      this.selectingFixture = false;
    }
    selectFixtures() {
      this.selectingFixture = true;
    }
    selectFixture(fixture) {
      if (!fixture.moving && this.selectedFixture?.id != fixture.id) {
        if (this.selectedFixture?.id == fixture.id) {
          this.stopEditingFixture();
        } else {
          this.selectedFixture = fixture;
          this.editingFixture = true;
        }
      }
    }
    stopEditingFixture() {
      window.clearTimeout(this.editingFixtureTimer);
      this.editingFixture = false;
      this.editingFixtureTimer = window.setTimeout(() => {
        this.selectedFixture = undefined;
      }, 250);
    }
    addFixture(fixture) {
      if (this.selectedFloor != null) {
        fixture.renderDimensions.x = this.relWidth / 2 - window.innerWidth * .02;
        fixture.renderDimensions.y = this.relHeight / 2 - window.innerWidth * .02;
        this.selectedFloor.fixtures.push(fixture);
        this.stopSelectingFixtures();
        this.selectFixture(fixture);
      }
    }
    promptToDeleteFixture(fixture) {
      this.fixtureToDelete = fixture;
      this.showDeleteFixturePrompt = true;
    }
    cancelDeletingFixture() {
      this.showDeleteFixturePrompt = false;
      this.fixtureToDelete = undefined;
    }
    get rooms() {
      return this.selectedFloor?.entities ?? [];
    }
    removeRoom() {
      if (this.selectedRoom != null && this.selectedFloor != null) {
        this.stopEditingRoom(false);
        for (var i = 0, len = this.selectedFloor.entities.length; i < len; i++) {
          const room = this.selectedFloor.entities[i];
          if (room.id == this.selectedRoom.id) {
            this.selectedFloor.entities.splice(i, 1);
            for (var j = 0, jlen = this.selectedFloor.attributes.length; j < jlen; j++) {
              const attribute = this.selectedFloor.attributes[j];
              const name = attribute.name.toLowerCase();
              if (name == "number of bathrooms on floor") {
                attribute.values = [`${this.selectedFloor.entities.length}`];
              }
            }
            this.selectedRoom = undefined;
            this.update();
            break;
          }
        }
      }
    }
    selectRoom(room) {
      if (!room.moving && !room.resizing && this.selectedRoom?.id != room.id) {
        this.selectedRoom = room;
        this.editingRoom = true;
      }
    }
    stopEditingRoom(showTip = true) {
      window.clearTimeout(this.roomEditingTimer);
      this.editingRoom = false;
      this.roomEditingTimer = window.setTimeout(() => {
        this.selectedRoom = undefined;
      }, 250);
    }
    addRoom() {
      if (this.selectedFloor != null && this.availableRoom != null) {
        let width = Math.round(this.relWidth / 2.5);
        let height = width;
        if (width <= 0) {
          width = 200;
        }
        if (height <= 0) {
          height = 200;
        }
        let x = Math.round(this.relWidth / 2 - width / 2);
        let y = Math.round(this.relHeight / 2 - height / 2);
        const attributes = this.uiService.deepClone(this.availableRoom.attributes);
        const mappedAttributes = this.appointmentService.mapAttributes(attributes);
        const newRoom = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.AppointmentPropertyEntity(this.uiService.generateId(), this.availableRoom.entityId, this.availableRoom.type, "New Room", 1, mappedAttributes, [], new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_3__.RenderDimensions(x, y, width, height, 0), {}, [], [], [], undefined, undefined, {});
        this.selectedFloor.entities.push(newRoom);
        this.selectRoom(newRoom);
      }
    }
    get floors() {
      return this.structure?.entities ?? [];
    }
    selectFloor(floor) {
      var _this2 = this;
      return (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
        if (_this2.selectedFloor != null) {
          yield _this2.render(_this2.selectedFloor);
          _this2.selectedFloor.active = false;
        }
        _this2.selectedFloor = floor;
        floor.active = true;
        _this2.initFloorAttributes();
      })();
    }
    addFloor() {
      if (this.structure != null && this.availableFloor != null) {
        let width = this.relWidth;
        let height = this.relHeight;
        const attributes = this.uiService.deepClone(this.availableFloor.attributes);
        const mappedAttributes = this.appointmentService.mapAttributes(attributes);
        const newFloor = new src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.AppointmentPropertyEntity(this.uiService.generateId(), this.availableFloor.entityId, this.availableFloor.type, "New Floor", 1, mappedAttributes, [], new src_app_shared_appointments_models_rendering__WEBPACK_IMPORTED_MODULE_3__.RenderDimensions(0, 0, width, height, 0), {}, [], [], [], undefined, undefined, {});
        this.structure.entities.push(newFloor);
        this.selectFloor(newFloor);
      }
    }
    initFloors() {
      if (this.floors.length <= 0) {
        this.addFloor();
      } else {
        this.selectFloor(this.floors[0]);
      }
    }
    killEvent(e) {
      e.stopPropagation();
    }
    get canClose() {
      return true;
    }
    closeView() {
      var _this3 = this;
      return (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
        if (_this3.selectedFloor != null) {
          yield _this3.render(_this3.selectedFloor);
        } else if (_this3.floors.length > 0) {
          yield _this3.render(_this3.floors[0]);
        }
        _this3.close.next();
      })();
    }
    init() {
      this.initRender();
      this.initNotes();
    }
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function StructureComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || StructureComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_4__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_5__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_6__.UiService), _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵdirectiveInject"](_services_inspection_service__WEBPACK_IMPORTED_MODULE_7__.InspectionService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵdefineComponent"]({
      type: StructureComponent,
      selectors: [["structure"]],
      viewQuery: function StructureComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵviewQuery"](_c0, 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵviewQuery"](_c1, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵloadQuery"]()) && (ctx.renderElm = _t.first);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment",
        availableFloor: "availableFloor",
        availableRoom: "availableRoom",
        availableUnit: "availableUnit",
        availableStructure: "availableStructure",
        availableEntities: "availableEntities",
        availableFixtures: "availableFixtures",
        structure: "structure"
      },
      outputs: {
        close: "close"
      },
      standalone: false,
      decls: 17,
      vars: 14,
      consts: [["renderElm", ""], ["fixtureElm", ""], ["roomElm", ""], ["id", "structure", 3, "touchend", "mouseup", 4, "ngIf"], ["id", "mainNav"], [1, "island"], [1, "controls"], [1, "control", 3, "click"], ["class", "control", 3, "click", 4, "ngIf"], [1, "control", "success", 3, "click", "disabled"], [4, "ngIf"], ["id", "roomView"], [1, "bg"], [3, "appointment", "room", "parent", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "click", "close", 4, "ngIf"], ["id", "fixture"], [3, "appointment", "fixture", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableStructure", "click", "close", "deleted", 4, "ngIf"], ["id", "structure", 3, "touchend", "mouseup"], [1, "columns"], [1, "column", "floors"], [1, "content", "diagram"], [1, "control", 3, "click", "disabled"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-toilet"], [1, "render", 3, "mousemove", "touchmove"], [1, "rear"], ["xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 384 512"], ["d", "M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2 160 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-306.7L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z"], [1, "front"], ["d", "M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"], [1, "fixtures"], ["class", "fixture", 3, "transform", "mouseup", "touchend", 4, "ngFor", "ngForOf"], [1, "rooms"], ["class", "room", 3, "transform", "mouseup", "touchend", 4, "ngFor", "ngForOf"], [1, "structure", "column"], [1, "content"], [1, "floor"], [1, "tooltip"], ["class", "floors", 4, "ngIf"], [1, "notes"], [1, "note"], ["rows", "5", "placeholder", "If you have any notes for our customer, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["rows", "5", "placeholder", "If you have any notes important for the shop, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["id", "standaloneFloorAttributes"], [1, "attributes"], [3, "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "attributes", "renderElm", "headerLabel", "saveLabel", "close", 4, "ngIf"], ["id", "standaloneAttributes"], ["id", "fixtures"], [3, "close", "selectedFixture", "appointment"], [1, "fixture", 3, "mouseup", "touchend"], [3, "touchstart", "mousedown", "fixture"], ["class", "warning no-render", 4, "ngIf"], [1, "warning", "no-render"], [1, "room", 3, "mouseup", "touchend"], [3, "mousedown", "touchstart", "room", "parentElm"], [1, "floors"], [1, "floors-wrap"], ["class", "floor", 3, "active", "warning", "click", 4, "ngFor", "ngForOf"], [1, "floor", 3, "click"], [1, "message"], [3, "close", "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "attributes", "renderElm", "headerLabel", "saveLabel"], [3, "click", "close", "appointment", "room", "parent", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure"], [3, "click", "close", "deleted", "appointment", "fixture", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableStructure"]],
      template: function StructureComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](0, StructureComponent_section_0_Template, 71, 20, "section", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](1, "nav", 4)(2, "div", 5)(3, "div", 6)(4, "button", 7);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("click", function StructureComponent_Template_button_click_4_listener() {
            return ctx.editAttributes();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](5, "label");
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtext"](6);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](7, StructureComponent_button_7_Template, 3, 1, "button", 8);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](8, "button", 9);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵlistener"]("click", function StructureComponent_Template_button_click_8_listener() {
            return ctx.closeView();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](9, StructureComponent_label_9_Template, 2, 1, "label", 10)(10, StructureComponent_label_10_Template, 2, 1, "label", 10);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]()()()();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](11, "aside", 11);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](12, "div", 12);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](13, StructureComponent_room_13_Template, 1, 9, "room", 13);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementStart"](14, "aside", 14);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelement"](15, "div", 12);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtemplate"](16, StructureComponent_fixture_16_Template, 1, 7, "fixture", 15);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵelementEnd"]();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", ctx.structure != null);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵclassProp"]("hidden", ctx.editingRoom || ctx.editingFixture || ctx.editingAttributes || ctx.editingFloorAttributes);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](5);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵtextInterpolate1"]("Change ", ctx.structure == null ? null : ctx.structure.name, " Details");
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", ctx.selectedFloor != null);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("disabled", !ctx.canClose);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", ctx.canModifyAppointment);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", !ctx.canModifyAppointment);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵclassProp"]("active", ctx.editingRoom);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", ctx.selectedRoom != null);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵclassProp"]("active", ctx.editingFixture);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_14__["ɵɵproperty"]("ngIf", ctx.selectedFixture != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_16__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_16__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_17__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_17__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_17__.NgModel, _standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_8__.StandaaloneAttributesComponent, _fixture_fixture_component__WEBPACK_IMPORTED_MODULE_9__.FixtureComponent, _fixtures_fixtures_component__WEBPACK_IMPORTED_MODULE_10__.FixturesComponent, _fixture_render_fixture_render_component__WEBPACK_IMPORTED_MODULE_11__.FixtureRenderComponent, _room_room_component__WEBPACK_IMPORTED_MODULE_12__.RoomComponent, _room_render_room_render_component__WEBPACK_IMPORTED_MODULE_13__.RoomRenderComponent],
      styles: ["#structure[_ngcontent-%COMP%] {\n  position: absolute;\n  top: calc(6vw + var(--systemOffset-top));\n  left: 4vw;\n  right: 0;\n  bottom: 6vw;\n  background-color: var(--color2Alt3);\n  border: 0.1vw var(--color2Alt4) solid;\n  box-shadow: -0.2vw 0 1vw rgba(var(--black-raw), 0.1);\n  border-top-left-radius: 2vw;\n  border-bottom-left-radius: 2vw;\n  overflow: hidden;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%] {\n  font-size: 0;\n  height: 100%;\n  width: 100%;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%] {\n  display: inline-block;\n  vertical-align: top;\n  height: 100%;\n  font-size: 1rem;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: flex-end;\n  padding: 0.75vw 1vw;\n  border-bottom: 0.1vw var(--color2Alt4) solid;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  color: var(--color1);\n  font-weight: var(--stronger);\n  font-size: 1.4vw;\n  line-height: 1;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  margin-left: 1vw;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 999px;\n  background-color: var(--color3Alt3);\n  padding: 0.75vw 1vw;\n  transition: background-color 0.2s linear;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%], \n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  color: var(--color2);\n  transition: color 0.2s linear;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  margin-left: 0.5vw;\n  line-height: 1;\n  font-size: 1.2vw;\n  font-weight: var(--strong);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active    > i[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active    > label[_ngcontent-%COMP%] {\n  color: var(--color5);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.75;\n  pointer-events: none;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > input[_ngcontent-%COMP%] {\n  position: absolute;\n  visibility: hidden;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  flex: 1;\n  border-right: 0.1vw var(--color2Alt4) solid;\n  padding: 1vw 1vw 5vw;\n  overflow-x: hidden;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt4) solid;\n  cursor: pointer;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  background-color: var(--color2Alt1);\n  padding: 2vw 0;\n  border-radius: 1vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 2vw;\n  color: var(--color3);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color3);\n  font-weight: var(--strong);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%] {\n  width: 75%;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%] {\n  position: relative;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%] {\n  flex: 1;\n  background-color: var(--color2);\n  position: relative;\n  overflow: hidden;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .front[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rear[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  display: flex;\n  align-items: center;\n  pointer-events: none;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .front[_ngcontent-%COMP%]    > svg[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rear[_ngcontent-%COMP%]    > svg[_ngcontent-%COMP%] {\n  height: 1.2vw;\n  fill: var(--color1);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .front[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rear[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  margin: 0 1vw;\n  font-size: 1.4vw;\n  text-transform: uppercase;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n  white-space: nowrap;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .front[_ngcontent-%COMP%] {\n  bottom: 0.5vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rear[_ngcontent-%COMP%] {\n  top: 0.5vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: 2;\n  cursor: pointer;\n  border: 0.2vw transparent solid;\n  border-radius: 1vw;\n  will-change: transform;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]   fixture-render[_ngcontent-%COMP%] {\n  display: block;\n  width: 5.5vw;\n  height: 5.5vw;\n  position: relative;\n  --fixtureFontSize: .8vw;\n  will-change: transform;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  top: 100%;\n  margin-top: 0.25vw;\n  display: flex;\n  justify-content: center;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  font-size: 0.8vw;\n  text-transform: uppercase;\n  font-weight: var(--stronger);\n  white-space: nowrap;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .fixtures[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p.warning[_ngcontent-%COMP%] {\n  color: var(--error);\n  font-style: italic;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rooms[_ngcontent-%COMP%]   .room[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: 1;\n  will-change: transform;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rooms[_ngcontent-%COMP%]   .room[_ngcontent-%COMP%]    > room-render[_ngcontent-%COMP%] {\n  display: block;\n  position: relative;\n  cursor: pointer;\n  --roomFontSize: 1.6vw;\n  will-change: transform;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rooms[_ngcontent-%COMP%]   .room[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  top: 100%;\n  margin-top: 0.25vw;\n  display: flex;\n  justify-content: center;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rooms[_ngcontent-%COMP%]   .room[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  font-size: 1vw;\n  text-transform: uppercase;\n  font-weight: var(--stronger);\n  white-space: nowrap;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rooms[_ngcontent-%COMP%]   .room[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p.warning[_ngcontent-%COMP%] {\n  color: var(--error);\n  font-style: italic;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.floors[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .rooms[_ngcontent-%COMP%]   .room.hovering[_ngcontent-%COMP%]:after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: rgba(var(--color3-raw), 0.2);\n  z-index: 1;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%] {\n  width: 25%;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  padding: 1vw 1.5vw;\n  background-color: var(--color4Alt3);\n  border-left: 0.2vw var(--color4Alt4) solid;\n  justify-content: center;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  font-size: 2.2vw;\n  text-align: center;\n  color: var(--color2);\n  font-weight: var(--strong);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%]    > .floor[_ngcontent-%COMP%] {\n  font-weight: var(--stronger);\n  font-style: italic;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  background-color: var(--color2Alt2);\n  padding: 1vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%] {\n  border-radius: 1vw;\n  padding: 1vw;\n  background-color: var(--color5Alt3);\n  border: 0.5vw var(--color5Alt4) solid;\n  margin-bottom: 1vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  margin-bottom: 0.5vw;\n  line-height: 1;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color2);\n  font-weight: var(--stdweight);\n  line-height: 1;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%] {\n  margin-top: 0.25vw;\n  background-color: var(--color2);\n  border-radius: 1vw;\n  border: 0.1vw var(--color1) solid;\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--stdweight);\n  padding: 1vw;\n  display: block;\n  width: 100%;\n  font-family: \"Times New Roman\", Times, serif;\n  resize: none;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n  width: 100%;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%] {\n  margin-top: 0.5vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  margin-top: 0.25vw;\n  cursor: pointer;\n  padding: 0.25vw 0.5vw;\n  border-radius: 999px;\n  border: 0.1vw var(--color2Alt4) solid;\n  background-color: var(--color2Alt1);\n  text-align: center;\n  transition: background-color 0.2s, border-color 0.2s;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  display: block;\n  font-size: 1.2vw;\n  font-weight: var(--stdweight);\n  color: var(--color1);\n  transition: color 0.2s linear;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor[_ngcontent-%COMP%]    > .message[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 1vw;\n  color: var(--color2Alt1);\n  font-weight: var(--strong);\n  display: block;\n  display: none;\n  text-transform: uppercase;\n  font-style: italic;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor.active[_ngcontent-%COMP%] {\n  background-color: var(--color3);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor.active[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  color: var(--color2);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor[_ngcontent-%COMP%]:not(.active).warning {\n  border-radius: 1.5vw;\n  border-color: var(--errorAlt4);\n  background-color: var(--error);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor[_ngcontent-%COMP%]:not(.active).warning    > label[_ngcontent-%COMP%] {\n  color: var(--color2);\n  font-weight: var(--strong);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor[_ngcontent-%COMP%]:not(.active).warning    > .message[_ngcontent-%COMP%] {\n  display: block;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .floors[_ngcontent-%COMP%]    > .floors-wrap[_ngcontent-%COMP%]    > .floor[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%] {\n  padding: 1vw;\n  border: 0.2vw transparent solid;\n  border-radius: 0.5vw;\n  background-color: var(--color2Alt3);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  margin-bottom: 1vw;\n  border-bottom: 0.1vw var(--color2Alt4) solid;\n  padding-bottom: 0.5vw;\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .primary[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color1);\n  font-weight: var(--stronger);\n  line-height: 1;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .primary[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%] {\n  line-height: 1;\n  text-transform: uppercase;\n  font-size: 1vw;\n  color: var(--color1Alt2);\n  font-weight: var(--strong);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .image[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  height: 2vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  cursor: pointer;\n  border-radius: 999px;\n  padding: 0.5vw 1vw;\n  background-color: var(--success);\n  text-align: center;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.alternate[_ngcontent-%COMP%] {\n  background-color: var(--color3);\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structure[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.floor[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.4;\n  pointer-events: none;\n}\n#structure[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]:first-child {\n  border-left: none;\n}\n#structure[_ngcontent-%COMP%]   #standaloneAttributes[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   #standaloneFloorAttributes[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  background-color: rgba(var(--color2Alt1-raw), 0.9);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#structure[_ngcontent-%COMP%]   #standaloneAttributes[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   #standaloneFloorAttributes[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 5%;\n  left: 30%;\n  right: 30%;\n  bottom: 5%;\n  z-index: 4;\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  overflow: hidden;\n  opacity: 0;\n  pointer-events: none;\n  transform: scale(0.8);\n  transition: opacity 0.2s, transform 0.2s;\n  box-shadow: 0 0.2vw 1vw rgba(var(--black-raw), 0.1);\n}\n#structure[_ngcontent-%COMP%]   #standaloneAttributes.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   #standaloneFloorAttributes.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#structure[_ngcontent-%COMP%]   #standaloneAttributes.active[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   #standaloneFloorAttributes.active[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n  transform: scale(1);\n}\n#structure[_ngcontent-%COMP%]   #fixtures[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  background-color: rgba(var(--color1-raw), 0.1);\n  -webkit-backdrop-filter: blur(0.25vw);\n  -moz-backdrop-filter: blur(0.25vw);\n  -o-backdrop-filter: blur(0.25vw);\n  backdrop-filter: blur(0.25vw);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#structure[_ngcontent-%COMP%]   #fixtures[_ngcontent-%COMP%]    > fixtures[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 5%;\n  left: 20%;\n  right: 20%;\n  bottom: 5%;\n  z-index: 2;\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  overflow: hidden;\n  opacity: 0;\n  pointer-events: none;\n  transform: scale(0.8);\n  transition: opacity 0.2s, transform 0.2s;\n  box-shadow: 0 0.2vw 1vw rgba(var(--black-raw), 0.1);\n}\n#structure[_ngcontent-%COMP%]   #fixtures.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#structure[_ngcontent-%COMP%]   #fixtures.active[_ngcontent-%COMP%]    > fixtures[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n  transform: scale(1);\n}\n#structure[_ngcontent-%COMP%]   #fixture[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  background-color: rgba(var(--color2Alt1-raw), 0.9);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#structure[_ngcontent-%COMP%]   #fixture[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 0;\n  left: auto;\n  right: 0;\n  bottom: 0;\n  width: 45%;\n  z-index: 4;\n  background-color: var(--color2Alt1);\n  overflow: hidden;\n  pointer-events: none;\n  transform: translateX(100%);\n  transition: transform 0.2s;\n  box-shadow: -0.2vw 0 1vw rgba(var(--black-raw), 0.1);\n  border-top-left-radius: 2vw;\n  border-bottom-left-radius: 2vw;\n  overflow: hidden;\n}\n#structure[_ngcontent-%COMP%]   #fixture.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#structure[_ngcontent-%COMP%]   #fixture.active[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%], #structure[_ngcontent-%COMP%]   #fixture.active[_ngcontent-%COMP%]    > room[_ngcontent-%COMP%] {\n  pointer-events: initial;\n  transform: translateX(0);\n}\n#structure[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%] {\n  z-index: 2;\n}\n#structure[_ngcontent-%COMP%]   .tooltip.general[_ngcontent-%COMP%] {\n  bottom: 1vw;\n  right: 1vw;\n  width: 22vw;\n}\n#structure[_ngcontent-%COMP%]   .tooltip.general[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n}\n#structure[_ngcontent-%COMP%]   .tooltip.general[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  font-size: 1.5vw;\n}\n\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%] {\n  position: absolute;\n  bottom: 1vw;\n  right: 1vw;\n  z-index: 3;\n  background-color: var(--color2);\n  border-radius: 999px;\n  padding: 0.5vw 1vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  position: relative;\n  margin-left: 1vw;\n  padding: 0.8vw 2vw;\n  border-radius: 999px;\n  cursor: pointer;\n  margin-left: 1vw;\n  display: flex;\n  align-items: center;\n  background-color: var(--color3);\n  border: 0.1vw transparent solid;\n  transition: background-color 0.1s linear;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%]:last-child, #mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%]:last-child {\n  margin-left: 0.5vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  line-height: 1;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.success[_ngcontent-%COMP%] {\n  background-color: var(--success);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.6;\n  pointer-events: none;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active {\n  background-color: var(--color3Alt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active.success {\n  background-color: var(--successAlt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#mainNav.hidden[_ngcontent-%COMP%] {\n  opacity: 0;\n  pointer-events: none;\n  transition: opacity 0.25s linear;\n}\n@keyframes _ngcontent-%COMP%_childLoadIn {\n  0% {\n    transform: translateX(100%);\n  }\n  100% {\n    transform: translateX(0);\n  }\n}\n@keyframes _ngcontent-%COMP%_childLoadOut {\n  to {\n    transform: translateX(100%);\n  }\n}\n@keyframes _ngcontent-%COMP%_childNavLoadIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n@keyframes _ngcontent-%COMP%_childNavLoadOut {\n  to {\n    opacity: 0;\n  }\n}\n#roomView[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 5;\n  background-color: rgba(var(--color2Alt1-raw), 0.7);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#roomView[_ngcontent-%COMP%]    > room[_ngcontent-%COMP%]     #room {\n  z-index: 6;\n  animation-name: _ngcontent-%COMP%_childLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#roomView[_ngcontent-%COMP%]    > room[_ngcontent-%COMP%]     #mainNav > .island {\n  animation-name: _ngcontent-%COMP%_childNavLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#roomView.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#roomView.active[_ngcontent-%COMP%]    > room[_ngcontent-%COMP%]     #room {\n  animation-name: _ngcontent-%COMP%_childLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#roomView.active[_ngcontent-%COMP%]    > room[_ngcontent-%COMP%]     #mainNav > .island {\n  opacity: 0;\n  animation-name: _ngcontent-%COMP%_childNavLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0.3s;\n  animation-fill-mode: forwards;\n}\n\n#fixture[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 5;\n  background-color: rgba(var(--color2Alt1-raw), 0.5);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#fixture[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #fixture {\n  z-index: 6;\n  animation-name: _ngcontent-%COMP%_childLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #mainNav > .island {\n  animation-name: _ngcontent-%COMP%_childNavLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#fixture.active[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #fixture {\n  animation-name: _ngcontent-%COMP%_childLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture.active[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #mainNav > .island {\n  opacity: 0;\n  animation-name: _ngcontent-%COMP%_childNavLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0.3s;\n  animation-fill-mode: forwards;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return StructureComponent;
})();

/***/ }),

/***/ 6774:
/*!**************************************************************************!*\
  !*** ./src/app/appointment/inspection/components/unit/unit.component.ts ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   UnitComponent: () => (/* binding */ UnitComponent)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! rxjs */ 2714);
/* harmony import */ var html_to_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! html-to-image */ 8311);
/* harmony import */ var src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/shared/appointments/models/appointment */ 8723);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/appointment/services/appointment.service */ 7427);
/* harmony import */ var src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! src/app/shared/appointments/services/appointment.service */ 8036);
/* harmony import */ var src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! src/app/shared/ui/services/ui.service */ 345);
/* harmony import */ var _services_inspection_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/inspection.service */ 3311);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @angular/common */ 6216);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @angular/forms */ 8335);
/* harmony import */ var _standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../standalone-attributes/standalone-attributes.component */ 4624);
/* harmony import */ var _structure_structure_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../structure/structure.component */ 3192);
/* harmony import */ var _fixture_fixture_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fixture/fixture.component */ 9848);
/* harmony import */ var _fixtures_fixtures_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../fixtures/fixtures.component */ 3210);
/* harmony import */ var _fixture_render_fixture_render_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../fixture-render/fixture-render.component */ 5166);
/* harmony import */ var _structure_render_structure_render_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../structure-render/structure-render.component */ 1254);



/* Models */














const _c0 = ["renderElm"];
const _c1 = ["componentElm"];
function UnitComponent_section_0_div_19_p_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "p", 44);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](1, " Missing Information ");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
}
function UnitComponent_section_0_div_19_Template(rf, ctx) {
  if (rf & 1) {
    const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "div", 41, 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("mouseup", function UnitComponent_section_0_div_19_Template_div_mouseup_0_listener() {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r3).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.selectFixture(fixture_r4));
    })("touchend", function UnitComponent_section_0_div_19_Template_div_touchend_0_listener() {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r3).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.selectFixture(fixture_r4));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](2, "fixture-render", 42);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("touchstart", function UnitComponent_section_0_div_19_Template_fixture_render_touchstart_2_listener($event) {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r3).$implicit;
      const fixtureElm_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.startMoving($event, fixtureElm_r5, fixture_r4));
    })("mousedown", function UnitComponent_section_0_div_19_Template_fixture_render_mousedown_2_listener($event) {
      const fixture_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r3).$implicit;
      const fixtureElm_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.startMoving($event, fixtureElm_r5, fixture_r4));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](3, "footer");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](4, UnitComponent_section_0_div_19_p_4_Template, 2, 0, "p", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const fixture_r4 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵstyleProp"]("transform", fixture_r4.renderDimensions.transform);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("fixture", fixture_r4);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", !fixture_r4.valid);
  }
}
function UnitComponent_section_0_div_21_p_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "p", 44);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](1, " Missing Information ");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
}
function UnitComponent_section_0_div_21_Template(rf, ctx) {
  if (rf & 1) {
    const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "div", 45, 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("mouseup", function UnitComponent_section_0_div_21_Template_div_mouseup_0_listener() {
      const structure_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r6).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.selectStructure(structure_r7));
    })("touchend", function UnitComponent_section_0_div_21_Template_div_touchend_0_listener() {
      const structure_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r6).$implicit;
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.selectStructure(structure_r7));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](2, "structure-render", 46);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("mousedown", function UnitComponent_section_0_div_21_Template_structure_render_mousedown_2_listener($event) {
      const structure_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r6).$implicit;
      const structureElm_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.startMoving($event, structureElm_r8, structure_r7));
    })("touchstart", function UnitComponent_section_0_div_21_Template_structure_render_touchstart_2_listener($event) {
      const structure_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r6).$implicit;
      const structureElm_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵreference"](1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.startMoving($event, structureElm_r8, structure_r7));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](3, "footer");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](4, UnitComponent_section_0_div_21_p_4_Template, 2, 0, "p", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()();
  }
  if (rf & 2) {
    const structure_r7 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
    const renderElm_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵreference"](11);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵstyleProp"]("transform", structure_r7.renderDimensions.transform);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵstyleProp"]("width", structure_r7.renderDimensions.widthCss)("height", structure_r7.renderDimensions.heightCss);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("structure", structure_r7)("parentElm", renderElm_r9);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", !structure_r7.valid);
  }
}
function UnitComponent_section_0_span_33_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](1, "structure");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
}
function UnitComponent_section_0_span_34_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](1, "structures");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
}
function UnitComponent_section_0_standalone_attributes_50_Template(rf, ctx) {
  if (rf & 1) {
    const _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "standalone-attributes", 47);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("close", function UnitComponent_section_0_standalone_attributes_50_Template_standalone_attributes_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r10);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"](2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.stopEditingAttributes());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
    const renderElm_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵreference"](11);
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("appointment", ctx_r1.appointment)("entity", ctx_r1.unit)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableUnit", ctx_r1.availableUnit)("availableStructure", ctx_r1.availableStructure)("attributes", ctx_r1.attributes)("renderElm", renderElm_r9)("headerLabel", "Please Complete Unit Details")("saveLabel", "Continue Inspecting Unit");
  }
}
function UnitComponent_section_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "section", 15);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("touchend", function UnitComponent_section_0_Template_section_touchend_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.stopMoving($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresolveWindow"])("mouseup", function UnitComponent_section_0_Template_section_mouseup_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.stopMoving($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresolveWindow"]);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](1, "div", 16)(2, "div", 17)(3, "div", 18)(4, "header")(5, "div", 6)(6, "button", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("click", function UnitComponent_section_0_Template_button_click_6_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.selectFixtures());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelement"](7, "i", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](8, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](9, "Add Fixture Outside Structure(s)");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](10, "div", 21, 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("mousemove", function UnitComponent_section_0_Template_div_mousemove_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.moveEntity($event));
    })("touchmove", function UnitComponent_section_0_Template_div_touchmove_10_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.moveEntity($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](12, "div", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](13, "svg", 23);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelement"](14, "path", 24);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](15, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](16, "Street");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnamespaceSVG"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](17, "svg", 23);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelement"](18, "path", 24);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](19, UnitComponent_section_0_div_19_Template, 5, 4, "div", 25);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnamespaceHTML"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](20, "div", 26);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](21, UnitComponent_section_0_div_21_Template, 5, 9, "div", 27);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](22, "div", 28)(23, "div", 29)(24, "header")(25, "h2");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](26);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](27, "div", 29)(28, "div", 30)(29, "h3");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](30, "Tip: Fixtures & Structures");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](31, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](32, " #1: Add a fixture outside your ");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](33, UnitComponent_section_0_span_33_Template, 2, 0, "span", 9)(34, UnitComponent_section_0_span_34_Template, 2, 0, "span", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](35, " or... ");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](36, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](37, " #2: Tap on a structure to work inside. ");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](38, "div", 31)(39, "div", 32)(40, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](41, "Notes for the Customer");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](42, "textarea", 33);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("input", function UnitComponent_section_0_Template_textarea_input_42_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.updateNotes(ctx_r1.NoteAudience.Customer));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtwoWayListener"]("ngModelChange", function UnitComponent_section_0_Template_textarea_ngModelChange_42_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtwoWayBindingSet"](ctx_r1.customerNotes, $event) || (ctx_r1.customerNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](43, "div", 32)(44, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](45, "Notes for the Shop");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](46, "textarea", 34);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("input", function UnitComponent_section_0_Template_textarea_input_46_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.updateNotes(ctx_r1.NoteAudience.Shop));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtwoWayListener"]("ngModelChange", function UnitComponent_section_0_Template_textarea_ngModelChange_46_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtwoWayBindingSet"](ctx_r1.shopNotes, $event) || (ctx_r1.shopNotes = $event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"]($event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()()()()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](47, "aside", 35);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelement"](48, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](49, "div", 36);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](50, UnitComponent_section_0_standalone_attributes_50_Template, 1, 12, "standalone-attributes", 37);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](51, "aside", 38)(52, "div", 39);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("click", function UnitComponent_section_0_Template_div_click_52_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.stopSelectingFixtures());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](53, "fixtures", 40);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("close", function UnitComponent_section_0_Template_fixtures_close_53_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.stopSelectingFixtures());
    })("click", function UnitComponent_section_0_Template_fixtures_click_53_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("selectedFixture", function UnitComponent_section_0_Template_fixtures_selectedFixture_53_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r1);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.addFixture($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](6);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](13);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngForOf", ctx_r1.fixtures);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngForOf", ctx_r1.structures);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](5);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtextInterpolate1"]("Inspecting ", ctx_r1.unit.name, "");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](7);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", ctx_r1.structures.length == 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", ctx_r1.structures.length != 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](8);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtwoWayProperty"]("ngModel", ctx_r1.customerNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](4);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("disabled", !ctx_r1.canModifyAppointment);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtwoWayProperty"]("ngModel", ctx_r1.shopNotes);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵclassProp"]("active", ctx_r1.editingAttributes);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](3);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", ctx_r1.showAttributesUI);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵclassProp"]("active", ctx_r1.selectingFixture);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](2);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("appointment", ctx_r1.appointment);
  }
}
function UnitComponent_label_8_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtextInterpolate1"]("Save & Close ", ctx_r1.unit == null ? null : ctx_r1.unit.name, "");
  }
}
function UnitComponent_label_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](1);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtextInterpolate1"]("Close ", ctx_r1.unit == null ? null : ctx_r1.unit.name, "");
  }
}
function UnitComponent_structure_12_Template(rf, ctx) {
  if (rf & 1) {
    const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "structure", 48);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("close", function UnitComponent_structure_12_Template_structure_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r11);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.stopEditingStructure());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("appointment", ctx_r1.appointment)("structure", ctx_r1.selectedStructure)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableUnit", ctx_r1.availableUnit)("availableStructure", ctx_r1.availableStructure);
  }
}
function UnitComponent_fixture_15_Template(rf, ctx) {
  if (rf & 1) {
    const _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵgetCurrentView"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](0, "fixture", 49);
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("click", function UnitComponent_fixture_15_Template_fixture_click_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r12);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.killEvent($event));
    })("close", function UnitComponent_fixture_15_Template_fixture_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r12);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.stopEditingFixture());
    })("deleted", function UnitComponent_fixture_15_Template_fixture_deleted_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵrestoreView"](_r12);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
      return _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵresetView"](ctx_r1.removeFixture());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵnextContext"]();
    _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("appointment", ctx_r1.appointment)("fixture", ctx_r1.selectedFixture)("availableEntities", ctx_r1.availableEntities)("availableFixtures", ctx_r1.availableFixtures)("availableFloor", ctx_r1.availableFloor)("availableRoom", ctx_r1.availableRoom)("availableStructure", ctx_r1.availableStructure);
  }
}
/* Components */
let UnitComponent = /*#__PURE__*/(() => {
  class UnitComponent {
    constructor(localAppointmentService, appointmentService, uiService, inspectionService) {
      this.localAppointmentService = localAppointmentService;
      this.appointmentService = appointmentService;
      this.uiService = uiService;
      this.inspectionService = inspectionService;
      this.availableEntities = [];
      this.availableFixtures = [];
      // #endregion
      // #region Notes
      this.NoteAudience = src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience;
      this.customerNotes = "";
      this.shopNotes = "";
      // #endregion
      // #region Attributes
      this.editingAttributes = false;
      this.showAttributesUI = false;
      this.acceptFileTypes = '*.jpg,*.png,*.webp';
      this.acceptMimeTypes = ['image/jpeg', 'image/jpg', 'image/png', 'image/webp'];
      this.relWidth = 0;
      this.relHeight = 0;
      this.relX = 0;
      this.relY = 0;
      this.cursorPosition = {
        initialX: 0,
        initialY: 0,
        x: 0,
        y: 0,
        totalX: 0,
        totalY: 0
      };
      this.renderPosition = {
        offsetWidth: 0,
        offsetHeight: 0,
        offsetX: 0,
        offsetY: 0
      };
      // #endregion
      // #region Fixtures
      this.editingFixture = false;
      this.selectingFixture = false;
      this.showDeleteFixturePrompt = false;
      this.showFixtureHelp = true;
      // #endregion
      // #region Structures
      this.editingStructure = false;
      this.showDeleteStructurePrompt = false;
      this.close = new rxjs__WEBPACK_IMPORTED_MODULE_14__.Subject();
    }
    // #region Authentication
    get canModifyAppointment() {
      return this.localAppointmentService.canModifyAppointment;
    }
    update() {
      if (this.appointment != null) {
        this.appointment.changed$.next();
      }
    }
    updateNotes(type) {
      if (this.unit != null) {
        switch (type) {
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer:
            this.unit.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer] = this.customerNotes;
            break;
          case src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop:
            this.unit.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop] = this.shopNotes;
            break;
        }
        this.update();
      }
    }
    initNotes() {
      if (this.unit != null) {
        this.customerNotes = this.unit.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Customer] ?? "";
        this.shopNotes = this.unit.notes[src_app_shared_appointments_models_appointment__WEBPACK_IMPORTED_MODULE_2__.NoteAudience.Shop] ?? "";
      }
    }
    get attributes() {
      return this.unit?.attributes ?? [];
    }
    editAttributes() {
      this.editingAttributes = true;
      this.showAttributesUI = true;
    }
    stopEditingAttributes() {
      window.clearTimeout(this.attributesTimer);
      this.editingAttributes = false;
      this.attributesTimer = window.setTimeout(() => {
        this.showAttributesUI = false;
      }, 250);
    }
    initAttributes() {
      if (this.unit != null) {
        if (this.unit.hasInvalidAttributes && this.canModifyAppointment) {
          this.editAttributes();
        }
      }
    }
    get photos() {
      return this.unit?.photos_B64 ?? [];
    }
    get viewingPhoto() {
      return this.localAppointmentService.viewingPhoto;
    }
    get photoSrc() {
      return this.localAppointmentService.photoSrc;
    }
    matchesMimeType(mimeType) {
      let i = this.acceptMimeTypes.length;
      while (i--) {
        const acceptMimeType = this.acceptMimeTypes[i];
        if (acceptMimeType == mimeType) {
          return true;
        }
      }
      return false;
    }
    setFile(deviceBlob, photos) {
      if (deviceBlob != null && this.matchesMimeType(deviceBlob.type)) {
        const url = URL.createObjectURL(deviceBlob);
        const srcImage = new Image();
        srcImage.onload = () => {
          URL.revokeObjectURL(url);
          const offscreenCanvas = document.createElement('canvas');
          const ctx = offscreenCanvas.getContext('2d');
          if (ctx != null) {
            const ratio = srcImage.width / 1024;
            let width = srcImage.width;
            let height = srcImage.height;
            if (ratio > 1) {
              width = 1024;
              height = Math.round(srcImage.height / ratio);
            }
            offscreenCanvas.width = width;
            offscreenCanvas.height = height;
            ctx.drawImage(srcImage, 0, 0, width, height);
            const base64Image = offscreenCanvas.toDataURL('image/jpeg');
            this.photos.push(base64Image);
            if (this.appointment != null) {
              this.appointment.changed$.next();
            }
          }
        };
        srcImage.src = url;
      }
    }
    selectFile(elm) {
      if (elm.files != null) {
        const file = elm.files[0];
        this.setFile(file, this.photos);
      } else {
        this.setFile(undefined, this.photos);
      }
    }
    selectMedia(fileInputElm) {
      setTimeout(() => {
        if (fileInputElm != null) {
          fileInputElm.click();
        }
      }, 0);
    }
    deletePhoto(fileName) {
      if (this.unit != null) {
        for (var i = 0, len = this.unit.photos.length; i < len; i++) {
          const photo = this.unit.photos[i];
          if (photo.fileName == fileName) {
            this.unit.photos.splice(i, 1);
            break;
          }
        }
        for (var i = 0, len = this.unit.photos_B64.length; i < len; i++) {
          const photo = this.unit.photos_B64[i];
          if (photo == fileName) {
            this.unit.photos_B64.splice(i, 1);
            break;
          }
        }
        this.appointment?.changed$.next();
      }
    }
    viewPhoto(photo) {
      this.localAppointmentService.viewPhoto(photo);
    }
    stopViewingPhoto() {
      this.localAppointmentService.stopViewingPhoto();
    }
    storePhotoMeta() {
      if (this.activePhoto != null) {
        if (this.photoName != null) {
          this.activePhoto.name = this.photoName;
        }
        if (this.photoNotes != null) {
          this.activePhoto.notes = this.photoNotes;
        }
      }
    }
    startMoving(e, elm, entity) {
      if (!entity.moving) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        this.cursorPosition.totalX = 0;
        this.cursorPosition.totalY = 0;
        if (isTouch) {
          this.cursorPosition.initialX = e.touches[0].clientX;
          this.cursorPosition.initialY = e.touches[0].clientY;
        } else {
          this.cursorPosition.initialX = e.clientX;
          this.cursorPosition.initialY = e.clientY;
        }
        this.renderPosition.offsetHeight = elm.offsetHeight;
        this.renderPosition.offsetWidth = elm.offsetWidth;
        this.renderPosition.offsetX = elm.offsetWidth / 2;
        this.renderPosition.offsetY = elm.offsetHeight / 2;
        this.movingEntity = entity;
      }
    }
    stopMoving(e) {
      if (this.movingEntity?.moving) {
        this.movingEntity.moving = false;
      }
      this.movingEntity = undefined;
      this.fixtures.forEach(fixture => {
        fixture.moving = false;
      });
      this.structures.forEach(structure => {
        structure.moving = false;
      });
    }
    moveEntity(e) {
      if (this.canModifyAppointment) {
        const isTouch = 'touches' in e && e instanceof TouchEvent;
        if (this.movingEntity != null && !this.movingEntity.resizing) {
          if (this.cursorPosition.totalX > 3 || this.cursorPosition.totalX < -3 || this.cursorPosition.totalY > 3 || this.cursorPosition.totalY < -3) {
            this.movingEntity.moving = true;
          }
          if (isTouch) {
            this.cursorPosition.x = e.touches[0].clientX;
            this.cursorPosition.y = e.touches[0].clientY;
          } else {
            this.cursorPosition.x = e.clientX;
            this.cursorPosition.y = e.clientY;
          }
          const deltaX = this.cursorPosition.x - this.cursorPosition.initialX;
          const deltaY = this.cursorPosition.y - this.cursorPosition.initialY;
          let newX = this.movingEntity.renderDimensions.x + deltaX;
          let newY = this.movingEntity.renderDimensions.y + deltaY;
          const maxX = this.relWidth - this.renderPosition.offsetWidth;
          const maxY = this.relHeight - this.renderPosition.offsetHeight;
          if (newX < 0) {
            newX = 0;
          } else if (newX > maxX) {
            newX = maxX;
          }
          if (newY < 0) {
            newY = 0;
          } else if (newY > maxY) {
            newY = maxY;
          }
          this.movingEntity.renderDimensions.x = newX;
          this.movingEntity.renderDimensions.y = newY;
          this.cursorPosition.initialX = this.cursorPosition.x;
          this.cursorPosition.initialY = this.cursorPosition.y;
          this.cursorPosition.totalX = this.cursorPosition.totalX + deltaX;
          this.cursorPosition.totalY = this.cursorPosition.totalX + deltaY;
        }
      }
    }
    render() {
      var _this = this;
      return (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
        return new Promise(/*#__PURE__*/function () {
          var _ref = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (res, rej) {
            if (_this.unit != null) {
              const renderElm = _this.renderElm?.nativeElement;
              if (renderElm != null) {
                const dataUrl = yield (0,html_to_image__WEBPACK_IMPORTED_MODULE_1__.toPng)(renderElm, {
                  quality: 1.0,
                  backgroundColor: '#fff',
                  skipFonts: true,
                  filter: renderElm => {
                    return !renderElm.classList?.contains('no-render');
                  }
                });
                _this.unit.render_B64 = dataUrl;
                _this.appointment?.changed$.next();
                res();
              } else {
                rej();
              }
            } else {
              rej();
            }
          });
          return function (_x, _x2) {
            return _ref.apply(this, arguments);
          };
        }());
      })();
    }
    initRender() {
      setTimeout(() => {
        const renderElm = this.renderElm?.nativeElement;
        if (renderElm != null) {
          const bounds = renderElm.getBoundingClientRect();
          this.relX = bounds.left;
          this.relY = bounds.top;
          this.relWidth = renderElm.offsetWidth;
          this.relHeight = renderElm.offsetHeight;
          this.initAttributes();
        }
      }, 251);
    }
    hideFixtureHelp() {
      this.showFixtureHelp = false;
    }
    get fixtures() {
      return this.unit?.fixtures ?? [];
    }
    removeFixture() {
      if (this.selectedFixture != null) {
        this.stopEditingFixture(false);
        for (var i = 0, len = this.fixtures.length; i < len; i++) {
          const fixture = this.fixtures[i];
          if (fixture.id == this.selectedFixture.id) {
            this.fixtures.splice(i, 1);
            this.selectedFixture = undefined;
            this.update();
            break;
          }
        }
      }
    }
    stopSelectingFixtures() {
      this.selectingFixture = false;
    }
    selectFixtures() {
      this.selectingFixture = true;
    }
    selectFixture(fixture) {
      if (!fixture.moving && this.selectedFixture?.id != fixture.id) {
        if (this.selectedFixture?.id == fixture.id) {
          this.stopEditingFixture();
        } else {
          this.selectedFixture = fixture;
          this.editingFixture = true;
        }
      }
    }
    stopEditingFixture(showTip = true) {
      window.clearTimeout(this.editingFixtureTimer);
      this.editingFixture = false;
      this.editingFixtureTimer = window.setTimeout(() => {
        this.selectedFixture = undefined;
      }, 250);
    }
    unselectFixture() {
      this.stopEditingFixture();
    }
    addFixture(fixture) {
      if (this.unit != null) {
        fixture.renderDimensions.x = 50;
        fixture.renderDimensions.y = 50;
        this.fixtures.push(fixture);
        this.selectFixture(fixture);
        this.appointment?.changed$.next();
        this.stopSelectingFixtures();
      }
    }
    promptToDeleteFixture(fixture) {
      this.fixtureToDelete = fixture;
      this.showDeleteFixturePrompt = true;
    }
    cancelDeletingFixture() {
      this.showDeleteFixturePrompt = false;
      this.fixtureToDelete = undefined;
    }
    get structures() {
      return this.unit?.entities ?? [];
    }
    selectStructure(structure) {
      if (!structure.moving && !structure.resizing && this.selectedStructure?.id != structure.id) {
        this.selectedStructure = structure;
        this.editingStructure = true;
      }
    }
    stopEditingStructure() {
      window.clearTimeout(this.structureEditingTimer);
      this.editingStructure = false;
      this.structureEditingTimer = window.setTimeout(() => {
        this.selectedStructure = undefined;
      }, 250);
    }
    promptToDeleteStructure(structure) {
      this.structureToDelete = structure;
      this.showDeleteStructurePrompt = true;
    }
    cancelDeletingRoom() {
      this.showDeleteStructurePrompt = false;
      this.structureToDelete = undefined;
    }
    killEvent(e) {
      e.stopPropagation();
    }
    get canClose() {
      return true;
    }
    closeView() {
      var _this2 = this;
      return (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
        yield _this2.render();
        _this2.close.next();
      })();
    }
    init() {
      this.initRender();
      this.initNotes();
    }
    // #endregion
    ngOnInit() {
      this.init();
    }
    ngOnDestroy() {}
    static #_ = (() => this.ɵfac = function UnitComponent_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || UnitComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵdirectiveInject"](src_app_appointment_services_appointment_service__WEBPACK_IMPORTED_MODULE_3__.LocalAppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵdirectiveInject"](src_app_shared_appointments_services_appointment_service__WEBPACK_IMPORTED_MODULE_4__.AppointmentService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵdirectiveInject"](src_app_shared_ui_services_ui_service__WEBPACK_IMPORTED_MODULE_5__.UiService), _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵdirectiveInject"](_services_inspection_service__WEBPACK_IMPORTED_MODULE_6__.InspectionService));
    })();
    static #_2 = (() => this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵdefineComponent"]({
      type: UnitComponent,
      selectors: [["unit"]],
      viewQuery: function UnitComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵviewQuery"](_c0, 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵviewQuery"](_c1, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵloadQuery"]()) && (ctx.renderElm = _t.first);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵloadQuery"]()) && (ctx.componentElm = _t.first);
        }
      },
      inputs: {
        appointment: "appointment",
        availableFloor: "availableFloor",
        availableRoom: "availableRoom",
        availableUnit: "availableUnit",
        availableStructure: "availableStructure",
        availableEntities: "availableEntities",
        availableFixtures: "availableFixtures",
        unit: "unit"
      },
      outputs: {
        close: "close"
      },
      standalone: false,
      decls: 16,
      vars: 13,
      consts: [["renderElm", ""], ["fixtureElm", ""], ["structureElm", ""], ["id", "unit", 3, "touchend", "mouseup", 4, "ngIf"], ["id", "mainNav"], [1, "island"], [1, "controls"], [1, "control", 3, "click"], [1, "control", "success", 3, "click", "disabled"], [4, "ngIf"], ["id", "structureView"], [1, "bg"], [3, "appointment", "structure", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "close", 4, "ngIf"], ["id", "fixture"], [3, "appointment", "fixture", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableStructure", "click", "close", "deleted", 4, "ngIf"], ["id", "unit", 3, "touchend", "mouseup"], [1, "columns"], [1, "column", "structures"], [1, "content", "diagram"], [1, "control", 3, "click", "disabled"], [1, "fa-solid", "fa-plus"], [1, "render", 3, "mousemove", "touchmove"], [1, "street"], ["xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 384 512"], ["d", "M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"], ["class", "fixture", 3, "transform", "mouseup", "touchend", 4, "ngFor", "ngForOf"], [1, "structures"], ["class", "structure", 3, "transform", "mouseup", "touchend", 4, "ngFor", "ngForOf"], [1, "unit", "column"], [1, "content"], [1, "tooltip"], [1, "notes"], [1, "note"], ["rows", "5", "placeholder", "If you have any notes for our customer, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["rows", "5", "placeholder", "If you have any notes important for the shop, you can enter them here...", 3, "input", "ngModelChange", "disabled", "ngModel"], ["id", "standaloneAttributes"], [1, "attributes"], [3, "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "attributes", "renderElm", "headerLabel", "saveLabel", "close", 4, "ngIf"], ["id", "fixtures"], [1, "bg", 3, "click"], [3, "close", "click", "selectedFixture", "appointment"], [1, "fixture", 3, "mouseup", "touchend"], [3, "touchstart", "mousedown", "fixture"], ["class", "warning no-render", 4, "ngIf"], [1, "warning", "no-render"], [1, "structure", 3, "mouseup", "touchend"], [3, "mousedown", "touchstart", "structure", "parentElm"], [3, "close", "appointment", "entity", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure", "attributes", "renderElm", "headerLabel", "saveLabel"], [3, "close", "appointment", "structure", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableUnit", "availableStructure"], [3, "click", "close", "deleted", "appointment", "fixture", "availableEntities", "availableFixtures", "availableFloor", "availableRoom", "availableStructure"]],
      template: function UnitComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](0, UnitComponent_section_0_Template, 54, 16, "section", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](1, "nav", 4)(2, "div", 5)(3, "div", 6)(4, "button", 7);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("click", function UnitComponent_Template_button_click_4_listener() {
            return ctx.editAttributes();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](5, "label");
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtext"](6);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](7, "button", 8);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵlistener"]("click", function UnitComponent_Template_button_click_7_listener() {
            return ctx.closeView();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](8, UnitComponent_label_8_Template, 2, 1, "label", 9)(9, UnitComponent_label_9_Template, 2, 1, "label", 9);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]()()()();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](10, "aside", 10);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelement"](11, "div", 11);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](12, UnitComponent_structure_12_Template, 1, 8, "structure", 12);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementStart"](13, "aside", 13);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelement"](14, "div", 11);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtemplate"](15, UnitComponent_fixture_15_Template, 1, 7, "fixture", 14);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵelementEnd"]();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", ctx.unit != null);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵclassProp"]("hidden", ctx.editingStructure || ctx.editingFixture || ctx.editingAttributes);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](5);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵtextInterpolate1"]("Change ", ctx.unit == null ? null : ctx.unit.name, " Details");
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("disabled", !ctx.canClose);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", ctx.canModifyAppointment);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", !ctx.canModifyAppointment);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵclassProp"]("active", ctx.editingStructure);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", ctx.selectedStructure != null);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"]();
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵclassProp"]("active", ctx.editingFixture);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵadvance"](2);
          _angular_core__WEBPACK_IMPORTED_MODULE_13__["ɵɵproperty"]("ngIf", ctx.selectedFixture != null);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_15__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_15__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_16__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_16__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_16__.NgModel, _standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_7__.StandaaloneAttributesComponent, _structure_structure_component__WEBPACK_IMPORTED_MODULE_8__.StructureComponent, _fixture_fixture_component__WEBPACK_IMPORTED_MODULE_9__.FixtureComponent, _fixtures_fixtures_component__WEBPACK_IMPORTED_MODULE_10__.FixturesComponent, _fixture_render_fixture_render_component__WEBPACK_IMPORTED_MODULE_11__.FixtureRenderComponent, _structure_render_structure_render_component__WEBPACK_IMPORTED_MODULE_12__.StructureRenderComponent],
      styles: ["#unit[_ngcontent-%COMP%] {\n  position: absolute;\n  top: calc(6vw + var(--systemOffset-top));\n  left: 2vw;\n  right: 0;\n  bottom: 6vw;\n  background-color: var(--color2Alt3);\n  border: 0.1vw var(--color2Alt4) solid;\n  box-shadow: -0.2vw 0 1vw rgba(var(--black-raw), 0.1);\n  border-top-left-radius: 2vw;\n  border-bottom-left-radius: 2vw;\n  overflow: hidden;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%] {\n  font-size: 0;\n  height: 100%;\n  width: 100%;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%] {\n  display: inline-block;\n  vertical-align: top;\n  height: 100%;\n  font-size: 1rem;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: flex-end;\n  padding: 0.75vw 2vw;\n  border-bottom: 0.1vw var(--color2Alt4) solid;\n  position: relative;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  color: var(--color1);\n  font-weight: var(--stronger);\n  font-size: 1.4vw;\n  line-height: 1;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  margin-left: 1vw;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 999px;\n  background-color: var(--color3Alt3);\n  padding: 0.75vw 1vw;\n  transition: background-color 0.2s linear;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%], \n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  color: var(--color2);\n  transition: color 0.2s linear;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  margin-left: 0.5vw;\n  line-height: 1;\n  font-size: 1.2vw;\n  font-weight: var(--strong);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active    > i[_ngcontent-%COMP%], #unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active    > label[_ngcontent-%COMP%] {\n  color: var(--color5);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.75;\n  pointer-events: none;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > input[_ngcontent-%COMP%] {\n  position: absolute;\n  visibility: hidden;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  flex: 1;\n  padding: 1vw 1vw 5vw;\n  overflow-x: hidden;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  display: block;\n  width: 100%;\n  border: 0.1vw var(--color2Alt4) solid;\n  cursor: pointer;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  background-color: var(--color2Alt1);\n  padding: 2vw 0;\n  border-radius: 1vw;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 2vw;\n  color: var(--color3);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color3);\n  font-weight: var(--strong);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%] {\n  width: 75%;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%] {\n  position: relative;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%] {\n  flex: 1;\n  background-color: var(--color2);\n  position: relative;\n  overflow: hidden;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .street[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  bottom: 0.5vw;\n  display: flex;\n  align-items: center;\n  pointer-events: none;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .street[_ngcontent-%COMP%]    > svg[_ngcontent-%COMP%] {\n  height: 1.2vw;\n  fill: var(--color1);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .street[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  margin: 0 1vw;\n  font-size: 1.4vw;\n  text-transform: uppercase;\n  color: var(--color1);\n  font-weight: var(--strong);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: 2;\n  cursor: pointer;\n  border: 0.2vw transparent solid;\n  border-radius: 1vw;\n  will-change: transform;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]     {\n  -webkit-user-drag: none;\n  user-drag: none;\n  -webkit-user-select: none;\n          user-select: none;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]   fixture-render[_ngcontent-%COMP%] {\n  display: block;\n  width: 5.5vw;\n  height: 5.5vw;\n  position: relative;\n  --fixtureFontSize: .8vw;\n  will-change: transform;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  top: 100%;\n  display: flex;\n  justify-content: center;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  font-size: 0.8vw;\n  text-transform: uppercase;\n  font-weight: var(--stronger);\n  white-space: nowrap;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]   .fixture[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p.warning[_ngcontent-%COMP%] {\n  color: var(--error);\n  font-style: italic;\n  white-space: nowrap;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .structures[_ngcontent-%COMP%]   .structure[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: 1;\n  will-change: transform;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .structures[_ngcontent-%COMP%]   .structure[_ngcontent-%COMP%]    > structure-render[_ngcontent-%COMP%] {\n  display: block;\n  position: relative;\n  cursor: pointer;\n  --structureFontSize: 1vw;\n  will-change: transform;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .structures[_ngcontent-%COMP%]   .structure[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 50%;\n  transform: translate3d(-50%, 0, 0);\n  top: 100%;\n  margin-top: 0.25vw;\n  display: flex;\n  justify-content: center;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .structures[_ngcontent-%COMP%]   .structure[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  font-size: 1vw;\n  text-transform: uppercase;\n  font-weight: var(--stronger);\n  white-space: nowrap;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.structures[_ngcontent-%COMP%]    > .diagram[_ngcontent-%COMP%]    > .render[_ngcontent-%COMP%]    > .structures[_ngcontent-%COMP%]   .structure[_ngcontent-%COMP%]    > footer[_ngcontent-%COMP%]    > p.warning[_ngcontent-%COMP%] {\n  color: var(--error);\n  font-style: italic;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%] {\n  width: 25%;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  padding: 1vw 1.5vw;\n  background-color: var(--color1Alt3);\n  border-left: 0.2vw var(--color1Alt4) solid;\n  justify-content: center;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > h2[_ngcontent-%COMP%] {\n  font-size: 2.2vw;\n  text-align: center;\n  color: var(--color2);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%] {\n  background-color: var(--color2Alt2);\n  border-left: 0.2vw var(--color2Alt4) solid;\n  padding: 1vw;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%] {\n  border-radius: 1vw;\n  padding: 1vw;\n  background-color: var(--color5Alt3);\n  border: 0.5vw var(--color5Alt4) solid;\n  margin-bottom: 1vw;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.6vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  margin-bottom: 0.5vw;\n  line-height: 1;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]   .tooltip[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color2);\n  font-weight: var(--stdweight);\n  line-height: 1;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--strong);\n  display: block;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%] {\n  margin-top: 0.25vw;\n  background-color: var(--color2);\n  border-radius: 1vw;\n  border: 0.1vw var(--color1) solid;\n  font-size: 1.2vw;\n  color: var(--color1);\n  font-weight: var(--stdweight);\n  padding: 1vw;\n  display: block;\n  width: 100%;\n  font-family: \"Times New Roman\", Times, serif;\n  resize: none;\n  transition: border-color 0.2s linear;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%]:focus {\n  border-color: var(--color3);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .notes[_ngcontent-%COMP%]    > .note[_ngcontent-%COMP%]:first-child {\n  margin-top: 0;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  margin-top: 1vw;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.fixture[_ngcontent-%COMP%] {\n  padding: 1vw;\n  border: 0.2vw var(--color3) solid;\n  border-radius: 0.5vw;\n  background-color: var(--color2Alt3);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.fixture[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%] {\n  margin-bottom: 1vw;\n  border-bottom: 0.1vw var(--color2Alt4) solid;\n  padding-bottom: 0.5vw;\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.fixture[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .primary[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%] {\n  font-size: 1.4vw;\n  color: var(--color1);\n  font-weight: var(--stronger);\n  line-height: 1;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.fixture[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .primary[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%] {\n  line-height: 1;\n  text-transform: uppercase;\n  font-size: 1vw;\n  color: var(--color2Alt4);\n  font-weight: var(--strong);\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column.unit[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .content[_ngcontent-%COMP%]    > .attributes.fixture[_ngcontent-%COMP%]    > header[_ngcontent-%COMP%]    > .image[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  height: 2vw;\n}\n#unit[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]    > .column[_ngcontent-%COMP%]:first-child {\n  border-left: none;\n}\n#unit[_ngcontent-%COMP%]   #standaloneAttributes[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  background-color: rgba(var(--color2Alt1-raw), 0.9);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#unit[_ngcontent-%COMP%]   #standaloneAttributes[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 5%;\n  left: 30%;\n  right: 30%;\n  bottom: 5%;\n  z-index: 4;\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  overflow: hidden;\n  opacity: 0;\n  pointer-events: none;\n  transform: scale(0.8);\n  transition: opacity 0.2s, transform 0.2s;\n  box-shadow: 0 0.2vw 1vw rgba(var(--black-raw), 0.1);\n}\n#unit[_ngcontent-%COMP%]   #standaloneAttributes.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#unit[_ngcontent-%COMP%]   #standaloneAttributes.active[_ngcontent-%COMP%]    > .attributes[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n  transform: scale(1);\n}\n#unit[_ngcontent-%COMP%]   #fixtures[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1;\n  background-color: rgba(var(--color2Alt1-raw), 0.9);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#unit[_ngcontent-%COMP%]   #fixtures[_ngcontent-%COMP%]    > fixtures[_ngcontent-%COMP%] {\n  display: block;\n  position: absolute;\n  top: 5%;\n  left: 20%;\n  right: 20%;\n  bottom: 5%;\n  z-index: 2;\n  background-color: var(--color2Alt1);\n  border-radius: 1vw;\n  overflow: hidden;\n  opacity: 0;\n  pointer-events: none;\n  transform: scale(0.8);\n  transition: opacity 0.2s, transform 0.2s;\n  box-shadow: 0 0.2vw 1vw rgba(var(--black-raw), 0.1);\n}\n#unit[_ngcontent-%COMP%]   #fixtures.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#unit[_ngcontent-%COMP%]   #fixtures.active[_ngcontent-%COMP%]    > fixtures[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n  transform: scale(1);\n}\n\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%] {\n  position: absolute;\n  bottom: 1vw;\n  right: 1vw;\n  z-index: 3;\n  background-color: var(--color2);\n  border-radius: 999px;\n  padding: 0.5vw 1vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%] {\n  position: relative;\n  margin-left: 1vw;\n  padding: 0.8vw 2vw;\n  border-radius: 999px;\n  cursor: pointer;\n  margin-left: 1vw;\n  display: flex;\n  align-items: center;\n  background-color: var(--color3);\n  border: 0.1vw transparent solid;\n  transition: background-color 0.1s linear;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%]:last-child, #mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%]:last-child {\n  margin-left: 0.5vw;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > i[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  font-size: 1.2vw;\n  color: var(--color2);\n  font-weight: var(--strong);\n  line-height: 1;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control.success[_ngcontent-%COMP%] {\n  background-color: var(--success);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[disabled][_ngcontent-%COMP%] {\n  opacity: 0.6;\n  pointer-events: none;\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active {\n  background-color: var(--color3Alt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:active.success {\n  background-color: var(--successAlt4);\n}\n#mainNav[_ngcontent-%COMP%]    > .island[_ngcontent-%COMP%]    > .controls[_ngcontent-%COMP%]    > .control[_ngcontent-%COMP%]:first-child {\n  margin-left: 0;\n}\n#mainNav.hidden[_ngcontent-%COMP%] {\n  opacity: 0;\n  pointer-events: none;\n  transition: opacity 0.25s linear;\n}\n@keyframes _ngcontent-%COMP%_childLoadIn {\n  0% {\n    transform: translateX(100%);\n  }\n  100% {\n    transform: translateX(0);\n  }\n}\n@keyframes _ngcontent-%COMP%_childLoadOut {\n  to {\n    transform: translateX(100%);\n  }\n}\n@keyframes _ngcontent-%COMP%_childNavLoadIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n@keyframes _ngcontent-%COMP%_childNavLoadOut {\n  to {\n    opacity: 0;\n  }\n}\n#structureView[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  background-color: rgba(var(--color2Alt1-raw), 0.5);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#structureView[_ngcontent-%COMP%]    > structure[_ngcontent-%COMP%]     #structure {\n  z-index: 4;\n  animation-name: _ngcontent-%COMP%_childLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#structureView[_ngcontent-%COMP%]    > structure[_ngcontent-%COMP%]     #mainNav > .island {\n  animation-name: _ngcontent-%COMP%_childNavLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#structureView.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#structureView.active[_ngcontent-%COMP%]    > structure[_ngcontent-%COMP%]     #structure {\n  animation-name: _ngcontent-%COMP%_childLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#structureView.active[_ngcontent-%COMP%]    > structure[_ngcontent-%COMP%]     #mainNav > .island {\n  opacity: 0;\n  animation-name: _ngcontent-%COMP%_childNavLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0.3s;\n  animation-fill-mode: forwards;\n}\n\n#fixture[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  background-color: rgba(var(--color2Alt1-raw), 0.5);\n  opacity: 0;\n  transition: opacity 0.2s linear;\n  pointer-events: none;\n}\n#fixture[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #fixture {\n  z-index: 4;\n  animation-name: _ngcontent-%COMP%_childLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #mainNav > .island {\n  animation-name: _ngcontent-%COMP%_childNavLoadOut;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture.active[_ngcontent-%COMP%]    > .bg[_ngcontent-%COMP%] {\n  opacity: 1;\n  pointer-events: initial;\n}\n#fixture.active[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #fixture {\n  animation-name: _ngcontent-%COMP%_childLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0s;\n  animation-fill-mode: forwards;\n}\n#fixture.active[_ngcontent-%COMP%]    > fixture[_ngcontent-%COMP%]     #mainNav > .island {\n  opacity: 0;\n  animation-name: _ngcontent-%COMP%_childNavLoadIn;\n  animation-iteration-count: 1;\n  animation-timing-function: linear;\n  animation-duration: 0.25s;\n  animation-direction: normal;\n  animation-delay: 0.3s;\n  animation-fill-mode: forwards;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,  */"]
    }))();
  }
  return UnitComponent;
})();

/***/ }),

/***/ 5625:
/*!*************************************************************!*\
  !*** ./src/app/appointment/inspection/inspection.module.ts ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   InspectionModule: () => (/* binding */ InspectionModule)
/* harmony export */ });
/* harmony import */ var _angular_elements__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @angular/elements */ 3440);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @angular/common */ 6216);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @angular/common/http */ 8143);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @angular/forms */ 8335);
/* harmony import */ var _components_layout_layout_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/layout/layout.component */ 8342);
/* harmony import */ var _components_property_details_property_details_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/property-details/property-details.component */ 6930);
/* harmony import */ var _components_standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/standalone-attributes/standalone-attributes.component */ 4624);
/* harmony import */ var _components_attributes_attributes_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/attributes/attributes.component */ 3424);
/* harmony import */ var _components_unit_unit_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/unit/unit.component */ 6774);
/* harmony import */ var _components_structure_structure_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/structure/structure.component */ 3192);
/* harmony import */ var _components_photo_photo_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/photo/photo.component */ 3747);
/* harmony import */ var _components_fixtures_fixtures_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/fixtures/fixtures.component */ 3210);
/* harmony import */ var _components_fixture_fixture_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/fixture/fixture.component */ 9848);
/* harmony import */ var _components_fixture_render_fixture_render_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/fixture-render/fixture-render.component */ 5166);
/* harmony import */ var _components_structure_render_structure_render_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/structure-render/structure-render.component */ 1254);
/* harmony import */ var _components_room_render_room_render_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/room-render/room-render.component */ 9144);
/* harmony import */ var _components_room_room_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/room/room.component */ 704);
/* harmony import */ var src_app_shared_ui_ui_module__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! src/app/shared/ui/ui.module */ 663);
/* harmony import */ var _services_inspection_service__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./services/inspection.service */ 3311);
/* harmony import */ var src_app_shared_navigation_services_internal_route_service__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! src/app/shared/navigation/services/internal-route.service */ 8858);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @angular/core */ 4380);




/* Components */













/* Shared Modules */

/* Services */



let InspectionModule = /*#__PURE__*/(() => {
  class InspectionModule {
    constructor(injector) {
      this.injector = injector;
      this.ngDoBootstrap();
    }
    ngDoBootstrap() {
      const el = (0,_angular_elements__WEBPACK_IMPORTED_MODULE_16__.createCustomElement)(_components_layout_layout_component__WEBPACK_IMPORTED_MODULE_0__.InspectionLayoutComponent, {
        injector: this.injector
      });
      customElements.define('appointment-inspection', el);
    }
    static #_ = (() => this.ɵfac = function InspectionModule_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || InspectionModule)(_angular_core__WEBPACK_IMPORTED_MODULE_17__["ɵɵinject"](_angular_core__WEBPACK_IMPORTED_MODULE_17__.Injector));
    })();
    static #_2 = (() => this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_17__["ɵɵdefineNgModule"]({
      type: InspectionModule
    }))();
    static #_3 = (() => this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_17__["ɵɵdefineInjector"]({
      providers: [src_app_shared_navigation_services_internal_route_service__WEBPACK_IMPORTED_MODULE_15__.InternalRouteService, _services_inspection_service__WEBPACK_IMPORTED_MODULE_14__.InspectionService, (0,_angular_common_http__WEBPACK_IMPORTED_MODULE_18__.provideHttpClient)((0,_angular_common_http__WEBPACK_IMPORTED_MODULE_18__.withInterceptorsFromDi)())],
      imports: [src_app_shared_ui_ui_module__WEBPACK_IMPORTED_MODULE_13__.UiModule, _angular_common__WEBPACK_IMPORTED_MODULE_19__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_20__.FormsModule, _angular_forms__WEBPACK_IMPORTED_MODULE_20__.ReactiveFormsModule]
    }))();
  }
  return InspectionModule;
})();
(function () {
  (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_17__["ɵɵsetNgModuleScope"](InspectionModule, {
    declarations: [_components_layout_layout_component__WEBPACK_IMPORTED_MODULE_0__.InspectionLayoutComponent, _components_property_details_property_details_component__WEBPACK_IMPORTED_MODULE_1__.PropertyDetailsComponent, _components_standalone_attributes_standalone_attributes_component__WEBPACK_IMPORTED_MODULE_2__.StandaaloneAttributesComponent, _components_attributes_attributes_component__WEBPACK_IMPORTED_MODULE_3__.AttributesComponent, _components_unit_unit_component__WEBPACK_IMPORTED_MODULE_4__.UnitComponent, _components_structure_structure_component__WEBPACK_IMPORTED_MODULE_5__.StructureComponent, _components_photo_photo_component__WEBPACK_IMPORTED_MODULE_6__.PhotoComponent, _components_fixture_fixture_component__WEBPACK_IMPORTED_MODULE_8__.FixtureComponent, _components_fixtures_fixtures_component__WEBPACK_IMPORTED_MODULE_7__.FixturesComponent, _components_fixture_render_fixture_render_component__WEBPACK_IMPORTED_MODULE_9__.FixtureRenderComponent, _components_structure_render_structure_render_component__WEBPACK_IMPORTED_MODULE_10__.StructureRenderComponent, _components_room_room_component__WEBPACK_IMPORTED_MODULE_12__.RoomComponent, _components_room_render_room_render_component__WEBPACK_IMPORTED_MODULE_11__.RoomRenderComponent],
    imports: [src_app_shared_ui_ui_module__WEBPACK_IMPORTED_MODULE_13__.UiModule, _angular_common__WEBPACK_IMPORTED_MODULE_19__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_20__.FormsModule, _angular_forms__WEBPACK_IMPORTED_MODULE_20__.ReactiveFormsModule]
  });
})();

/***/ }),

/***/ 3311:
/*!***********************************************************************!*\
  !*** ./src/app/appointment/inspection/services/inspection.service.ts ***!
  \***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   InspectionService: () => (/* binding */ InspectionService)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 4380);
/* harmony import */ var src_app_shared_data_services_storage_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/shared/data/services/storage.service */ 1490);


let InspectionService = /*#__PURE__*/(() => {
  class InspectionService {
    constructor(storageService) {
      this.storageService = storageService;
    }
    static #_ = (() => this.ɵfac = function InspectionService_Factory(__ngFactoryType__) {
      return new (__ngFactoryType__ || InspectionService)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵinject"](src_app_shared_data_services_storage_service__WEBPACK_IMPORTED_MODULE_0__.StorageService));
    })();
    static #_2 = (() => this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({
      token: InspectionService,
      factory: InspectionService.ɵfac,
      providedIn: 'root'
    }))();
  }
  return InspectionService;
})();

/***/ }),

/***/ 2583:
/*!***********************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/apply-style.js ***!
  \***********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   applyStyle: () => (/* binding */ applyStyle)
/* harmony export */ });
function applyStyle(node, options) {
  const {
    style
  } = node;
  if (options.backgroundColor) {
    style.backgroundColor = options.backgroundColor;
  }
  if (options.width) {
    style.width = `${options.width}px`;
  }
  if (options.height) {
    style.height = `${options.height}px`;
  }
  const manual = options.style;
  if (manual != null) {
    Object.keys(manual).forEach(key => {
      style[key] = manual[key];
    });
  }
  return node;
}

/***/ }),

/***/ 4823:
/*!**********************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-node.js ***!
  \**********************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   cloneNode: () => (/* binding */ cloneNode)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clone-pseudos */ 1128);
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ 8279);
/* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ 9222);
/* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dataurl */ 9494);





function cloneCanvasElement(_x) {
  return _cloneCanvasElement.apply(this, arguments);
}
function _cloneCanvasElement() {
  _cloneCanvasElement = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (canvas) {
    const dataURL = canvas.toDataURL();
    if (dataURL === 'data:,') {
      return canvas.cloneNode(false);
    }
    return (0,_util__WEBPACK_IMPORTED_MODULE_2__.createImage)(dataURL);
  });
  return _cloneCanvasElement.apply(this, arguments);
}
function cloneVideoElement(_x2, _x3) {
  return _cloneVideoElement.apply(this, arguments);
}
function _cloneVideoElement() {
  _cloneVideoElement = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (video, options) {
    if (video.currentSrc) {
      const canvas = document.createElement('canvas');
      const ctx = canvas.getContext('2d');
      canvas.width = video.clientWidth;
      canvas.height = video.clientHeight;
      ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
      const dataURL = canvas.toDataURL();
      return (0,_util__WEBPACK_IMPORTED_MODULE_2__.createImage)(dataURL);
    }
    const poster = video.poster;
    const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(poster);
    const dataURL = yield (0,_dataurl__WEBPACK_IMPORTED_MODULE_4__.resourceToDataURL)(poster, contentType, options);
    return (0,_util__WEBPACK_IMPORTED_MODULE_2__.createImage)(dataURL);
  });
  return _cloneVideoElement.apply(this, arguments);
}
function cloneIFrameElement(_x4, _x5) {
  return _cloneIFrameElement.apply(this, arguments);
}
function _cloneIFrameElement() {
  _cloneIFrameElement = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (iframe, options) {
    var _a;
    try {
      if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
        return yield cloneNode(iframe.contentDocument.body, options, true);
      }
    } catch (_b) {
      // Failed to clone iframe
    }
    return iframe.cloneNode(false);
  });
  return _cloneIFrameElement.apply(this, arguments);
}
function cloneSingleNode(_x6, _x7) {
  return _cloneSingleNode.apply(this, arguments);
}
function _cloneSingleNode() {
  _cloneSingleNode = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options) {
    if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(node, HTMLCanvasElement)) {
      return cloneCanvasElement(node);
    }
    if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(node, HTMLVideoElement)) {
      return cloneVideoElement(node, options);
    }
    if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(node, HTMLIFrameElement)) {
      return cloneIFrameElement(node, options);
    }
    return node.cloneNode(isSVGElement(node));
  });
  return _cloneSingleNode.apply(this, arguments);
}
const isSlotElement = node => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
const isSVGElement = node => node.tagName != null && node.tagName.toUpperCase() === 'SVG';
function cloneChildren(_x8, _x9, _x10) {
  return _cloneChildren.apply(this, arguments);
}
function _cloneChildren() {
  _cloneChildren = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (nativeNode, clonedNode, options) {
    var _a, _b;
    if (isSVGElement(clonedNode)) {
      return clonedNode;
    }
    let children = [];
    if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
      children = (0,_util__WEBPACK_IMPORTED_MODULE_2__.toArray)(nativeNode.assignedNodes());
    } else if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) && ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
      children = (0,_util__WEBPACK_IMPORTED_MODULE_2__.toArray)(nativeNode.contentDocument.body.childNodes);
    } else {
      children = (0,_util__WEBPACK_IMPORTED_MODULE_2__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
    }
    if (children.length === 0 || (0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
      return clonedNode;
    }
    yield children.reduce((deferred, child) => deferred.then(() => cloneNode(child, options)).then(clonedChild => {
      if (clonedChild) {
        clonedNode.appendChild(clonedChild);
      }
    }), Promise.resolve());
    return clonedNode;
  });
  return _cloneChildren.apply(this, arguments);
}
function cloneCSSStyle(nativeNode, clonedNode, options) {
  const targetStyle = clonedNode.style;
  if (!targetStyle) {
    return;
  }
  const sourceStyle = window.getComputedStyle(nativeNode);
  if (sourceStyle.cssText) {
    targetStyle.cssText = sourceStyle.cssText;
    targetStyle.transformOrigin = sourceStyle.transformOrigin;
  } else {
    (0,_util__WEBPACK_IMPORTED_MODULE_2__.getStyleProperties)(options).forEach(name => {
      let value = sourceStyle.getPropertyValue(name);
      if (name === 'font-size' && value.endsWith('px')) {
        const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
        value = `${reducedFont}px`;
      }
      if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) && name === 'display' && value === 'inline') {
        value = 'block';
      }
      if (name === 'd' && clonedNode.getAttribute('d')) {
        value = `path(${clonedNode.getAttribute('d')})`;
      }
      targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
    });
  }
}
function cloneInputValue(nativeNode, clonedNode) {
  if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
    clonedNode.innerHTML = nativeNode.value;
  }
  if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
    clonedNode.setAttribute('value', nativeNode.value);
  }
}
function cloneSelectValue(nativeNode, clonedNode) {
  if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
    const clonedSelect = clonedNode;
    const selectedOption = Array.from(clonedSelect.children).find(child => nativeNode.value === child.getAttribute('value'));
    if (selectedOption) {
      selectedOption.setAttribute('selected', '');
    }
  }
}
function decorate(nativeNode, clonedNode, options) {
  if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(clonedNode, Element)) {
    cloneCSSStyle(nativeNode, clonedNode, options);
    (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_1__.clonePseudoElements)(nativeNode, clonedNode, options);
    cloneInputValue(nativeNode, clonedNode);
    cloneSelectValue(nativeNode, clonedNode);
  }
  return clonedNode;
}
function ensureSVGSymbols(_x11, _x12) {
  return _ensureSVGSymbols.apply(this, arguments);
}
function _ensureSVGSymbols() {
  _ensureSVGSymbols = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (clone, options) {
    const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
    if (uses.length === 0) {
      return clone;
    }
    const processedDefs = {};
    for (let i = 0; i < uses.length; i++) {
      const use = uses[i];
      const id = use.getAttribute('xlink:href');
      if (id) {
        const exist = clone.querySelector(id);
        const definition = document.querySelector(id);
        if (!exist && definition && !processedDefs[id]) {
          // eslint-disable-next-line no-await-in-loop
          processedDefs[id] = yield cloneNode(definition, options, true);
        }
      }
    }
    const nodes = Object.values(processedDefs);
    if (nodes.length) {
      const ns = 'http://www.w3.org/1999/xhtml';
      const svg = document.createElementNS(ns, 'svg');
      svg.setAttribute('xmlns', ns);
      svg.style.position = 'absolute';
      svg.style.width = '0';
      svg.style.height = '0';
      svg.style.overflow = 'hidden';
      svg.style.display = 'none';
      const defs = document.createElementNS(ns, 'defs');
      svg.appendChild(defs);
      for (let i = 0; i < nodes.length; i++) {
        defs.appendChild(nodes[i]);
      }
      clone.appendChild(svg);
    }
    return clone;
  });
  return _ensureSVGSymbols.apply(this, arguments);
}
function cloneNode(_x13, _x14, _x15) {
  return _cloneNode.apply(this, arguments);
}
function _cloneNode() {
  _cloneNode = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options, isRoot) {
    if (!isRoot && options.filter && !options.filter(node)) {
      return null;
    }
    return Promise.resolve(node).then(clonedNode => cloneSingleNode(clonedNode, options)).then(clonedNode => cloneChildren(node, clonedNode, options)).then(clonedNode => decorate(node, clonedNode, options)).then(clonedNode => ensureSVGSymbols(clonedNode, options));
  });
  return _cloneNode.apply(this, arguments);
}

/***/ }),

/***/ 1128:
/*!*************************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-pseudos.js ***!
  \*************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   clonePseudoElements: () => (/* binding */ clonePseudoElements)
/* harmony export */ });
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ 8279);

function formatCSSText(style) {
  const content = style.getPropertyValue('content');
  return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
}
function formatCSSProperties(style, options) {
  return (0,_util__WEBPACK_IMPORTED_MODULE_0__.getStyleProperties)(options).map(name => {
    const value = style.getPropertyValue(name);
    const priority = style.getPropertyPriority(name);
    return `${name}: ${value}${priority ? ' !important' : ''};`;
  }).join(' ');
}
function getPseudoElementStyle(className, pseudo, style, options) {
  const selector = `.${className}:${pseudo}`;
  const cssText = style.cssText ? formatCSSText(style) : formatCSSProperties(style, options);
  return document.createTextNode(`${selector}{${cssText}}`);
}
function clonePseudoElement(nativeNode, clonedNode, pseudo, options) {
  const style = window.getComputedStyle(nativeNode, pseudo);
  const content = style.getPropertyValue('content');
  if (content === '' || content === 'none') {
    return;
  }
  const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
  try {
    clonedNode.className = `${clonedNode.className} ${className}`;
  } catch (err) {
    return;
  }
  const styleElement = document.createElement('style');
  styleElement.appendChild(getPseudoElementStyle(className, pseudo, style, options));
  clonedNode.appendChild(styleElement);
}
function clonePseudoElements(nativeNode, clonedNode, options) {
  clonePseudoElement(nativeNode, clonedNode, ':before', options);
  clonePseudoElement(nativeNode, clonedNode, ':after', options);
}

/***/ }),

/***/ 9494:
/*!*******************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/dataurl.js ***!
  \*******************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
/* harmony export */   isDataUrl: () => (/* binding */ isDataUrl),
/* harmony export */   makeDataUrl: () => (/* binding */ makeDataUrl),
/* harmony export */   resourceToDataURL: () => (/* binding */ resourceToDataURL)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);

function getContentFromDataUrl(dataURL) {
  return dataURL.split(/,/)[1];
}
function isDataUrl(url) {
  return url.search(/^(data:)/) !== -1;
}
function makeDataUrl(content, mimeType) {
  return `data:${mimeType};base64,${content}`;
}
function fetchAsDataURL(_x, _x2, _x3) {
  return _fetchAsDataURL.apply(this, arguments);
}
function _fetchAsDataURL() {
  _fetchAsDataURL = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (url, init, process) {
    const res = yield fetch(url, init);
    if (res.status === 404) {
      throw new Error(`Resource "${res.url}" not found`);
    }
    const blob = yield res.blob();
    return new Promise((resolve, reject) => {
      const reader = new FileReader();
      reader.onerror = reject;
      reader.onloadend = () => {
        try {
          resolve(process({
            res,
            result: reader.result
          }));
        } catch (error) {
          reject(error);
        }
      };
      reader.readAsDataURL(blob);
    });
  });
  return _fetchAsDataURL.apply(this, arguments);
}
const cache = {};
function getCacheKey(url, contentType, includeQueryParams) {
  let key = url.replace(/\?.*/, '');
  if (includeQueryParams) {
    key = url;
  }
  // font resource
  if (/ttf|otf|eot|woff2?/i.test(key)) {
    key = key.replace(/.*\//, '');
  }
  return contentType ? `[${contentType}]${key}` : key;
}
function resourceToDataURL(_x4, _x5, _x6) {
  return _resourceToDataURL.apply(this, arguments);
}
function _resourceToDataURL() {
  _resourceToDataURL = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (resourceUrl, contentType, options) {
    const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
    if (cache[cacheKey] != null) {
      return cache[cacheKey];
    }
    // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
    if (options.cacheBust) {
      // eslint-disable-next-line no-param-reassign
      resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
    }
    let dataURL;
    try {
      const content = yield fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({
        res,
        result
      }) => {
        if (!contentType) {
          // eslint-disable-next-line no-param-reassign
          contentType = res.headers.get('Content-Type') || '';
        }
        return getContentFromDataUrl(result);
      });
      dataURL = makeDataUrl(content, contentType);
    } catch (error) {
      dataURL = options.imagePlaceholder || '';
      let msg = `Failed to fetch resource: ${resourceUrl}`;
      if (error) {
        msg = typeof error === 'string' ? error : error.message;
      }
      if (msg) {
        console.warn(msg);
      }
    }
    cache[cacheKey] = dataURL;
    return dataURL;
  });
  return _resourceToDataURL.apply(this, arguments);
}

/***/ }),

/***/ 2769:
/*!************************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-images.js ***!
  \************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   embedImages: () => (/* binding */ embedImages)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-resources */ 9306);
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util */ 8279);
/* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ 9494);
/* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mimes */ 9222);





function embedProp(_x, _x2, _x3) {
  return _embedProp.apply(this, arguments);
}
function _embedProp() {
  _embedProp = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (propName, node, options) {
    var _a;
    const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
    if (propValue) {
      const cssString = yield (0,_embed_resources__WEBPACK_IMPORTED_MODULE_1__.embedResources)(propValue, null, options);
      node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
      return true;
    }
    return false;
  });
  return _embedProp.apply(this, arguments);
}
function embedBackground(_x4, _x5) {
  return _embedBackground.apply(this, arguments);
}
function _embedBackground() {
  _embedBackground = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (clonedNode, options) {
    ;
    (yield embedProp('background', clonedNode, options)) || (yield embedProp('background-image', clonedNode, options));
    (yield embedProp('mask', clonedNode, options)) || (yield embedProp('-webkit-mask', clonedNode, options)) || (yield embedProp('mask-image', clonedNode, options)) || (yield embedProp('-webkit-mask-image', clonedNode, options));
  });
  return _embedBackground.apply(this, arguments);
}
function embedImageNode(_x6, _x7) {
  return _embedImageNode.apply(this, arguments);
}
function _embedImageNode() {
  _embedImageNode = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (clonedNode, options) {
    const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(clonedNode, HTMLImageElement);
    if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.isDataUrl)(clonedNode.src)) && !((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(clonedNode, SVGImageElement) && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.isDataUrl)(clonedNode.href.baseVal))) {
      return;
    }
    const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
    const dataURL = yield (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_4__.getMimeType)(url), options);
    yield new Promise((resolve, reject) => {
      clonedNode.onload = resolve;
      clonedNode.onerror = options.onImageErrorHandler ? (...attributes) => {
        try {
          resolve(options.onImageErrorHandler(...attributes));
        } catch (error) {
          reject(error);
        }
      } : reject;
      const image = clonedNode;
      if (image.decode) {
        image.decode = resolve;
      }
      if (image.loading === 'lazy') {
        image.loading = 'eager';
      }
      if (isImageElement) {
        clonedNode.srcset = '';
        clonedNode.src = dataURL;
      } else {
        clonedNode.href.baseVal = dataURL;
      }
    });
  });
  return _embedImageNode.apply(this, arguments);
}
function embedChildren(_x8, _x9) {
  return _embedChildren.apply(this, arguments);
}
function _embedChildren() {
  _embedChildren = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (clonedNode, options) {
    const children = (0,_util__WEBPACK_IMPORTED_MODULE_2__.toArray)(clonedNode.childNodes);
    const deferreds = children.map(child => embedImages(child, options));
    yield Promise.all(deferreds).then(() => clonedNode);
  });
  return _embedChildren.apply(this, arguments);
}
function embedImages(_x10, _x11) {
  return _embedImages.apply(this, arguments);
}
function _embedImages() {
  _embedImages = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (clonedNode, options) {
    if ((0,_util__WEBPACK_IMPORTED_MODULE_2__.isInstanceOfElement)(clonedNode, Element)) {
      yield embedBackground(clonedNode, options);
      yield embedImageNode(clonedNode, options);
      yield embedChildren(clonedNode, options);
    }
  });
  return _embedImages.apply(this, arguments);
}

/***/ }),

/***/ 9306:
/*!***************************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-resources.js ***!
  \***************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   embed: () => (/* binding */ embed),
/* harmony export */   embedResources: () => (/* binding */ embedResources),
/* harmony export */   parseURLs: () => (/* binding */ parseURLs),
/* harmony export */   shouldEmbed: () => (/* binding */ shouldEmbed)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ 8279);
/* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ 9222);
/* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ 9494);




const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
function toRegex(url) {
  // eslint-disable-next-line no-useless-escape
  const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
  return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
}
function parseURLs(cssText) {
  const urls = [];
  cssText.replace(URL_REGEX, (raw, quotation, url) => {
    urls.push(url);
    return raw;
  });
  return urls.filter(url => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.isDataUrl)(url));
}
function embed(_x, _x2, _x3, _x4, _x5) {
  return _embed.apply(this, arguments);
}
function _embed() {
  _embed = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (cssText, resourceURL, baseURL, options, getContentFromUrl) {
    try {
      const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_1__.resolveUrl)(resourceURL, baseURL) : resourceURL;
      const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(resourceURL);
      let dataURL;
      if (getContentFromUrl) {
        const content = yield getContentFromUrl(resolvedURL);
        dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.makeDataUrl)(content, contentType);
      } else {
        dataURL = yield (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(resolvedURL, contentType, options);
      }
      return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
    } catch (error) {
      // pass
    }
    return cssText;
  });
  return _embed.apply(this, arguments);
}
function filterPreferredFontFormat(str, {
  preferredFontFormat
}) {
  return !preferredFontFormat ? str : str.replace(FONT_SRC_REGEX, match => {
    // eslint-disable-next-line no-constant-condition
    while (true) {
      const [src,, format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
      if (!format) {
        return '';
      }
      if (format === preferredFontFormat) {
        return `src: ${src};`;
      }
    }
  });
}
function shouldEmbed(url) {
  return url.search(URL_REGEX) !== -1;
}
function embedResources(_x6, _x7, _x8) {
  return _embedResources.apply(this, arguments);
}
function _embedResources() {
  _embedResources = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (cssText, baseUrl, options) {
    if (!shouldEmbed(cssText)) {
      return cssText;
    }
    const filteredCSSText = filterPreferredFontFormat(cssText, options);
    const urls = parseURLs(filteredCSSText);
    return urls.reduce((deferred, url) => deferred.then(css => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
  });
  return _embedResources.apply(this, arguments);
}

/***/ }),

/***/ 4231:
/*!**************************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-webfonts.js ***!
  \**************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   embedWebFonts: () => (/* binding */ embedWebFonts),
/* harmony export */   getWebFontCSS: () => (/* binding */ getWebFontCSS)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ 8279);
/* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ 9494);
/* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-resources */ 9306);




const cssFetchCache = {};
function fetchCSS(_x) {
  return _fetchCSS.apply(this, arguments);
}
function _fetchCSS() {
  _fetchCSS = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (url) {
    let cache = cssFetchCache[url];
    if (cache != null) {
      return cache;
    }
    const res = yield fetch(url);
    const cssText = yield res.text();
    cache = {
      url,
      cssText
    };
    cssFetchCache[url] = cache;
    return cache;
  });
  return _fetchCSS.apply(this, arguments);
}
function embedFonts(_x2, _x3) {
  return _embedFonts.apply(this, arguments);
}
function _embedFonts() {
  _embedFonts = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (data, options) {
    let cssText = data.cssText;
    const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
    const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
    const loadFonts = fontLocs.map(/*#__PURE__*/function () {
      var _ref = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (loc) {
        let url = loc.replace(regexUrl, '$1');
        if (!url.startsWith('https://')) {
          url = new URL(url, data.url).href;
        }
        return (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.fetchAsDataURL)(url, options.fetchRequestInit, ({
          result
        }) => {
          cssText = cssText.replace(loc, `url(${result})`);
          return [loc, result];
        });
      });
      return function (_x12) {
        return _ref.apply(this, arguments);
      };
    }());
    return Promise.all(loadFonts).then(() => cssText);
  });
  return _embedFonts.apply(this, arguments);
}
function parseCSS(source) {
  if (source == null) {
    return [];
  }
  const result = [];
  const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
  // strip out comments
  let cssText = source.replace(commentsRegex, '');
  // eslint-disable-next-line prefer-regex-literals
  const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
  // eslint-disable-next-line no-constant-condition
  while (true) {
    const matches = keyframesRegex.exec(cssText);
    if (matches === null) {
      break;
    }
    result.push(matches[0]);
  }
  cssText = cssText.replace(keyframesRegex, '');
  const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
  // to match css & media queries together
  const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' + '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
  // unified regex
  const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
  // eslint-disable-next-line no-constant-condition
  while (true) {
    let matches = importRegex.exec(cssText);
    if (matches === null) {
      matches = unifiedRegex.exec(cssText);
      if (matches === null) {
        break;
      } else {
        importRegex.lastIndex = unifiedRegex.lastIndex;
      }
    } else {
      unifiedRegex.lastIndex = importRegex.lastIndex;
    }
    result.push(matches[0]);
  }
  return result;
}
function getCSSRules(_x4, _x5) {
  return _getCSSRules.apply(this, arguments);
}
function _getCSSRules() {
  _getCSSRules = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (styleSheets, options) {
    const ret = [];
    const deferreds = [];
    // First loop inlines imports
    styleSheets.forEach(sheet => {
      if ('cssRules' in sheet) {
        try {
          (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sheet.cssRules || []).forEach((item, index) => {
            if (item.type === CSSRule.IMPORT_RULE) {
              let importIndex = index + 1;
              const url = item.href;
              const deferred = fetchCSS(url).then(metadata => embedFonts(metadata, options)).then(cssText => parseCSS(cssText).forEach(rule => {
                try {
                  sheet.insertRule(rule, rule.startsWith('@import') ? importIndex += 1 : sheet.cssRules.length);
                } catch (error) {
                  console.error('Error inserting rule from remote css', {
                    rule,
                    error
                  });
                }
              })).catch(e => {
                console.error('Error loading remote css', e.toString());
              });
              deferreds.push(deferred);
            }
          });
        } catch (e) {
          const inline = styleSheets.find(a => a.href == null) || document.styleSheets[0];
          if (sheet.href != null) {
            deferreds.push(fetchCSS(sheet.href).then(metadata => embedFonts(metadata, options)).then(cssText => parseCSS(cssText).forEach(rule => {
              inline.insertRule(rule, inline.cssRules.length);
            })).catch(err => {
              console.error('Error loading remote stylesheet', err);
            }));
          }
          console.error('Error inlining remote css file', e);
        }
      }
    });
    return Promise.all(deferreds).then(() => {
      // Second loop parses rules
      styleSheets.forEach(sheet => {
        if ('cssRules' in sheet) {
          try {
            (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sheet.cssRules || []).forEach(item => {
              ret.push(item);
            });
          } catch (e) {
            console.error(`Error while reading CSS rules from ${sheet.href}`, e);
          }
        }
      });
      return ret;
    });
  });
  return _getCSSRules.apply(this, arguments);
}
function getWebFontRules(cssRules) {
  return cssRules.filter(rule => rule.type === CSSRule.FONT_FACE_RULE).filter(rule => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_3__.shouldEmbed)(rule.style.getPropertyValue('src')));
}
function parseWebFontRules(_x6, _x7) {
  return _parseWebFontRules.apply(this, arguments);
}
function _parseWebFontRules() {
  _parseWebFontRules = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options) {
    if (node.ownerDocument == null) {
      throw new Error('Provided element is not within a Document');
    }
    const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(node.ownerDocument.styleSheets);
    const cssRules = yield getCSSRules(styleSheets, options);
    return getWebFontRules(cssRules);
  });
  return _parseWebFontRules.apply(this, arguments);
}
function normalizeFontFamily(font) {
  return font.trim().replace(/["']/g, '');
}
function getUsedFonts(node) {
  const fonts = new Set();
  function traverse(node) {
    const fontFamily = node.style.fontFamily || getComputedStyle(node).fontFamily;
    fontFamily.split(',').forEach(font => {
      fonts.add(normalizeFontFamily(font));
    });
    Array.from(node.children).forEach(child => {
      if (child instanceof HTMLElement) {
        traverse(child);
      }
    });
  }
  traverse(node);
  return fonts;
}
function getWebFontCSS(_x8, _x9) {
  return _getWebFontCSS.apply(this, arguments);
}
function _getWebFontCSS() {
  _getWebFontCSS = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options) {
    const rules = yield parseWebFontRules(node, options);
    const usedFonts = getUsedFonts(node);
    const cssTexts = yield Promise.all(rules.filter(rule => usedFonts.has(normalizeFontFamily(rule.style.fontFamily))).map(rule => {
      const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
      return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_3__.embedResources)(rule.cssText, baseUrl, options);
    }));
    return cssTexts.join('\n');
  });
  return _getWebFontCSS.apply(this, arguments);
}
function embedWebFonts(_x10, _x11) {
  return _embedWebFonts.apply(this, arguments);
}
function _embedWebFonts() {
  _embedWebFonts = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (clonedNode, options) {
    const cssText = options.fontEmbedCSS != null ? options.fontEmbedCSS : options.skipFonts ? null : yield getWebFontCSS(clonedNode, options);
    if (cssText) {
      const styleNode = document.createElement('style');
      const sytleContent = document.createTextNode(cssText);
      styleNode.appendChild(sytleContent);
      if (clonedNode.firstChild) {
        clonedNode.insertBefore(styleNode, clonedNode.firstChild);
      } else {
        clonedNode.appendChild(styleNode);
      }
    }
  });
  return _embedWebFonts.apply(this, arguments);
}

/***/ }),

/***/ 8311:
/*!*****************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/index.js ***!
  \*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
/* harmony export */   toBlob: () => (/* binding */ toBlob),
/* harmony export */   toCanvas: () => (/* binding */ toCanvas),
/* harmony export */   toJpeg: () => (/* binding */ toJpeg),
/* harmony export */   toPixelData: () => (/* binding */ toPixelData),
/* harmony export */   toPng: () => (/* binding */ toPng),
/* harmony export */   toSvg: () => (/* binding */ toSvg)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);
/* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clone-node */ 4823);
/* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-images */ 2769);
/* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./apply-style */ 2583);
/* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./embed-webfonts */ 4231);
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./util */ 8279);






function toSvg(_x) {
  return _toSvg.apply(this, arguments);
}
function _toSvg() {
  _toSvg = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options = {}) {
    const {
      width,
      height
    } = (0,_util__WEBPACK_IMPORTED_MODULE_5__.getImageSize)(node, options);
    const clonedNode = yield (0,_clone_node__WEBPACK_IMPORTED_MODULE_1__.cloneNode)(node, options, true);
    yield (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_4__.embedWebFonts)(clonedNode, options);
    yield (0,_embed_images__WEBPACK_IMPORTED_MODULE_2__.embedImages)(clonedNode, options);
    (0,_apply_style__WEBPACK_IMPORTED_MODULE_3__.applyStyle)(clonedNode, options);
    const datauri = yield (0,_util__WEBPACK_IMPORTED_MODULE_5__.nodeToDataURL)(clonedNode, width, height);
    return datauri;
  });
  return _toSvg.apply(this, arguments);
}
function toCanvas(_x2) {
  return _toCanvas.apply(this, arguments);
}
function _toCanvas() {
  _toCanvas = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options = {}) {
    const {
      width,
      height
    } = (0,_util__WEBPACK_IMPORTED_MODULE_5__.getImageSize)(node, options);
    const svg = yield toSvg(node, options);
    const img = yield (0,_util__WEBPACK_IMPORTED_MODULE_5__.createImage)(svg);
    const canvas = document.createElement('canvas');
    const context = canvas.getContext('2d');
    const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_5__.getPixelRatio)();
    const canvasWidth = options.canvasWidth || width;
    const canvasHeight = options.canvasHeight || height;
    canvas.width = canvasWidth * ratio;
    canvas.height = canvasHeight * ratio;
    if (!options.skipAutoScale) {
      (0,_util__WEBPACK_IMPORTED_MODULE_5__.checkCanvasDimensions)(canvas);
    }
    canvas.style.width = `${canvasWidth}`;
    canvas.style.height = `${canvasHeight}`;
    if (options.backgroundColor) {
      context.fillStyle = options.backgroundColor;
      context.fillRect(0, 0, canvas.width, canvas.height);
    }
    context.drawImage(img, 0, 0, canvas.width, canvas.height);
    return canvas;
  });
  return _toCanvas.apply(this, arguments);
}
function toPixelData(_x3) {
  return _toPixelData.apply(this, arguments);
}
function _toPixelData() {
  _toPixelData = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options = {}) {
    const {
      width,
      height
    } = (0,_util__WEBPACK_IMPORTED_MODULE_5__.getImageSize)(node, options);
    const canvas = yield toCanvas(node, options);
    const ctx = canvas.getContext('2d');
    return ctx.getImageData(0, 0, width, height).data;
  });
  return _toPixelData.apply(this, arguments);
}
function toPng(_x4) {
  return _toPng.apply(this, arguments);
}
function _toPng() {
  _toPng = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options = {}) {
    const canvas = yield toCanvas(node, options);
    return canvas.toDataURL();
  });
  return _toPng.apply(this, arguments);
}
function toJpeg(_x5) {
  return _toJpeg.apply(this, arguments);
}
function _toJpeg() {
  _toJpeg = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options = {}) {
    const canvas = yield toCanvas(node, options);
    return canvas.toDataURL('image/jpeg', options.quality || 1);
  });
  return _toJpeg.apply(this, arguments);
}
function toBlob(_x6) {
  return _toBlob.apply(this, arguments);
}
function _toBlob() {
  _toBlob = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options = {}) {
    const canvas = yield toCanvas(node, options);
    const blob = yield (0,_util__WEBPACK_IMPORTED_MODULE_5__.canvasToBlob)(canvas);
    return blob;
  });
  return _toBlob.apply(this, arguments);
}
function getFontEmbedCSS(_x7) {
  return _getFontEmbedCSS.apply(this, arguments);
}
function _getFontEmbedCSS() {
  _getFontEmbedCSS = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, options = {}) {
    return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_4__.getWebFontCSS)(node, options);
  });
  return _getFontEmbedCSS.apply(this, arguments);
}

/***/ }),

/***/ 9222:
/*!*****************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/mimes.js ***!
  \*****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   getMimeType: () => (/* binding */ getMimeType)
/* harmony export */ });
const WOFF = 'application/font-woff';
const JPEG = 'image/jpeg';
const mimes = {
  woff: WOFF,
  woff2: WOFF,
  ttf: 'application/font-truetype',
  eot: 'application/vnd.ms-fontobject',
  png: 'image/png',
  jpg: JPEG,
  jpeg: JPEG,
  gif: 'image/gif',
  tiff: 'image/tiff',
  svg: 'image/svg+xml',
  webp: 'image/webp'
};
function getExtension(url) {
  const match = /\.([^./]*?)$/g.exec(url);
  return match ? match[1] : '';
}
function getMimeType(url) {
  const extension = getExtension(url).toLowerCase();
  return mimes[extension] || '';
}

/***/ }),

/***/ 8279:
/*!****************************************************************************************!*\
  !*** ./node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/util.js ***!
  \****************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   canvasToBlob: () => (/* binding */ canvasToBlob),
/* harmony export */   checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
/* harmony export */   createImage: () => (/* binding */ createImage),
/* harmony export */   delay: () => (/* binding */ delay),
/* harmony export */   getImageSize: () => (/* binding */ getImageSize),
/* harmony export */   getPixelRatio: () => (/* binding */ getPixelRatio),
/* harmony export */   getStyleProperties: () => (/* binding */ getStyleProperties),
/* harmony export */   isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
/* harmony export */   nodeToDataURL: () => (/* binding */ nodeToDataURL),
/* harmony export */   resolveUrl: () => (/* binding */ resolveUrl),
/* harmony export */   svgToDataURL: () => (/* binding */ svgToDataURL),
/* harmony export */   toArray: () => (/* binding */ toArray),
/* harmony export */   uuid: () => (/* binding */ uuid)
/* harmony export */ });
/* harmony import */ var _Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 4626);

function resolveUrl(url, baseUrl) {
  // url is absolute already
  if (url.match(/^[a-z]+:\/\//i)) {
    return url;
  }
  // url is absolute already, without protocol
  if (url.match(/^\/\//)) {
    return window.location.protocol + url;
  }
  // dataURI, mailto:, tel:, etc.
  if (url.match(/^[a-z]+:/i)) {
    return url;
  }
  const doc = document.implementation.createHTMLDocument();
  const base = doc.createElement('base');
  const a = doc.createElement('a');
  doc.head.appendChild(base);
  doc.body.appendChild(a);
  if (baseUrl) {
    base.href = baseUrl;
  }
  a.href = url;
  return a.href;
}
const uuid = (() => {
  // generate uuid for className of pseudo elements.
  // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
  let counter = 0;
  // ref: http://stackoverflow.com/a/6248722/2519373
  const random = () =>
  // eslint-disable-next-line no-bitwise
  `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4);
  return () => {
    counter += 1;
    return `u${random()}${counter}`;
  };
})();
function delay(ms) {
  return args => new Promise(resolve => {
    setTimeout(() => resolve(args), ms);
  });
}
function toArray(arrayLike) {
  const arr = [];
  for (let i = 0, l = arrayLike.length; i < l; i++) {
    arr.push(arrayLike[i]);
  }
  return arr;
}
let styleProps = null;
function getStyleProperties(options = {}) {
  if (styleProps) {
    return styleProps;
  }
  if (options.includeStyleProperties) {
    styleProps = options.includeStyleProperties;
    return styleProps;
  }
  styleProps = toArray(window.getComputedStyle(document.documentElement));
  return styleProps;
}
function px(node, styleProperty) {
  const win = node.ownerDocument.defaultView || window;
  const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
  return val ? parseFloat(val.replace('px', '')) : 0;
}
function getNodeWidth(node) {
  const leftBorder = px(node, 'border-left-width');
  const rightBorder = px(node, 'border-right-width');
  return node.clientWidth + leftBorder + rightBorder;
}
function getNodeHeight(node) {
  const topBorder = px(node, 'border-top-width');
  const bottomBorder = px(node, 'border-bottom-width');
  return node.clientHeight + topBorder + bottomBorder;
}
function getImageSize(targetNode, options = {}) {
  const width = options.width || getNodeWidth(targetNode);
  const height = options.height || getNodeHeight(targetNode);
  return {
    width,
    height
  };
}
function getPixelRatio() {
  let ratio;
  let FINAL_PROCESS;
  try {
    FINAL_PROCESS = process;
  } catch (e) {
    // pass
  }
  const val = FINAL_PROCESS && FINAL_PROCESS.env ? FINAL_PROCESS.env.devicePixelRatio : null;
  if (val) {
    ratio = parseInt(val, 10);
    if (Number.isNaN(ratio)) {
      ratio = 1;
    }
  }
  return ratio || window.devicePixelRatio || 1;
}
// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
const canvasDimensionLimit = 16384;
function checkCanvasDimensions(canvas) {
  if (canvas.width > canvasDimensionLimit || canvas.height > canvasDimensionLimit) {
    if (canvas.width > canvasDimensionLimit && canvas.height > canvasDimensionLimit) {
      if (canvas.width > canvas.height) {
        canvas.height *= canvasDimensionLimit / canvas.width;
        canvas.width = canvasDimensionLimit;
      } else {
        canvas.width *= canvasDimensionLimit / canvas.height;
        canvas.height = canvasDimensionLimit;
      }
    } else if (canvas.width > canvasDimensionLimit) {
      canvas.height *= canvasDimensionLimit / canvas.width;
      canvas.width = canvasDimensionLimit;
    } else {
      canvas.width *= canvasDimensionLimit / canvas.height;
      canvas.height = canvasDimensionLimit;
    }
  }
}
function canvasToBlob(canvas, options = {}) {
  if (canvas.toBlob) {
    return new Promise(resolve => {
      canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
    });
  }
  return new Promise(resolve => {
    const binaryString = window.atob(canvas.toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined).split(',')[1]);
    const len = binaryString.length;
    const binaryArray = new Uint8Array(len);
    for (let i = 0; i < len; i += 1) {
      binaryArray[i] = binaryString.charCodeAt(i);
    }
    resolve(new Blob([binaryArray], {
      type: options.type ? options.type : 'image/png'
    }));
  });
}
function createImage(url) {
  return new Promise((resolve, reject) => {
    const img = new Image();
    img.onload = () => {
      img.decode().then(() => {
        requestAnimationFrame(() => resolve(img));
      });
    };
    img.onerror = reject;
    img.crossOrigin = 'anonymous';
    img.decoding = 'async';
    img.src = url;
  });
}
function svgToDataURL(_x) {
  return _svgToDataURL.apply(this, arguments);
}
function _svgToDataURL() {
  _svgToDataURL = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (svg) {
    return Promise.resolve().then(() => new XMLSerializer().serializeToString(svg)).then(encodeURIComponent).then(html => `data:image/svg+xml;charset=utf-8,${html}`);
  });
  return _svgToDataURL.apply(this, arguments);
}
function nodeToDataURL(_x2, _x3, _x4) {
  return _nodeToDataURL.apply(this, arguments);
}
function _nodeToDataURL() {
  _nodeToDataURL = (0,_Users_jeffreywilbur_projects_repipe_unified_app_node_modules_pnpm_babel_runtime_7_26_0_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (node, width, height) {
    const xmlns = 'http://www.w3.org/2000/svg';
    const svg = document.createElementNS(xmlns, 'svg');
    const foreignObject = document.createElementNS(xmlns, 'foreignObject');
    svg.setAttribute('width', `${width}`);
    svg.setAttribute('height', `${height}`);
    svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
    foreignObject.setAttribute('width', '100%');
    foreignObject.setAttribute('height', '100%');
    foreignObject.setAttribute('x', '0');
    foreignObject.setAttribute('y', '0');
    foreignObject.setAttribute('externalResourcesRequired', 'true');
    svg.appendChild(foreignObject);
    foreignObject.appendChild(node);
    return svgToDataURL(svg);
  });
  return _nodeToDataURL.apply(this, arguments);
}
const isInstanceOfElement = (node, instance) => {
  if (node instanceof instance) return true;
  const nodePrototype = Object.getPrototypeOf(node);
  if (nodePrototype === null) return false;
  return nodePrototype.constructor.name === instance.name || isInstanceOfElement(nodePrototype, instance);
};

/***/ })

}]);
//# sourceMappingURL=625.js.map