(self["webpackChunkgauzy"] = self["webpackChunkgauzy"] || []).push([[8792],{

/***/ 14732:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Z: () => (/* binding */ AppComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(64411);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(76149);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(56349);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80330);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43475);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80306);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(86700);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(42706);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(58207);
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32667);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57328);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(10620);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(18894);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(78731);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(59076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(31200);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(70087);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(31098);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(19993);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(42089);


















function AppComponent_router_outlet_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(0, "router-outlet");
  }
}
let AppComponent = class AppComponent {
  constructor(_jitsuService, _analytics, _seoService, _store, _languagesService, _translateService, _i18nService, _router, _activatedRoute, _selectorBuilderService, _dateRangePickerBuilderService, _navigationService) {
    this._jitsuService = _jitsuService;
    this._analytics = _analytics;
    this._seoService = _seoService;
    this._store = _store;
    this._languagesService = _languagesService;
    this._translateService = _translateService;
    this._i18nService = _i18nService;
    this._router = _router;
    this._activatedRoute = _activatedRoute;
    this._selectorBuilderService = _selectorBuilderService;
    this._dateRangePickerBuilderService = _dateRangePickerBuilderService;
    this._navigationService = _navigationService;
    // Loading indicator
    this.loading = true;
    this.getActivateRouterDataEvent();
    this.getPreferredLanguage();
  }
  /**
   *
   */
  ngOnInit() {
    if (_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_3__/* .environment */ .c.CHATWOOT_SDK_TOKEN) {
      this.loadChatwoot(document, 'script');
    }
    // Track page views using analytics service.
    this._analytics.trackPageViews();
    // Track page views using Jitsu service.
    this._jitsuService.trackPageViews();
    // Track changes in canonical URLs for SEO purposes.
    this._seoService.trackCanonicalChanges();
    // Observable that emits when system languages change.
    const systemLanguages$ = this._store.systemLanguages$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .distinctUntilChange */ .nI)(), (0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .take */ .s)(1), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this));
    // Subscribe to changes in system languages
    systemLanguages$.subscribe(languages => {
      // Returns the language code name from the browser, e.g., "en", "bg", "he", "ru"
      const browserLang = this._i18nService.getBrowserLang();
      // Gets default available enum languages, e.g., "en", "bg", "he", "ru"
      const availableLanguages = this._i18nService.availableLanguages;
      // Gets system languages
      let systemLanguages = (0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .pluck */ .Ey)(languages, 'code');
      systemLanguages = (0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .union */ .KC)(systemLanguages, availableLanguages);
      // Sets the default language to use as a fallback, e.g., "en"
      this._i18nService.setDefaultFallbackLang(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.LanguagesEnum.ENGLISH);
      // Get preferredLanguage if it exists
      const preferredLanguage = this._store?.user?.preferredLanguage ?? this._store.preferredLanguage ?? null;
      // Use browser language as the primary language, if not found then use the system default language (e.g., "en")
      const systemLanguage = systemLanguages.includes(browserLang) ? browserLang : _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.LanguagesEnum.ENGLISH;
      // Set the selected language
      this._i18nService.setLanguage(preferredLanguage || systemLanguage);
      // Observable that emits when theme languages change.
      this._translateService.onLangChange.subscribe(() => {
        // Set the loading flag to false after the language change
        this.loading = false;
      });
    });
    if (Number(this._store.serverConnection) === 0) {
      this.loading = false;
    }
  }
  /**
   * Executes the `loadLanguages` method after the view has been initialized.
   */
  ngAfterViewInit() {
    var _this = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function* () {
      yield _this.loadLanguages();
    })();
  }
  /**
   * Asynchronously loads system languages from the service and filters them.
   */
  loadLanguages() {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function* () {
      // Fetch system languages from the service
      const {
        items = []
      } = yield _this2._languagesService.getSystemLanguages();
      // Filter languages to include only system languages
      const systemLanguages = items.filter(item => item.is_system);
      // Store the filtered system languages in the store
      _this2._store.systemLanguages = systemLanguages || [];
    })();
  }
  /**
   * Dynamically loads the Chatwoot SDK.
   *
   * @param document - The document object.
   * @param tagName - The HTML tag name.
   */
  loadChatwoot(document, tagName) {
    const chatwootBaseUrl = 'https://app.chatwoot.com';
    // Create a script element
    const scriptElement = document.createElement(tagName);
    // Set the source URL for the Chatwoot SDK script
    scriptElement.src = `${chatwootBaseUrl}/packs/js/sdk.js`;
    // Insert the script element before the first script element in the document
    document.head.insertBefore(scriptElement, document.head.firstChild);
    // Set the function to be executed once the script is loaded
    scriptElement.onload = () => {
      // Run the Chatwoot SDK with the specified website token and base URL
      window['chatwootSDK'].run({
        websiteToken: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_3__/* .environment */ .c.CHATWOOT_SDK_TOKEN,
        baseUrl: chatwootBaseUrl
      });
    };
  }
  /**
   * Subscribe to router events related to activating routes.
   * Handles updating Date Range Picker, Date Picker Config, and Selector visibility based on route data.
   */
  getActivateRouterDataEvent() {
    this._router.events.pipe(
    // Filter for NavigationEnd events
    (0,rxjs__WEBPACK_IMPORTED_MODULE_8__/* .filter */ .p)(event => event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_9__/* .NavigationEnd */ .wF),
    // Map to the activated route
    (0,rxjs__WEBPACK_IMPORTED_MODULE_10__/* .map */ .T)(() => this._activatedRoute),
    // Traverse to the primary outlet route
    (0,rxjs__WEBPACK_IMPORTED_MODULE_10__/* .map */ .T)(route => {
      while (route.firstChild) route = route.firstChild;
      return route;
    }),
    // Filter for routes in the primary outlet
    (0,rxjs__WEBPACK_IMPORTED_MODULE_8__/* .filter */ .p)(route => route.outlet === 'primary'),
    // MergeMap to the route data
    (0,rxjs__WEBPACK_IMPORTED_MODULE_11__/* .mergeMap */ .Z)(route => route.data),
    /**
     * Set Date Range Picker Default Unit and Config
     */
    // Set selectors' visibility
    (0,rxjs__WEBPACK_IMPORTED_MODULE_12__/* .tap */ .M)(({
      selectors
    }) => {
      // Iterate through the visibility settings for selectors
      Object.entries(Object.assign({}, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__/* .DEFAULT_SELECTOR_VISIBILITY */ .z, selectors)).forEach(([id, value]) => {
        // Set the visibility for each selector based on the provided or default value
        this._selectorBuilderService.setSelectorsVisibility(id, typeof selectors === 'boolean' ? selectors : value);
      });
      // Retrieve and get the updated selectors' visibility
      this._selectorBuilderService.getSelectorsVisibility();
    }), (0,rxjs__WEBPACK_IMPORTED_MODULE_12__/* .tap */ .M)(({
      datePicker,
      dates,
      bookmarkParams
    }) => {
      // Date Range Picker
      if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .isNotEmpty */ .hj)(dates)) {
        this._dateRangePickerBuilderService.setDateRangePicker(dates);
      }
      // Set Date Range Picker Default Unit
      const datePickerConfig = Object.assign({}, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .DEFAULT_DATE_PICKER_CONFIG */ .LJ, datePicker);
      this._dateRangePickerBuilderService.setDatePickerConfig(datePickerConfig);
      // Create query parameters URL builder
      this._navigationService.updateQueryParams(bookmarkParams);
    }),
    // Automatically unsubscribe when the component is destroyed
    (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Subscribe to the preferred language observable and set the language
   */
  getPreferredLanguage() {
    this._i18nService.preferredLanguage$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_12__/* .tap */ .M)(lang => this._translateService.use(lang)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  static {
    this.ɵfac = function AppComponent_Factory(t) {
      return new (t || AppComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__/* .JitsuService */ .z), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .AnalyticsService */ .c), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .SeoService */ .B), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .LanguagesService */ .D), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_20__/* .TranslateService */ .c$), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_21__/* .I18nService */ .W), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_9__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_9__/* .ActivatedRoute */ .nX), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__/* .SelectorBuilderService */ .u), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .DateRangePickerBuilderService */ .i7), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__/* .NavigationService */ .o));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineComponent"] */ .VBU({
      type: AppComponent,
      selectors: [["ga-app"]],
      decls: 1,
      vars: 1,
      consts: [[4, "ngIf"]],
      template: function AppComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(0, AppComponent_router_outlet_0_Template, 1, 0, "router-outlet", 0);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx.loading);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_23__/* .NgIf */ .bT, _angular_router__WEBPACK_IMPORTED_MODULE_9__/* .RouterOutlet */ .n3],
      encapsulation: 2
    });
  }
};
AppComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_24__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_24__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__/* .JitsuService */ .z, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .AnalyticsService */ .c, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .SeoService */ .B, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .LanguagesService */ .D, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_20__/* .TranslateService */ .c$, _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_21__/* .I18nService */ .W, _angular_router__WEBPACK_IMPORTED_MODULE_9__/* .Router */ .Ix, _angular_router__WEBPACK_IMPORTED_MODULE_9__/* .ActivatedRoute */ .nX, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__/* .SelectorBuilderService */ .u, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .DateRangePickerBuilderService */ .i7, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__/* .NavigationService */ .o])], AppComponent);

/***/ }),

/***/ 40176:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: () => (/* binding */ AppModuleGuard)
/* harmony export */ });
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57328);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76149);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84076);






let AppModuleGuard = /*#__PURE__*/(() => {
  class AppModuleGuard {
    constructor(router, store) {
      this.router = router;
      this.store = store;
    }
    /**
     * Checks if the user can activate the route.
     *
     * @param {ActivatedRouteSnapshot} route - The route being activated.
     * @return {boolean} Returns true if the user can activate the route, false otherwise.
     */
    canActivate(route) {
      const serverConnection = Number(this.store.serverConnection);
      if (serverConnection === 0) {
        if (_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.IS_ELECTRON && _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.IS_INTEGRATED_DESKTOP) {
          return true;
        } else {
          this.router.navigate(['server-down']);
          return false;
        }
      }
      return true;
    }
    static {
      this.ɵfac = function AppModuleGuard_Factory(t) {
        return new (t || AppModuleGuard)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_2__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__/* .Store */ .il));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: AppModuleGuard,
        factory: AppModuleGuard.ɵfac
      });
    }
  }
  return AppModuleGuard;
})();

/***/ }),

/***/ 91227:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   kR: () => (/* binding */ AppModule)
/* harmony export */ });
/* unused harmony exports initializeApp, serverConnectionFactory, googleMapsLoaderFactory, featureToggleLoaderFactory */
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(42089);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(47122);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(76149);
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(75601);
/* harmony import */ var _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(52602);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(82817);
/* harmony import */ var _datorama_akita_ngdevtools__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(61284);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51170);
/* harmony import */ var _nebular_eva_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(62150);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(56349);
/* harmony import */ var _cloudinary_ng__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(81012);
/* harmony import */ var ng2_file_upload__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(46934);
/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(99928);
/* harmony import */ var ngx_feature_toggle__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(84042);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(55816);
/* harmony import */ var ngx_color_picker__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(5734);
/* harmony import */ var _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(42735);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_ui_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(80871);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(57328);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(34858);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(83014);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(4435);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(11915);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(86357);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(48686);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(54631);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(70833);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(92568);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(29794);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(63448);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(96238);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(56230);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(60625);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(35656);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(53530);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(22162);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(23362);
/* harmony import */ var _gauzy_ui_core_theme__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(56436);
/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14732);
/* harmony import */ var _app_routes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(33829);
/* harmony import */ var _app_module_guard__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(40176);
/* harmony import */ var _sentry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(95427);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(19993);
// Some of the code is modified from https://github.com/akveo/ngx-admin/blob/master/src/app/app.module.ts,
// that licensed under the MIT License and Copyright (c) 2017 akveo.com.











































// Initialize Sentry
if (_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.SENTRY_DSN) {
  if (_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.SENTRY_DSN === 'https://7cd381188b6f446ca0e69185227b9031@o51327.ingest.sentry.io/4397292') {
    console.warn('You are running inside Docker but does not have SENTRY_DSN env set');
  } else {
    console.log(`Enabling Sentry with DSN: ${_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.SENTRY_DSN}`);
    (0,_sentry__WEBPACK_IMPORTED_MODULE_4__/* .initializeSentry */ .s)();
  }
}
// Is production mode?
const isProd = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.production;
// Router config
const config = {
  useHash: true
};
// NB Modules
const NB_MODULES = [_nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbCalendarModule */ .LeX, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbCalendarKitModule */ .VmO, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbSidebarModule */ .Rly.forRoot(), _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbMenuModule */ .anj.forRoot(), _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbDatepickerModule */ .TgK.forRoot(), _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbDialogModule */ .nZv.forRoot(), _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbWindowModule */ .rRR.forRoot(), _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbToastrModule */ .EcJ.forRoot(), _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbChatModule */ .Z5T.forRoot({
  messageGoogleMapKey: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.CHAT_MESSAGE_GOOGLE_MAP
}), _nebular_eva_icons__WEBPACK_IMPORTED_MODULE_7__/* .NbEvaIconsModule */ .N];
// Third Party Modules
const THIRD_PARTY_MODULES = [isProd ? [] : _datorama_akita_ngdevtools__WEBPACK_IMPORTED_MODULE_8__/* .AkitaNgDevtools */ .o2, _cloudinary_ng__WEBPACK_IMPORTED_MODULE_9__/* .CloudinaryModule */ .R2, ngx_feature_toggle__WEBPACK_IMPORTED_MODULE_10__/* .FeatureToggleModule */ .Hf, ng2_file_upload__WEBPACK_IMPORTED_MODULE_11__/* .FileUploadModule */ .eB, ngx_permissions__WEBPACK_IMPORTED_MODULE_12__/* .NgxPermissionsModule */ .Ov.forRoot(), _ngx_translate_core__WEBPACK_IMPORTED_MODULE_13__/* .TranslateModule */ .h.forRoot({
  loader: {
    provide: _ngx_translate_core__WEBPACK_IMPORTED_MODULE_13__/* .TranslateLoader */ .Wr,
    useFactory: _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_14__/* .HttpLoaderFactory */ .M,
    deps: [_angular_common_http__WEBPACK_IMPORTED_MODULE_15__/* .HttpClient */ .Qq]
  }
})];
// Feature Modules
const FEATURE_MODULES = [_gauzy_ui_core_theme__WEBPACK_IMPORTED_MODULE_16__/* .ThemeModule */ .O.forRoot(), _gauzy_ui_core__WEBPACK_IMPORTED_MODULE_17__/* .UiCoreModule */ .M.forRoot(), _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_18__/* .CommonModule */ .M.forRoot(), _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .CoreModule */ .Ui.forRoot(), _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_20__/* .SharedModule */ .G.forRoot(), _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_21__/* .TimeTrackerModule */ .u.forRoot(), _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_22__/* .I18nModule */ .L.forRoot()];
let AppModule = /*#__PURE__*/(() => {
  class AppModule {
    /**
     * Constructor for the AppModule class.
     *
     * Initializes the _i18nService with all available languages.
     * Sets Monday as the start of the week for the English locale in Moment.js.
     *
     * @param {I18nTranslateService} _i18nService - The I18nTranslateService instance.
     */
    constructor(_i18nService) {
      this._i18nService = _i18nService;
      // Initialize UI languages and Update Locale
      this.initializeUiLanguagesAndLocale();
    }
    /**
     * Initialize UI languages and Update Locale
     */
    initializeUiLanguagesAndLocale() {
      // Set Monday as start of the week
      moment__WEBPACK_IMPORTED_MODULE_0__.updateLocale(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.LanguagesEnum.ENGLISH, {
        week: {
          dow: (0,_gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_23__/* .dayOfWeekAsString */ .Rc)(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.WeekDaysEnum.MONDAY)
        },
        fallbackLocale: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.LanguagesEnum.ENGLISH
      });
      // Get the list of available languages from the LanguagesEnum
      const availableLanguages = Object.values(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.LanguagesEnum);
      // Set the available languages in the translation service
      this._i18nService.setAvailableLanguages(availableLanguages);
    }
    static {
      this.ɵfac = function AppModule_Factory(t) {
        return new (t || AppModule)(_angular_core__WEBPACK_IMPORTED_MODULE_24__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_25__/* .I18nService */ .W));
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_24__/* ["ɵɵdefineNgModule"] */ .$C({
        type: AppModule,
        bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_2__/* .AppComponent */ .Z]
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_24__/* ["ɵɵdefineInjector"] */ .G2t({
        providers: [{
          provide: _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_26__/* .TraceService */ .jP,
          deps: [_angular_router__WEBPACK_IMPORTED_MODULE_27__/* .Router */ .Ix]
        }, {
          provide: _angular_common__WEBPACK_IMPORTED_MODULE_28__/* .APP_BASE_HREF */ .kB,
          useValue: '/'
        }, {
          provide: _angular_core__WEBPACK_IMPORTED_MODULE_24__/* .ErrorHandler */ .zcH,
          useClass: _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_29__/* .SentryErrorHandler */ .A
        }, {
          provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_15__/* .HTTP_INTERCEPTORS */ .a7,
          useClass: _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_30__/* .APIInterceptor */ .I,
          multi: true
        }, {
          provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_15__/* .HTTP_INTERCEPTORS */ .a7,
          useClass: _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_31__/* .HubstaffTokenInterceptor */ .O,
          multi: true
        }, {
          provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_15__/* .HTTP_INTERCEPTORS */ .a7,
          useClass: _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_32__/* .TokenInterceptor */ .Z,
          multi: true
        }, {
          provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_15__/* .HTTP_INTERCEPTORS */ .a7,
          useClass: _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_33__/* .LanguageInterceptor */ .s,
          multi: true
        }, {
          provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_15__/* .HTTP_INTERCEPTORS */ .a7,
          useClass: _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_34__/* .TenantInterceptor */ .I,
          multi: true
        }, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_35__/* .ServerConnectionService */ .p, {
          provide: _angular_core__WEBPACK_IMPORTED_MODULE_24__/* .APP_INITIALIZER */ .hnV,
          useFactory: serverConnectionFactory,
          deps: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_35__/* .ServerConnectionService */ .p, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_36__/* .Store */ .il, _angular_router__WEBPACK_IMPORTED_MODULE_27__/* .Router */ .Ix],
          multi: true
        }, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_37__/* .GoogleMapsLoaderService */ .L, {
          provide: _angular_core__WEBPACK_IMPORTED_MODULE_24__/* .APP_INITIALIZER */ .hnV,
          useFactory: googleMapsLoaderFactory,
          deps: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_37__/* .GoogleMapsLoaderService */ .L],
          multi: true
        }, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_38__/* .FeatureService */ .w, {
          provide: _angular_core__WEBPACK_IMPORTED_MODULE_24__/* .APP_INITIALIZER */ .hnV,
          useFactory: featureToggleLoaderFactory,
          deps: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_38__/* .FeatureService */ .w, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_36__/* .Store */ .il],
          multi: true
        }, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_39__/* .AppInitService */ .V, {
          provide: _angular_core__WEBPACK_IMPORTED_MODULE_24__/* .APP_INITIALIZER */ .hnV,
          useFactory: initializeApp,
          deps: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_39__/* .AppInitService */ .V],
          multi: true
        }, {
          provide: _angular_core__WEBPACK_IMPORTED_MODULE_24__/* .ErrorHandler */ .zcH,
          useClass: _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_29__/* .SentryErrorHandler */ .A
        }, _app_module_guard__WEBPACK_IMPORTED_MODULE_40__/* .AppModuleGuard */ .z, ngx_color_picker__WEBPACK_IMPORTED_MODULE_41__/* .ColorPickerService */ .BK, ngx_cookie_service__WEBPACK_IMPORTED_MODULE_42__/* .CookieService */ .O, {
          provide: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_43__/* .GAUZY_ENV */ .V,
          useValue: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c
        }],
        imports: [_angular_platform_browser__WEBPACK_IMPORTED_MODULE_44__/* .BrowserModule */ .Bb, _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_45__/* .BrowserAnimationsModule */ .wb, _angular_common_http__WEBPACK_IMPORTED_MODULE_15__/* .HttpClientModule */ .q1, _angular_router__WEBPACK_IMPORTED_MODULE_27__/* .RouterModule */ .iI.forRoot(_app_routes__WEBPACK_IMPORTED_MODULE_3__/* .appRoutes */ .G, config), NB_MODULES, FEATURE_MODULES, THIRD_PARTY_MODULES]
      });
    }
  }
  return AppModule;
})();
/**
 * Creates a function that initializes the app by calling the `init` method of the provided `AppInitService`.
 *
 * @param {AppInitService} provider - The `AppInitService` instance to initialize the app.
 * @return {() => Promise<void>} A function that returns a `Promise` that resolves when the app initialization is complete.
 */
function initializeApp(provider) {
  return () => provider.init();
}
/**
 * Creates a factory function that checks the server connection and performs actions based on the result.
 *
 * @param {ServerConnectionService} provider - The server connection service instance.
 * @param {Store} store - The store instance.
 * @param {Router} router - The router instance.
 * @return {Function} A function that checks the server connection and performs actions based on the result.
 */
function serverConnectionFactory(provider, store, router) {
  return () => {
    const url = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.API_BASE_URL;
    console.log('Checking server connection in serverConnectionFactory on URL: ', url);
    return provider.checkServerConnection(url).finally(() => {
      console.log(`Server connection status in serverConnectionFactory for Url ${url} is: ${store.serverConnection}`);
      if (store.serverConnection !== 200) {
        router.navigate(['server-down']);
      }
    }).catch(err => {
      console.error(`Error checking server connection in serverConnectionFactory for URL: ${url}`, err);
    });
  };
}
/**
 * Creates a function that loads the Google Maps API key using the provided GoogleMapsLoaderService.
 *
 * @param {GoogleMapsLoaderService} provider - The GoogleMapsLoaderService instance used to load the API key.
 * @return {Function} A function that loads the Google Maps API key by calling the provider's load method with the environment's Google Maps API key.
 */
function googleMapsLoaderFactory(provider) {
  return () => provider.load(_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.GOOGLE_MAPS_API_KEY);
}
/**
 * Creates a function that loads the feature toggle definitions using the provided FeatureService and stores them in the provided Store.
 *
 * @param {FeatureService} provider - The FeatureService instance used to load the feature toggle definitions.
 * @param {Store} store - The Store instance used to store the loaded feature toggle definitions.
 * @return {Function} A function that loads the feature toggle definitions by calling the provider's getFeatureToggleDefinition method and storing the result in the store.
 */
function featureToggleLoaderFactory(provider, store) {
  return () => provider.getFeatureToggleDefinition().then(features => {
    store.featureToggles = features || [];
    return features;
  }).catch(() => {});
}

/***/ }),

/***/ 33829:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: () => (/* binding */ appRoutes)
/* harmony export */ });
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7019);
/* harmony import */ var _app_module_guard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40176);


/**
 * Routes for the application.
 */
const appRoutes = [{
  path: 'auth',
  loadChildren: () => Promise.all(/* import() */[__webpack_require__.e(2925), __webpack_require__.e(5849), __webpack_require__.e(6917), __webpack_require__.e(5246), __webpack_require__.e(3186), __webpack_require__.e(3218), __webpack_require__.e(2076), __webpack_require__.e(4721)]).then(__webpack_require__.bind(__webpack_require__, 39574)).then(m => m.NgxAuthModule),
  canActivate: []
}, {
  path: 'sign-in',
  loadChildren: () => Promise.all(/* import() */[__webpack_require__.e(2925), __webpack_require__.e(5849), __webpack_require__.e(6917), __webpack_require__.e(5246), __webpack_require__.e(3186), __webpack_require__.e(3218), __webpack_require__.e(2076), __webpack_require__.e(4721)]).then(__webpack_require__.bind(__webpack_require__, 39574)).then(m => m.SignInSuccessModule)
}, {
  path: 'onboarding',
  loadChildren: () => Promise.all(/* import() */[__webpack_require__.e(2925), __webpack_require__.e(5849), __webpack_require__.e(6917), __webpack_require__.e(5246), __webpack_require__.e(3186), __webpack_require__.e(1914), __webpack_require__.e(3218), __webpack_require__.e(2076), __webpack_require__.e(2923)]).then(__webpack_require__.bind(__webpack_require__, 91808)).then(m => m.OnboardingModule),
  canActivate: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_0__/* .AuthGuard */ .q, _app_module_guard__WEBPACK_IMPORTED_MODULE_1__/* .AppModuleGuard */ .z]
}, {
  path: 'pages',
  loadChildren: () => Promise.all(/* import() */[__webpack_require__.e(2076), __webpack_require__.e(1111)]).then(__webpack_require__.bind(__webpack_require__, 31111)).then(m => m.PagesModule),
  canActivate: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_0__/* .AuthGuard */ .q, _app_module_guard__WEBPACK_IMPORTED_MODULE_1__/* .AppModuleGuard */ .z]
}, {
  path: 'share',
  loadChildren: () => Promise.all(/* import() */[__webpack_require__.e(2149), __webpack_require__.e(5558), __webpack_require__.e(2925), __webpack_require__.e(5849), __webpack_require__.e(6917), __webpack_require__.e(6706), __webpack_require__.e(927), __webpack_require__.e(5713), __webpack_require__.e(9469), __webpack_require__.e(2076), __webpack_require__.e(3397)]).then(__webpack_require__.bind(__webpack_require__, 55519)).then(m => m.PublicLayoutModule),
  canActivate: []
}, {
  path: 'legal',
  loadChildren: () => Promise.all(/* import() */[__webpack_require__.e(2250), __webpack_require__.e(2076)]).then(__webpack_require__.bind(__webpack_require__, 12250)).then(m => m.LegalModule)
}, {
  path: 'server-down',
  loadChildren: () => Promise.all(/* import() */[__webpack_require__.e(2076), __webpack_require__.e(4496)]).then(__webpack_require__.bind(__webpack_require__, 44496)).then(m => m.MaintenanceModeModule)
}, {
  path: '',
  redirectTo: 'pages',
  pathMatch: 'full'
}, {
  path: '**',
  redirectTo: 'pages',
  pathMatch: 'full'
}];

/***/ }),

/***/ 95427:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: () => (/* binding */ initializeSentry)
/* harmony export */ });
/* harmony import */ var _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42735);
/* harmony import */ var _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45989);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(57328);
/* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(37251);



/**
 * Initializes and configures the Sentry module.
 * @returns The configured Sentry instance.
 */
function initializeSentry() {
  return _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_1__/* .init */ .Ts({
    dsn: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.SENTRY_DSN,
    environment: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.production ? 'production' : 'development',
    debug: !_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.production,
    integrations: [
    // Registers and configures the Tracing integration,
    // which automatically instruments your application to monitor its
    // performance, including custom Angular routing instrumentation
    _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_1__/* .browserTracingIntegration */ .dp(),
    // Registers the Replay integration,
    // which automatically captures Session Replays
    _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_3__/* .internalReplayIntegration */ .J$()],
    // Set `tracePropagationTargets` to control for which URLs distributed tracing should be enabled
    tracePropagationTargets: ['localhost', /^https:\/\/api\.gauzy\.co\/api/, /^https:\/\/apistage\.gauzy\.co\/api/, /^https:\/\/apidemo\.gauzy\.co\/api/],
    // Capture Replay for 10% of all sessions,
    // plus for 100% of sessions with an error
    replaysSessionSampleRate: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.SENTRY_TRACES_SAMPLE_RATE ? parseInt(_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.SENTRY_TRACES_SAMPLE_RATE) : 0.01,
    replaysOnErrorSampleRate: 1.0,
    release: 'gauzy@' + _version__WEBPACK_IMPORTED_MODULE_0__/* .version */ .r,
    // set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring
    tracesSampleRate: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.SENTRY_TRACES_SAMPLE_RATE ? parseInt(_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.SENTRY_TRACES_SAMPLE_RATE) : 0.01
  });
}

/***/ }),

/***/ 22909:
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75601);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _datorama_akita__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34249);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(57328);
/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(91227);





console.log('Environment Mode:', _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.production ? 'Production' : 'Development');
if (_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_2__/* .environment */ .c.production) {
  (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__/* .enableProdMode */ .SmG)();
  (0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .enableAkitaProdMode */ .Af)();
}
(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .persistState */ .gz)({
  key: '_gauzyStore'
});
(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .akitaConfig */ .PN)({
  resettable: true
});
_angular_platform_browser__WEBPACK_IMPORTED_MODULE_4__/* .platformBrowser */ .sG().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_1__/* .AppModule */ .kR).catch(err => console.error(err));

/***/ }),

/***/ 37251:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: () => (/* binding */ version)
/* harmony export */ });
/**
 * @description
 * Current version of the Gauzy UI.
 *
 * @example
 * ```
 * import { version } from './version';
 *
 * console.log('Gauzy UI version:', version);
 * ```
 *
 * @since 0.1.0
 */
const version = (__webpack_require__(45900)/* .version */ .rE);

/***/ }),

/***/ 34858:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   V: () => (/* binding */ GAUZY_ENV)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

const GAUZY_ENV = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .InjectionToken */ .nKC('gauzyEnvironment');

/***/ }),

/***/ 57328:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   c: () => (/* binding */ environment)
/* harmony export */ });
let API_BASE_URL = 'https://apistage.gauzy.co';
let CLIENT_BASE_URL = 'https://stage.gauzy.co';
let IS_ELECTRON = false;
let IS_INTEGRATED_DESKTOP = false;
// https://github.com/electron/electron/issues/2288#issuecomment-337858978
const userAgent = navigator.userAgent.toLowerCase();
if (userAgent.indexOf(' electron/') > -1) {
  try {
    const remote = window.require('@electron/remote');
    const variableGlobal = remote.getGlobal('variableGlobal');
    API_BASE_URL = variableGlobal.API_BASE_URL;
    IS_ELECTRON = true;
    IS_INTEGRATED_DESKTOP = variableGlobal.IS_INTEGRATED_DESKTOP;
  } catch (e) {
    console.log(e);
  }
}
const environment = {
  production: true,
  API_BASE_URL: API_BASE_URL,
  CLIENT_BASE_URL: CLIENT_BASE_URL,
  COOKIE_DOMAIN: 'DOCKER_COOKIE_DOMAIN',
  PLATFORM_WEBSITE_URL: 'https://gauzy.co',
  PLATFORM_WEBSITE_DOWNLOAD_URL: 'https://gauzy.co/downloads',
  DESKTOP_APP_DOWNLOAD_LINK_APPLE: 'https://gauzy.co/downloads#desktop/apple',
  DESKTOP_APP_DOWNLOAD_LINK_WINDOWS: 'https://gauzy.co/downloads#desktop/windows',
  DESKTOP_APP_DOWNLOAD_LINK_LINUX: 'https://gauzy.co/downloads#desktop/linux',
  MOBILE_APP_DOWNLOAD_LINK: 'https://gauzy.co/downloads#mobile',
  EXTENSION_DOWNLOAD_LINK: 'https://gauzy.co/downloads#extensions',
  COMPANY_NAME: 'Ever Co. LTD',
  COMPANY_LINK: 'https://ever.co',
  COMPANY_SITE_NAME: 'Gauzy',
  COMPANY_SITE_LINK: 'https://gauzy.co',
  COMPANY_GITHUB_LINK: 'https://github.com/ever-co',
  COMPANY_GITLAB_LINK: 'https://gitlab.com/ever-co',
  COMPANY_FACEBOOK_LINK: 'https://www.facebook.com/gauzyplatform',
  COMPANY_TWITTER_LINK: 'https://twitter.com/gauzyplatform',
  COMPANY_IN_LINK: 'https://www.linkedin.com/company/everhq',
  GOOGLE_AUTH_LINK: API_BASE_URL + '/api/auth/google',
  FACEBOOK_AUTH_LINK: API_BASE_URL + '/api/auth/facebook',
  LINKEDIN_AUTH_LINK: API_BASE_URL + '/api/auth/linkedin',
  GITHUB_AUTH_LINK: API_BASE_URL + '/api/auth/github',
  TWITTER_AUTH_LINK: API_BASE_URL + '/api/auth/twitter',
  MICROSOFT_AUTH_LINK: API_BASE_URL + '/api/auth/microsoft',
  AUTH0_AUTH_LINK: API_BASE_URL + '/api/auth/auth0',
  NO_INTERNET_LOGO: 'assets/images/logos/logo_Gauzy.svg',
  SENTRY_DSN: 'https://7cd381188b6f446ca0e69185227b9031@o51327.ingest.sentry.io/4397292',
  SENTRY_TRACES_SAMPLE_RATE: '',
  HUBSTAFF_REDIRECT_URL: '',
  IS_ELECTRON: IS_ELECTRON,
  IS_INTEGRATED_DESKTOP: IS_INTEGRATED_DESKTOP,
  GOOGLE_MAPS_API_KEY: 'AIzaSyCJmnKzgTSq5Pc93HXar5bZrdmANTwtSIo',
  // @ts-ignore
  GOOGLE_PLACE_AUTOCOMPLETE: 'true' == 'true',
  DEFAULT_LATITUDE: 42.6459136,
  DEFAULT_LONGITUDE: 23.3332736,
  DEFAULT_CURRENCY: 'USD',
  DEFAULT_COUNTRY: '',
  // @ts-ignore
  DEMO: 'false' == 'true',
  DEMO_SUPER_ADMIN_EMAIL: 'admin@ever.co',
  DEMO_SUPER_ADMIN_PASSWORD: 'admin',
  DEMO_ADMIN_EMAIL: 'local.admin@ever.co',
  DEMO_ADMIN_PASSWORD: 'admin',
  DEMO_EMPLOYEE_EMAIL: 'employee@ever.co',
  DEMO_EMPLOYEE_PASSWORD: '123456',
  CHATWOOT_SDK_TOKEN: 'fPgSSzSQoAWRuDqYyNXmpGLM',
  CHAT_MESSAGE_GOOGLE_MAP: '',
  GAUZY_CLOUD_APP: 'https://app.gauzy.co',
  FILE_PROVIDER: 'LOCAL',
  JITSU_BROWSER_URL: '',
  JITSU_BROWSER_WRITE_KEY: '',
  GAUZY_GITHUB_APP_NAME: 'ever-github',
  GAUZY_GITHUB_CLIENT_ID: 'Iv1.63c9dc512fb2b765',
  GAUZY_GITHUB_REDIRECT_URL: 'https://apistage.gauzy.co/api/integration/github/callback',
  GAUZY_GITHUB_POST_INSTALL_URL: 'https://stage.gauzy.co/#/pages/integrations/github/setup/installation',
  PLATFORM_LOGO: 'assets/images/logos/logo_Gauzy.svg',
  GAUZY_DESKTOP_LOGO_512X512: 'assets/icons/icon_512x512.png',
  PLATFORM_PRIVACY_URL: 'https://gauzy.co/privacy',
  PLATFORM_TOS_URL: 'https://gauzy.co/tos',
  PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git',
  DESKTOP_TIMER_APP_NAME: 'gauzy-desktop-timer',
  DESKTOP_TIMER_APP_DESCRIPTION: 'Gauzy Desktop Timer',
  DESKTOP_TIMER_APP_ID: 'com.ever.gauzydesktoptimer',
  DESKTOP_TIMER_APP_REPO_NAME: 'ever-gauzy-desktop-timer',
  DESKTOP_TIMER_APP_REPO_OWNER: 'ever-co',
  DESKTOP_TIMER_APP_WELCOME_TITLE: '',
  DESKTOP_TIMER_APP_WELCOME_CONTENT: '',
  DESKTOP_APP_NAME: 'gauzy-desktop',
  DESKTOP_APP_DESCRIPTION: 'Ever Gauzy Desktop',
  DESKTOP_APP_ID: 'com.ever.gauzydesktop',
  DESKTOP_APP_REPO_NAME: 'ever-gauzy-desktop',
  DESKTOP_APP_REPO_OWNER: 'ever-co',
  DESKTOP_APP_WELCOME_TITLE: '',
  DESKTOP_APP_WELCOME_CONTENT: '',
  DESKTOP_SERVER_APP_NAME: 'gauzy-server',
  DESKTOP_SERVER_APP_DESCRIPTION: 'Ever Gauzy Server',
  DESKTOP_SERVER_APP_ID: 'com.ever.gauzyserver',
  DESKTOP_SERVER_APP_REPO_NAME: 'ever-gauzy-server',
  DESKTOP_SERVER_APP_REPO_OWNER: 'ever-co',
  DESKTOP_SERVER_APP_WELCOME_TITLE: '',
  DESKTOP_SERVER_APP_WELCOME_CONTENT: '',
  DESKTOP_API_SERVER_APP_NAME: 'gauzy-api-server',
  DESKTOP_API_SERVER_APP_DESCRIPTION: 'Ever Gauzy API Server',
  DESKTOP_API_SERVER_APP_ID: 'com.ever.gauzyapiserver',
  DESKTOP_API_SERVER_APP_REPO_NAME: 'ever-gauzy-api-server',
  DESKTOP_API_SERVER_APP_REPO_OWNER: 'ever-co',
  DESKTOP_API_SERVER_APP_WELCOME_TITLE: '',
  DESKTOP_API_SERVER_APP_WELCOME_CONTENT: '',
  REGISTER_URL: 'https://app.gauzy.co/#/auth/register',
  FORGOT_PASSWORD_URL: 'https://app.gauzy.co/#/auth/request-password',
  I18N_FILES_URL: ''
};

/***/ }),

/***/ 56230:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   M: () => (/* binding */ CommonModule)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);


let CommonModule = /*#__PURE__*/(() => {
  class CommonModule {
    /**
     * Returns a ModuleWithProviders object that specifies the CommonModule and its providers.
     *
     * @return {ModuleWithProviders<CommonModule>} A ModuleWithProviders object with the CommonModule and its providers.
     */
    static forRoot() {
      return {
        ngModule: CommonModule,
        providers: []
      };
    }
    static {
      this.ɵfac = function CommonModule_Factory(t) {
        return new (t || CommonModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: CommonModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({});
    }
  }
  return CommonModule;
})();

/***/ }),

/***/ 30729:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   dT: () => (/* binding */ BACKGROUND_SYNC_INTERVAL),
/* harmony export */   lX: () => (/* binding */ AVATAR_DEFAULT_SVG),
/* harmony export */   m4: () => (/* binding */ API_PREFIX),
/* harmony export */   pv: () => (/* binding */ DEFAULT_SVG),
/* harmony export */   vO: () => (/* binding */ DUMMY_PROFILE_IMAGE)
/* harmony export */ });
const API_PREFIX = '/api';
const DEFAULT_SVG = 'assets/images/default.svg';
const AVATAR_DEFAULT_SVG = 'assets/images/avatars/avatar-default.svg';
const DUMMY_PROFILE_IMAGE = 'https://dummyimage.com/330x300/8b72ff/ffffff.jpg&text';
const BACKGROUND_SYNC_INTERVAL = 25000; // milliseconds

/***/ }),

/***/ 40212:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: () => (/* binding */ SYSTEM_DEFAULT_LAYOUT),
/* harmony export */   L: () => (/* binding */ ComponentEnum)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);

var ComponentEnum = /*#__PURE__*/function (ComponentEnum) {
  ComponentEnum["ALL_TASKS"] = "ALL_TASKS";
  ComponentEnum["MY_TASKS"] = "MY_TASKS";
  ComponentEnum["TEAM_TASKS"] = "TEAM_TASKS";
  ComponentEnum["ESTIMATES"] = "ESTIMATES";
  ComponentEnum["INVOICES"] = "INVOICES";
  ComponentEnum["INCOME"] = "INCOME";
  ComponentEnum["EXPENSES"] = "EXPENSES";
  ComponentEnum["EXPENSES_CATEGORY"] = "EXPENSES_CATEGORY";
  ComponentEnum["PROPOSALS"] = "PROPOSALS";
  ComponentEnum["PIPELINES"] = "PIPELINES";
  ComponentEnum["PAYMENTS"] = "PAYMENTS";
  ComponentEnum["MANAGE_INVITES"] = "MANAGE_INVITES";
  ComponentEnum["EMPLOYEES"] = "EMPLOYEES";
  ComponentEnum["EVENT_TYPES"] = "EVENT_TYPES";
  ComponentEnum["CANDIDATES"] = "CANDIDATES";
  ComponentEnum["APPROVALS"] = "APPROVALS";
  ComponentEnum["INVENTORY"] = "INVENTORY";
  ComponentEnum["TAGS"] = "TAGS";
  ComponentEnum["GOAL_SETTINGS"] = "GOAL_SETTINGS";
  ComponentEnum["USERS"] = "USERS";
  ComponentEnum["ORGANIZATION"] = "ORGANIZATION";
  ComponentEnum["EQUIPMENT"] = "EQUIPMENT";
  ComponentEnum["INVOICE_RECEIVED"] = "INVOICE_RECEIVED";
  ComponentEnum["EQUIPMENT_SHARING"] = "EQUIPMENT_SHARING";
  ComponentEnum["EQUIPMENT_SHARING_POLICY"] = "EQUIPMENT_SHARING_POLICY";
  ComponentEnum["APPROVAL_POLICY"] = "APPROVAL_POLICY";
  ComponentEnum["PRODUCT_CATEGORY"] = "PRODUCT_CATEGORY";
  ComponentEnum["PRODUCT_TYPE"] = "PRODUCT_TYPE";
  ComponentEnum["WAREHOUSE"] = "WAREHOUSE";
  ComponentEnum["PIPELINE_DEALS"] = "PIPELINE_DEALS";
  ComponentEnum["TIME_OFF"] = "TIME_OFF";
  ComponentEnum["TIME_OFF_SETTINGS"] = "TIME_OFF_SETTINGS";
  ComponentEnum["DEPARTMENTS"] = "DEPARTMENTS";
  ComponentEnum["PROJECTS"] = "PROJECTS";
  ComponentEnum["VENDORS"] = "VENDORS";
  ComponentEnum["CUSTOMERS"] = "CUSTOMERS";
  ComponentEnum["CLIENTS"] = "CLIENTS";
  ComponentEnum["LEADS"] = "LEADS";
  ComponentEnum["TEAMS"] = "TEAMS";
  ComponentEnum["DOCUMENTS"] = "DOCUMENTS";
  ComponentEnum["EMPLOYMENT_TYPE"] = "EMPLOYMENT_TYPE";
  ComponentEnum["EMPLOYEE_LEVELS"] = "EMPLOYEE_LEVELS";
  ComponentEnum["POSITIONS"] = "POSITIONS";
  ComponentEnum["EDUCATION"] = "EDUCATION";
  ComponentEnum["FEEDBACKS"] = "FEEDBACKS";
  ComponentEnum["INTERVIEWS"] = "INTERVIEWS";
  ComponentEnum["EXPERIENCE"] = "EXPERIENCE";
  ComponentEnum["SKILLS"] = "SKILLS";
  ComponentEnum["MERCHANTS"] = "MERCHANTS";
  return ComponentEnum;
}(ComponentEnum || {});
const SYSTEM_DEFAULT_LAYOUT = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.ComponentLayoutStyleEnum.TABLE;

/***/ }),

/***/ 84536:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   b: () => (/* binding */ ROUTES)
/* harmony export */ });
// In a constants file or configuration service
const ROUTES = {
  DASHBOARD: '/pages/dashboard'
};

/***/ }),

/***/ 73600:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   CK: () => (/* binding */ employeeMapper),
/* harmony export */   D9: () => (/* binding */ mergeDeep),
/* harmony export */   Fv: () => (/* binding */ splitCamelCase),
/* harmony export */   Gh: () => (/* binding */ isNotNullOrUndefined),
/* harmony export */   Im: () => (/* binding */ isEmpty),
/* harmony export */   J7: () => (/* binding */ sluggable),
/* harmony export */   MG: () => (/* binding */ retrieveNameFromEmail),
/* harmony export */   OC: () => (/* binding */ isNotNullOrUndefinedOrEmpty),
/* harmony export */   RR: () => (/* binding */ parseToBoolean),
/* harmony export */   SE: () => (/* binding */ compareDate),
/* harmony export */   SV: () => (/* binding */ toParams),
/* harmony export */   T_: () => (/* binding */ extractNumber),
/* harmony export */   Tt: () => (/* binding */ toUtcOffset),
/* harmony export */   Ux: () => (/* binding */ progressStatus),
/* harmony export */   Yg: () => (/* binding */ cleanKeys),
/* harmony export */   bD: () => (/* binding */ __prepareExternalUrlLocation),
/* harmony export */   dZ: () => (/* binding */ removeDuplicatesByProperty),
/* harmony export */   hj: () => (/* binding */ isNotEmpty),
/* harmony export */   jX: () => (/* binding */ convertLocalToTimezone),
/* harmony export */   jw: () => (/* binding */ toLocal),
/* harmony export */   l1: () => (/* binding */ convertPrecisionFloatDigit),
/* harmony export */   nI: () => (/* binding */ distinctUntilChange),
/* harmony export */   q5: () => (/* binding */ toUTC),
/* harmony export */   vD: () => (/* binding */ isJsObject),
/* harmony export */   w5: () => (/* binding */ getContrastColor),
/* harmony export */   xT: () => (/* binding */ toTimezone),
/* harmony export */   yh: () => (/* binding */ replaceAll),
/* harmony export */   yy: () => (/* binding */ sleep)
/* harmony export */ });
/* unused harmony exports isNullOrUndefined, toFormData, ucFirst, getUTCOffsetForTimezone, addTrailingSlash, removeTrailingSlash, compressImage, arrayToObject */
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(47122);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21934);
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53283);
/* harmony import */ var slugify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44798);
/* harmony import */ var slugify__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(slugify__WEBPACK_IMPORTED_MODULE_2__);





/**
 * Check string is null or undefined
 * From https://github.com/typeorm/typeorm/issues/873#issuecomment-502294597
 *
 * @param obj
 * @returns
 */
function isNullOrUndefined(value) {
  return value === undefined || value === null;
}
/**
 * Checks if a value is not null or undefined.
 * @param value The value to be checked.
 * @returns true if the value is not null or undefined, false otherwise.
 */
function isNotNullOrUndefined(value) {
  return value !== undefined && value !== null;
}
/**
 * Check if a value is null, undefined, or an empty string.
 * @param value The value to check.
 * @returns true if the value is null, undefined, or an empty string, false otherwise.
 */
function isNotNullOrUndefinedOrEmpty(value) {
  return isNotNullOrUndefined(value) && value !== '';
}
// It will use for pass nested object or array in query params in get method.
function toParams(query) {
  let params = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__/* .HttpParams */ .Nl();
  Object.keys(query).forEach(key => {
    if (isJsObject(query[key])) {
      params = toSubParams(params, key, query[key]);
    } else {
      params = params.append(key.toString(), query[key]);
    }
  });
  return params;
}
/**
 * Checks if the given value is a JavaScript object.
 * @param object The value to check.
 * @returns `true` if the value is a JavaScript object, `false` otherwise.
 */
function isJsObject(object) {
  return object !== null && object !== undefined && typeof object === 'object';
}
/**
 * Check value not empty.
 * @param item
 * @returns {boolean}
 */
function isNotEmpty(item) {
  return !isEmpty(item);
}
/**
 * Check value empty.
 * @param item
 * @returns {boolean}
 */
function isEmpty(item) {
  if (item instanceof Array) {
    item = item.filter(val => !isEmpty(val));
    return item.length === 0;
  } else if (item && typeof item === 'object') {
    for (var key in item) {
      if (item[key] === null || item[key] === undefined || item[key] === '') {
        delete item[key];
      }
    }
    return Object.keys(item).length === 0;
  } else {
    return !item || (item + '').toLocaleLowerCase() === 'null' || (item + '').toLocaleLowerCase() === 'undefined';
  }
}
function toSubParams(params, key, object) {
  Object.keys(object).forEach(childKey => {
    if (isJsObject(object[childKey])) {
      params = toSubParams(params, `${key}[${childKey}]`, object[childKey]);
    } else {
      params = params.append(`${key}[${childKey}]`, object[childKey]);
    }
  });
  return params;
}
// It will use when file uploading from angular, just pass object of with file it will convert it to from data
function toFormData(obj, form, namespace) {
  const fd = form || new FormData();
  let formKey;
  for (const property in obj) {
    if (obj.hasOwnProperty(property) && obj[property]) {
      if (namespace) {
        formKey = namespace + '[' + property + ']';
      } else {
        formKey = property;
      }
      // if the property is an object, but not a File, use recursively.
      if (obj[property] instanceof Date) {
        fd.append(formKey, obj[property].toISOString());
      } else if (typeof obj[property] === 'object' && !(obj[property] instanceof File)) {
        toFormData(obj[property], fd, formKey);
      } else {
        // if it's a string or a File object
        fd.append(formKey, obj[property]);
      }
    }
  }
  return fd;
}
function progressStatus(value) {
  if (value <= 25) {
    return 'danger';
  } else if (value <= 50) {
    return 'warning';
  } else if (value <= 75) {
    return 'info';
  } else {
    return 'success';
  }
}
/**
 * Determines the contrasting color (black or white) based on the given hexadecimal color.
 * @param hex The hexadecimal color code (with or without the '#' prefix).
 * @returns The contrasting color ('#000000' for dark backgrounds, '#ffffff' for light backgrounds).
 */
function getContrastColor(hex) {
  const threshold = 130;
  const hexToRGB = hex => {
    const hexValue = hex.charAt(0) === '#' ? hex.substring(1, 7) : hex;
    return {
      red: parseInt(hexValue.substring(0, 2), 16),
      green: parseInt(hexValue.substring(2, 4), 16),
      blue: parseInt(hexValue.substring(4, 6), 16)
    };
  };
  const {
    red,
    green,
    blue
  } = hexToRGB(hex);
  const cBrightness = (red * 299 + green * 587 + blue * 114) / 1000;
  return cBrightness > threshold ? '#000000' : '#ffffff';
}
/**
 * The precision for a decimal (exact numeric applies only for decimal column), which is the maximum
 * number of digits that are stored.
 */
function convertPrecisionFloatDigit(val, digit = 6) {
  return parseFloat(parseFloat(val.toString()).toFixed(digit));
}
/*
 * Retrieve name from email address
 */
function retrieveNameFromEmail(email) {
  if (email) {
    return ucFirst(email.substring(0, email.lastIndexOf('@')), true);
  }
  return '';
}
// convert local time to another timezone
function convertLocalToTimezone(localDt, localDtFormat, timeZone, format = 'YYYY-MM-DD hh:mm:ss') {
  return moment_timezone__WEBPACK_IMPORTED_MODULE_1__(localDt, localDtFormat).tz(timeZone).format(format);
}
/*
 * Capitalize the first letter of a string being
 */
function ucFirst(str, force) {
  str = force ? str.toLowerCase() : str;
  return str.replace(/(\b)([a-zA-Z])/, function (firstLetter) {
    return firstLetter.toUpperCase();
  });
}
/**
 * Get the UTC offset for a given timezone.
 *
 * @param timezone The timezone identifier (e.g., 'Europe/Paris').
 * @returns The UTC offset in minutes.
 */
function getUTCOffsetForTimezone(timezone = 'UTC') {
  return moment__WEBPACK_IMPORTED_MODULE_0__.tz(timezone).utcOffset();
}
/**
 * Converts a date to UTC using the offset of the specified timezone.
 *
 * @param date The date to convert, can be a string, Date object, or moment object.
 * @param timezone (Optional) The timezone identifier (e.g., 'Europe/Paris'). If not provided, the local timezone is used.
 * @returns A moment object representing the date in UTC.
 */
function toUtcOffset(date, timezone) {
  // Get the UTC offset for the specified timezone
  const utcOffset = timezone ? getUTCOffsetForTimezone(timezone) : moment__WEBPACK_IMPORTED_MODULE_0__().utcOffset();
  // Clone the provided date to avoid mutating it, then subtract the UTC offset
  return moment__WEBPACK_IMPORTED_MODULE_0__(date).clone().subtract(utcOffset, 'minutes');
}
/**
 * Converts the given date to the specified timezone.
 *
 * @param date The date to convert to the specified timezone.
 * @param timezone The IANA timezone identifier (e.g., 'America/New_York', 'Europe/London').
 * @returns A moment object representing the date in the specified timezone.
 */
function toTimezone(date, timezone) {
  return moment__WEBPACK_IMPORTED_MODULE_0__.utc(date).tz(timezone);
}
/**
 * Converts the given date to the local timezone.
 *
 * @param date The date to convert to local timezone.
 * @returns A moment object representing the date in the local timezone.
 */
function toLocal(date) {
  return moment__WEBPACK_IMPORTED_MODULE_0__.utc(date).local();
}
/**
 * Converts the given date to the UTC timezone.
 * @param date The date to convert to UTC timezone.
 * @returns A moment object representing the date in UTC timezone.
 */
function toUTC(date) {
  return moment__WEBPACK_IMPORTED_MODULE_0__(date).utc();
}
/**
 * Returns an operator function that filters out consecutive duplicate values in an observable sequence.
 * @returns An operator function that filters out consecutive duplicate values in an observable sequence.
 */
function distinctUntilChange() {
  return source => {
    return source.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .distinctUntilChanged */ .F)((a, b) => JSON.stringify(a) === JSON.stringify(b)));
  };
}
/**
 * Compares two dates.
 * @param date1 The first date to compare.
 * @param date2 The second date to compare.
 * @returns `true` if `date1` is greater than `date2`, `false` if they are equal or `date1` is less than `date2`.
 */
const compareDate = (date1, date2) => {
  const d1 = new Date(date1);
  const d2 = new Date(date2);
  const same = d1.getTime() === d2.getTime();
  if (same) {
    return false;
  }
  return d1 > d2;
};
/**
 * Splits a camelCase or snake_case string into separate words.
 * @param word The input string to split.
 * @returns The input string split into separate words, with each word capitalized.
 * @throws If the input parameter is not a string.
 */
function splitCamelCase(word) {
  if (typeof word !== 'string') {
    throw new Error('The "word" parameter must be a string.');
  }
  const split = word.split('_');
  const output = split.map(text => ucFirst(text, true));
  return output.join(' ');
}
/**
 * Deep Merge
 *
 * @param target
 * @param sources
 * @returns
 */
function mergeDeep(target, ...sources) {
  if (!sources.length) return target;
  const source = sources.shift();
  if (isJsObject(target) && isJsObject(source)) {
    for (const key in source) {
      if (isJsObject(source[key])) {
        if (!target[key]) Object.assign(target, {
          [key]: {}
        });
        mergeDeep(target[key], source[key]);
      } else {
        Object.assign(target, {
          [key]: source[key]
        });
      }
    }
  }
  return mergeDeep(target, ...sources);
}
/**
 * Delete Keys from nested object
 *
 * @param data
 * @param deleteKeys
 * @returns
 */
function cleanKeys(data, deleteKeys) {
  // There is nothing to be done if `data` is not an object,
  if (typeof data != 'object') return;
  if (!data) return; // null object
  for (const key in data) {
    if (deleteKeys.includes(key)) {
      delete data[key];
    } else {
      // If the key is not deleted from the current `data` object,
      // the value should be check for black-listed keys.
      cleanKeys(data[key], deleteKeys);
    }
  }
}
/**
 * Maps a row of employee data to a partial employee state object.
 * @param row The row of employee data to map.
 * @returns A partial employee state object containing 'name', 'fullName', 'id', and 'imageUrl' properties.
 */
function employeeMapper(row) {
  return {
    name: row.employee && row.employee.user ? row.employee.fullName : null,
    fullName: row.employee && row.employee.user ? row.employee.fullName : null,
    id: row.employee ? row.employee.id : null,
    imageUrl: row.employee && row.employee.user ? row.employee.user.imageUrl : null
  };
}
/**
 * Adding Trailing Slash In URL
 *
 * "/#/pages/home"
 * console.log(addTrailingSlashIfMissing('#/pages/home'));
 *
 * "/pages/home"
 * console.log(addTrailingSlashIfMissing('pages/home'));
 *
 */
function addTrailingSlash(str) {
  if (!str) {
    return str;
  }
  const slashChar = str.startsWith('/') ? '' : '/';
  return slashChar + str;
}
/**
 * Removing Trailing Slash In URL
 *
 * "example.com"
 * console.log(stripTrailingSlash('example.com/'));
 *
 */
function removeTrailingSlash(str) {
  if (!str) {
    return str;
  }
  return str.endsWith('/') ? str.replace(/\/+$/, '') : str;
}
/**
 * Prepare external URL
 *
 * @param url
 * @returns
 */
function __prepareExternalUrlLocation(url) {
  return [removeTrailingSlash(location.origin), addTrailingSlash(url)].join('');
}
/**
 * Generate slug from string value
 *
 * @param string
 * @param replacement
 * @returns {string}
 */
function sluggable(string, replacement = '-') {
  return slugify__WEBPACK_IMPORTED_MODULE_2___default()(string, {
    replacement: replacement,
    remove: /[*+~()'"!:@,.]/g,
    lower: true,
    trim: true // trim leading and trailing replacement chars, defaults to `true`
  }).replace(/[_]/g, replacement);
}
/**
 * It takes a base64 image, compresses it to a given width and height, and returns a promise that
 * resolves to the compressed image
 * @param {string} base64Image - The base64 image string
 * @param {number} width - The width of the image you want to compress.
 * @param {number} height - The height of the image in pixels.
 * @returns A promise that resolves to a string.
 */
function compressImage(base64Image, width, height) {
  return new Promise((resolve, reject) => {
    const img = new Image();
    img.src = base64Image;
    img.onload = () => {
      const elem = document.createElement('canvas');
      elem.width = width;
      elem.height = height;
      const ctx = elem.getContext('2d');
      ctx.drawImage(img, 0, 0, width, height);
      const data = ctx.canvas.toDataURL();
      resolve(data);
    };
    img.onerror = error => reject(error);
  });
}
/**
 * How To Make A Sleep Function In TypeScript?
 *
 * @param ms
 * @returns
 */
function sleep(ms) {
  return new Promise(r => setTimeout(r, ms));
}
/**
 * Convert an array of objects to an object with specified key-value pairs.
 *
 * @param array - The array of objects.
 * @param key - The property to use as the key in the resulting object.
 * @param value - The property to use as the value in the resulting object.
 * @returns An object with key-value pairs based on the specified properties.
 */
function arrayToObject(array, key, value) {
  return array.reduce((prev, current) => {
    return {
      ...prev,
      [String(current[key])]: current[value]
    };
  }, {});
}
/**
 * Converts a given input into a boolean value.
 * If the input is `undefined` or `null`, it returns `false`.
 *
 * @param value - The input to convert to a boolean.
 * @returns {boolean} - A boolean representation of the given input.
 */
const parseToBoolean = value => {
  if (value === undefined || value === null) {
    return false; // Return false for undefined or null
  }
  try {
    const parsed = JSON.parse(value); // Attempt to parse as JSON
    if (typeof parsed === 'boolean') {
      return parsed; // Return if it's already a boolean
    }
    // Convert numbers: 0 is false, other numbers are true
    if (typeof parsed === 'number') {
      return parsed !== 0;
    }
    // Convert common truthy/falsy strings
    if (typeof parsed === 'string') {
      const lowerCase = parsed.toLowerCase().trim();
      return lowerCase === 'true' || lowerCase === '1'; // Consider 'true' and '1' as true
    }
    return Boolean(parsed); // Fallback to Boolean conversion
  } catch (error) {
    // Handle JSON parse errors
    return false; // Return false on parsing errors
  }
};
/**
 * Replaces all occurrences of a substring in a given string with another substring.
 *
 * @param {string} value - The input value.
 * @param {string} search - The substring to search for.
 * @param {string} replace - The substring to replace the search substring with.
 * @return {string} The modified string with all occurrences of the search substring replaced.
 */
function replaceAll(value, search, replace) {
  return value.split(search).join(replace);
}
/**
 * Remove duplicates from an array of objects based on a specified property.
 *
 * @param items The array of objects to process.
 * @param property The property to check for duplicates (case-insensitive).
 * @returns A new array with duplicates removed, keeping the last occurrence.
 */
function removeDuplicatesByProperty(items, property) {
  return Array.from(new Map(items.map(item => [item[property].toLowerCase(), item])).values());
}
/**
 * Extracts the numeric value from a string.
 *
 * @param value The string containing both text and numbers (e.g., 'BGN 20', 'USD 45.67').
 * @returns The numeric part of the string as a number. Returns NaN if no numeric value is found.
 */
function extractNumber(value) {
  const numericPart = value.toString().match(/-?\d+(\.\d+)?/); // Matches negative, decimal numbers.
  return numericPart ? parseFloat(numericPart[0]) : NaN; // Converts the extracted part to a number or returns NaN if not found.
}

/***/ }),

/***/ 7019:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   q: () => (/* binding */ AuthGuard)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43038);
/* harmony import */ var _cookie_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86097);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76149);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(92674);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(29448);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(84076);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(13010);








let AuthGuard = /*#__PURE__*/(() => {
  class AuthGuard {
    constructor(_router, _authService, _authStrategy, _store, _electronService) {
      this._router = _router;
      this._authService = _authService;
      this._authStrategy = _authStrategy;
      this._store = _store;
      this._electronService = _electronService;
    }
    /**
     * Checks if the user is authenticated before allowing navigation to a route.
     *
     * @param {ActivatedRouteSnapshot} route - The route to navigate to.
     * @param {RouterStateSnapshot} state - The current state of the router.
     * @return {Promise<boolean>} A promise that resolves to true if the user is authenticated, false otherwise.
     */
    canActivate(route, state) {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        const token = route.queryParamMap.get('token') || (0,_cookie_helper__WEBPACK_IMPORTED_MODULE_1__/* .getCookie */ .Ri)('token');
        const userId = route.queryParamMap.get('userId') || (0,_cookie_helper__WEBPACK_IMPORTED_MODULE_1__/* .getCookie */ .Ri)('userId');
        const refreshToken = route.queryParamMap.get('refresh_token') || (0,_cookie_helper__WEBPACK_IMPORTED_MODULE_1__/* .getCookie */ .Ri)('refresh_token');
        // If token and userId exist, store them
        if (token && userId) {
          _this._store.token = token;
          _this._store.userId = userId;
          _this._store.refresh_token = refreshToken;
        }
        // Validate the token before proceeding
        if (token && !_this.validateToken(token)) {
          console.error('Invalid token, redirecting to login page...');
          yield _this.handleLogout(state.url); // Handle invalid token
          return false; // Prevent navigation
        }
        // Check if the user is authenticated
        if (yield _this._authService.isAuthenticated()) {
          return true; // Allow navigation
        }
        // Not authenticated, handle logout
        yield _this.handleLogout(state.url);
        return false;
      })();
    }
    /**
     * Handles the logout process and redirects to the login page.
     *
     * @param {string} returnUrl - The URL to return to after logging in.
     */
    handleLogout(returnUrl) {
      var _this2 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        if (_this2._electronService.isElectron) {
          try {
            _this2._electronService.ipcRenderer.send('logout');
          } catch (error) {
            console.error('Error sending logout message to Electron:', error);
          }
        }
        yield (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(_this2._authStrategy.logout());
        yield _this2._router.navigate(['/auth/login'], {
          queryParams: {
            returnUrl
          }
        });
      })();
    }
    /**
     * Validates the format of a JWT token.
     *
     * @param {string} token - The JWT token to validate.
     * @returns {boolean} - Returns true if the token is valid, otherwise false.
     */
    validateToken(token) {
      return typeof token === 'string' && token.trim().length > 0 && token.split('.').length === 3;
    }
    static {
      this.ɵfac = function AuthGuard_Factory(t) {
        return new (t || AuthGuard)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_4__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_services__WEBPACK_IMPORTED_MODULE_5__/* .AuthService */ .u), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_services__WEBPACK_IMPORTED_MODULE_6__/* .AuthStrategy */ .m), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_services__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_services__WEBPACK_IMPORTED_MODULE_8__/* .ElectronService */ .Y));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: AuthGuard,
        factory: AuthGuard.ɵfac
      });
    }
  }
  return AuthGuard;
})();

/***/ }),

/***/ 25896:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: () => (/* binding */ AuthModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(42089);
/* harmony import */ var _nebular_auth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5718);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57328);
/* harmony import */ var _auth_guard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7019);
/* harmony import */ var _no_auth_guard__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97239);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(29448);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92674);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(84076);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(13010);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);







/**
 * Social links for auth
 */
const socialLinks = [{
  url: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.GOOGLE_AUTH_LINK,
  icon: 'google-outline'
}, {
  url: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.LINKEDIN_AUTH_LINK,
  icon: 'linkedin-outline'
}, {
  url: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.GITHUB_AUTH_LINK,
  target: '_blank',
  icon: 'github-outline'
}, {
  url: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.TWITTER_AUTH_LINK,
  target: '_blank',
  icon: 'twitter-outline'
}, {
  url: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.FACEBOOK_AUTH_LINK,
  target: '_blank',
  icon: 'facebook-outline'
}, {
  url: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.MICROSOFT_AUTH_LINK,
  target: '_blank',
  icon: 'grid'
}];
let AuthModule = /*#__PURE__*/(() => {
  class AuthModule {
    static {
      this.ɵfac = function AuthModule_Factory(t) {
        return new (t || AuthModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineNgModule"] */ .$C({
        type: AuthModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjector"] */ .G2t({
        providers: [..._nebular_auth__WEBPACK_IMPORTED_MODULE_2__/* .NbAuthModule */ .bI.forRoot({
          strategies: [_services__WEBPACK_IMPORTED_MODULE_3__/* .AuthStrategy */ .m.setup({
            name: 'email'
          })],
          forms: {
            login: {
              socialLinks
            },
            register: {
              socialLinks
            }
          }
        }).providers, _auth_guard__WEBPACK_IMPORTED_MODULE_4__/* .AuthGuard */ .q, _no_auth_guard__WEBPACK_IMPORTED_MODULE_5__/* .NoAuthGuard */ .d, _services__WEBPACK_IMPORTED_MODULE_3__/* .AuthStrategy */ .m, _services__WEBPACK_IMPORTED_MODULE_6__/* .AuthService */ .u, _services__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il, _services__WEBPACK_IMPORTED_MODULE_8__/* .ElectronService */ .Y],
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_9__/* .CommonModule */ .MD, _nebular_auth__WEBPACK_IMPORTED_MODULE_2__/* .NbAuthModule */ .bI]
      });
    }
  }
  return AuthModule;
})();

/***/ }),

/***/ 86097:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ri: () => (/* binding */ getCookie),
/* harmony export */   Yj: () => (/* binding */ deleteCookie)
/* harmony export */ });
/* unused harmony export setCookie */
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57328);

/**
 * Retrieves the value of a cookie by its name for the current domain and its subdomains.
 *
 * @param {string} name - The name of the cookie to retrieve.
 * @return {string | null} - The value of the cookie if found, or null if not found.
 */
function getCookie(name) {
  if (!name || typeof name !== 'string') {
    return null;
  }
  // Sanitize the cookie name
  const sanitizedName = encodeURIComponent(name);
  const value = `; ${document.cookie}`; // Get all cookies as a string and add a leading semicolon
  const parts = value.split(`; ${sanitizedName}=`); // Split the string by the desired cookie name
  // If the cookie is found, split to isolate its value and return it
  if (parts.length === 2) {
    const cookie = parts.pop()?.split(';').shift() || null; // Get the cookie value
    // Validate if the cookie is set for the current domain or its subdomains
    if (isCookieForValidDomain(cookie)) {
      return decodeURIComponent(cookie); // Return the cookie value if it's for a valid domain
    }
  }
  // Return null if the cookie is not found
  return null;
}
/**
 * Checks if the cookie is set for the current domain, its subdomains, or localhost.
 *
 * @param {string} cookie - The value of the cookie to check.
 * @return {boolean} - True if the cookie is considered valid, otherwise false.
 */
function isCookieForValidDomain(cookie) {
  // Check if the cookie is not null
  if (cookie === null) {
    return false; // Not valid if cookie does not exist
  }
  // Get the current hostname
  const hostname = window.location.hostname; // e.g., "demo.gauzy.co" or "app.gauzy.co"
  // Define allowed domains for each environment
  const DOMAIN_CONFIG = {
    production: ['gauzy.co', 'app.gauzy.co'],
    demo: ['demo.gauzy.co'],
    staging: ['staging.gauzy.co'],
    development: ['localhost', '127.0.0.1']
  };
  // Check for development environments
  if (DOMAIN_CONFIG.development.includes(hostname)) {
    return true; // Allow cookies for localhost and 127.0.0.1
  }
  // Get environment-specific domains
  const validDomains = [...DOMAIN_CONFIG.production, ...DOMAIN_CONFIG.demo, ...DOMAIN_CONFIG.staging];
  // More robust domain validation
  return validDomains.some(domain => {
    // Convert hostname and domain to lowercase for case-insensitive comparison
    const normalizedHostname = hostname.toLowerCase();
    const normalizedDomain = domain.toLowerCase();
    // Check for exact match
    if (normalizedHostname === normalizedDomain) {
      return true;
    }
    // Check if the hostname ends with the domain and ensure proper boundaries
    if (normalizedHostname.endsWith(`.${normalizedDomain}`)) {
      // Ensure there are no additional dots to prevent attacks
      const subdomain = normalizedHostname.slice(0, -normalizedDomain.length - 1);
      return !subdomain.includes('.');
    }
    // Prevent direct domain spoofing by checking if it matches the exact domain
    if (normalizedHostname === `www.${normalizedDomain}`) {
      return true;
    }
    return false; // Invalid if none of the checks pass
  });
}
/**
 * Prepares cookie options with default values and overrides.
 *
 * @param {Object} [options={}] - Additional options to customize the cookie settings.
 * @param {string} [options.path='/'] - The path where the cookie is accessible.
 * @param {string} [options.SameSite='Lax'] - SameSite attribute to control cookie sharing across sites.
 * @param {boolean} [options.Secure] - If true, the cookie will only be sent over HTTPS.
 * @param {string} [options.domain] - The domain for which the cookie is valid.
 * @returns {Object} The final cookie options object with defaults applied.
 */
function prepareCookieOptions(options = {}) {
  // Prepare cookie options with defaults
  const cookieOptions = {
    path: '/',
    SameSite: 'Lax',
    Secure: window.location.protocol === 'https:',
    ...options // Spread existing options
  };
  // Cache hostname lookup to avoid repeated access to window.location.hostname
  const getCurrentHostname = (() => {
    let hostname;
    return () => hostname ??= window.location.hostname;
  })();
  // Get current host name
  const hostname = getCurrentHostname();
  if (hostname === 'localhost' || hostname === '127.0.0.1') {
    cookieOptions['domain'] = undefined; // Don't set the domain for localhost
  } else {
    cookieOptions['domain'] = cookieOptions['domain'] || _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.COOKIE_DOMAIN; // Default domain for production
  }
  return cookieOptions; // Return the final cookie options
}
/**
 * Sets a cookie with the specified name, value, and options.
 *
 * @param {string} name - The name of the cookie.
 * @param {string} value - The value of the cookie.
 * @param {Object} options - Additional options for the cookie.
 */
function setCookie(name, value, options = {}) {
  if (!name || typeof value === 'undefined') {
    return; // Ensure valid inputs
  }
  // Prepare cookie options with defaults
  const cookieOptions = prepareCookieOptions(options);
  // Build the cookie string
  const cookieString = `${encodeURIComponent(name)}=${encodeURIComponent(value)}; `;
  Object.entries(cookieOptions).map(([key, val]) => `${key}=${val}`).join('; ');
  // Set the cookie
  document.cookie = cookieString;
}
/**
 * Deletes a cookie by setting its expiration date to a time in the past.
 *
 * @param {string} name - The name of the cookie to delete.
 * @param {Object} options - Additional options for the cookie.
 */
function deleteCookie(name, options = {}) {
  if (!name) {
    return; // Invalid name, exit function
  }
  // Prepare cookie options with defaults
  const cookieOptions = prepareCookieOptions(options);
  // Build the cookie string for deletion
  const cookieString = `${encodeURIComponent(name)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; `;
  Object.entries(cookieOptions).map(([key, val]) => `${key}=${val}`).join('; ');
  // Set the cookie to delete it
  document.cookie = cookieString;
}

/***/ }),

/***/ 97239:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: () => (/* binding */ NoAuthGuard)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84536);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76149);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92674);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(84076);







/**
 * Use for routes which only need to be displayed if user is NOT logged in
 */
let NoAuthGuard = /*#__PURE__*/(() => {
  class NoAuthGuard {
    constructor(_router, _authService, _store) {
      this._router = _router;
      this._authService = _authService;
      this._store = _store;
    }
    /**
     * Checks if the user is authenticated before allowing navigation to a route.
     *
     * @param {ActivatedRouteSnapshot} route - The route to navigate to.
     * @param {RouterStateSnapshot} state - The current state of the router.
     * @return {Promise<boolean>} A promise that resolves to true if the user is authenticated, false otherwise.
     */
    canActivate(route, state) {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        if (!_this._store.token) {
          // not logged in so return true
          return true;
        }
        if (!(yield _this._authService.isAuthenticated())) {
          // not logged in so return true
          return true;
        }
        // logged in so redirect to dashboard
        _this._router.navigate([_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .ROUTES */ .b.DASHBOARD]);
        return false;
      })();
    }
    static {
      this.ɵfac = function NoAuthGuard_Factory(t) {
        return new (t || NoAuthGuard)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_3__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_services__WEBPACK_IMPORTED_MODULE_4__/* .AuthService */ .u), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_services__WEBPACK_IMPORTED_MODULE_5__/* .Store */ .il));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: NoAuthGuard,
        factory: NoAuthGuard.ɵfac
      });
    }
  }
  return NoAuthGuard;
})();

/***/ }),

/***/ 35204:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: () => (/* binding */ BaseNavMenuComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(55598);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34595);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51717);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(61198);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83290);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(28904);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(84076);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(67269);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(82817);












let BaseNavMenuComponent = class BaseNavMenuComponent extends _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_1__/* .TranslationBaseComponent */ .K {
  constructor(_navMenuBuilderService, _store, _sidebarMenuService, _translateService) {
    super(_translateService);
    this._navMenuBuilderService = _navMenuBuilderService;
    this._store = _store;
    this._sidebarMenuService = _sidebarMenuService;
    this._translateService = _translateService;
  }
  ngOnInit() {
    this.defineBaseNavMenus();
  }
  ngAfterViewInit() {
    const merge$ = (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .merge */ .h)(this._translateService.onLangChange.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(() => this.defineBaseNavMenus())), this._store.selectedOrganization$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .filter */ .p)(organization => !!organization), (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_5__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(() => this.defineBaseNavMenus())), this._store.featureOrganizations$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(() => this.defineBaseNavMenus())), this._store.featureTenant$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(() => this.defineBaseNavMenus())), this._store.userRolePermissions$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(() => this.defineBaseNavMenus())));
    merge$.pipe((0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Defines the base navigation menus.
   */
  defineBaseNavMenus() {
    this._navMenuBuilderService.defineNavMenuSections([...this._getMainMenu(), ...this._getAccordionMenu(), ...this._getSettingsMenu()]);
  }
  /**
   * Retrieves the main navigation menu configuration.
   * @returns An array of NavMenuSectionItem objects representing the main menu.
   */
  _getMainMenu() {
    return [{
      id: 'dashboards',
      title: 'Dashboards',
      icon: 'fas fa-th',
      link: '/pages/dashboard',
      pathMatch: 'prefix',
      home: true,
      data: {
        translationKey: 'MENU.DASHBOARDS',
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_DASHBOARD
      }
    }, {
      id: 'focus',
      title: 'Focus',
      icon: 'fas fa-bullseye',
      link: '/pages/dashboard',
      pathMatch: 'prefix',
      class: 'focus',
      hidden: true,
      data: {
        translationKey: 'MENU.FOCUS',
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_DASHBOARD
      }
    }, {
      id: 'applications',
      title: 'Applications',
      icon: 'far fa-window-maximize',
      link: '/pages/dashboard',
      pathMatch: 'prefix',
      class: 'application',
      hidden: true,
      data: {
        translationKey: 'MENU.APPLICATIONS',
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_DASHBOARD
      }
    }, {
      id: 'accounting',
      title: 'Accounting',
      icon: 'far fa-address-card',
      data: {
        translationKey: 'MENU.ACCOUNTING'
      },
      items: [{
        id: 'accounting-estimates',
        title: 'Estimates',
        icon: 'far fa-file',
        link: '/pages/accounting/invoices/estimates',
        data: {
          translationKey: 'MENU.ESTIMATES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ESTIMATES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ESTIMATE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ESTIMATES_EDIT) && {
            add: '/pages/accounting/invoices/estimates/add'
          })
        }
      }, {
        id: 'accounting-estimates-received',
        title: 'Estimates Received',
        icon: 'fas fa-file-invoice',
        link: '/pages/accounting/invoices/received-estimates',
        data: {
          translationKey: 'MENU.ESTIMATES_RECEIVED',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ESTIMATES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ESTIMATE_RECEIVED
        }
      }, {
        id: 'accounting-invoices',
        title: 'Invoices',
        icon: 'far fa-file-alt',
        link: '/pages/accounting/invoices',
        pathMatch: 'full',
        data: {
          translationKey: 'MENU.INVOICES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INVOICES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_INVOICE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INVOICES_EDIT) && {
            add: '/pages/accounting/invoices/add'
          })
        }
      }, {
        id: 'accounting-invoices-recurring',
        title: 'Invoices Recurring',
        icon: 'fas fa-exchange-alt fa-rotate-90',
        link: '/pages/accounting/invoices/recurring',
        pathMatch: 'prefix',
        data: {
          translationKey: 'MENU.RECURRING_INVOICES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INVOICES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_INVOICE_RECURRING
        }
      }, {
        id: 'accounting-invoices-received',
        title: 'Invoices Received',
        icon: 'fas fa-file-invoice-dollar',
        link: '/pages/accounting/invoices/received-invoices',
        pathMatch: 'prefix',
        data: {
          translationKey: 'MENU.INVOICES_RECEIVED',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INVOICES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_INVOICE_RECEIVED
        }
      }, {
        id: 'accounting-income',
        title: 'Income',
        icon: 'fas fa-plus-circle',
        link: '/pages/accounting/income',
        data: {
          translationKey: 'MENU.INCOME',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_INCOMES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_INCOME,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_INCOMES_EDIT) && {
            add: '/pages/accounting/income?openAddDialog=true'
          })
        }
      }, {
        id: 'accounting-expenses',
        title: 'Expenses',
        icon: 'fas fa-minus-circle',
        link: '/pages/accounting/expenses',
        data: {
          translationKey: 'MENU.EXPENSES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EXPENSES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EXPENSE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EXPENSES_EDIT) && {
            add: '/pages/accounting/expenses?openAddDialog=true'
          })
        }
      }, {
        id: 'accounting-expense-recurring',
        title: 'Expense Recurring',
        icon: 'fas fa-exchange-alt fa-rotate-90',
        link: '/pages/accounting/expense-recurring',
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.EXPENSE_RECURRING',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EXPENSES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_RECURRING_EXPENSE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EXPENSES_EDIT) && {
            add: '/pages/accounting/expense-recurring?openAddDialog=true'
          })
        }
      }, {
        id: 'accounting-payments',
        title: 'Payments',
        icon: 'fas fa-cash-register',
        link: '/pages/accounting/payments',
        data: {
          translationKey: 'MENU.PAYMENTS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PAYMENT_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_PAYMENT,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PAYMENT_ADD_EDIT) && {
            add: '/pages/accounting/payments?openAddDialog=true'
          })
        }
      }]
    }, {
      id: 'sales',
      title: 'Sales',
      icon: 'fas fa-chart-line',
      link: '/pages/sales',
      data: {
        translationKey: 'MENU.SALES',
        permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PROPOSALS_VIEW]
      },
      items: [{
        id: 'sales-proposals',
        title: 'Proposals',
        icon: 'fas fa-paper-plane',
        link: '/pages/sales/proposals',
        data: {
          translationKey: 'MENU.PROPOSALS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PROPOSALS_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_PROPOSAL,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PROPOSALS_EDIT) && {
            add: '/pages/sales/proposals/register'
          })
        }
      }, {
        id: 'sales-estimates',
        title: 'Estimates',
        icon: 'far fa-file',
        link: '/pages/sales/invoices/estimates',
        data: {
          translationKey: 'MENU.ESTIMATES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ESTIMATES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_PROPOSAL,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ESTIMATES_EDIT) && {
            add: '/pages/sales/invoices/estimates/add'
          })
        }
      }, {
        id: 'sales-invoices',
        title: 'Invoices',
        icon: 'far fa-file-alt',
        link: '/pages/sales/invoices',
        data: {
          translationKey: 'MENU.INVOICES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INVOICES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_INVOICE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INVOICES_EDIT) && {
            add: '/pages/sales/invoices/add'
          })
        }
      }, {
        id: 'sales-invoices-recurring',
        title: 'Invoices Recurring',
        icon: 'fas fa-exchange-alt fa-rotate-90',
        link: '/pages/sales/invoices/recurring',
        data: {
          translationKey: 'MENU.RECURRING_INVOICES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INVOICES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_INVOICE_RECURRING
        }
      }, {
        id: 'sales-payments',
        title: 'Payments',
        icon: 'fas fa-cash-register',
        link: '/pages/sales/payments',
        data: {
          translationKey: 'MENU.PAYMENTS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PAYMENT_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_PAYMENT,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PAYMENT_ADD_EDIT) && {
            add: '/pages/sales/payments?openAddDialog=true'
          })
        }
      }, {
        id: 'sales-pipelines',
        title: 'Pipelines',
        icon: 'fas fa-filter',
        link: '/pages/sales/pipelines',
        data: {
          translationKey: 'MENU.PIPELINES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.VIEW_SALES_PIPELINES],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_PIPELINE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.EDIT_SALES_PIPELINES) && {
            add: '/pages/sales/pipelines?openAddDialog=true'
          })
        }
      }]
    }, {
      id: 'tasks',
      title: 'Tasks',
      icon: 'fas fa-tasks',
      link: '/pages/tasks',
      data: {
        translationKey: 'MENU.TASKS'
      },
      items: [{
        id: 'tasks-dashboard',
        title: 'Dashboard',
        icon: 'fas fa-th',
        link: '/pages/tasks/dashboard',
        data: {
          translationKey: 'MENU.DASHBOARD',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TASK_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_DASHBOARD_TASK,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TASK_ADD) && {
            add: '/pages/tasks/dashboard?openAddDialog=true'
          })
        }
      }, {
        id: 'tasks-team',
        title: "Team's Tasks",
        icon: 'fas fa-user-friends',
        link: '/pages/tasks/team',
        data: {
          translationKey: 'MENU.TEAM_TASKS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TASK_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_TEAM_TASK,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TASK_ADD) && {
            add: '/pages/tasks/team?openAddDialog=true'
          })
        }
      }]
    }, {
      id: 'jobs',
      title: 'Jobs',
      icon: 'fas fa-briefcase',
      link: '/pages/jobs',
      data: {
        translationKey: 'MENU.JOBS',
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_JOB
      },
      items: [{
        id: 'jobs-employee',
        title: 'Employee',
        icon: 'fas fa-user-friends',
        link: '/pages/jobs/employee',
        data: {
          translationKey: 'MENU.EMPLOYEES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_JOB_EMPLOYEE_VIEW]
        }
      }, {
        id: 'jobs-proposal-template',
        title: 'Proposal Template',
        icon: 'far fa-file-alt',
        link: '/pages/jobs/proposal-template',
        data: {
          translationKey: 'MENU.PROPOSAL_TEMPLATE',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PROPOSAL_TEMPLATES_VIEW],
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PROPOSAL_TEMPLATES_EDIT) && {
            add: '/pages/jobs/proposal-template?openAddDialog=true'
          })
        }
      }]
    }, {
      id: 'employees',
      title: 'Employees',
      icon: 'fas fa-user-friends',
      data: {
        translationKey: 'MENU.EMPLOYEES'
      },
      items: [{
        id: 'employees-manage',
        title: 'Manage',
        icon: 'fas fa-list',
        link: '/pages/employees',
        pathMatch: 'full',
        data: {
          translationKey: 'MENU.MANAGE',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EMPLOYEES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEES
        }
      }, {
        id: 'employees-time-activity',
        title: 'Time & Activity',
        icon: 'fas fa-chart-line',
        link: '/pages/employees/activity',
        pathMatch: 'prefix',
        data: {
          translationKey: 'MENU.TIME_ACTIVITY',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ADMIN_DASHBOARD_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.TIME_TRACKER],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_TIME_ACTIVITY
        }
      }, {
        id: 'employees-timesheets',
        title: 'Timesheets',
        icon: 'far fa-clock',
        link: '/pages/employees/timesheets',
        pathMatch: 'prefix',
        data: {
          translationKey: 'MENU.TIMESHEETS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ADMIN_DASHBOARD_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.TIME_TRACKER],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_TIMESHEETS
        }
      }, {
        id: 'employees-appointments',
        title: 'Appointments',
        icon: 'fas fa-calendar-week',
        link: '/pages/employees/appointments',
        pathMatch: 'prefix',
        data: {
          translationKey: 'MENU.APPOINTMENTS',
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_APPOINTMENT
        }
      }, {
        id: 'employees-approvals',
        title: 'Approvals',
        icon: 'fas fa-repeat',
        link: '/pages/employees/approvals',
        data: {
          translationKey: 'MENU.APPROVALS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.REQUEST_APPROVAL_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_APPROVAL,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.REQUEST_APPROVAL_EDIT) && {
            add: '/pages/employees/approvals?openAddDialog=true'
          })
        }
      }, {
        id: 'employees-levels',
        title: 'Employee Levels',
        icon: 'fas fa-chart-bar',
        link: `/pages/employees/employee-level`,
        data: {
          translationKey: 'MENU.EMPLOYEE_LEVEL',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_LEVEL
        }
      }, {
        id: 'employees-positions',
        title: 'Positions',
        icon: 'fas fa-award',
        link: `/pages/employees/positions`,
        data: {
          translationKey: 'MENU.POSITIONS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_POSITION
        }
      }, {
        id: 'employees-time-off',
        title: 'Time Off',
        icon: 'far fa-times-circle',
        link: '/pages/employees/time-off',
        data: {
          translationKey: 'MENU.TIME_OFF',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.TIME_OFF_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_TIMEOFF,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.TIME_OFF_ADD) && {
            add: '/pages/employees/time-off?openAddDialog=true'
          })
        }
      }, {
        id: 'employees-recurring-expenses',
        title: 'Recurring Expenses',
        icon: 'fas fa-exchange-alt fa-rotate-90',
        link: '/pages/employees/recurring-expenses',
        data: {
          translationKey: 'MENU.RECURRING_EXPENSE',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.EMPLOYEE_EXPENSES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_RECURRING_EXPENSE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.EMPLOYEE_EXPENSES_EDIT) && {
            add: '/pages/employees/recurring-expenses?openAddDialog=true'
          })
        }
      }, {
        id: 'employees-candidates',
        title: 'Candidates',
        icon: 'fas fa-user-check',
        link: '/pages/employees/candidates',
        data: {
          translationKey: 'MENU.CANDIDATES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_CANDIDATES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMPLOYEE_CANDIDATE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_CANDIDATES_EDIT) && {
            add: '/pages/employees/candidates?openAddDialog=true'
          })
        }
      }]
    }, {
      id: 'organization',
      title: 'Organization',
      icon: 'fas fa-globe-americas',
      data: {
        translationKey: 'MENU.ORGANIZATION'
      },
      items: [{
        id: 'organization-equipment',
        title: 'Equipment',
        icon: 'fas fa-border-all',
        link: '/pages/organization/equipment',
        data: {
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EQUIPMENT_VIEW],
          translationKey: 'MENU.EQUIPMENT',
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_EQUIPMENT,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EQUIPMENT_EDIT) && {
            add: '/pages/organization/equipment?openAddDialog=true'
          })
        }
      }, {
        id: 'organization-inventory',
        title: 'Inventory',
        icon: 'fas fa-grip-vertical',
        link: '/pages/organization/inventory',
        pathMatch: 'prefix',
        data: {
          translationKey: 'MENU.INVENTORY',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_INVENTORY,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INVENTORY_GALLERY_ADD) && {
            add: '/pages/organization/inventory/create'
          })
        }
      }, {
        id: 'organization-tags',
        title: 'Tags',
        icon: 'fas fa-tag',
        link: '/pages/organization/tags',
        data: {
          translationKey: 'MENU.TAGS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TAGS_ADD],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_TAG,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TAGS_ADD) && {
            add: '/pages/organization/tags?openAddDialog=true'
          })
        }
      }, {
        id: 'organization-vendors',
        title: 'Vendors',
        icon: 'fas fa-truck',
        link: '/pages/organization/vendors',
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.VENDORS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_VENDOR,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT) && {
            add: '/pages/organization/vendors?openAddDialog=true'
          })
        }
      }, {
        id: 'organization-projects',
        title: 'Projects',
        icon: 'fas fa-book',
        link: `/pages/organization/projects`,
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.PROJECTS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PROJECT_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_PROJECT,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PROJECT_ADD) && {
            add: '/pages/organization/projects/create'
          })
        }
      }, {
        id: 'organization-departments',
        title: 'Departments',
        icon: ' fas fa-briefcase',
        link: `/pages/organization/departments`,
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.DEPARTMENTS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_DEPARTMENT,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT) && {
            add: '/pages/organization/departments?openAddDialog=true'
          })
        }
      }, {
        id: 'organization-teams',
        title: 'Teams',
        icon: 'fas fa-user-friends',
        link: `/pages/organization/teams`,
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.EDIT.TEAMS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TEAM_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_TEAM,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TEAM_EDIT) && {
            add: '/pages/organization/teams?openAddDialog=true'
          })
        }
      }, {
        id: 'organization-documents',
        title: 'Documents',
        icon: 'far fa-file-alt',
        link: `/pages/organization/documents`,
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.DOCUMENTS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_DOCUMENT,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT) && {
            add: '/pages/organization/documents?openAddDialog=true'
          })
        }
      }, {
        id: 'organization-employment',
        title: 'Employment Types',
        icon: 'fas fa-layer-group',
        link: `/pages/organization/employment-types`,
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.EMPLOYMENT_TYPES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_EMPLOYMENT_TYPE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT) && {
            add: '/pages/organization/employment-types?openAddDialog=true'
          })
        }
      }, {
        id: 'organization-expense',
        title: 'Expense Recurring',
        icon: 'fas fa-exchange-alt fa-rotate-90',
        link: '/pages/organization/expense-recurring',
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.EXPENSE_RECURRING',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EXPENSES_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_RECURRING_EXPENSE,
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EXPENSES_EDIT) && {
            add: '/pages/organization/expense-recurring?openAddDialog=true'
          })
        }
      }, {
        id: 'organization-help',
        title: 'Help Center',
        icon: 'far fa-question-circle',
        link: '/pages/organization/help-center',
        data: {
          translationKey: 'ORGANIZATIONS_PAGE.HELP_CENTER',
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATION_HELP_CENTER
        }
      }]
    }, {
      id: 'contacts',
      title: 'Contacts',
      icon: 'far fa-address-book',
      data: {
        translationKey: 'MENU.CONTACTS',
        permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_CONTACT_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW],
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_CONTACT
      },
      items: [{
        id: 'contacts-visitors',
        title: 'Visitors',
        icon: 'fas fa-id-badge',
        link: `/pages/contacts/visitors`,
        data: {
          translationKey: 'CONTACTS_PAGE.VISITORS'
        }
      }, {
        id: 'contacts-leads',
        title: 'Leads',
        icon: 'fas fa-id-badge',
        link: `/pages/contacts/leads`,
        data: {
          translationKey: 'CONTACTS_PAGE.LEADS',
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_CONTACT_EDIT) && {
            add: '/pages/contacts/leads?openAddDialog=true'
          })
        }
      }, {
        id: 'contacts-customers',
        title: 'Customers',
        icon: 'fas fa-id-badge',
        link: `/pages/contacts/customers`,
        data: {
          translationKey: 'CONTACTS_PAGE.CUSTOMERS',
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_CONTACT_EDIT) && {
            add: '/pages/contacts/customers?openAddDialog=true'
          })
        }
      }, {
        id: 'contacts-clients',
        title: 'Clients',
        icon: 'fas fa-id-badge',
        link: `/pages/contacts/clients`,
        data: {
          translationKey: 'CONTACTS_PAGE.CLIENTS',
          ...(this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_CONTACT_EDIT) && {
            add: '/pages/contacts/clients?openAddDialog=true'
          })
        }
      }]
    }, {
      id: 'goals',
      title: 'Goals',
      icon: 'fab fa-font-awesome-flag',
      data: {
        translationKey: 'MENU.GOALS'
      },
      items: [{
        id: 'goals-manage',
        title: 'Manage',
        link: '/pages/goals',
        pathMatch: 'full',
        icon: 'fas fa-list',
        data: {
          translationKey: 'MENU.MANAGE',
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_GOAL
        }
      }, {
        id: 'goals-report',
        title: 'Report',
        link: '/pages/goals/reports',
        icon: 'far fa-file-alt',
        data: {
          translationKey: 'MENU.REPORTS',
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_GOAL_REPORT
        }
      }, {
        id: 'goals-settings',
        title: 'Settings',
        link: '/pages/goals/settings',
        icon: 'fas fa-cog',
        data: {
          translationKey: 'MENU.SETTINGS',
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_GOAL_SETTING
        }
      }]
    }, {
      id: 'reports',
      title: 'Reports',
      icon: 'fas fa-chart-pie',
      link: '/pages/reports',
      data: {
        translationKey: 'MENU.REPORTS',
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_REPORT
      },
      items: [{
        id: 'reports-all',
        title: 'All Reports',
        link: '/pages/reports/all',
        icon: 'fas fa-chart-bar',
        data: {
          translationKey: 'MENU.ALL_REPORTS'
        }
      }]
    }];
  }
  /**
   * Retrieves the accordion menu configuration based on user permissions.
   * Each menu item includes an ID, title, icon, link, and additional data such as translation keys,
   * permission keys, and feature keys.
   *
   * @returns An array of NavMenuSectionItem objects representing the accordion menu.
   */
  _getAccordionMenu() {
    return [{
      id: 'invite-people',
      title: 'Invite people',
      icon: 'fas fa-user-plus',
      link: '/pages/employees/invites',
      menuCategory: 'accordion',
      data: {
        translationKey: 'MENU.INVITE_PEOPLE',
        permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_INVITE_VIEW],
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_MANAGE_INVITE
      }
    }, {
      id: 'users',
      title: 'Users',
      icon: 'fas fa-users',
      link: '/pages/users',
      menuCategory: 'accordion',
      data: {
        translationKey: 'MENU.USERS',
        permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_USERS_VIEW],
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_USER
      }
    }, {
      id: 'import-export',
      title: 'Import/Export',
      icon: 'fas fa-exchange-alt',
      link: '/pages/settings/import-export',
      menuCategory: 'accordion',
      data: {
        translationKey: 'MENU.IMPORT_EXPORT.IMPORT_EXPORT',
        permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.IMPORT_ADD, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.EXPORT_ADD],
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_IMPORT_EXPORT
      }
    }, {
      id: 'organizations',
      title: 'Organizations',
      icon: 'fas fa-globe',
      link: '/pages/organizations',
      menuCategory: 'accordion',
      data: {
        translationKey: 'MENU.ORGANIZATIONS',
        permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EXPENSES_EDIT],
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ORGANIZATIONS
      }
    }, {
      id: 'integrations',
      title: 'Integrations',
      icon: 'fas fa-swatchbook',
      link: '/pages/integrations',
      menuCategory: 'accordion',
      pathMatch: 'prefix',
      data: {
        translationKey: 'MENU.INTEGRATIONS',
        permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INTEGRATION_ADD, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.INTEGRATION_EDIT],
        featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_APP_INTEGRATION
      }
    }];
  }
  /**
   * Retrieves the settings menu configuration.
   *
   * @returns An array containing a single NavMenuSectionItem for settings.
   */
  _getSettingsMenu() {
    return [{
      id: 'settings',
      title: 'Settings',
      icon: 'fas fa-cog',
      menuCategory: 'settings',
      data: {
        translationKey: 'MENU.SETTINGS'
      },
      items: [{
        id: 'settings-general',
        title: 'General',
        icon: 'fas fa-pen',
        link: '/pages/settings/general',
        data: {
          translationKey: 'MENU.GENERAL',
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_SETTING
        }
      }, {
        id: 'settings-features',
        title: 'Features',
        icon: 'fas fa-swatchbook',
        link: '/pages/settings/features',
        data: {
          translationKey: 'MENU.FEATURES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_VIEW]
        }
      }, {
        id: 'settings-email-history',
        title: 'Email History',
        icon: 'fas fa-envelope-open',
        link: '/pages/settings/email-history',
        data: {
          translationKey: 'MENU.EMAIL_HISTORY',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.VIEW_ALL_EMAILS],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMAIL_HISTORY
        }
      }, {
        id: 'settings-email-templates',
        title: 'Email Templates',
        icon: 'fas fa-envelope',
        link: '/pages/settings/email-templates',
        data: {
          translationKey: 'MENU.EMAIL_TEMPLATES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.VIEW_ALL_EMAIL_TEMPLATES],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_EMAIL_TEMPLATE
        }
      }, {
        id: 'settings-accounting-templates',
        title: 'Accounting Templates',
        icon: 'fas fa-address-card',
        link: '/pages/settings/accounting-templates',
        data: {
          translationKey: 'MENU.ACCOUNTING_TEMPLATES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.VIEW_ALL_ACCOUNTING_TEMPLATES]
        }
      }, {
        id: 'settings-file-storage',
        title: 'File storage',
        icon: 'fas fa-database',
        link: '/pages/settings/file-storage',
        data: {
          translationKey: 'MENU.FILE_STORAGE',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.FILE_STORAGE_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_FILE_STORAGE
        }
      }, {
        id: 'settings-sms-gateways',
        title: 'SMS Gateways',
        icon: 'fas fa-at',
        link: '/pages/settings/sms-gateway',
        data: {
          translationKey: 'MENU.SMS_GATEWAYS',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.SMS_GATEWAY_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_SMS_GATEWAY
        }
      }, {
        id: 'settings-custom-smtp',
        title: 'Custom SMTP',
        icon: 'fas fa-at',
        link: '/pages/settings/custom-smtp',
        data: {
          translationKey: 'MENU.CUSTOM_SMTP',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.CUSTOM_SMTP_VIEW],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_SMTP
        }
      }, {
        id: 'settings-roles-permissions',
        title: 'Roles & Permissions',
        link: '/pages/settings/roles-permissions',
        icon: 'fas fa-award',
        data: {
          translationKey: 'MENU.ROLES',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.CHANGE_ROLES_PERMISSIONS],
          featureKey: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.FeatureEnum.FEATURE_ROLES_PERMISSION
        }
      }, {
        id: 'settings-danger-zone',
        title: 'Danger Zone',
        link: '/pages/settings/danger-zone',
        icon: 'fas fa-radiation-alt',
        data: {
          translationKey: 'MENU.DANGER_ZONE',
          permissionKeys: [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ACCESS_DELETE_ACCOUNT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ACCESS_DELETE_ALL_DATA]
        }
      }]
    }];
  }
  /**
   * Maps menu sections and their sub-sections recursively.
   *
   * @param items The menu items to map.
   * @returns The mapped menu sections.
   */
  mapMenuSections(items) {
    return items.map(item => this.mapMenuSection(item));
  }
  /**
   * Maps a single menu section and its sub-sections recursively.
   *
   * @param section The menu section to map.
   * @returns The mapped menu section.
   */
  mapMenuSection(item) {
    const section = {
      ...item,
      title: this.getTranslation(item.data.translationKey),
      hidden: item.hidden || this.isSectionHidden(item)
    };
    if (item.items) {
      section.children = this.mapMenuSections(item.items);
    }
    return section;
  }
  /**
   * Checks if a menu section should be hidden based on permissions and features.
   *
   * @param section The menu section to check.
   * @returns True if the section should be hidden, false otherwise.
   */
  isSectionHidden(section) {
    const {
      data
    } = section;
    let isHidden = false;
    // Check if section should be hidden based on permissions or custom hide function
    if (data.permissionKeys || data.hide) {
      // If permission keys are provided, check if any permission is granted
      const anyPermission = data.permissionKeys ? this._store.hasAnyPermission(...data.permissionKeys) : true;
      // If any permission is not granted or custom hide function returns true, hide the section
      if (!anyPermission || data.hide && data.hide()) {
        isHidden = true;
      }
    }
    // If feature key is provided, check if the feature is enabled
    if (data.featureKey && isHidden === false) {
      isHidden = !this._store.hasFeatureEnabled(data.featureKey);
    }
    // If none of the above conditions are met, the section should not be hidden
    return isHidden;
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function BaseNavMenuComponent_Factory(t) {
      return new (t || BaseNavMenuComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdirectiveInject"] */ .rXU(_services__WEBPACK_IMPORTED_MODULE_8__/* .NavMenuBuilderService */ .v), _angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdirectiveInject"] */ .rXU(_services__WEBPACK_IMPORTED_MODULE_9__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdirectiveInject"] */ .rXU(_services__WEBPACK_IMPORTED_MODULE_10__/* .SidebarMenuService */ .V), _angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdirectiveInject"] */ .rXU(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_11__/* .TranslateService */ .c$));
    };
  }
  static {
    this.ɵdir = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdefineDirective"] */ .FsC({
      type: BaseNavMenuComponent,
      selectors: [["", "gaBaseNavMenu", ""]],
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3]
    });
  }
};
BaseNavMenuComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_12__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .UntilDestroy */ .d)(), (0,tslib__WEBPACK_IMPORTED_MODULE_12__/* .__metadata */ .Sn)("design:paramtypes", [_services__WEBPACK_IMPORTED_MODULE_8__/* .NavMenuBuilderService */ .v, _services__WEBPACK_IMPORTED_MODULE_9__/* .Store */ .il, _services__WEBPACK_IMPORTED_MODULE_10__/* .SidebarMenuService */ .V, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_11__/* .TranslateService */ .c$])], BaseNavMenuComponent);

/***/ }),

/***/ 90639:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: () => (/* binding */ CommonNavModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42089);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(58063);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51170);
/* harmony import */ var _base_nav_menu_base_nav_menu_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35204);
/* harmony import */ var _main_nav_menu_main_nav_menu_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61988);
/* harmony import */ var _settings_nav_menu_settings_nav_menu_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51332);
/* harmony import */ var _sidebar_menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64122);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82817);









const COMPONENTS = [_base_nav_menu_base_nav_menu_component__WEBPACK_IMPORTED_MODULE_0__/* .BaseNavMenuComponent */ .J, _main_nav_menu_main_nav_menu_component__WEBPACK_IMPORTED_MODULE_1__/* .MainNavMenuComponent */ .x, _sidebar_menu__WEBPACK_IMPORTED_MODULE_2__/* .SidebarMenuComponent */ .F, _settings_nav_menu_settings_nav_menu_component__WEBPACK_IMPORTED_MODULE_3__/* .SettingsNavMenuComponent */ .J];
let CommonNavModule = /*#__PURE__*/(() => {
  class CommonNavModule {
    static {
      this.ɵfac = function CommonNavModule_Factory(t) {
        return new (t || CommonNavModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵdefineNgModule"] */ .$C({
        type: CommonNavModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_5__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbAccordionModule */ .LtP, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbTooltipModule */ .IB0, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbButtonModule */ .P5N, ngx_permissions__WEBPACK_IMPORTED_MODULE_7__/* .NgxPermissionsModule */ .Ov.forChild()]
      });
    }
  }
  return CommonNavModule;
})();

/***/ }),

/***/ 61988:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   x: () => (/* binding */ MainNavMenuComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55598);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96641);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45484);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77271);
/* harmony import */ var _base_nav_menu_base_nav_menu_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35204);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82817);
/* harmony import */ var _sidebar_menu_sidebar_menu_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(64122);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(42089);







let MainNavMenuComponent = class MainNavMenuComponent extends _base_nav_menu_base_nav_menu_component__WEBPACK_IMPORTED_MODULE_0__/* .BaseNavMenuComponent */ .J {
  ngOnInit() {
    super.ngOnInit(); // Call the parent class's ngOnInit function
    // Subscribe to the menuConfig$ observable provided by _navMenuBuilderService
    this.mainMenuConfig$ = this._navMenuBuilderService.menuConfig$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .map */ .T)(sections => this.filterSectionsByCategory(sections)), (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .catchError */ .W)(error => {
      console.error('Error while retrieving main menu sections:', error);
      return [];
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__/* .untilDestroyed */ .s)(this));
  }
  /**
   * Filters the provided menu sections based on the specified menu category.
   *
   * @param sections - An array of navigation menu section items to filter.
   * @returns An array of navigation menu section items that match the specified menu category.
   */
  filterSectionsByCategory(sections) {
    return this.mapMenuSections(sections ?? []).filter(section => this.menuCategory ? section?.menuCategory === this.menuCategory : !section?.menuCategory);
  }
  ngOnDestroy() {
    super.ngOnDestroy();
  }
  static {
    this.ɵfac = /*@__PURE__*/function () {
      let ɵMainNavMenuComponent_BaseFactory;
      return function MainNavMenuComponent_Factory(t) {
        return (ɵMainNavMenuComponent_BaseFactory || (ɵMainNavMenuComponent_BaseFactory = _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵgetInheritedFactory"] */ .xGo(MainNavMenuComponent)))(t || MainNavMenuComponent);
      };
    }();
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵdefineComponent"] */ .VBU({
      type: MainNavMenuComponent,
      selectors: [["ga-main-nav-menu"]],
      inputs: {
        menuCategory: "menuCategory"
      },
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
      decls: 2,
      vars: 3,
      consts: [[3, "items"]],
      template: function MainNavMenuComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelement"] */ .nrm(0, "ga-sidebar-menu", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵpipe"] */ .nI1(1, "async");
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵproperty"] */ .Y8G("items", _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, ctx.mainMenuConfig$));
        }
      },
      dependencies: [_sidebar_menu_sidebar_menu_component__WEBPACK_IMPORTED_MODULE_5__/* .SidebarMenuComponent */ .F, _angular_common__WEBPACK_IMPORTED_MODULE_6__/* .AsyncPipe */ .Jj]
    });
  }
};
MainNavMenuComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__/* .UntilDestroy */ .d)({
  checkProperties: true
})], MainNavMenuComponent);

/***/ }),

/***/ 51332:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: () => (/* binding */ SettingsNavMenuComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(55598);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96641);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77271);
/* harmony import */ var _base_nav_menu_base_nav_menu_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35204);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _sidebar_menu_sidebar_menu_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(64122);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42089);







let SettingsNavMenuComponent = class SettingsNavMenuComponent extends _base_nav_menu_base_nav_menu_component__WEBPACK_IMPORTED_MODULE_0__/* .BaseNavMenuComponent */ .J {
  ngOnInit() {
    super.ngOnInit(); // Call the parent class's ngOnInit function
    // Subscribe to the menuConfig$ observable provided by _navMenuBuilderService
    this.settingsMenuConfig$ = this._navMenuBuilderService.menuConfig$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .map */ .T)(sections => this.mapMenuSections(sections ?? []).filter(section => section.menuCategory === 'settings')), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__/* .untilDestroyed */ .s)(this));
  }
  ngOnDestroy() {
    super.ngOnDestroy();
  }
  static {
    this.ɵfac = /*@__PURE__*/function () {
      let ɵSettingsNavMenuComponent_BaseFactory;
      return function SettingsNavMenuComponent_Factory(t) {
        return (ɵSettingsNavMenuComponent_BaseFactory || (ɵSettingsNavMenuComponent_BaseFactory = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵgetInheritedFactory"] */ .xGo(SettingsNavMenuComponent)))(t || SettingsNavMenuComponent);
      };
    }();
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineComponent"] */ .VBU({
      type: SettingsNavMenuComponent,
      selectors: [["ga-settings-nav-menu"]],
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
      decls: 2,
      vars: 3,
      consts: [[3, "items"]],
      template: function SettingsNavMenuComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(0, "ga-sidebar-menu", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(1, "async");
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("items", _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, ctx.settingsMenuConfig$));
        }
      },
      dependencies: [_sidebar_menu_sidebar_menu_component__WEBPACK_IMPORTED_MODULE_4__/* .SidebarMenuComponent */ .F, _angular_common__WEBPACK_IMPORTED_MODULE_5__/* .AsyncPipe */ .Jj]
    });
  }
};
SettingsNavMenuComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__/* .UntilDestroy */ .d)({
  checkProperties: true
})], SettingsNavMenuComponent);

/***/ }),

/***/ 65042:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   j: () => (/* binding */ ChildrenMenuItemComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(55598);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42089);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76149);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51717);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77271);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51170);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(58063);
/* harmony import */ var _tooltip_directive__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9199);












function ChildrenMenuItemComponent_ng_container_0_ng_container_1_ng_container_1_span_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "span")(1, "a", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("href", ctx_r5.getExternalUrl(ctx_r5.item == null ? null : ctx_r5.item.link), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r5.item == null ? null : ctx_r5.item.title, " ");
  }
}
const _c0 = function (a0) {
  return {
    "border-bottom": a0
  };
};
function ChildrenMenuItemComponent_ng_container_0_ng_container_1_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "div", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function ChildrenMenuItemComponent_ng_container_0_ng_container_1_ng_container_1_Template_div_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r7);
      const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r6.select());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(2, "span", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(3, "i");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, ChildrenMenuItemComponent_ng_container_0_ng_container_1_ng_container_1_span_4_Template, 3, 2, "span", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH((ctx_r4.selected ? "selected " : "") + (!ctx_r4.collapse ? "custom " : "") + "sub-item");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction1"] */ .eq3(8, _c0, !ctx_r4.isLast()))("gaTooltip", ctx_r4.item == null ? null : ctx_r4.item.title)("icon", ctx_r4.item == null ? null : ctx_r4.item.icon);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH(ctx_r4.item == null ? null : ctx_r4.item.icon);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r4.collapse || ctx_r4.mouseHover);
  }
}
function ChildrenMenuItemComponent_ng_container_0_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, ChildrenMenuItemComponent_ng_container_0_ng_container_1_ng_container_1_Template, 5, 10, "ng-container", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !(ctx_r1.item == null ? null : ctx_r1.item.hidden));
  }
}
function ChildrenMenuItemComponent_ng_container_0_ng_template_2_ng_container_0_span_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "span")(1, "a", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("href", ctx_r9.getExternalUrl(ctx_r9.item == null ? null : ctx_r9.item.link), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r9.item == null ? null : ctx_r9.item.title, " ");
  }
}
function ChildrenMenuItemComponent_ng_container_0_ng_template_2_ng_container_0_ng_template_5_Template(rf, ctx) {
  if (rf & 1) {
    const _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "button", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function ChildrenMenuItemComponent_ng_container_0_ng_template_2_ng_container_0_ng_template_5_Template_button_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r12);
      const ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(4);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r11.add());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "i", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
}
function ChildrenMenuItemComponent_ng_container_0_ng_template_2_ng_container_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r14 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "div", 7)(2, "span", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function ChildrenMenuItemComponent_ng_container_0_ng_template_2_ng_container_0_Template_span_click_2_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r14);
      const ctx_r13 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r13.select());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(3, "i");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, ChildrenMenuItemComponent_ng_container_0_ng_template_2_ng_container_0_span_4_Template, 3, 2, "span", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(5, ChildrenMenuItemComponent_ng_container_0_ng_template_2_ng_container_0_ng_template_5_Template, 2, 0, "ng-template", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH((ctx_r8.selected ? "sub-item selected" : "sub-item") + (!ctx_r8.collapse ? " custom" : ""));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction1"] */ .eq3(8, _c0, !ctx_r8.isLast()))("nbTooltip", ctx_r8.item == null ? null : ctx_r8.item.title);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH(ctx_r8.item == null ? null : ctx_r8.item.icon);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r8.collapse || ctx_r8.mouseHover);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r8.item == null ? null : ctx_r8.item.data == null ? null : ctx_r8.item.data.add);
  }
}
function ChildrenMenuItemComponent_ng_container_0_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(0, ChildrenMenuItemComponent_ng_container_0_ng_template_2_ng_container_0_Template, 6, 10, "ng-container", 3);
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !(ctx_r3.item == null ? null : ctx_r3.item.hidden));
  }
}
function ChildrenMenuItemComponent_ng_container_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, ChildrenMenuItemComponent_ng_container_0_ng_container_1_Template, 2, 1, "ng-container", 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, ChildrenMenuItemComponent_ng_container_0_ng_template_2_Template, 1, 1, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵreference"] */ .sdS(3);
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx_r0.collapse)("ngIfElse", _r2);
  }
}
let ChildrenMenuItemComponent = class ChildrenMenuItemComponent {
  get item() {
    return this._item;
  }
  set item(value) {
    this._item = value;
  }
  get parent() {
    return this._parent;
  }
  set parent(value) {
    this._parent = value;
  }
  get collapse() {
    return this._collapse;
  }
  set collapse(value) {
    this._collapse = value;
  }
  get selected() {
    return this._selected;
  }
  set selected(value) {
    this._selected = value;
  }
  set mouseHover(value) {
    this._mouseHover = value;
  }
  get mouseHover() {
    return this._mouseHover;
  }
  constructor(router, location) {
    this.router = router;
    this.location = location;
    /**
     * Indicates whether the menu item is selected.
     */
    this._selected = false;
    this.focusItemChange = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB();
  }
  ngOnInit() {
    // Log and check the current URL
    this.checkUrl(this.router.url);
    // Subscribe to router events and handle NavigationEnd
    this.router.events.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__/* .filter */ .p)(event => event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_2__/* .NavigationEnd */ .wF), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__/* .untilDestroyed */ .s)(this)).subscribe(event => {
      // Log and check the URL when navigation ends
      this.checkUrl(event.url);
    });
  }
  /**
   * Redirects to the specified URL link.
   */
  redirectTo() {
    this.router.navigateByUrl(this.item.link);
  }
  /**
   * Selects the item and emits an event to focus on it.
   * Additionally, redirects to the specified link.
   */
  select() {
    // Emit an event to focus on the item
    this.focusItemChange.emit({
      children: this.item,
      parent: this.parent
    });
    // Redirect to the specified link
    this.redirectTo();
  }
  /**
   * Handles Ctrl + mouse click event to open a link in a new window/tab.
   *
   * @param event The MouseEvent object representing the mouse click event.
   */
  handleCtrlClick(event) {
    // Check if Ctrl or Cmd key is pressed
    if (event.ctrlKey || event.metaKey) {
      // Open the link in a new window/tab
      window.open(this.getExternalUrl(this.item.link), '_blank');
      // Prevent default behavior of anchor tag
      event.preventDefault();
    }
  }
  /**
   * Checks if the provided URL matches the link of the current item,
   * and emits an event to focus on the item if there is a match.
   * @param url The URL to check against the item's link.
   */
  checkUrl(url) {
    // Extract only the path part of the URL
    const pathOnly = url.split('?')[0];
    // Check if the path part of the URL matches the item's link
    if (pathOnly === this.item.link) {
      // Emit an event to focus on the item
      this.focusItemChange.emit({
        children: this.item,
        parent: this.parent
      });
    }
  }
  /**
   * Prepares the URL for external navigation.
   * If the URL is not null or empty, it prepares it for external navigation using Angular's Location service.
   * @param url The URL to prepare for external navigation.
   * @returns The prepared URL for external navigation.
   */
  getExternalUrl(url) {
    return url ? this.location.prepareExternalUrl(url) : url;
  }
  /**
   * Emits an event to focus on the current item and navigates to the specified URL for adding.
   */
  add() {
    this.focusItemChange.emit({
      children: this.item,
      parent: this.parent
    });
    this.router.navigateByUrl(this.item.data.add);
  }
  /**
   * Checks if the current item is the last item among its siblings.
   * @returns A boolean indicating whether the current item is the last among its siblings.
   */
  isLast() {
    const last = this.parent.children.slice(-1)[0];
    return this.item === last;
  }
  static {
    this.ɵfac = function ChildrenMenuItemComponent_Factory(t) {
      return new (t || ChildrenMenuItemComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_2__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_common__WEBPACK_IMPORTED_MODULE_4__/* .Location */ .aZ));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
      type: ChildrenMenuItemComponent,
      selectors: [["ga-children-menu-item"]],
      inputs: {
        item: "item",
        parent: "parent",
        collapse: "collapse",
        selected: "selected"
      },
      outputs: {
        focusItemChange: "focusItemChange"
      },
      decls: 1,
      vars: 1,
      consts: [[4, "ngxPermissionsOnly"], [4, "ngIf", "ngIfElse"], ["withNbTooltip", ""], [4, "ngIf"], [3, "ngClass", "gaTooltip", "icon", "click"], [1, "info"], ["onclick", "return false;", 3, "href"], ["nbTooltipPlacement", "right", 3, "ngClass", "nbTooltip"], [1, "info", "w-100", 3, "click"], [3, "ngIf"], ["status", "basic", "outline", "", "size", "tiny", "nbButton", "", 1, "float-right", "plus", 3, "click"], [1, "fas", "fa-plus"]],
      template: function ChildrenMenuItemComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(0, ChildrenMenuItemComponent_ng_container_0_Template, 4, 2, "ng-container", 0);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngxPermissionsOnly", ctx.item == null ? null : ctx.item.data == null ? null : ctx.item.data.permissionKeys);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_4__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbTooltipDirective */ .BmQ, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbButtonComponent */ .YP2, ngx_permissions__WEBPACK_IMPORTED_MODULE_6__/* .NgxPermissionsDirective */ .f6, _tooltip_directive__WEBPACK_IMPORTED_MODULE_7__/* .TooltipDirective */ .d],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n  position: relative;\n}\n[_nghost-%COMP%]   nb-accordion-item-body.item-collapsed[_ngcontent-%COMP%]     .item-body {\n  padding: 4px;\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%] {\n  box-shadow: unset;\n  border-bottom: 1px solid var(--gauzy-border-default-color);\n  margin-top: 6px;\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item.opened[_ngcontent-%COMP%] {\n  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item.opened[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-sidebar-background-3);\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item.opened[_ngcontent-%COMP%]   nb-accordion-item-header.accordion-item-header-expanded[_ngcontent-%COMP%] {\n  border-radius: var(--border-radius) var(--border-radius) 0 0;\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item.opened[_ngcontent-%COMP%]   nb-accordion-item-body[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-sidebar-background-4);\n  border-radius: 0 0 var(--border-radius) var(--border-radius);\n}\n[_nghost-%COMP%]   nb-accordion.focus[_ngcontent-%COMP%] {\n  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);\n}\n[_nghost-%COMP%]   nb-accordion.focus[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%], [_nghost-%COMP%]   nb-accordion.focus[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  color: rgb(245, 109, 88);\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item-header.accordion-item-header-collapsed[_ngcontent-%COMP%] {\n  border-radius: var(--border-radius);\n}\n[_nghost-%COMP%]   nb-accordion.closed[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n[_nghost-%COMP%]   nb-accordion.closed[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  margin-right: unset;\n}\n[_nghost-%COMP%]   nb-accordion.closed[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  display: none;\n}\n[_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%] {\n  border: 1px solid var(--background-primary-color-1);\n  color: var(--text-primary-color);\n  border-radius: var(--border-radius);\n}\n[_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n}\n[_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  border: 1px solid var(--background-primary-color-1);\n  border-radius: var(--border-radius);\n  width: 1.75rem;\n  height: 1.75rem;\n}\n[dir=ltr]   [_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  margin-right: -0.4375rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  margin-left: -0.4375rem;\n}\n[_nghost-%COMP%]   hr.custom-separator[_ngcontent-%COMP%] {\n  border: 0.5px solid var(--gauzy-border-default-color);\n  border-top: none;\n  border-left: none;\n  border-right: none;\n}\n[_nghost-%COMP%]   i[_ngcontent-%COMP%] {\n  color: var(--gauzy-text-color-1);\n}\n[_nghost-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%] {\n  color: var(--gauzy-text-color-2);\n  font-size: 15px;\n  font-weight: 600;\n  line-height: 18px;\n  letter-spacing: 0em;\n  gap: 0.625rem;\n}\n[_nghost-%COMP%]   a[_ngcontent-%COMP%] {\n  text-decoration: none;\n  color: unset;\n}\n\n[_nghost-%COMP%]   .sub-item[_ngcontent-%COMP%] {\n  padding: 0px 9px;\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  color: var(--gauzy-text-color-2);\n  font-size: 13px;\n  font-weight: 400;\n  line-height: 16px;\n  letter-spacing: 0em;\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .sub-item[_ngcontent-%COMP%]:hover, [_nghost-%COMP%]   .sub-item.selected[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-sidebar-background-3);\n  border-radius: var(--border-radius);\n  font-weight: 600;\n  color: var(--gauzy-text-color-1);\n  border: unset;\n}\n[_nghost-%COMP%]   .sub-item[_ngcontent-%COMP%]:hover {\n  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);\n}\n[_nghost-%COMP%]   .sub-item.custom[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n[_nghost-%COMP%]   .sub-item.mouse-hover[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  flex-wrap: nowrap;\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n\n.info[_ngcontent-%COMP%] {\n  padding: 11px 0;\n}\n.info[_ngcontent-%COMP%]   span[_ngcontent-%COMP%] {\n  margin: 0 0.625rem;\n}\n\n[nbButton].plus.appearance-outline.size-tiny[_ngcontent-%COMP%] {\n  padding: 2px 3px;\n  border: 2px solid var(--gauzy-border-default-color);\n  color: var(--gauzy-text-color-2);\n}\n[nbButton].plus.appearance-outline.size-tiny[_ngcontent-%COMP%]   i.fa-plus[_ngcontent-%COMP%] {\n  margin: 0;\n  font-size: 14px;\n}"]
    });
  }
};
ChildrenMenuItemComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__/* .UntilDestroy */ .d)(), (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__metadata */ .Sn)("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__/* .Router */ .Ix, _angular_common__WEBPACK_IMPORTED_MODULE_4__/* .Location */ .aZ])], ChildrenMenuItemComponent);

/***/ }),

/***/ 62362:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   S: () => (/* binding */ MenuItemComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26699);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63119);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76149);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51170);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(42089);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78731);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(84076);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(58063);
/* harmony import */ var _children_menu_item_children_menu_item_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(65042);
/* harmony import */ var _tooltip_directive__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9199);















function MenuItemComponent_nb_accordion_0_nb_accordion_item_header_2_span_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "span")(1, "a", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("href", ctx_r4.getExternalUrl(ctx_r4.item == null ? null : ctx_r4.item.link), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r4.item == null ? null : ctx_r4.item.title, " ");
  }
}
function MenuItemComponent_nb_accordion_0_nb_accordion_item_header_2_Template(rf, ctx) {
  if (rf & 1) {
    const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-accordion-item-header", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function MenuItemComponent_nb_accordion_0_nb_accordion_item_header_2_Template_nb_accordion_item_header_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r6);
      const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r5.redirectTo());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "i");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, MenuItemComponent_nb_accordion_0_nb_accordion_item_header_2_span_2_Template, 3, 2, "span", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("gaTooltip", ctx_r1.item == null ? null : ctx_r1.item.title)("icon", ctx_r1.item == null ? null : ctx_r1.item.icon)("ngClass", ctx_r1.onCollapse ? "collapsed" : "");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH(ctx_r1.item == null ? null : ctx_r1.item.icon);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r1.state);
  }
}
function MenuItemComponent_nb_accordion_0_nb_accordion_item_header_3_span_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "span")(1, "a", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("href", ctx_r7.getExternalUrl(ctx_r7.item == null ? null : ctx_r7.item.link), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r7.item == null ? null : ctx_r7.item.title, " ");
  }
}
function MenuItemComponent_nb_accordion_0_nb_accordion_item_header_3_Template(rf, ctx) {
  if (rf & 1) {
    const _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-accordion-item-header", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function MenuItemComponent_nb_accordion_0_nb_accordion_item_header_3_Template_nb_accordion_item_header_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r9);
      const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r8.redirectTo());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "i");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, MenuItemComponent_nb_accordion_0_nb_accordion_item_header_3_span_2_Template, 3, 2, "span", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("nbTooltip", ctx_r2.item == null ? null : ctx_r2.item.title)("ngClass", ctx_r2.onCollapse ? "collapsed" : "");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH(ctx_r2.item == null ? null : ctx_r2.item.icon);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r2.state);
  }
}
function MenuItemComponent_nb_accordion_0_nb_accordion_item_body_4_div_1_ga_children_menu_item_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r14 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "ga-children-menu-item", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("focusItemChange", function MenuItemComponent_nb_accordion_0_nb_accordion_item_body_4_div_1_ga_children_menu_item_1_Template_ga_children_menu_item_focusItemChange_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r14);
      const ctx_r13 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(4);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r13.focusOn($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const subItem_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG().$implicit;
    const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("id", subItem_r11 == null ? null : subItem_r11.id)("item", subItem_r11)("parent", ctx_r12.item)("collapse", ctx_r12.state)("selected", subItem_r11 === ctx_r12.selectedChildren && ctx_r12.selected);
  }
}
function MenuItemComponent_nb_accordion_0_nb_accordion_item_body_4_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, MenuItemComponent_nb_accordion_0_nb_accordion_item_body_4_div_1_ga_children_menu_item_1_Template, 1, 5, "ga-children-menu-item", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !(ctx_r10.item == null ? null : ctx_r10.item.hidden));
  }
}
const _c0 = function (a0) {
  return {
    "item-collapsed": a0
  };
};
function MenuItemComponent_nb_accordion_0_nb_accordion_item_body_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-accordion-item-body", 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, MenuItemComponent_nb_accordion_0_nb_accordion_item_body_4_div_1_Template, 2, 1, "div", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction1"] */ .eq3(3, _c0, !ctx_r3.state));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx_r3.item.children)("ngForTrackBy", ctx_r3.subItem == null ? null : ctx_r3.subItem.title);
  }
}
const _c1 = function (a0) {
  return {
    opened: a0
  };
};
function MenuItemComponent_nb_accordion_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r17 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-accordion", 1)(1, "nb-accordion-item", 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("collapsedChange", function MenuItemComponent_nb_accordion_0_Template_nb_accordion_item_collapsedChange_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r17);
      const ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r16.onCollapse($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, MenuItemComponent_nb_accordion_0_nb_accordion_item_header_2_Template, 3, 6, "nb-accordion-item-header", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(3, MenuItemComponent_nb_accordion_0_nb_accordion_item_header_3_Template, 3, 5, "nb-accordion-item-header", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, MenuItemComponent_nb_accordion_0_nb_accordion_item_body_4_Template, 2, 5, "nb-accordion-item-body", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx_r0.state ? ctx_r0.item == null ? null : ctx_r0.item.class : (ctx_r0.item == null ? null : ctx_r0.item.class) + " closed");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("collapsed", ctx_r0.collapse)("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction1"] */ .eq3(6, _c1, ctx_r0.selected));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx_r0.state);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r0.state);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", (ctx_r0.item == null ? null : ctx_r0.item.children == null ? null : ctx_r0.item.children.length) > 0);
  }
}
let MenuItemComponent = /*#__PURE__*/(() => {
  class MenuItemComponent {
    get item() {
      return this._item;
    }
    set item(value) {
      this._item = value;
    }
    get collapse() {
      return this._collapse; // Returns the current collapse state
    }
    set collapse(value) {
      this._collapse = value; // Sets the collapse state to the provided value
    }
    get selected() {
      return this._selected;
    }
    set selected(value) {
      this._selected = value;
    }
    get state() {
      return this._state;
    }
    set state(value) {
      this._state = value;
    }
    get selectedChildren() {
      return this._selectedChildren;
    }
    set selectedChildren(value) {
      this._selectedChildren = value;
    }
    constructor(_router, _sidebarService, _cdr, _location, _jitsuService, _store) {
      this._router = _router;
      this._sidebarService = _sidebarService;
      this._cdr = _cdr;
      this._location = _location;
      this._jitsuService = _jitsuService;
      this._store = _store;
      /**
       * Returns the current collapse state.
       *
       * @return {boolean} The current collapse state.
       */
      this._collapse = true;
      this.collapsedChange = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB();
      this.selectedChange = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB();
    }
    ngOnInit() {
      // Get the user data from the store
      this._user = this._store.user;
      // Check if the 'home' property of the 'item' object is truthy
      if (this.item.home) {
        // If 'home' is truthy, emit an event to notify the parent component
        // This emits the 'selectedChange' event with the 'item' as the data
        this.selectedChange.emit(this.item);
      }
    }
    /**
     * Handles the collapse event.
     * @param event A boolean indicating whether the item should collapse or not.
     */
    onCollapse(event) {
      // Update the collapse state based on the event
      this.collapse = event;
    }
    /**
     * Focuses on a specific item.
     * @param event The event containing information about the item to focus on.
     */
    focusOn(event) {
      // Set the selected children property to the children of the event
      this.selectedChildren = event.children;
      // Toggle the collapse state if it's currently collapsed
      if (this.collapse) {
        this.collapse = !this.collapse;
      }
      // Emit the selectedChange event with the parent of the event
      this.selectedChange.emit(event.parent);
      // Manually detect changes using ChangeDetectorRef
      this._cdr.detectChanges();
    }
    /**
     * Track a click event using Jitsu analytics.
     */
    jitsuTrackClick() {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(function* () {
        // Prepare the click event data
        const clickEvent = {
          eventType: _services__WEBPACK_IMPORTED_MODULE_2__/* .JitsuAnalyticsEventsEnum */ .C.BUTTON_CLICKED,
          url: _this.item.url ?? _this.item.link,
          userId: _this._user.id,
          userEmail: _this._user.email,
          menuItemName: _this.item.title
        };
        // Identify the user with Jitsu
        yield _this._jitsuService.identify(_this._user.id, {
          email: _this._user.email,
          fullName: _this._user.name,
          timeZone: _this._user.timeZone
        });
        // Group the user with Jitsu
        yield _this._jitsuService.group(_this._user.id, {
          email: _this._user.email,
          fullName: _this._user.name,
          timeZone: _this._user.timeZone
        });
        // Track the click event using Jitsu
        yield _this._jitsuService.trackEvents(clickEvent.eventType, clickEvent);
      })();
    }
    /**
     * Redirect to a specified URL and track the click event using Jitsu analytics.
     */
    redirectTo() {
      // Track the click event using Jitsu analytics
      // We don't await here because we don't want to wait for the analytics to complete before redirecting
      this.jitsuTrackClick();
      // Redirect to the specified URL
      if (!this.item.children) {
        // If the item doesn't have children, navigate to its link
        this._router.navigateByUrl(this.item.link);
      }
      if (this.item.home) {
        // If the item represents the home page, navigate to its URL
        this._router.navigateByUrl(this.item.url);
      }
      // Emit the selectedChange event to notify parent components
      this.selectedChange.emit(this.item);
      // Manually detect changes using ChangeDetectorRef
      this._cdr.detectChanges();
    }
    /**
     * Toggle the sidebar and perform a redirection if necessary.
     */
    toggleSidebar() {
      // Check if the sidebar is closed and the current item is not the home page
      if (!this.state && !this.item.home) {
        // If so, toggle the sidebar to open
        this._sidebarService.toggle(false, 'menu-sidebar');
      }
      // Perform redirection
      this.redirectTo();
    }
    /**
     * Prepare an external URL.
     * @param url The URL to prepare.
     * @returns The prepared external URL.
     */
    getExternalUrl(url) {
      return url ? this._location.prepareExternalUrl(url) : url;
    }
    /**
     *
     */
    ngAfterViewChecked() {
      const state$ = this._sidebarService.getSidebarState('menu-sidebar');
      state$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(state => this.state = state === 'expanded' ? true : false)).subscribe();
      this._cdr.detectChanges();
    }
    static {
      this.ɵfac = function MenuItemComponent_Factory(t) {
        return new (t || MenuItemComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_4__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbSidebarService */ .OF4), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* .ChangeDetectorRef */ .gRc), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_common__WEBPACK_IMPORTED_MODULE_6__/* .Location */ .aZ), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_services__WEBPACK_IMPORTED_MODULE_7__/* .JitsuService */ .z), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_services__WEBPACK_IMPORTED_MODULE_8__/* .Store */ .il));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: MenuItemComponent,
        selectors: [["ga-menu-item"]],
        inputs: {
          item: "item",
          collapse: "collapse",
          selected: "selected"
        },
        outputs: {
          collapsedChange: "collapsedChange",
          selectedChange: "selectedChange"
        },
        decls: 1,
        vars: 1,
        consts: [[3, "ngClass", 4, "ngxPermissionsOnly"], [3, "ngClass"], [3, "collapsed", "ngClass", "collapsedChange"], [3, "gaTooltip", "icon", "ngClass", "click", 4, "ngIf"], ["nbTooltipPlacement", "right", 3, "nbTooltip", "ngClass", "click", 4, "ngIf"], [3, "ngClass", 4, "ngIf"], [3, "gaTooltip", "icon", "ngClass", "click"], [4, "ngIf"], ["onclick", "return false;", 3, "href"], ["nbTooltipPlacement", "right", 3, "nbTooltip", "ngClass", "click"], [4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "id", "item", "parent", "collapse", "selected", "focusItemChange", 4, "ngIf"], [3, "id", "item", "parent", "collapse", "selected", "focusItemChange"]],
        template: function MenuItemComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(0, MenuItemComponent_nb_accordion_0_Template, 5, 8, "nb-accordion", 0);
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngxPermissionsOnly", ctx.item == null ? null : ctx.item.data == null ? null : ctx.item.data.permissionKeys);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_6__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_6__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_6__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbAccordionComponent */ .Ul7, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbAccordionItemComponent */ .vx8, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbAccordionItemHeaderComponent */ .Ig3, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbAccordionItemBodyComponent */ .LHJ, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbTooltipDirective */ .BmQ, ngx_permissions__WEBPACK_IMPORTED_MODULE_9__/* .NgxPermissionsDirective */ .f6, _children_menu_item_children_menu_item_component__WEBPACK_IMPORTED_MODULE_10__/* .ChildrenMenuItemComponent */ .j, _tooltip_directive__WEBPACK_IMPORTED_MODULE_11__/* .TooltipDirective */ .d],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n  position: relative;\n}\n[_nghost-%COMP%]   nb-accordion-item-body.item-collapsed[_ngcontent-%COMP%]     .item-body {\n  padding: 4px;\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%] {\n  box-shadow: unset;\n  border-bottom: 1px solid var(--gauzy-border-default-color);\n  margin-top: 6px;\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item.opened[_ngcontent-%COMP%] {\n  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item.opened[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-sidebar-background-3);\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item.opened[_ngcontent-%COMP%]   nb-accordion-item-header.accordion-item-header-expanded[_ngcontent-%COMP%] {\n  border-radius: var(--border-radius) var(--border-radius) 0 0;\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item.opened[_ngcontent-%COMP%]   nb-accordion-item-body[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-sidebar-background-4);\n  border-radius: 0 0 var(--border-radius) var(--border-radius);\n}\n[_nghost-%COMP%]   nb-accordion.focus[_ngcontent-%COMP%] {\n  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);\n}\n[_nghost-%COMP%]   nb-accordion.focus[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%], [_nghost-%COMP%]   nb-accordion.focus[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  color: rgb(245, 109, 88);\n}\n[_nghost-%COMP%]   nb-accordion[_ngcontent-%COMP%]   nb-accordion-item-header.accordion-item-header-collapsed[_ngcontent-%COMP%] {\n  border-radius: var(--border-radius);\n}\n[_nghost-%COMP%]   nb-accordion.closed[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n[_nghost-%COMP%]   nb-accordion.closed[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  margin-right: unset;\n}\n[_nghost-%COMP%]   nb-accordion.closed[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  display: none;\n}\n[_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%] {\n  border: 1px solid var(--background-primary-color-1);\n  color: var(--text-primary-color);\n  border-radius: var(--border-radius);\n}\n[_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n}\n[_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  border: 1px solid var(--background-primary-color-1);\n  border-radius: var(--border-radius);\n  width: 1.75rem;\n  height: 1.75rem;\n}\n[dir=ltr]   [_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  margin-right: -0.4375rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-accordion.application[_ngcontent-%COMP%]   nb-accordion-item[_ngcontent-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  margin-left: -0.4375rem;\n}\n[_nghost-%COMP%]   hr.custom-separator[_ngcontent-%COMP%] {\n  border: 0.5px solid var(--gauzy-border-default-color);\n  border-top: none;\n  border-left: none;\n  border-right: none;\n}\n[_nghost-%COMP%]   i[_ngcontent-%COMP%] {\n  color: var(--gauzy-text-color-1);\n}\n[_nghost-%COMP%]   nb-accordion-item-header[_ngcontent-%COMP%] {\n  color: var(--gauzy-text-color-2);\n  font-size: 15px;\n  font-weight: 600;\n  line-height: 18px;\n  letter-spacing: 0em;\n  gap: 0.625rem;\n}\n[_nghost-%COMP%]   a[_ngcontent-%COMP%] {\n  text-decoration: none;\n  color: unset;\n}\n\n[_nghost-%COMP%]   .sub-item[_ngcontent-%COMP%] {\n  padding: 0px 9px;\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  color: var(--gauzy-text-color-2);\n  font-size: 13px;\n  font-weight: 400;\n  line-height: 16px;\n  letter-spacing: 0em;\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .sub-item[_ngcontent-%COMP%]:hover, [_nghost-%COMP%]   .sub-item.selected[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-sidebar-background-3);\n  border-radius: var(--border-radius);\n  font-weight: 600;\n  color: var(--gauzy-text-color-1);\n  border: unset;\n}\n[_nghost-%COMP%]   .sub-item[_ngcontent-%COMP%]:hover {\n  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);\n}\n[_nghost-%COMP%]   .sub-item.custom[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n[_nghost-%COMP%]   .sub-item.mouse-hover[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  flex-wrap: nowrap;\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n\n.info[_ngcontent-%COMP%] {\n  padding: 11px 0;\n}\n.info[_ngcontent-%COMP%]   span[_ngcontent-%COMP%] {\n  margin: 0 0.625rem;\n}"]
      });
    }
  }
  return MenuItemComponent;
})();

/***/ }),

/***/ 64122:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: () => (/* binding */ SidebarMenuComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67269);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42089);
/* harmony import */ var _menu_items_concrete_menu_item_menu_item_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62362);






function SidebarMenuComponent_ng_container_1_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "ga-menu-item", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("selectedChange", function SidebarMenuComponent_ng_container_1_ng_container_1_Template_ga_menu_item_selectedChange_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r4);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r3.focusOn($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const item_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG().$implicit;
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("id", item_r1 == null ? null : item_r1.id)("item", item_r1)("selected", item_r1 === ctx_r2.selectedItem);
  }
}
function SidebarMenuComponent_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, SidebarMenuComponent_ng_container_1_ng_container_1_Template, 2, 3, "ng-container", 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const item_r1 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !(item_r1 == null ? null : item_r1.hidden));
  }
}
let SidebarMenuComponent = /*#__PURE__*/(() => {
  class SidebarMenuComponent {
    get selectedItem() {
      return this._sidebarMenuService.selectedItem;
    }
    set selectedItem(value) {
      this._sidebarMenuService.selectedItem = value;
      this._cdr.detectChanges();
    }
    constructor(_cdr, _sidebarMenuService) {
      this._cdr = _cdr;
      this._sidebarMenuService = _sidebarMenuService;
      this.items = [];
    }
    ngAfterContentChecked() {
      this._cdr.detectChanges();
    }
    ngAfterViewInit() {
      this._cdr.detectChanges();
    }
    /**
     * Sets the selected item in the sidebar menu and triggers change detection.
     *
     * @param event The menu item to focus on.
     */
    focusOn(event) {
      // Set the selected item in the sidebar menu
      this._sidebarMenuService.selectedItem = event;
      // Trigger change detection
      this._cdr.detectChanges();
    }
    static {
      this.ɵfac = function SidebarMenuComponent_Factory(t) {
        return new (t || SidebarMenuComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* .ChangeDetectorRef */ .gRc), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_services__WEBPACK_IMPORTED_MODULE_1__/* .SidebarMenuService */ .V));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: SidebarMenuComponent,
        selectors: [["ga-sidebar-menu"]],
        inputs: {
          items: "items"
        },
        decls: 2,
        vars: 1,
        consts: [[1, "menu-container"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [3, "id", "item", "selected", "selectedChange"]],
        template: function SidebarMenuComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, SidebarMenuComponent_ng_container_1_Template, 2, 1, "ng-container", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx.items);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_2__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_2__/* .NgIf */ .bT, _menu_items_concrete_menu_item_menu_item_component__WEBPACK_IMPORTED_MODULE_3__/* .MenuItemComponent */ .S],
        styles: ["[_nghost-%COMP%]   div.menu-container[_ngcontent-%COMP%] {\n  background-color: transparent;\n}"],
        changeDetection: 0
      });
    }
  }
  return SidebarMenuComponent;
})();

/***/ }),

/***/ 9199:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: () => (/* binding */ TooltipDirective)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);


let TooltipDirective = /*#__PURE__*/(() => {
  class TooltipDirective {
    constructor(el) {
      this.el = el;
    }
    ngOnDestroy() {
      if (this.popup) this.popup.remove();
    }
    /**
     * Handles the mouse enter event and creates a tooltip popup at the middle of the element.
     *
     * @return {void} This function does not return anything.
     */
    onMouseEnter() {
      const x = this.el.nativeElement.getBoundingClientRect().left + this.el.nativeElement.offsetWidth / 2; // Get the middle of the element
      const y = this.el.nativeElement.getBoundingClientRect().top + this.el.nativeElement.offsetHeight + 6; // Get the bottom of the element, plus a little extra
      this.createTooltipPopup(x, y);
    }
    /**
     * Removes the tooltip popup if it exists when the mouse leaves the element.
     *
     * @return {void} This function does not return anything.
     */
    onMouseLeave() {
      if (this.popup) this.popup.remove();
    }
    /**
     * Creates a tooltip popup at the specified coordinates.
     *
     * @param {number} x - The x-coordinate of the popup.
     * @param {number} y - The y-coordinate of the popup.
     * @return {void} This function does not return anything.
     */
    createTooltipPopup(x, y) {
      const popup = document.createElement('div');
      popup.innerHTML = "<i class='" + this.icon + "'></i>" + this.gaTooltip;
      popup.setAttribute('class', 'tooltip-container');
      popup.style.top = y.toString() + 'px';
      popup.style.left = x.toString() + 'px';
      document.body.appendChild(popup);
      this.popup = popup;
    }
    static {
      this.ɵfac = function TooltipDirective_Factory(t) {
        return new (t || TooltipDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* .ElementRef */ .aKT));
      };
    }
    static {
      this.ɵdir = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineDirective"] */ .FsC({
        type: TooltipDirective,
        selectors: [["", "gaTooltip", ""]],
        hostBindings: function TooltipDirective_HostBindings(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("mouseenter", function TooltipDirective_mouseenter_HostBindingHandler() {
              return ctx.onMouseEnter();
            })("mouseleave", function TooltipDirective_mouseleave_HostBindingHandler() {
              return ctx.onMouseLeave();
            });
          }
        },
        inputs: {
          gaTooltip: "gaTooltip",
          icon: "icon"
        }
      });
    }
  }
  return TooltipDirective;
})();

/***/ }),

/***/ 83014:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ui: () => (/* binding */ CoreModule)
/* harmony export */ });
/* unused harmony exports NbSimpleRoleProvider, NB_CORE_PROVIDERS */
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(42089);
/* harmony import */ var _angular_material_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92155);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54530);
/* harmony import */ var _nebular_auth__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5718);
/* harmony import */ var _nebular_security__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(77686);
/* harmony import */ var _auth_auth_module__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(25896);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50334);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(59076);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8890);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31200);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78731);
/* harmony import */ var _module_import_guard__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5803);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(82817);










const DATA_SERVICES = [];
class NbSimpleRoleProvider extends _nebular_security__WEBPACK_IMPORTED_MODULE_0__/* .NbRoleProvider */ .K4 {
  getRole() {
    // here you could provide any role based on any auth flow
    return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__.of)('guest');
  }
}
const NB_CORE_PROVIDERS = [...DATA_SERVICES, _nebular_security__WEBPACK_IMPORTED_MODULE_0__/* .NbSecurityModule */ .t5.forRoot({
  accessControl: {
    guest: {
      view: '*'
    },
    user: {
      parent: 'guest',
      create: '*',
      edit: '*',
      remove: '*'
    }
  }
}).providers, {
  provide: _nebular_security__WEBPACK_IMPORTED_MODULE_0__/* .NbRoleProvider */ .K4,
  useClass: NbSimpleRoleProvider
}, {
  provide: _angular_material_core__WEBPACK_IMPORTED_MODULE_2__/* .MAT_RIPPLE_GLOBAL_OPTIONS */ .$E,
  useExisting: _services__WEBPACK_IMPORTED_MODULE_3__/* .AppGlobalRippleOptions */ .X
}, _services__WEBPACK_IMPORTED_MODULE_4__/* .AnalyticsService */ .c, _services__WEBPACK_IMPORTED_MODULE_5__/* .LayoutService */ .Y, _services__WEBPACK_IMPORTED_MODULE_6__/* .SeoService */ .B, _services__WEBPACK_IMPORTED_MODULE_7__/* .JitsuService */ .z];
let CoreModule = /*#__PURE__*/(() => {
  class CoreModule {
    constructor(parentModule) {
      (0,_module_import_guard__WEBPACK_IMPORTED_MODULE_8__/* .throwIfAlreadyLoaded */ .J)(parentModule, 'CoreModule');
    }
    /**
     * Returns a ModuleWithProviders object that specifies the CoreModule and its providers.
     *
     * @return {ModuleWithProviders<CoreModule>} A ModuleWithProviders object with the CoreModule and its providers.
     */
    static forRoot() {
      return {
        ngModule: CoreModule,
        providers: [...NB_CORE_PROVIDERS]
      };
    }
    static {
      this.ɵfac = function CoreModule_Factory(t) {
        return new (t || CoreModule)(_angular_core__WEBPACK_IMPORTED_MODULE_9__/* ["ɵɵinject"] */ .KVO(CoreModule, 12));
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_9__/* ["ɵɵdefineNgModule"] */ .$C({
        type: CoreModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_9__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_10__/* .CommonModule */ .MD, _auth_auth_module__WEBPACK_IMPORTED_MODULE_11__/* .AuthModule */ .r, _nebular_auth__WEBPACK_IMPORTED_MODULE_12__/* .NbAuthModule */ .bI]
      });
    }
  }
  return CoreModule;
})();

/***/ }),

/***/ 11915:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   I: () => (/* binding */ APIInterceptor)
/* harmony export */ });
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57328);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);




// Base URL
const baseUrl = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.API_BASE_URL;
let APIInterceptor = /*#__PURE__*/(() => {
  class APIInterceptor {
    constructor() {
      this.logging = false;
    }
    /**
     * Intercepts HTTP requests and modifies the URL if it starts with the API prefix.
     * @param request The outgoing HTTP request.
     * @param next The next handler in the HTTP request chain.
     * @returns An observable of the HTTP event.
     */
    intercept(request, next) {
      if (baseUrl && request.url.startsWith(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4)) {
        // Base URL is defined, modify the URL
        const url = baseUrl + request.url;
        // Log the request if logging is enabled
        if (this.logging) {
          console.log(`API Request: ${request.url} -> ${url}`);
        }
        // Clone the request and modify the URL
        request = request.clone({
          url
        });
      }
      return next.handle(request);
    }
    static {
      this.ɵfac = function APIInterceptor_Factory(t) {
        return new (t || APIInterceptor)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: APIInterceptor,
        factory: APIInterceptor.ɵfac
      });
    }
  }
  return APIInterceptor;
})();

/***/ }),

/***/ 86357:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: () => (/* binding */ HubstaffTokenInterceptor)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66791);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(30057);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45484);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76104);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97957);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(85869);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(12127);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(82817);







let HubstaffTokenInterceptor = /*#__PURE__*/(() => {
  class HubstaffTokenInterceptor {
    constructor(injector) {
      this.injector = injector;
      this.refreshTokenInProgress = false;
      this.refreshTokenSubject = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .BehaviorSubject */ .t(null);
    }
    /**
     * Intercepts HTTP requests and handles authentication token refresh if necessary.
     *
     * @param {HttpRequest<any>} req - The HTTP request to be intercepted.
     * @param {HttpHandler} next - The next HTTP handler in the chain.
     * @return {Observable<HttpEvent<any>>} - The intercepted HTTP request or an error.
     */
    intercept(req, next) {
      if (!req.url.includes('/integration/hubstaff/')) {
        return next.handle(req);
      }
      // source from https://github.com/melcor76/interceptors/blob/master/src/app/interceptors/auth.interceptor.ts
      return next.handle(req).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .catchError */ .W)(error => {
        if (error && error.status === _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.UNAUTHORIZED) {
          // HttpStatus.UNAUTHORIZED errors are most likely going to be because we have an expired token that we need to refresh.
          if (this.refreshTokenInProgress) {
            // If refreshTokenInProgress is true, we will wait until refreshTokenSubject has a non-null value
            // which means the new token is ready and we can retry the request again
            return this.refreshTokenSubject.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .filter */ .p)(result => result !== null), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .take */ .s)(1), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .switchMap */ .n)(access_token => next.handle(this.addAuthenticationToken(req, access_token))));
          } else {
            this.refreshTokenInProgress = true;
            // Set the refreshTokenSubject to null so that subsequent API calls will wait until the new token has been retrieved
            this.refreshTokenSubject.next(null);
            return this.refreshAccessToken().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .switchMap */ .n)(({
              access_token
            }) => {
              this.refreshTokenSubject.next(access_token);
              return next.handle(this.addAuthenticationToken(req, access_token));
            }),
            // When the call to refreshToken completes we reset the refreshTokenInProgress to false
            // for the next time the token needs to be refreshed
            (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .finalize */ .j)(() => this.refreshTokenInProgress = false));
          }
        } else {
          // If the error is not 401, we need to rethrow it so it can be handled by other interceptors or error handlers
          return (0,rxjs__WEBPACK_IMPORTED_MODULE_7__/* .throwError */ .$)(error);
        }
      }));
    }
    /**
     * Refreshes the access token by calling the HubstaffService.
     * @returns An Observable that emits the response of the token refresh request.
     */
    refreshAccessToken() {
      const service = this.injector.get(_services__WEBPACK_IMPORTED_MODULE_8__/* .HubstaffService */ .r);
      return service.refreshToken();
    }
    /**
     * Adds an authentication token to the HTTP request body.
     * @param request The outgoing HTTP request.
     * @param token The authentication token to be added.
     * @returns A new HttpRequest object with the token added to the body.
     */
    addAuthenticationToken(request, token) {
      return request.clone({
        body: {
          token
        }
      });
    }
    static {
      this.ɵfac = function HubstaffTokenInterceptor_Factory(t) {
        return new (t || HubstaffTokenInterceptor)(_angular_core__WEBPACK_IMPORTED_MODULE_9__/* ["ɵɵinject"] */ .KVO(_angular_core__WEBPACK_IMPORTED_MODULE_9__/* .Injector */ .zZn));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_9__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: HubstaffTokenInterceptor,
        factory: HubstaffTokenInterceptor.ɵfac
      });
    }
  }
  return HubstaffTokenInterceptor;
})();

/***/ }),

/***/ 54631:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: () => (/* binding */ LanguageInterceptor)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _services_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19993);







let LanguageInterceptor = /*#__PURE__*/(() => {
  class LanguageInterceptor {
    constructor(store, _i18nService) {
      this.store = store;
      this._i18nService = _i18nService;
      this.logging = false;
      if (this.logging) {
        console.log('language interceptor constructor: %s', store.preferredLanguage);
      }
    }
    /**
     * Intercepts HTTP requests to add a language header.
     * @param request The outgoing HTTP request.
     * @param next The next handler in the interceptor chain.
     * @returns An observable of the HTTP event.
     */
    intercept(request, next) {
      // Get the preferred language from the store or the browser language
      const language = this.store?.preferredLanguage ?? this._i18nService?.getBrowserLang() ?? _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.LanguagesEnum.ENGLISH;
      // Log the browser language
      if (this.logging) {
        console.log('language interceptor browser lang', this._i18nService?.getBrowserLang());
      }
      // Clone the request and add the language header
      request = request.clone({
        setHeaders: {
          Language: language
        }
      });
      // Pass the cloned request to the next interceptor in the chain
      return next.handle(request);
    }
    static {
      this.ɵfac = function LanguageInterceptor_Factory(t) {
        return new (t || LanguageInterceptor)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_services_store__WEBPACK_IMPORTED_MODULE_2__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_3__/* .I18nService */ .W));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: LanguageInterceptor,
        factory: LanguageInterceptor.ɵfac
      });
    }
  }
  return LanguageInterceptor;
})();

/***/ }),

/***/ 70833:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   I: () => (/* binding */ TenantInterceptor)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(55598);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6925);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76104);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97957);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(82817);








let TenantInterceptor = class TenantInterceptor {
  constructor(store) {
    this.store = store;
  }
  /**
   * Intercept HTTP requests and modify them based on user and organization information.
   * @param request - The HttpRequest instance.
   * @param next - The HttpHandler instance.
   * @returns An Observable of HttpEvent<any>.
   */
  intercept(request, next) {
    const storeOrganization$ = this.store.selectedOrganization$;
    const storeUser$ = this.store.user$;
    /** */
    return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .combineLatest */ .z)([storeUser$, storeOrganization$]).pipe(
    // Take only the first emission to avoid multiple subscriptions
    (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .take */ .s)(1), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(([user, organization]) => {
      if (!!user) {
        // Bind tenantId for DELETE http method
        const tenantId = user.tenantId;
        // Clone the request to modify it
        request = request.clone({
          ...(request.method === _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.RequestMethodEnum.DELETE ? {
            setParams: {
              tenantId,
              ...(organization ? {
                organizationId: organization.id
              } : {})
            }
          } : {}),
          setHeaders: {
            'Tenant-Id': `${tenantId}`,
            ...(organization ? {
              'Organization-Id': `${organization.id}`
            } : {})
          }
        });
      }
    }),
    // Handle component lifecycle to avoid memory leaks
    (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).pipe(
    // Switch back to the original observable chain to perform the subscription
    (0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .switchMap */ .n)(() => next.handle(request)));
  }
  static {
    this.ɵfac = function TenantInterceptor_Factory(t) {
      return new (t || TenantInterceptor)(_angular_core__WEBPACK_IMPORTED_MODULE_6__/* ["ɵɵinject"] */ .KVO(_services_store__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il));
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: TenantInterceptor,
      factory: TenantInterceptor.ɵfac
    });
  }
};
TenantInterceptor = (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .UntilDestroy */ .d)(), (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__metadata */ .Sn)("design:paramtypes", [_services_store__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il])], TenantInterceptor);

/***/ }),

/***/ 48686:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Z: () => (/* binding */ TokenInterceptor)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _services_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84076);




let TokenInterceptor = /*#__PURE__*/(() => {
  class TokenInterceptor {
    constructor(store) {
      this.store = store;
    }
    /**
     * Intercepts an HTTP request and adds an authorization token to the request headers.
     *
     * @param {HttpRequest<any>} request - The outgoing HTTP request.
     * @param {HttpHandler} next - The next handler in the interceptor chain.
     * @return {Observable<HttpEvent<any>>} - An observable of the HTTP event.
     */
    intercept(request, next) {
      const token = this.store.token;
      request = request.clone({
        setHeaders: {
          Authorization: `Bearer ${token}`
        }
      });
      return next.handle(request);
    }
    static {
      this.ɵfac = function TokenInterceptor_Factory(t) {
        return new (t || TokenInterceptor)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵinject"] */ .KVO(_services_store__WEBPACK_IMPORTED_MODULE_1__/* .Store */ .il));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: TokenInterceptor,
        factory: TokenInterceptor.ɵfac
      });
    }
  }
  return TokenInterceptor;
})();

/***/ }),

/***/ 5803:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: () => (/* binding */ throwIfAlreadyLoaded)
/* harmony export */ });
/**
 * This function checks if a given module has already been loaded into the Angular application.
 * If the module has been loaded, it throws an error to prevent double-loading of core modules,
 * which can lead to unexpected behavior or errors.
 *
 * @param parentModule - The parent module to check if it's already loaded.
 * @param moduleName - The name of the module being checked, used for error messaging.
 */
function throwIfAlreadyLoaded(parentModule, moduleName) {
  if (parentModule) {
    throw new Error(`${moduleName} has already been loaded. Import core modules in the AppModule only.`);
  }
}

/***/ }),

/***/ 4435:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () => (/* binding */ SentryErrorHandler)
/* harmony export */ });
/* harmony import */ var _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16223);
/* harmony import */ var _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58973);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34858);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);



let SentryErrorHandler = /*#__PURE__*/(() => {
  class SentryErrorHandler {
    constructor(environment) {
      this.environment = environment;
    }
    /**
     * Handles an error by capturing it with Sentry and optionally showing a report dialog.
     *
     * @param error - The error to handle.
     */
    handleError(error) {
      // Check if Sentry DSN is provided in the environment configuration
      if (this.environment.SENTRY_DSN) {
        // Capture the error with Sentry and get the event ID
        const eventId = _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_0__/* .captureException */ .Cp(error.originalError || error);
        // Optionally show the Sentry report dialog to the user
        _sentry_angular_ivy__WEBPACK_IMPORTED_MODULE_1__/* .showReportDialog */ .mn({
          eventId
        });
      }
      // Rethrow the error to ensure that it is still propagated
      throw error;
    }
    static {
      this.ɵfac = function SentryErrorHandler_Factory(t) {
        return new (t || SentryErrorHandler)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_3__/* .GAUZY_ENV */ .V));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: SentryErrorHandler,
        factory: SentryErrorHandler.ɵfac
      });
    }
  }
  return SentryErrorHandler;
})();

/***/ }),

/***/ 59076:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   c: () => (/* binding */ AnalyticsService)
/* harmony export */ });
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76149);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51717);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42089);






let AnalyticsService = /*#__PURE__*/(() => {
  class AnalyticsService {
    constructor(location, router) {
      this.location = location;
      this.router = router;
      this.enabled = false;
    }
    trackPageViews() {
      if (this.enabled) {
        this.router.events.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_0__/* .filter */ .p)(event => event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_1__/* .NavigationEnd */ .wF)).subscribe(() => {
          ga('send', {
            hitType: 'page_view',
            page: this.location.path()
          });
        });
      }
    }
    trackEvent(eventName) {
      if (this.enabled) {
        ga('send', 'event', eventName);
      }
    }
    static {
      this.ɵfac = function AnalyticsService_Factory(t) {
        return new (t || AnalyticsService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_angular_common__WEBPACK_IMPORTED_MODULE_3__/* .Location */ .aZ), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_1__/* .Router */ .Ix));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: AnalyticsService,
        factory: AnalyticsService.ɵfac
      });
    }
  }
  return AnalyticsService;
})();

/***/ }),

/***/ 63119:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   C: () => (/* binding */ JitsuAnalyticsEventsEnum)
/* harmony export */ });
var JitsuAnalyticsEventsEnum = /*#__PURE__*/function (JitsuAnalyticsEventsEnum) {
  JitsuAnalyticsEventsEnum["USER_CREATED"] = "UserCreated";
  JitsuAnalyticsEventsEnum["USER_SIGNED_IN"] = "UserSignedIn";
  JitsuAnalyticsEventsEnum["USER_CLICK_DOWNLOAD_APP"] = "UserClickDownloadApp";
  JitsuAnalyticsEventsEnum["USER_UPGRADED"] = "UserUpgraded";
  JitsuAnalyticsEventsEnum["BUTTON_CLICKED"] = "ButtonClicked";
  JitsuAnalyticsEventsEnum["PAGE_VIEW"] = "PageView";
  JitsuAnalyticsEventsEnum["PAGE_CREATED"] = "PageCreated";
  return JitsuAnalyticsEventsEnum;
}(JitsuAnalyticsEventsEnum || {});

/***/ }),

/***/ 78731:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: () => (/* binding */ JitsuService)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26699);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76149);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51717);
/* harmony import */ var _jitsu_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43807);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57328);
/* harmony import */ var _event_type__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63119);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42089);










let JitsuService = /*#__PURE__*/(() => {
  class JitsuService {
    constructor(location, router) {
      this.location = location;
      this.router = router;
      this.jitsuClient = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.JITSU_BROWSER_URL && _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.JITSU_BROWSER_WRITE_KEY ? (0,_jitsu_js__WEBPACK_IMPORTED_MODULE_0__/* .jitsuAnalytics */ .u0)({
        host: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.JITSU_BROWSER_URL,
        writeKey: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.JITSU_BROWSER_WRITE_KEY,
        debug: false,
        echoEvents: false
      }) : _jitsu_js__WEBPACK_IMPORTED_MODULE_0__/* .emptyAnalytics */ .IW;
    }
    identify(id, traits) {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* () {
        return yield _this.jitsuClient.identify(id, traits);
      })();
    }
    trackPageViews() {
      this.router.events.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .filter */ .p)(event => event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_4__/* .NavigationEnd */ .wF)).subscribe(() => {
        this.page(_event_type__WEBPACK_IMPORTED_MODULE_5__/* .JitsuAnalyticsEventsEnum */ .C.PAGE_VIEW, this.location.path());
      });
    }
    trackEvents(event, properties) {
      var _this2 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* () {
        return yield _this2.jitsuClient.track(event, properties);
      })();
    }
    page(name, url) {
      var _this3 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* () {
        return yield _this3.jitsuClient.page({
          name: name,
          path: url,
          environment: window.navigator.platform,
          context: {
            page: {
              url: url
            }
          }
        });
      })();
    }
    // this deletes the data store
    reset() {
      var _this4 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* () {
        return yield _this4.jitsuClient.reset();
      })();
    }
    group(id, traits) {
      var _this5 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* () {
        return yield _this5.jitsuClient.group(id, traits);
      })();
    }
    static {
      this.ɵfac = function JitsuService_Factory(t) {
        return new (t || JitsuService)(_angular_core__WEBPACK_IMPORTED_MODULE_6__/* ["ɵɵinject"] */ .KVO(_angular_common__WEBPACK_IMPORTED_MODULE_7__/* .Location */ .aZ), _angular_core__WEBPACK_IMPORTED_MODULE_6__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_4__/* .Router */ .Ix));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: JitsuService,
        factory: JitsuService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return JitsuService;
})();

/***/ }),

/***/ 50334:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: () => (/* binding */ AppGlobalRippleOptions)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let AppGlobalRippleOptions = /*#__PURE__*/(() => {
  class AppGlobalRippleOptions {
    constructor() {
      /** Whether ripples should be disabled globally. */
      this.disabled = false;
    }
    /**
     * Toggles the Ripple effect.
     * @param enabled Whether to enable or disable the Ripple effect.
     * For more information on updating global options at runtime, refer to:
     * {@link https://material.angular.io/components/ripple/overview#updating-global-options-at-runtime}
     */
    toggle(enabled) {
      // Toggles the disabled state based on the provided value
      this.disabled = !enabled;
    }
    static {
      this.ɵfac = function AppGlobalRippleOptions_Factory(t) {
        return new (t || AppGlobalRippleOptions)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: AppGlobalRippleOptions,
        factory: AppGlobalRippleOptions.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return AppGlobalRippleOptions;
})();

/***/ }),

/***/ 96238:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   V: () => (/* binding */ AppInitService)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76149);
/* harmony import */ var _store_store_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84076);
/* harmony import */ var _users__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58988);
/* harmony import */ var _auth_auth_strategy_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29448);
/* harmony import */ var _permission_permissions_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(87173);












let AppInitService = /*#__PURE__*/(() => {
  class AppInitService {
    constructor(_router, _store, _usersService, _authStrategy, _permissionsService) {
      this._router = _router;
      this._store = _store;
      this._usersService = _usersService;
      this._authStrategy = _authStrategy;
      this._permissionsService = _permissionsService;
    }
    init() {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        try {
          const id = _this._store.userId;
          if (id) {
            const relations = ['role', 'tenant', 'tenant.featureOrganizations', 'tenant.featureOrganizations.feature'];
            _this.user = yield _this._usersService.getMe(relations, true);
            // Electron authentication
            _this._authStrategy.electronAuthentication({
              user: _this.user,
              token: _this._store.token
            });
            //When a new user registers & logs in for the first time, he/she does not have tenantId.
            //In this case, we have to redirect the user to the onboarding page to create their first organization, tenant, role.
            if (!_this.user?.tenantId) {
              _this._router.navigate(['/onboarding/tenant']);
              return;
            }
            _this._store.user = _this.user;
            //Load permissions
            _this._permissionsService.loadPermissions();
            //tenant enabled/disabled features for relatives organizations
            const {
              tenant
            } = _this.user;
            _this._store.featureTenant = tenant.featureOrganizations.filter(item => !item.organizationId);
          }
        } catch (error) {
          console.log(error);
        }
      })();
    }
    static {
      this.ɵfac = function AppInitService_Factory(t) {
        return new (t || AppInitService)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_2__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_store_store_service__WEBPACK_IMPORTED_MODULE_3__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_users__WEBPACK_IMPORTED_MODULE_4__/* .UsersService */ .g), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_auth_auth_strategy_service__WEBPACK_IMPORTED_MODULE_5__/* .AuthStrategy */ .m), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_permission_permissions_service__WEBPACK_IMPORTED_MODULE_6__/* .PermissionsService */ .K));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: AppInitService,
        factory: AppInitService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return AppInitService;
})();

/***/ }),

/***/ 29794:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: () => (/* binding */ GoogleMapsLoaderService)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);


let GoogleMapsLoaderService = /*#__PURE__*/(() => {
  class GoogleMapsLoaderService {
    /**
     * Loads the Google Maps API.
     * @param apiKey The Google Maps API key.
     * @returns A promise that resolves when the API is loaded.
     */
    load(apiKey) {
      const src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places,drawing&callback=__onGoogleLoaded`;
      return new Promise(/*#__PURE__*/function () {
        var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* (resolve, reject) {
          window['__onGoogleLoaded'] = ev => {
            resolve('google maps api loaded');
          };
          const script = document.createElement('script');
          script.src = src;
          script.async = true;
          script.defer = true;
          script.type = 'text/javascript';
          document.getElementsByTagName('head')[0].appendChild(script);
        });
        return function (_x, _x2) {
          return _ref.apply(this, arguments);
        };
      }());
    }
    static {
      this.ɵfac = function GoogleMapsLoaderService_Factory(t) {
        return new (t || GoogleMapsLoaderService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: GoogleMapsLoaderService,
        factory: GoogleMapsLoaderService.ɵfac
      });
    }
  }
  return GoogleMapsLoaderService;
})();

/***/ }),

/***/ 29448:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: () => (/* binding */ AuthStrategy)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(26699);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65670);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(54530);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24530);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(76447);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(97957);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(45484);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(96641);
/* harmony import */ var _nebular_auth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5718);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73600);
/* harmony import */ var _auth_cookie_helper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(86097);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(76149);
/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(92674);
/* harmony import */ var _store_store_service__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(84076);
/* harmony import */ var _time_tracker_time_tracker_service__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(29610);
/* harmony import */ var _timesheet_timesheet_filter_service__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(65465);
/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(5483);
/* harmony import */ var _electron_service__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(13010);






















let AuthStrategy = /*#__PURE__*/(() => {
  class AuthStrategy extends _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthStrategy */ .mH {
    static {
      this.config = {
        login: {
          redirect: {
            success: '/',
            failure: null
          },
          defaultErrors: ['Login/Email combination is not correct, please try again.'],
          defaultMessages: ['You have been successfully logged in.']
        },
        register: {
          redirect: {
            success: '/',
            failure: null
          },
          defaultErrors: ['Something went wrong, please try again.'],
          defaultMessages: ['You have been successfully registered.']
        },
        logout: {
          redirect: {
            success: '/',
            failure: null
          },
          defaultErrors: ['Something went wrong, please try again.'],
          defaultMessages: ['You have been successfully logged out.']
        },
        requestPass: {
          redirect: {
            success: '/',
            failure: null
          },
          defaultErrors: ['Something went wrong, please try again.'],
          defaultMessages: ['Reset password instructions have been sent to your email.']
        },
        resetPass: {
          redirect: {
            success: '/',
            failure: null
          },
          resetPasswordTokenKey: 'reset_password_token',
          defaultErrors: ['Password Reset Failed.'],
          defaultMessages: ['Your password has been successfully changed.']
        }
      };
    }
    constructor(route, authService, store, timeTrackerService, timesheetFilterService, cookieService, electronService) {
      super();
      this.route = route;
      this.authService = authService;
      this.store = store;
      this.timeTrackerService = timeTrackerService;
      this.timesheetFilterService = timesheetFilterService;
      this.cookieService = cookieService;
      this.electronService = electronService;
      this.logout$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__/* .Subject */ .B();
      this.logout$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .distinctUntilChange */ .nI)(), (0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(() => this._preLogout())).subscribe();
    }
    static setup(options) {
      return [AuthStrategy, options];
    }
    authenticate(data) {
      const {
        email,
        password
      } = data;
      return this.login({
        email,
        password
      }).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(() => this.rememberMe(data)));
    }
    /**
     * Integrate client side remember me feature
     */
    rememberMe(data) {
      const rememberMe = !!data.rememberMe;
      if (rememberMe) {
        this.cookieService.set('email', data.email?.trim());
        this.cookieService.set('rememberMe', 'true');
      } else {
        this.cookieService.delete('rememberMe');
        this.cookieService.delete('email');
      }
    }
    /**
     *
     * @param data
     * @returns
     */
    register(data) {
      const {
        email,
        fullName,
        password,
        confirmPassword,
        tenant,
        tags,
        preferredLanguage = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.LanguagesEnum.ENGLISH
      } = data;
      if (password !== confirmPassword) {
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_5__.of)(new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(false, null, null, ["The passwords don't match."]));
      }
      /**
       *
       */
      const register = {
        user: {
          firstName: fullName ? fullName.split(' ').slice(0, -1).join(' ') : null,
          lastName: fullName ? fullName.split(' ').slice(-1).join(' ') : null,
          email: email?.trim(),
          tenant,
          tags,
          preferredLanguage
        },
        password,
        confirmPassword
      };
      return this.authService.register(register).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .switchMap */ .n)(res => {
        if (res.status === 400) {
          throw new Error(res.message);
        }
        const user = res;
        if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .isNotEmpty */ .hj)(user)) {
          return this.login({
            email,
            password
          });
        } else {
          return rxjs__WEBPACK_IMPORTED_MODULE_7__/* .EMPTY */ .w; // Ensure an observable is returned
        }
      }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .catchError */ .W)(err => {
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_5__.of)(new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(false, err, false, AuthStrategy.config.register.defaultErrors, [AuthStrategy.config.register.defaultErrors]));
      }));
    }
    logout() {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_9__/* .from */ .H)(this._logout());
    }
    /**
     * Forgot password request strategy
     *
     * @param data
     * @returns
     */
    requestPassword(data) {
      const {
        email
      } = data;
      return this.authService.requestPassword({
        email
      }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__/* .map */ .T)(value => {
        if (typeof value === 'boolean') {
          return new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(true, value, false, [], AuthStrategy.config.requestPass.defaultMessages);
        }
        return new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(false, value.response, false, value.message || AuthStrategy.config.requestPass.defaultErrors);
      }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .catchError */ .W)(error => {
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_5__.of)(new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(false, error, false, AuthStrategy.config.requestPass.defaultErrors, [AuthStrategy.config.requestPass.defaultErrors]));
      }));
    }
    resetPassword(data) {
      const {
        password,
        confirmPassword
      } = data;
      const token = this.route.snapshot.queryParamMap.get('token');
      if (password !== confirmPassword) {
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_5__.of)(new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(false, null, null, ['The password and confirmation password do not match.']));
      }
      return this.authService.resetPassword({
        token,
        password,
        confirmPassword
      }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__/* .map */ .T)(res => {
        if (res.status === 400) {
          throw new Error(res.message);
        }
        return new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(true, res, AuthStrategy.config.resetPass.redirect.success, [], AuthStrategy.config.resetPass.defaultMessages);
      }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .catchError */ .W)(err => {
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_5__.of)(new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(false, err, false, AuthStrategy.config.resetPass.defaultErrors, [AuthStrategy.config.resetPass.defaultErrors]));
      }));
    }
    refreshToken(data) {
      throw new Error('Not implemented yet');
    }
    _logout() {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A)(function* () {
        const preferredLanguage = _this.store.preferredLanguage;
        _this.logout$.next(true);
        _this.store.clear();
        _this.store.serverConnection = 200;
        _this.store.preferredLanguage = preferredLanguage;
        if (_this.electronService.isElectron) {
          _this.electronService.ipcRenderer.send('logout');
        }
        return new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(true, null, AuthStrategy.config.logout.redirect.success, [], AuthStrategy.config.logout.defaultMessages);
      })();
    }
    /**
     * Performs pre-logout actions.
     * Clears time tracking and timesheet filter, and logs out if the user is authenticated.
     */
    _preLogout() {
      var _this2 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A)(function* () {
        if (_this2.store.token) {
          _this2.authService.doLogout().subscribe();
        }
        //remove time tracking/timesheet filter just before logout
        if (_this2.store.user && _this2.store.user.employee) {
          if (_this2.timeTrackerService.running) {
            if (_this2.timeTrackerService.timerSynced.isExternalSource) {
              _this2.timeTrackerService.remoteToggle();
            } else {
              yield _this2.timeTrackerService.toggle();
            }
          }
          _this2.timeTrackerService.clearTimeTracker();
          _this2.timesheetFilterService.clear();
        }
        // Delete cookies
        (0,_auth_cookie_helper__WEBPACK_IMPORTED_MODULE_12__/* .deleteCookie */ .Yj)('userId', {
          SameSite: 'None',
          Secure: true
        }); // Default path
        (0,_auth_cookie_helper__WEBPACK_IMPORTED_MODULE_12__/* .deleteCookie */ .Yj)('token', {
          SameSite: 'None',
          Secure: true
        }); // Default path
        (0,_auth_cookie_helper__WEBPACK_IMPORTED_MODULE_12__/* .deleteCookie */ .Yj)('refresh_token', {
          SameSite: 'None',
          Secure: true
        }); // Default path
      })();
    }
    login(loginInput) {
      loginInput.email = loginInput.email?.trim();
      return this.authService.login(loginInput).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__/* .map */ .T)(res => {
        let user, token, refresh_token;
        if (res) {
          user = res.user;
          token = res.token;
          refresh_token = res.refresh_token;
        }
        if (!user) {
          return new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(false, res, false, AuthStrategy.config.login.defaultErrors);
        }
        this.store.userId = user.id;
        this.store.token = token;
        this.store.refresh_token = refresh_token;
        this.store.organizationId = user?.employee?.organizationId;
        this.store.tenantId = user?.tenantId;
        this.store.user = user;
        this.electronAuthentication({
          user,
          token
        });
        return new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(true, res, this.route.snapshot.queryParams['returnUrl'] || AuthStrategy.config.login.redirect.success, [], AuthStrategy.config.login.defaultMessages);
      }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .catchError */ .W)(err => {
        console.log(err);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_5__.of)(new _nebular_auth__WEBPACK_IMPORTED_MODULE_1__/* .NbAuthResult */ .qD(false, err, false, AuthStrategy.config.login.defaultErrors, [AuthStrategy.config.login.defaultErrors]));
      }));
    }
    electronAuthentication({
      user,
      token
    }) {
      try {
        if (this.electronService.isElectron) {
          this.electronService.ipcRenderer.send('auth_success', {
            user: user,
            token: token,
            userId: user.id,
            employeeId: user.employee ? user.employee.id : null,
            organizationId: user.employee ? user.employee.organizationId : null,
            tenantId: user.tenantId ? user.tenantId : null
          });
        }
      } catch (error) {
        console.log(error);
      }
    }
    static {
      this.ɵfac = function AuthStrategy_Factory(t) {
        return new (t || AuthStrategy)(_angular_core__WEBPACK_IMPORTED_MODULE_13__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_14__/* .ActivatedRoute */ .nX), _angular_core__WEBPACK_IMPORTED_MODULE_13__/* ["ɵɵinject"] */ .KVO(_auth_service__WEBPACK_IMPORTED_MODULE_15__/* .AuthService */ .u), _angular_core__WEBPACK_IMPORTED_MODULE_13__/* ["ɵɵinject"] */ .KVO(_store_store_service__WEBPACK_IMPORTED_MODULE_16__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_13__/* ["ɵɵinject"] */ .KVO(_time_tracker_time_tracker_service__WEBPACK_IMPORTED_MODULE_17__/* .TimeTrackerService */ .Bj), _angular_core__WEBPACK_IMPORTED_MODULE_13__/* ["ɵɵinject"] */ .KVO(_timesheet_timesheet_filter_service__WEBPACK_IMPORTED_MODULE_18__/* .TimesheetFilterService */ .WG), _angular_core__WEBPACK_IMPORTED_MODULE_13__/* ["ɵɵinject"] */ .KVO(ngx_cookie_service__WEBPACK_IMPORTED_MODULE_19__/* .CookieService */ .O), _angular_core__WEBPACK_IMPORTED_MODULE_13__/* ["ɵɵinject"] */ .KVO(_electron_service__WEBPACK_IMPORTED_MODULE_20__/* .ElectronService */ .Y));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_13__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: AuthStrategy,
        factory: AuthStrategy.ɵfac
      });
    }
  }
  return AuthStrategy;
})();

/***/ }),

/***/ 92674:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   u: () => (/* binding */ AuthService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43038);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);





let AuthService = /*#__PURE__*/(() => {
  class AuthService {
    constructor(http) {
      this.http = http;
    }
    isAuthenticated() {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/authenticated`));
    }
    confirmEmail(body) {
      return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/email/verify`, body);
    }
    login(loginInput) {
      return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/login`, loginInput);
    }
    /**
     * Sign in to workspaces with the provided input.
     *
     * @param input - The input containing user login information.
     * @returns An observable of the response for signing in to workspaces.
     */
    findWorkspaces(input) {
      try {
        // Send a POST request to the server endpoint with the provided input
        return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/signin.email.password`, input);
      } catch (error) {
        console.log('Error while signing in workspaces: %s', error?.message);
        // Handle errors appropriately (e.g., log, throw, etc.)
        throw error;
      }
    }
    /**
     *
     */
    sendSigninCode(input) {
      try {
        // Send a POST request to the server endpoint with the provided input
        return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/signin.email`, input);
      } catch (error) {
        console.log('Error while sending magic code: %s', error?.message);
        // Handle errors appropriately (e.g., log, throw, etc.)
        throw error;
      }
    }
    /**
     *
     */
    confirmSignInByCode(input) {
      try {
        // Send a POST request to the server endpoint with the provided input
        return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/signin.email/confirm`, input);
      } catch (error) {
        console.log('Error while confirm signin by email & magic code: %s', error?.message);
        // Handle errors appropriately (e.g., log, throw, etc.)
        throw error;
      }
    }
    /**
     * Sign in to a specific tenant workspace using the provided input.
     *
     * @param input - The input containing user email and token.
     * @returns An observable of the response for signing in to the specific tenant workspace.
     */
    signinWorkspaceByToken(input) {
      try {
        // Send a POST request to the server endpoint with the provided input
        return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/signin.workspace`, input);
      } catch (error) {
        console.log('Error while signing in specific tenant workspace: %s', error?.message);
        // Handle errors appropriately (e.g., log, throw, etc.)
        throw error;
      }
    }
    /**
     * Logout API Route
     *
     * @returns
     */
    doLogout() {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/logout`);
    }
    register(input) {
      return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/register`, input);
    }
    requestPassword(requestPasswordInput) {
      return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/request-password`, requestPasswordInput);
    }
    resetPassword(resetPasswordInput) {
      return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/reset-password`, resetPasswordInput);
    }
    /**
     * Checks if the current user has the specified roles.
     *
     * @param {RolesEnum[]} roles - An array of roles to check.
     * @return {Observable<boolean>} An observable that emits a boolean indicating whether the user has the specified roles.
     */
    hasRole(roles) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/role`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          roles
        })
      });
    }
    /**
     * Checks if the user has the specified permissions.
     *
     * @param {...PermissionsEnum[]} permissions - The permissions to check.
     * @return {Observable<boolean>} An observable that emits a boolean indicating whether the user has the specified permissions.
     */
    hasPermissions(...permissions) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/permissions`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          permissions
        })
      });
    }
    /**
     * GET access token from refresh token
     *
     * @param refresh_token
     * @returns
     */
    refreshToken(refresh_token) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/auth/refresh-token`, {
        refresh_token
      }));
    }
    static {
      this.ɵfac = function AuthService_Factory(t) {
        return new (t || AuthService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: AuthService,
        factory: AuthService.ɵfac
      });
    }
  }
  return AuthService;
})();

/***/ }),

/***/ 13010:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Y: () => (/* binding */ ElectronService)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);


let ElectronService = /*#__PURE__*/(() => {
  class ElectronService {
    /**
     * Checks if the application is running in the Electron environment.
     */
    get isElectron() {
      return !!(window && window.process && window.process.type);
    }
    constructor() {
      var _this = this;
      // Conditional imports
      if (this.isElectron) {
        this.ipcRenderer = window['require']('electron').ipcRenderer;
        this.remote = window['require']('@electron/remote');
        this.shell = window['require']('electron').shell;
        this.desktopCapturer = {
          getSources: function () {
            var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* (opts) {
              return yield _this.ipcRenderer.invoke('DESKTOP_CAPTURER_GET_SOURCES', opts);
            });
            return function getSources(_x) {
              return _ref.apply(this, arguments);
            };
          }()
        };
      }
    }
    static {
      this.ɵfac = function ElectronService_Factory(t) {
        return new (t || ElectronService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: ElectronService,
        factory: ElectronService.ɵfac
      });
    }
  }
  return ElectronService;
})();

/***/ }),

/***/ 15292:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: () => (/* binding */ ChangelogService)
/* harmony export */ });
/* harmony import */ var rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66791);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30729);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(47122);






let ChangelogService = /*#__PURE__*/(() => {
  class ChangelogService {
    constructor(http) {
      this.http = http;
      this._changelogs$ = new rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__/* .BehaviorSubject */ .t([]);
      this.changelogs$ = this._changelogs$.asObservable();
    }
    getAll(request) {
      const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toParams */ .SV)(request);
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/changelog`, {
        params
      }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(({
        items
      }) => this._changelogs$.next(items)));
    }
    static {
      this.ɵfac = function ChangelogService_Factory(t) {
        return new (t || ChangelogService)(_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_5__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: ChangelogService,
        factory: ChangelogService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return ChangelogService;
})();

/***/ }),

/***/ 49006:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   oO: () => (/* binding */ EmployeeStore)
/* harmony export */ });
/* unused harmony exports EmployeeAkitaStore, EmployeeAkitaQuery */
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55598);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(66791);
/* harmony import */ var _datorama_akita__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34249);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);





let EmployeeAkitaStore = class EmployeeAkitaStore extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Store */ .il {
  constructor() {
    super({});
  }
  static {
    this.ɵfac = function EmployeeAkitaStore_Factory(t) {
      return new (t || EmployeeAkitaStore)();
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: EmployeeAkitaStore,
      factory: EmployeeAkitaStore.ɵfac,
      providedIn: 'root'
    });
  }
};
EmployeeAkitaStore = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .Cg)([(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .StoreConfig */ .g7)({
  name: 'employee',
  resettable: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__metadata */ .Sn)("design:paramtypes", [])], EmployeeAkitaStore);
let EmployeeAkitaQuery = /*#__PURE__*/(() => {
  class EmployeeAkitaQuery extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Query */ .XK {
    constructor(store) {
      super(store);
    }
    static {
      this.ɵfac = function EmployeeAkitaQuery_Factory(t) {
        return new (t || EmployeeAkitaQuery)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(EmployeeAkitaStore));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: EmployeeAkitaQuery,
        factory: EmployeeAkitaQuery.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return EmployeeAkitaQuery;
})();
/**
 * Service used to update employee
 */
let EmployeeStore = /*#__PURE__*/(() => {
  class EmployeeStore {
    constructor(employeeAkitaStore, employeeAkitaQuery) {
      this.employeeAkitaStore = employeeAkitaStore;
      this.employeeAkitaQuery = employeeAkitaQuery;
      this.selectedEmployee$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t(this.selectedEmployee);
      this.userForm$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t(this.userForm);
      this.employeeForm$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t(this.employeeForm);
      this.employeeAction$ = this.employeeAkitaQuery.select(({
        action,
        employees
      }) => {
        return {
          action,
          employees
        };
      });
    }
    set selectedEmployee(employee) {
      this._selectedEmployee = employee;
      this.selectedEmployee$.next(employee);
    }
    get selectedEmployee() {
      return this._selectedEmployee;
    }
    set employeeAction({
      action,
      employees
    }) {
      this.employeeAkitaStore.update({
        action,
        employees
      });
    }
    set userForm(user) {
      this._userForm = user;
      this.userForm$.next(user);
    }
    get userForm() {
      return this._userForm;
    }
    set employeeForm(employee) {
      this._employeeForm = employee;
      this.employeeForm$.next(employee);
    }
    get employeeForm() {
      return this._employeeForm;
    }
    /**
     * Update the user form with new data
     *
     * @param formData - The form data to update.
     */
    updateUserForm(formData) {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Simulate an async operation, such as an API call
        // await someApiService.update(formData);
        _this.userForm = {
          ..._this.userForm,
          ...formData
        };
      })();
    }
    /**
     * Update the employee form with new data
     *
     * @param formData - The form data to update.
     */
    updateEmployeeForm(formData) {
      var _this2 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Simulate an async operation, such as an API call
        // await someApiService.updateEmployee(formData);
        _this2.employeeForm = {
          ..._this2.employeeForm,
          ...formData
        };
      })();
    }
    destroy() {
      this.employeeAkitaStore.reset();
    }
    static {
      this.ɵfac = function EmployeeStore_Factory(t) {
        return new (t || EmployeeStore)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(EmployeeAkitaStore), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(EmployeeAkitaQuery));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: EmployeeStore,
        factory: EmployeeStore.ɵfac
      });
    }
  }
  return EmployeeStore;
})();

/***/ }),

/***/ 4743:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: () => (/* binding */ EmployeesService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43038);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);





let EmployeesService = /*#__PURE__*/(() => {
  class EmployeesService {
    constructor(http) {
      this.http = http;
    }
    getAllPublic(request, relations = []) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/public/employee`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toParams */ .SV)({
          ...request,
          relations
        })
      });
    }
    getPublicById(slug, id, relations = []) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/public/employee/${slug}/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toParams */ .SV)({
          relations
        })
      });
    }
    getAll(relations = [], where) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toParams */ .SV)({
          where,
          relations
        })
      });
    }
    getCount(request) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/count`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toParams */ .SV)({
          ...request
        })
      });
    }
    getWorking(organizationId, tenantId, forRange, withUser) {
      const query = {
        organizationId,
        tenantId,
        forRange,
        withUser
      };
      const data = JSON.stringify({
        findInput: query
      });
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/working`, {
        params: {
          data
        }
      }));
    }
    getWorkingCount(organizationId, tenantId, forRange) {
      const query = {
        organizationId,
        tenantId,
        forRange
      };
      const data = JSON.stringify({
        findInput: query
      });
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/working/count`, {
        params: {
          data
        }
      }));
    }
    /**
     * Retrieves employee information by ID.
     *
     * @param id - The ID of the employee.
     * @param relations - Optional array of relations to include in the response.
     * @returns An observable of type `IEmployee` containing the employee's information.
     */
    getEmployeeById(id, relations = []) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toParams */ .SV)({
          relations
        })
      });
    }
    /**
     * Updates the profile status of an employee.
     *
     * @param id - The ID of the employee.
     * @param status - The new profile status to set for the employee.
     * @returns A promise that resolves with the updated employee object.
     */
    setEmployeeProfileStatus(id, status) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}`, status));
    }
    /**
     * Sets the end work date for an employee.
     *
     * @param id - The ID of the employee.
     * @param date - The date when the employee's work ended.
     * @param request - Additional data related to the employee (e.g., tenant and organization).
     * @returns A promise that resolves with the updated employee object.
     */
    setEmployeeEndWork(id, date, request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}`, {
        endWork: date,
        ...request
      }));
    }
    /**
     * Updates the time tracking status for an employee.
     *
     * @param id - The ID of the employee.
     * @param action - Boolean indicating whether to enable or disable time tracking.
     * @param request - Additional data related to the employee (e.g., tenant and organization).
     * @returns A promise that resolves with the updated employee object.
     */
    setEmployeeTimeTrackingStatus(id, action, request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}`, {
        isTrackingEnabled: action,
        ...request
      }));
    }
    /**
     * Updates an employee's information.
     *
     * @param id - The ID of the employee to update.
     * @param updateInput - The data to update for the employee.
     * @returns A promise that resolves when the update operation is completed.
     */
    update(id, updateInput) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}`, updateInput));
    }
    /**
     * Permanently delete an employee by ID.
     *
     * Sends an HTTP DELETE request to permanently remove the employee record from the database.
     *
     * @param id - The ID of the employee to delete.
     * @param options - Additional context for the operation, including tenant and organization information.
     * @returns A promise resolving to the result of the DELETE operation or an error message.
     */
    delete(id, options) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toParams */ .SV)({
          ...options
        })
      }));
    }
    /**
     * Soft delete an employee by ID, marking it as deleted without physically removing the record.
     *
     * @param id - The ID of the employee to soft delete.
     * @param options - Additional options for specifying tenant and organization context.
     * @returns A promise resolving to the deleted employee or a success indicator.
     */
    softRemove(id, options) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}/soft`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toParams */ .SV)({
          ...options
        })
      }));
    }
    /**
     * Restore a soft-deleted employee by ID, effectively undoing the soft delete.
     *
     * @param id - The ID of the employee to restore.
     * @param options - Additional context, typically to specify tenant and organization information.
     * @returns A promise resolving to the restored employee or a success indicator.
     */
    softRecover(id, options) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}/recover`, {
        ...options
      }));
    }
    /**
     * Updates the profile of an employee.
     *
     * @param id - The ID of the employee.
     * @param payload - The data to update in the employee's profile.
     * @returns A promise that resolves with the updated employee profile.
     */
    updateProfile(id, payload) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}/profile`, payload));
    }
    /**
     * Creates a new employee with the provided input data.
     *
     * @param input - The data to create a new employee.
     * @returns An observable of the created employee.
     */
    create(input) {
      return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee`, input);
    }
    /**
     * Creates multiple new employees with the provided input data.
     *
     * @param createInput - An array of objects, each containing the data to create a new employee.
     * @returns An observable of an array of created employees.
     */
    createBulk(input) {
      return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/bulk`, input);
    }
    /**
     * Sets the start work date for an employee.
     *
     * @param id - The ID of the employee.
     * @param date - The date when the employee started work.
     * @param request - Additional request data that includes tenant and organization details.
     * @returns A promise of the updated employee.
     */
    setEmployeeStartWork(id, date, request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/employee/${id}`, {
        startedWorkOn: date,
        ...request
      }));
    }
    static {
      this.ɵfac = function EmployeesService_Factory(t) {
        return new (t || EmployeesService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: EmployeesService,
        factory: EmployeesService.ɵfac
      });
    }
  }
  return EmployeesService;
})();

/***/ }),

/***/ 63448:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   w: () => (/* binding */ FeatureService)
/* harmony export */ });
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43038);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);





let FeatureService = /*#__PURE__*/(() => {
  class FeatureService {
    constructor(http) {
      this.http = http;
      this.API_URL = `${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/feature/toggle`;
    }
    getFeatureToggleDefinition() {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${this.API_URL}/definition`));
    }
    getParentFeatures(relations) {
      return this.http.get(`${this.API_URL}/parent`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          relations
        })
      });
    }
    getAllFeatures() {
      return this.http.get(`${this.API_URL}`);
    }
    getFeatureOrganizations(where, relations) {
      return this.http.get(`${this.API_URL}/organizations`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          relations,
          ...where
        })
      });
    }
    featureToggle(payload) {
      return this.http.post(`${this.API_URL}`, payload);
    }
    static {
      this.ɵfac = function FeatureService_Factory(t) {
        return new (t || FeatureService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: FeatureService,
        factory: FeatureService.ɵfac
      });
    }
  }
  return FeatureService;
})();

/***/ }),

/***/ 12127:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: () => (/* binding */ HubstaffService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(66791);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(32869);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(48571);
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(38552);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65670);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(97957);
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32667);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57328);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(47122);











const TODAY = new Date();
const DEFAULT_DATE_RANGE = {
  start: new Date(moment__WEBPACK_IMPORTED_MODULE_1__().subtract(6, 'days').format('YYYY-MM-DD')),
  end: new Date(moment__WEBPACK_IMPORTED_MODULE_1__().add(1, 'days').format('YYYY-MM-DD'))
};
let HubstaffService = /*#__PURE__*/(() => {
  class HubstaffService {
    constructor(_http) {
      this._http = _http;
      this._entitiesToSync$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t({
        previousValue: [],
        currentValue: []
      });
      this._dateRangeActivity$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t(DEFAULT_DATE_RANGE);
      this.entitiesToSync$ = this._entitiesToSync$.asObservable();
      this.dateRangeActivity$ = this._dateRangeActivity$.asObservable();
    }
    getIntegration(integrationId) {
      const data = JSON.stringify({
        relations: ['integration']
      });
      return this._http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration-entity-setting/integration/${integrationId}`, {
        params: {
          data
        }
      }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(({
        items
      }) => this._setSettingsValue(items)));
    }
    resetSettings() {
      const settings = this._entitiesToSync$.getValue();
      this._entitiesToSync$.next({
        ...settings,
        currentValue: (0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .clone */ .o8)(settings.previousValue)
      });
    }
    _setSettingsValue(items) {
      this._entitiesToSync$.next({
        previousValue: (0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .clone */ .o8)(items),
        currentValue: items
      });
    }
    updateSettings(integrationId) {
      const {
        currentValue
      } = this._entitiesToSync$.getValue();
      return this._http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration-entity-setting/integration/${integrationId}`, currentValue).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(entitySettings => this._setSettingsValue(entitySettings)));
    }
    getToken(integrationId) {
      this.integrationId = integrationId;
      return this._http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/token/${integrationId}`).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(({
        settingsValue
      }) => this.ACCESS_TOKEN = settingsValue));
    }
    refreshToken() {
      return this._http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/refresh-token/${this.integrationId}`).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(({
        access_token
      }) => this.ACCESS_TOKEN = access_token));
    }
    /**
     * Authorize a client for Hubstaff integration.
     *
     * @param client_id The client ID for the Hubstaff integration.
     */
    authorizeClient(client_id) {
      const {
        HUBSTAFF_REDIRECT_URL,
        API_BASE_URL
      } = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_6__/* .environment */ .c;
      const HUBSTAFF_AUTHORIZATION_URL = `https://account.hubstaff.com`;
      // Set default redirect URI if HUBSTAFF_REDIRECT_URL is not defined
      const redirect_uri = HUBSTAFF_REDIRECT_URL || `${API_BASE_URL}${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/callback`;
      // Define your query parameters
      const queryParams = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .toParams */ .SV)({
        response_type: 'code',
        redirect_uri: `${redirect_uri}`,
        realm: 'hubstaff',
        client_id: `${client_id}`,
        scope: 'hubstaff:read',
        state: `${client_id}`,
        nonce: `${(0,uuid__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)()}`
      });
      // Construct the external URL with the query parameters
      const externalUrl = `${HUBSTAFF_AUTHORIZATION_URL}/authorizations/new?${queryParams.toString()}`;
      // Navigate to the external URL with query parameters
      window.location.replace(externalUrl);
    }
    /**
     * Add a new integration for Hubstaff.
     *
     * @param param0 - The integration parameters including code, client_secret, client_id, and organizationId.
     * @returns An Observable of the created integration tenant.
     */
    addIntegration({
      code,
      client_secret,
      client_id,
      organizationId
    }) {
      const {
        HUBSTAFF_REDIRECT_URL,
        API_BASE_URL
      } = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_6__/* .environment */ .c;
      // Set default redirect URI if HUBSTAFF_REDIRECT_URL is not defined
      const redirect_uri = HUBSTAFF_REDIRECT_URL || `${API_BASE_URL}${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/callback`;
      return this._http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/integration`, {
        client_id,
        code,
        redirect_uri,
        client_secret,
        organizationId
      });
    }
    /**
     *
     * @param integrationId
     * @returns
     */
    getOrganizations(integrationId) {
      return this._http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/organizations`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .toParams */ .SV)({
          token: this.ACCESS_TOKEN,
          integrationId
        })
      });
    }
    /**
     *
     * @param organizationId
     * @param integrationId
     * @returns
     */
    getProjects(hubstaffOrganizationId, integrationId) {
      return this._http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/projects/${hubstaffOrganizationId}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .toParams */ .SV)({
          integrationId,
          token: this.ACCESS_TOKEN
        })
      });
    }
    /**
     *
     * @param projects
     * @param integrationId
     * @param organizationId
     * @returns
     */
    syncProjects(projects, integrationId, organizationId) {
      return this._http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/sync-projects`, {
        projects: this._mapProjectPayload(projects),
        organizationId,
        integrationId,
        token: this.ACCESS_TOKEN
      });
    }
    setActivityDateRange({
      start,
      end
    }) {
      this._dateRangeActivity$.next({
        start: start || DEFAULT_DATE_RANGE.start,
        end: this._setEndDate(start)
      });
    }
    _setEndDate(start) {
      const end = moment__WEBPACK_IMPORTED_MODULE_1__(start).add(7, 'days').toDate();
      return end > TODAY ? TODAY : end;
    }
    autoSync({
      integrationId,
      hubstaffOrganizations,
      organizationId
    }) {
      const dateRange = this._dateRangeActivity$.getValue();
      // organizations are already fetched ---> skip fetch for this just integrate in DB
      const organizationEntityToSync = this._entitiesToSync$.getValue().currentValue.filter(setting => setting.sync).find(setting => setting.entity === _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.IntegrationEntity.ORGANIZATION);
      // if organization is set to true, map all entities to this organizations, else use hubstaff organizations id and map all entities to current selected gauzy organization
      if (organizationEntityToSync && organizationEntityToSync.sync) {
        const organizationsMap$ = this._http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/sync-organizations`, {
          organizations: this._mapOrganizationPayload(hubstaffOrganizations),
          organizationId,
          integrationId,
          token: this.ACCESS_TOKEN
        });
        return organizationsMap$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_9__/* .debounceTime */ .B)(1000), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__/* .switchMap */ .n)(organizations => this._forkEntities(organizations, integrationId, dateRange)));
      }
      return this._forkEntities(hubstaffOrganizations, integrationId, dateRange, organizationId);
    }
    _forkEntities(organizations, integrationId, dateRange, organizationId) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_11__/* .forkJoin */ .p)(organizations.map(organization => this._http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .API_PREFIX */ .m4}/integration/hubstaff/auto-sync/${integrationId}`, {
        dateRange,
        gauzyId: organizationId ? organizationId : organization.gauzyId,
        sourceId: organization.sourceId ? organization.sourceId : organization.id,
        token: this.ACCESS_TOKEN
      }))).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_9__/* .debounceTime */ .B)(2000));
    }
    /**
     *
     * @param data
     * @returns
     */
    _mapProjectPayload(data) {
      return data.map(({
        id
      }) => ({
        sourceId: id
      }));
    }
    /**
     *
     * @param data
     * @returns
     */
    _mapOrganizationPayload(data) {
      return data.map(({
        id
      }) => ({
        sourceId: id
      }));
    }
    static {
      this.ɵfac = function HubstaffService_Factory(t) {
        return new (t || HubstaffService)(_angular_core__WEBPACK_IMPORTED_MODULE_12__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_13__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_12__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: HubstaffService,
        factory: HubstaffService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return HubstaffService;
})();

/***/ }),

/***/ 70087:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: () => (/* binding */ LanguagesService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43038);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);





let LanguagesService = /*#__PURE__*/(() => {
  class LanguagesService {
    constructor(http) {
      this.http = http;
    }
    insertLanguage(createLanguage) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/languages`, createLanguage));
    }
    getAllLanguages() {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/languages`));
    }
    getSystemLanguages() {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/languages`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          is_system: 1
        })
      }));
    }
    delete(id) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/languages/${id}`));
    }
    update(id, updateInput) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/languages/${id}`, updateInput));
    }
    findByName(name) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/languages/getByName/${name}`));
    }
    static {
      this.ɵfac = function LanguagesService_Factory(t) {
        return new (t || LanguagesService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: LanguagesService,
        factory: LanguagesService.ɵfac
      });
    }
  }
  return LanguagesService;
})();

/***/ }),

/***/ 8890:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Y: () => (/* binding */ LayoutService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21397);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46123);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(99180);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32869);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82817);



let LayoutService = /*#__PURE__*/(() => {
  class LayoutService {
    constructor() {
      this.layoutSize$ = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .Subject */ .B();
      this.layoutSizeChange$ = this.layoutSize$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__/* .shareReplay */ .t)({
        refCount: true
      }));
    }
    changeLayoutSize() {
      this.layoutSize$.next(true);
    }
    onChangeLayoutSize() {
      return this.layoutSizeChange$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .delay */ .c)(1));
    }
    onSafeChangeLayoutSize() {
      return this.layoutSizeChange$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .debounceTime */ .B)(350));
    }
    static {
      this.ɵfac = function LayoutService_Factory(t) {
        return new (t || LayoutService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: LayoutService,
        factory: LayoutService.ɵfac
      });
    }
  }
  return LayoutService;
})();

/***/ }),

/***/ 28904:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   v: () => (/* binding */ NavMenuBuilderService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66791);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6925);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96641);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46123);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(54530);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82817);


let NavMenuBuilderService = /*#__PURE__*/(() => {
  class NavMenuBuilderService {
    constructor() {
      // Initial configuration of the navigation menu
      this.initialNavMenuConfig$ = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .BehaviorSubject */ .t([]);
      // Additional sections that can be added to the navigation menu
      this.addedNavMenuSections = [];
      this.addedNavMenuSectionsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .BehaviorSubject */ .t(this.addedNavMenuSections);
      this.addedNavMenuSections$ = this.addedNavMenuSectionsSubject.asObservable();
      // Additional menu items that can be added to the navigation menu
      this.addedNavMenuItems = [];
      this.removedNavMenuItems = [];
      this.addedNavMenuItemsSubject = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .BehaviorSubject */ .t(this.addedNavMenuItems);
      this.addedNavMenuItems$ = this.addedNavMenuItemsSubject.asObservable();
      this.setupStreams();
    }
    /**
     * Defines the navigation menu sections.
     *
     * @param config An array of NavMenuSection objects representing the navigation menu sections.
     */
    defineNavMenuSections(config) {
      this.initialNavMenuConfig$.next(config);
    }
    /**
     * Adds a new navigation menu section.
     *
     * @param config The configuration object representing the new navigation menu section to add.
     * @param before (Optional) The identifier of the section before which the new section should be added.
     */
    addNavMenuSection(config, before) {
      // Push the new section configuration along with its positioning information into the addedNavMenuSections array
      this.addedNavMenuSections.push({
        config,
        before
      });
      // Emit the updated addedNavMenuSections array to all subscribers
      this.addedNavMenuSectionsSubject.next(this.addedNavMenuSections);
    }
    /**
     * Adds multiple navigation menu sections.
     *
     * @param configs An array of configuration objects representing the new navigation menu sections to add.
     * @param before (Optional) The identifier of the section before which the new section(s) should be added.
     */
    addNavMenuSections(configs, before) {
      configs.forEach(config => {
        // Push the new section configuration along with its positioning information into the addedNavMenuSections array
        this.addedNavMenuSections.push({
          config,
          before
        });
      });
      // Emit the updated addedNavMenuSections array to all subscribers
      this.addedNavMenuSectionsSubject.next(this.addedNavMenuSections);
    }
    /**
     * Adds a new navigation menu item.
     *
     * @param config The configuration object representing the new navigation menu item to add.
     * @param sectionId The identifier of the section to which the new item should be added.
     * @param before (Optional) The identifier of the item before which the new item should be added.
     */
    addNavMenuItem(config, sectionId, before) {
      // Check if the item already exists
      const existingIndex = this.addedNavMenuItems.findIndex(item => item.config.id === config.id && item.sectionId === sectionId);
      if (existingIndex !== -1) {
        // Item exists, replace it with the new config
        this.addedNavMenuItems[existingIndex] = {
          config,
          sectionId,
          before
        };
      } else {
        // Push each new item configuration along with its positioning information into the addedNavMenuItems array
        this.addedNavMenuItems.push({
          config,
          sectionId,
          before
        });
      }
      // Emit the updated addedNavMenuItems array to all subscribers
      this.addedNavMenuItemsSubject.next([...this.addedNavMenuItems]);
    }
    /**
     * Adds multiple new navigation menu items.
     *
     * @param configs An array of configuration objects representing the new navigation menu items to add.
     * @param sectionId The identifier of the section to which the new items should be added.
     * @param before (Optional) The identifier of the item before which the new items should be added.
     */
    addNavMenuItems(configs, sectionId, before) {
      configs.forEach(config => {
        // Check if the item already exists
        const existingIndex = this.addedNavMenuItems.findIndex(item => item.config.id === config.id && item.sectionId === sectionId);
        if (existingIndex !== -1) {
          // If the item exists, replace it with the new config
          this.addedNavMenuItems[existingIndex] = {
            config,
            sectionId,
            before
          };
        } else {
          // Push each new item configuration along with its positioning information into the addedNavMenuItems array
          this.addedNavMenuItems.push({
            config,
            sectionId,
            before
          });
        }
      });
      // Emit the updated addedNavMenuItems array to all subscribers
      this.addedNavMenuItemsSubject.next([...this.addedNavMenuItems]);
    }
    /**
     * Removes a navigation menu item.
     *
     * @param itemId The identifier of the item to be removed.
     * @param sectionId The identifier of the section from which the item should be removed.
     */
    removeNavMenuItem(itemId, sectionId) {
      const itemIndex = this.addedNavMenuItems.findIndex(item => item.config.id === itemId && item.sectionId === sectionId);
      if (itemIndex !== -1) {
        // Check if the item is already present in the removedNavMenuItems array
        const existingIndex = this.removedNavMenuItems.findIndex(item => item.config.id === itemId && item.sectionId === sectionId);
        if (existingIndex === -1) {
          // Push the removed item into the removedNavMenuItems array
          this.removedNavMenuItems.push(this.addedNavMenuItems[itemIndex]);
        }
        // Remove the item from the addedNavMenuItems array
        this.addedNavMenuItems.splice(itemIndex, 1);
        // Emit the updated array to subscribers
        this.addedNavMenuItemsSubject.next([...this.addedNavMenuItems]);
      }
    }
    /**
     * Removes multiple navigation menu items.
     *
     * @param itemIds An array of identifiers of the items to be removed.
     * @param sectionId The identifier of the section from which the items should be removed.
     */
    removeNavMenuItems(itemIds, sectionId) {
      itemIds.forEach(itemId => {
        this.removeNavMenuItem(itemId, sectionId);
      });
    }
    /**
     * Sets up streams to dynamically configure the navigation menu based on initial configuration and additions.
     */
    setupStreams() {
      // Create an observable for section additions
      const sectionAdditions$ = this.addedNavMenuSections$;
      // Create an observable for item additions
      const itemAdditions$ = this.addedNavMenuItems$;
      // Combine the initial configuration and section additions
      const combinedConfig$ = (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .combineLatest */ .z)([this.initialNavMenuConfig$, sectionAdditions$]).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .map */ .T)(([sections, additions]) => {
        const configMap = new Map();
        // Add initial configurations to the map
        sections.forEach(config => configMap.set(config.id, config));
        // Update or add sections from additions
        for (const {
          config,
          before
        } of additions) {
          if (configMap.has(config.id)) {
            configMap.set(config.id, config); // Update existing config
          } else {
            const beforeIndex = before ? sections.findIndex(c => c.id === before) : -1;
            if (beforeIndex !== -1) {
              sections.splice(beforeIndex, 0, config); // Insert before specified section
            } else {
              sections.push(config); // Append if before section not found
            }
            configMap.set(config.id, config); // Add to map
          }
        }
        return [...configMap.values()];
      }), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .shareReplay */ .t)(1));
      // Combine the combined configuration with item additions to produce the final menu configuration
      this.menuConfig$ = (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .combineLatest */ .z)([combinedConfig$, itemAdditions$, (0,rxjs__WEBPACK_IMPORTED_MODULE_4__.of)(this.removedNavMenuItems)]).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .map */ .T)(([sections, additions, removals]) => {
        const sectionMap = new Map();
        // Populate section map for quick lookup
        sections.forEach(section => sectionMap.set(section.id, section));
        // Process item deletions
        removals.forEach(item => {
          const sectionId = item.sectionId;
          const itemIdToRemove = item.config.id;
          const section = sectionMap.get(sectionId);
          if (section) {
            const itemIndex = section.items.findIndex(item => item.id === itemIdToRemove);
            if (itemIndex !== -1) {
              section.items.splice(itemIndex, 1); // Remove item from the section
            }
          }
        });
        // Process item additions
        additions.forEach(item => {
          const section = sectionMap.get(item.sectionId);
          if (section) {
            const {
              config,
              before
            } = item;
            const itemIndex = section.items.findIndex(i => i.id === config.id);
            if (itemIndex !== -1) {
              section.items[itemIndex] = config; // Update existing item
            } else {
              const beforeIndex = before ? section.items.findIndex(i => i.id === before) : -1;
              if (beforeIndex !== -1) {
                section.items.splice(beforeIndex, 0, config); // Insert before specified item
              } else {
                section.items.push(config); // Append if before item not found
              }
            }
          } else {
            this.logMenuWarning(item.config.id, item.sectionId);
          }
        });
        return sections;
      }));
    }
    /**
     * Logs a warning message about an inability to add a menu item.
     *
     * @param itemId - The ID of the menu item that could not be added.
     * @param sectionId - The ID of the section where the item was to be added.
     * @param level - Optional logging level; defaults to 'warn'.
     */
    logMenuWarning(itemId, sectionId, level = 'warn') {
      const message = `Unable to add menu item "${itemId}". Section "${sectionId}" does not exist. Please ensure the section is defined before adding items.`;
      const logFn = console[level];
      logFn(message);
    }
    static {
      this.ɵfac = function NavMenuBuilderService_Factory(t) {
        return new (t || NavMenuBuilderService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: NavMenuBuilderService,
        factory: NavMenuBuilderService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return NavMenuBuilderService;
})();

/***/ }),

/***/ 67269:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   V: () => (/* binding */ SidebarMenuService)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let SidebarMenuService = /*#__PURE__*/(() => {
  class SidebarMenuService {
    get selectedItem() {
      return this._selectedItem;
    }
    set selectedItem(value) {
      this._selectedItem = value;
    }
    constructor() {}
    static {
      this.ɵfac = function SidebarMenuService_Factory(t) {
        return new (t || SidebarMenuService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: SidebarMenuService,
        factory: SidebarMenuService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return SidebarMenuService;
})();

/***/ }),

/***/ 36494:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   v: () => (/* binding */ NavigationBuilderService)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(55598);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54530);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73600);
/* harmony import */ var _store_store_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);








let NavigationBuilderService = class NavigationBuilderService {
  constructor(store) {
    this.store = store;
    this.sidebarMapper = new Map();
    this._sidebars = [];
    this._addedActionBarItems = [];
    this.hasPermissions = permissions => {
      return permissions.every(p => this.store.hasPermission(p));
    };
  }
  registerSidebar(id, config) {
    if (this.sidebarMapper.has(id)) {
      throw new Error(`A sidebar with the id "${id}" already exists`);
    }
    config = {
      id,
      ...config
    };
    this.sidebarMapper.set(id, config);
  }
  addSidebarActionItem(config) {
    this._addedActionBarItems.push({
      ...config
    });
  }
  getSidebarById(id) {
    if (!this.sidebarMapper.has(id)) {
      throw new Error(`No sidebar was found with the id "${id}"`);
    }
    return this.sidebarMapper.get(id);
  }
  getAvailableSidebarIds() {
    return [...this.sidebarMapper.entries()].filter(([, config]) => {
      return (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .isEmpty */ .Im)(config.permissions) || this.hasPermissions(config.permissions);
    }).map(([id]) => id);
  }
  getSidebarWidgets() {
    this._sidebars = this.getAvailableSidebarIds().map(id => {
      return this.getSidebarById(id);
    });
    this.sidebars$ = (0,rxjs__WEBPACK_IMPORTED_MODULE_1__.of)(this._sidebars);
    this.sidebarActions$ = (0,rxjs__WEBPACK_IMPORTED_MODULE_1__.of)(this._addedActionBarItems);
  }
  clearSidebars() {
    this.sidebarMapper.clear();
  }
  clearActionBars() {
    this._addedActionBarItems = [];
  }
  static {
    this.ɵfac = function NavigationBuilderService_Factory(t) {
      return new (t || NavigationBuilderService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_store_store_service__WEBPACK_IMPORTED_MODULE_3__/* .Store */ .il));
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: NavigationBuilderService,
      factory: NavigationBuilderService.ɵfac,
      providedIn: 'root'
    });
  }
};
NavigationBuilderService = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__metadata */ .Sn)("design:paramtypes", [_store_store_service__WEBPACK_IMPORTED_MODULE_3__/* .Store */ .il])], NavigationBuilderService);

/***/ }),

/***/ 31098:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   o: () => (/* binding */ NavigationService)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76149);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42089);







let NavigationService = /*#__PURE__*/(() => {
  class NavigationService {
    constructor(_router, _activatedRoute, _location) {
      this._router = _router;
      this._activatedRoute = _activatedRoute;
      this._location = _location;
    }
    /**
     * Navigates to the current route with specified query parameters, while preserving existing ones.
     *
     * @param queryParams The query parameters to be attached.
     */
    navigateQueryParams(route = [], queryParams, queryParamsHandling = 'merge') {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        yield _this._router.navigate(route, {
          relativeTo: _this._activatedRoute,
          queryParams,
          queryParamsHandling
        });
      })();
    }
    /**
     * Updates the query parameters of the current route without navigating away.
     *
     * @param queryParams The query parameters to be updated.
     * @param queryParamsHandling The strategy to handle the query parameters (default is 'merge').
     */
    updateQueryParams(queryParams, queryParamsHandling = 'merge') {
      var _this2 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        const currentUrl = _this2._location.path();
        const [currentUrlTree, currentQueryParamsString] = currentUrl.split('?'); // Split current URL to get the path and query params
        let existingQueryParams = {};
        if (currentQueryParamsString) {
          // Parse existing query params from current URL
          const urlSearchParams = new URLSearchParams(currentQueryParamsString);
          urlSearchParams.forEach((value, key) => {
            if (existingQueryParams[key]) {
              if (Array.isArray(existingQueryParams[key])) {
                existingQueryParams[key].push(value);
              } else {
                existingQueryParams[key] = [existingQueryParams[key], value];
              }
            } else {
              existingQueryParams[key] = value;
            }
          });
        }
        //
        const mergeQueryParams = {
          ...existingQueryParams,
          ...queryParams
        };
        // Merge existing query params with new query params if handling is 'merge'
        const finalQueryParams = queryParamsHandling === 'merge' ? mergeQueryParams : queryParams;
        // Ensure the query parameters are unique
        const uniqueQueryParams = {};
        for (const key in finalQueryParams) {
          const value = finalQueryParams[key];
          if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .isNotNullOrUndefinedOrEmpty */ .OC)(value)) {
            if (Array.isArray(value)) {
              uniqueQueryParams[key] = Array.from(new Set(value));
            } else {
              uniqueQueryParams[key] = value;
            }
          }
        }
        const queryParamsString = _this2.createQueryParamsString(uniqueQueryParams); // Convert query params object to string
        const newUrl = [currentUrlTree, queryParamsString].filter(Boolean).join('?'); // Combine current URL with updated query params
        // Replace the browser's URL without triggering navigation
        _this2._location.replaceState(newUrl);
      })();
    }
    /**
     * Creates a query parameters string from an object of query parameters.
     * @param queryParams An object containing query parameters.
     * @returns A string representation of the query parameters.
     */
    createQueryParamsString(queryParams) {
      return Object.keys(queryParams).map(key => {
        const value = queryParams[key];
        if (Array.isArray(value)) {
          return value.map(v => `${encodeURIComponent(key)}=${encodeURIComponent(v)}`).join('&');
        } else {
          return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
        }
      }).join('&');
    }
    static {
      this.ɵfac = function NavigationService_Factory(t) {
        return new (t || NavigationService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_3__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_3__/* .ActivatedRoute */ .nX), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(_angular_common__WEBPACK_IMPORTED_MODULE_4__/* .Location */ .aZ));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: NavigationService,
        factory: NavigationService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return NavigationService;
})();

/***/ }),

/***/ 47516:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: () => (/* binding */ ErrorHandlingService)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _toastr_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(75107);




let ErrorHandlingService = /*#__PURE__*/(() => {
  class ErrorHandlingService {
    constructor(_toastrService) {
      this._toastrService = _toastrService;
    }
    /**
     * Handles HTTP errors and displays an appropriate message.
     * @param err - The HttpErrorResponse object.
     * @param duration - Duration for which the toast message is displayed.
     */
    handleError(error, duration = 3000) {
      const details = this.getErrorDetails(error);
      this._toastrService.error(details.message, details.title, {
        duration
      });
    }
    /**
     * Determines the type of error and sets the appropriate title and content based on the status code.
     * @param err - The HttpErrorResponse object.
     * @returns An object containing the error title and content.
     */
    getErrorDetails(err) {
      let title = 'Error';
      let message = 'An unexpected error occurred';
      // Extracting the error message from response body if available
      if (err.error) {
        if (err.error.message) {
          message = Array.isArray(err.error.message) ? err.error.message.join(', ') : err.error.message;
        }
        if (err.error.detail) {
          message = err.error.detail;
        }
      }
      // Switch based on the HTTP status code using HttpStatus constants
      switch (err.status) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.BAD_REQUEST:
          title = 'Bad Request';
          message = message || 'The request could not be understood or was missing required parameters.';
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.UNAUTHORIZED:
          title = 'Unauthorized';
          message = message || 'Authentication is required and has failed or has not yet been provided.';
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.FORBIDDEN:
          title = 'Forbidden';
          message = message || 'You do not have permission to access the requested resource.';
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.NOT_FOUND:
          title = 'Not Found';
          message = message || 'The requested resource could not be found.';
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.CONFLICT:
          title = 'Conflict';
          message = message || 'There was a conflict with the current state of the resource.';
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.INTERNAL_SERVER_ERROR:
          title = 'Server Error';
          message = message || 'An error occurred on the server.';
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.GATEWAY_TIMEOUT:
          title = 'Gateway Timeout';
          message = message || 'The server took too long to respond.';
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.HttpStatus.SERVICE_UNAVAILABLE:
          title = 'Service Unavailable';
          message = message || 'The service is temporarily unavailable. Please try again later.';
          break;
        case 0:
          title = 'Network Error';
          message = 'Unable to connect to the server. Please check your network connection.';
          break;
        default:
          title = 'Error';
          message = message || 'An unexpected error occurred.';
          break;
      }
      // Special handling for HTTP failure responses
      if (message.includes('Http failure response')) {
        title = 'Connection Error';
        message = 'Lost connection with the server. Please try again later.';
      }
      return {
        title,
        message
      };
    }
    static {
      this.ɵfac = function ErrorHandlingService_Factory(t) {
        return new (t || ErrorHandlingService)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_toastr_service__WEBPACK_IMPORTED_MODULE_2__/* .ToastrService */ .t));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: ErrorHandlingService,
        factory: ErrorHandlingService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return ErrorHandlingService;
})();

/***/ }),

/***/ 75107:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   t: () => (/* binding */ ToastrService)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51170);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19993);





let ToastrService = /*#__PURE__*/(() => {
  class ToastrService {
    constructor(_nbToastrService, _i18nService) {
      this._nbToastrService = _nbToastrService;
      this._i18nService = _i18nService;
    }
    /**
     * Displays a success toast message
     * @param message The message or object containing the message to display.
     * @param translationParams Optional translation parameters.
     * @param title The title of the toast message.
     */
    success(message, translationParams = {}, title) {
      const displayMessage = this.extractMessage(message);
      this._nbToastrService.primary(this._i18nService.translate(displayMessage, translationParams), this._i18nService.translate(title || 'TOASTR.TITLE.SUCCESS'));
    }
    /**
     * Displays a warning toast message
     * @param message The message or object containing the message to display.
     * @param translationParams Optional translation parameters.
     * @param title The title of the toast message.
     */
    warning(message, translationParams = {}, title) {
      const displayMessage = this.extractMessage(message);
      this._nbToastrService.warning(this._i18nService.translate(displayMessage, translationParams), this._i18nService.translate(title || 'TOASTR.TITLE.WARNING'));
    }
    /**
     * Displays a danger (error) toast message
     * @param error The error object or message to display.
     * @param title The title of the toast message.
     * @param translationParams Optional translation parameters.
     */
    danger(error, title = 'TOASTR.TITLE.ERROR', translationParams = {}) {
      const displayMessage = this.extractErrorMessage(error);
      this._nbToastrService.danger(this._i18nService.translate(displayMessage, translationParams), this._i18nService.translate(title || 'TOASTR.TITLE.ERROR'));
    }
    /**
     * Displays an error toast message. Alias for danger method.
     * @param message The message or object containing the message to display.
     * @param title The title of the toast message.
     * @param translationParams Optional translation parameters.
     */
    error(message, title = 'TOASTR.TITLE.ERROR', translationParams = {}) {
      this.danger(message, title, translationParams);
    }
    /**
     * Displays an info toast message
     * @param message The message to display.
     * @param title The title of the toast message.
     * @param options Additional options for the toast message.
     */
    info(message, title, options = {
      duration: 5000,
      preventDuplicates: true
    }) {
      this._nbToastrService.info(this._i18nService.translate(message), this._i18nService.translate(title || 'TOASTR.TITLE.INFO'), options);
    }
    /**
     * Extracts the message from a message object or string.
     * @param message The message object or string.
     * @returns The extracted message string.
     */
    extractMessage(message) {
      if (message && message.message && typeof message.message === 'string') {
        return message.message;
      }
      return message;
    }
    /**
     * Extracts the error message from an error object or string.
     * @param error The error object or string.
     * @returns The extracted error message string.
     */
    extractErrorMessage(error) {
      if (error.error && error.error.message && typeof error.error.message === 'string') {
        return error.error.message;
      } else if (error.message && typeof error.message === 'string') {
        return error.message;
      }
      return error;
    }
    static {
      this.ɵfac = function ToastrService_Factory(t) {
        return new (t || ToastrService)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵinject"] */ .KVO(_nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbToastrService */ .bxm), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_2__/* .I18nService */ .W));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: ToastrService,
        factory: ToastrService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return ToastrService;
})();

/***/ }),

/***/ 64533:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $: () => (/* binding */ OrganizationContactService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43038);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);






let OrganizationContactService = /*#__PURE__*/(() => {
  class OrganizationContactService {
    constructor(http) {
      this.http = http;
    }
    /**
     * Create organization contact
     *
     * @param input
     * @returns
     */
    create(input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-contact`, input));
    }
    /**
     * Update organization contact
     *
     * @param id
     * @param input
     * @returns
     */
    update(id, input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-contact/${id}`, input));
    }
    getAllByEmployee(id, where) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-contact/employee/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          ...where
        })
      }));
    }
    getById(id, tenantId, relations) {
      const data = JSON.stringify({
        relations,
        tenantId
      });
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-contact/${id}`, {
        params: {
          data
        }
      }));
    }
    getAll(relations, findInput) {
      const data = JSON.stringify({
        relations,
        findInput
      });
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-contact`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          data
        })
      }));
    }
    getByName(relations, findInput) {
      const data = JSON.stringify({
        relations,
        findInput
      });
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-contact`, {
        params: {
          data
        }
      }));
    }
    updateByEmployee(updateInput) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-contact/employee`, updateInput));
    }
    delete(id) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-contact/${id}`));
    }
    static {
      this.ɵfac = function OrganizationContactService_Factory(t) {
        return new (t || OrganizationContactService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationContactService,
        factory: OrganizationContactService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationContactService;
})();

/***/ }),

/***/ 21963:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   vO: () => (/* binding */ OrganizationEditStore)
/* harmony export */ });
/* unused harmony exports OrganizationStore, OrganizationQuery */
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55598);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(66791);
/* harmony import */ var _datorama_akita__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34249);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);





let OrganizationStore = class OrganizationStore extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Store */ .il {
  constructor() {
    super({});
  }
  static {
    this.ɵfac = function OrganizationStore_Factory(t) {
      return new (t || OrganizationStore)();
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: OrganizationStore,
      factory: OrganizationStore.ɵfac,
      providedIn: 'root'
    });
  }
};
OrganizationStore = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .Cg)([(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .StoreConfig */ .g7)({
  name: 'organization',
  resettable: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__metadata */ .Sn)("design:paramtypes", [])], OrganizationStore);
let OrganizationQuery = /*#__PURE__*/(() => {
  class OrganizationQuery extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Query */ .XK {
    constructor(store) {
      super(store);
    }
    static {
      this.ɵfac = function OrganizationQuery_Factory(t) {
        return new (t || OrganizationQuery)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationStore));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationQuery,
        factory: OrganizationQuery.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationQuery;
})();
/**
 * Service used to update organization
 */
let OrganizationEditStore = /*#__PURE__*/(() => {
  class OrganizationEditStore {
    constructor(organizationStore, organizationQuery) {
      this.organizationStore = organizationStore;
      this.organizationQuery = organizationQuery;
      this.selectedOrganization$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t(this.selectedOrganization);
      this.organizationForm$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t(this.organizationForm);
      this.organizationAction$ = this.organizationQuery.select(({
        organization,
        action
      }) => {
        return {
          organization,
          action
        };
      });
    }
    set selectedOrganization(organization) {
      this._selectedOrganization = organization;
      this.selectedOrganization$.next(organization);
    }
    get selectedOrganization() {
      return this._selectedOrganization;
    }
    set organizationForm(organization) {
      this._organizationForm = organization;
      this.organizationForm$.next(organization);
    }
    get organizationForm() {
      return this._organizationForm;
    }
    set organizationAction({
      organization,
      action
    }) {
      this.organizationStore.update({
        organization,
        action
      });
    }
    /**
     * Update the organization form with new data
     *
     * @param formData - The form data to update.
     */
    updateOrganizationForm(formData) {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        _this.organizationForm = {
          ..._this.organizationForm,
          ...formData
        };
        ;
      })();
    }
    destroy() {
      this.organizationStore.reset();
    }
    static {
      this.ɵfac = function OrganizationEditStore_Factory(t) {
        return new (t || OrganizationEditStore)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationStore), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationQuery));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationEditStore,
        factory: OrganizationEditStore.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationEditStore;
})();

/***/ }),

/***/ 44333:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   aI: () => (/* binding */ OrganizationProjectStore)
/* harmony export */ });
/* unused harmony exports OrganizationProjectAkitaStore, OrganizationProjectAkitaQuery */
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55598);
/* harmony import */ var _datorama_akita__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34249);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);



let OrganizationProjectAkitaStore = class OrganizationProjectAkitaStore extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Store */ .il {
  constructor() {
    super({});
  }
  static {
    this.ɵfac = function OrganizationProjectAkitaStore_Factory(t) {
      return new (t || OrganizationProjectAkitaStore)();
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: OrganizationProjectAkitaStore,
      factory: OrganizationProjectAkitaStore.ɵfac,
      providedIn: 'root'
    });
  }
};
OrganizationProjectAkitaStore = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .Cg)([(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .StoreConfig */ .g7)({
  name: 'project',
  resettable: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__metadata */ .Sn)("design:paramtypes", [])], OrganizationProjectAkitaStore);
let OrganizationProjectAkitaQuery = /*#__PURE__*/(() => {
  class OrganizationProjectAkitaQuery extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Query */ .XK {
    constructor(store) {
      super(store);
    }
    static {
      this.ɵfac = function OrganizationProjectAkitaQuery_Factory(t) {
        return new (t || OrganizationProjectAkitaQuery)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationProjectAkitaStore));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationProjectAkitaQuery,
        factory: OrganizationProjectAkitaQuery.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationProjectAkitaQuery;
})();
/**
 * Service used to update organization project
 */
let OrganizationProjectStore = /*#__PURE__*/(() => {
  class OrganizationProjectStore {
    constructor(organizationProjectAkitaStore, organizationProjectAkitaQuery) {
      this.organizationProjectAkitaStore = organizationProjectAkitaStore;
      this.organizationProjectAkitaQuery = organizationProjectAkitaQuery;
      this.organizationProjectAction$ = this.organizationProjectAkitaQuery.select(({
        project,
        action
      }) => {
        return {
          project,
          action
        };
      });
    }
    set organizationProjectAction({
      project,
      action
    }) {
      this.organizationProjectAkitaStore.update({
        project,
        action
      });
    }
    destroy() {
      this.organizationProjectAkitaStore.reset();
    }
    static {
      this.ɵfac = function OrganizationProjectStore_Factory(t) {
        return new (t || OrganizationProjectStore)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationProjectAkitaStore), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationProjectAkitaQuery));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationProjectStore,
        factory: OrganizationProjectStore.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationProjectStore;
})();

/***/ }),

/***/ 66105:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: () => (/* binding */ OrganizationProjectsService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43038);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76104);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30729);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(47122);






let OrganizationProjectsService = /*#__PURE__*/(() => {
  class OrganizationProjectsService {
    constructor(_http) {
      this._http = _http;
      this.API_URL = `${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/organization-projects`;
    }
    /**
     * Creates a new organization project.
     *
     * @param input The input data for creating the project.
     * @returns A Promise that resolves with the newly created project.
     */
    create(input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this._http.post(this.API_URL, input));
    }
    /**
     * Edits an existing organization project.
     *
     * @param input The input data for updating the project. Partial data is accepted.
     * @returns A Promise that resolves with the updated project.
     */
    edit(input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this._http.put(`${this.API_URL}/${input.id}`, input));
    }
    /**
     * Retrieves all projects assigned to a specific employee.
     *
     * @param id The employee ID.
     * @param where Optional filters to apply when retrieving projects.
     * @returns A Promise that resolves with a list of organization projects assigned to the employee.
     */
    getAllByEmployee(id, where) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this._http.get(`${this.API_URL}/employee/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          ...where
        })
      }));
    }
    /**
     * Retrieves all organization projects, with optional relations and filters.
     *
     * @param relations Optional array of related entities to include.
     * @param where Optional filters to apply when retrieving projects.
     * @returns A Promise that resolves with paginated organization projects.
     */
    getAll(relations = [], where) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this._http.get(`${this.API_URL}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          where,
          relations
        })
      }));
    }
    /**
     * Retrieves a specific organization project by its ID.
     *
     * @param id The ID of the project.
     * @param relations Optional array of related entities to include.
     * @returns An Observable that resolves with the requested project.
     */
    getById(id, relations = []) {
      return this._http.get(`${this.API_URL}/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          relations
        })
      });
    }
    /**
     * Retrieves the total count of organization projects that match the given criteria.
     *
     * @param request The input criteria for finding the projects.
     * @returns A Promise that resolves with the count of matching projects.
     */
    getCount(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this._http.get(`${this.API_URL}/count`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          ...request
        })
      }));
    }
    /**
     * Updates project assignments for an employee.
     *
     * @param updateInput The input data containing employee and project information.
     * @returns A Promise that resolves once the update operation is complete.
     */
    updateByEmployee(updateInput) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this._http.put(`${this.API_URL}/employee`, updateInput));
    }
    /**
     * Updates the task view mode for a specific project.
     *
     * @param id The ID of the project.
     * @param input The input data for updating the task view mode.
     * @returns A Promise that resolves with the updated project.
     */
    updateTaskViewMode(id, input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this._http.put(`${this.API_URL}/task-view/${id}`, input).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .take */ .s)(1)));
    }
    /**
     * Deletes an organization project by its ID.
     *
     * @param id The ID of the project to delete.
     * @returns A Promise that resolves once the project is deleted.
     */
    delete(id) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this._http.delete(`${this.API_URL}/${id}`));
    }
    /**
     * Updates the settings for an organization project.
     *
     * @param id - The unique identifier (ID) of the organization project to update.
     * @param input - The updated project settings to apply.
     *
     * @returns An Observable of type `IOrganizationProject` representing the updated organization project.
     */
    updateProjectSetting(id, input) {
      // Construct the URL for the API endpoint
      const url = `${this.API_URL}/setting/${id}`;
      // Send an HTTP Put request to the specified URL with input parameters
      return this._http.put(url, input);
    }
    /**
     * Retrieve a list of synchronized organization projects with Github Repositories.
     *
     * @param where - Criteria for filtering projects.
     * @param relations - An array of related entities to include in the response (optional).
     * @returns An observable containing the paginated list of synchronized organization projects.
     */
    findSyncedProjects(where, relations = []) {
      // Construct the URL for the API endpoint
      const url = `${this.API_URL}/synced`;
      // Send an HTTP GET request to the specified URL with query parameters
      return this._http.get(url, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          where,
          relations
        })
      });
    }
    static {
      this.ɵfac = function OrganizationProjectsService_Factory(t) {
        return new (t || OrganizationProjectsService)(_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_5__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationProjectsService,
        factory: OrganizationProjectsService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationProjectsService;
})();

/***/ }),

/***/ 59422:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   yM: () => (/* binding */ OrganizationTeamStore)
/* harmony export */ });
/* unused harmony exports OrganizationTeamAkitaStore, OrganizationTeamAkitaQuery */
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55598);
/* harmony import */ var _datorama_akita__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34249);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);



let OrganizationTeamAkitaStore = class OrganizationTeamAkitaStore extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Store */ .il {
  constructor() {
    super({});
  }
  static {
    this.ɵfac = function OrganizationTeamAkitaStore_Factory(t) {
      return new (t || OrganizationTeamAkitaStore)();
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: OrganizationTeamAkitaStore,
      factory: OrganizationTeamAkitaStore.ɵfac,
      providedIn: 'root'
    });
  }
};
OrganizationTeamAkitaStore = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .Cg)([(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .StoreConfig */ .g7)({
  name: 'team',
  resettable: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__metadata */ .Sn)("design:paramtypes", [])], OrganizationTeamAkitaStore);
let OrganizationTeamAkitaQuery = /*#__PURE__*/(() => {
  class OrganizationTeamAkitaQuery extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Query */ .XK {
    constructor(store) {
      super(store);
    }
    static {
      this.ɵfac = function OrganizationTeamAkitaQuery_Factory(t) {
        return new (t || OrganizationTeamAkitaQuery)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationTeamAkitaStore));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationTeamAkitaQuery,
        factory: OrganizationTeamAkitaQuery.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationTeamAkitaQuery;
})();
/**
 * Service used to update organization Team
 */
let OrganizationTeamStore = /*#__PURE__*/(() => {
  class OrganizationTeamStore {
    constructor(organizationTeamAkitaStore, OrganizationTeamAkitaQuery) {
      this.organizationTeamAkitaStore = organizationTeamAkitaStore;
      this.OrganizationTeamAkitaQuery = OrganizationTeamAkitaQuery;
      this.organizationTeamAction$ = this.OrganizationTeamAkitaQuery.select(({
        team,
        action
      }) => {
        return {
          team,
          action
        };
      });
    }
    set organizationTeamAction({
      team,
      action
    }) {
      this.organizationTeamAkitaStore.update({
        team,
        action
      });
    }
    destroy() {
      this.organizationTeamAkitaStore.reset();
    }
    static {
      this.ɵfac = function OrganizationTeamStore_Factory(t) {
        return new (t || OrganizationTeamStore)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationTeamAkitaStore), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(OrganizationTeamAkitaQuery));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationTeamStore,
        factory: OrganizationTeamStore.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationTeamStore;
})();

/***/ }),

/***/ 77303:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: () => (/* binding */ OrganizationTeamsService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43038);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45484);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(54530);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(47122);





let OrganizationTeamsService = /*#__PURE__*/(() => {
  class OrganizationTeamsService {
    constructor(http) {
      this.http = http;
    }
    // TODO: Implement logic to proceed the following requests:
    // 1) Get all employees of selected Organization and put in in the select as options;
    // 2) Create a team with name and members (employees involved);
    // 3) Edit team- similar with create;
    // 4) Delete a team
    // 5) Display all teams: show team name and members - avatar + full name for each member;
    /**
     * Creates a new organization team.
     *
     * @param input - The input data for creating the team.
     * @returns A promise that resolves to the created organization team.
     */
    create(input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-team`, input));
    }
    /**
     * Retrieves all organization teams, optionally filtered and related.
     *
     * @param relations - An array of relations to include in the response.
     * @param where - Optional filter criteria for retrieving teams.
     * @returns A promise that resolves to a paginated list of organization teams.
     */
    getAll(relations = [], where) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-team`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          where,
          relations
        })
      }));
    }
    /**
     * Updates an existing organization team.
     *
     * @param id - The ID of the team to update.
     * @param input - The input data for updating the team.
     * @returns A promise that resolves to the updated organization team or a response.
     */
    update(id, input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-team/${id}`, input));
    }
    /**
     * Deletes an organization team by ID.
     *
     * @param id - The ID of the team to delete.
     * @param params - Additional parameters for the delete request.
     * @returns A promise that resolves to the deleted organization team or an error response.
     */
    delete(id, params) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-team/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)(params)
      }));
    }
    /**
     * Gets the count of organization teams based on the provided filter.
     *
     * @param params - The filter criteria for counting teams.
     * @returns A promise that resolves to the number of organization teams.
     */
    getCount(params) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-team/count`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          ...params
        })
      }));
    }
    /**
     * Fetches the teams associated with the authenticated user.
     *
     * @param where - Optional filter criteria for fetching teams.
     * @param relations - Optional list of relations to include in the response.
     * @returns A promise that resolves to a paginated list of organization teams.
     */
    getMyTeams(where, relations = []) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization-team/me`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          where,
          relations
        })
      }).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .catchError */ .W)(error => {
        console.error('Error fetching teams:', error);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_4__.of)({
          total: 0,
          items: []
        });
      })));
    }
    static {
      this.ɵfac = function OrganizationTeamsService_Factory(t) {
        return new (t || OrganizationTeamsService)(_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_6__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationTeamsService,
        factory: OrganizationTeamsService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return OrganizationTeamsService;
})();

/***/ }),

/***/ 7160:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: () => (/* binding */ OrganizationsService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43038);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);





let OrganizationsService = /*#__PURE__*/(() => {
  class OrganizationsService {
    constructor(http) {
      this.http = http;
    }
    create(body) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization`, body));
    }
    update(id, body) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization/${id}`, body));
    }
    delete(id) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization/${id}`));
    }
    getAll(where, relations = []) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          where,
          relations
        })
      }));
    }
    getById(id, relations = [], select = {}) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/organization/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          relations,
          select
        })
      });
    }
    /**
     * GET organization by profile link
     *
     * @param profile_link
     * @returns
     */
    getByProfileLink(profile_link, organizationId, relations = []) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/public/organization/${profile_link}/${organizationId}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          relations
        })
      });
    }
    /**
     * GET public clients by organization
     *
     * @param params
     * @returns
     */
    getAllPublicClients(params) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/public/organization/client`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)(params)
      });
    }
    /**
     * GET public client counts by organization
     *
     * @param params
     * @returns
     */
    getAllPublicClientCounts(params) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/public/organization/client/count`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)(params)
      });
    }
    /**
     * GET public project counts by organization
     *
     * @param params
     * @returns
     */
    getAllPublicProjectCounts(params) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/public/organization/project/count`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)(params)
      });
    }
    static {
      this.ɵfac = function OrganizationsService_Factory(t) {
        return new (t || OrganizationsService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: OrganizationsService,
        factory: OrganizationsService.ɵfac
      });
    }
  }
  return OrganizationsService;
})();

/***/ }),

/***/ 87173:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: () => (/* binding */ PermissionsService)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43038);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30729);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(58063);
/* harmony import */ var _store_store_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84076);
/* harmony import */ var _notification_error_handling_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(47516);












let PermissionsService = /*#__PURE__*/(() => {
  class PermissionsService {
    constructor(_http, _ngxPermissionsService, _store, _errorHandlingService) {
      this._http = _http;
      this._ngxPermissionsService = _ngxPermissionsService;
      this._store = _store;
      this._errorHandlingService = _errorHandlingService;
    }
    /**
     * Loads the permissions asynchronously and updates the user's role permissions in the store.
     *
     * @return {Promise<void>} A promise that resolves when the permissions are loaded.
     */
    loadPermissions() {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        if (!_this._store.userId) return;
        try {
          // Fetch role permissions and update the store
          const rolePermissions = yield _this.getPermissions();
          _this._store.userRolePermissions = rolePermissions;
          // Extract and load permissions into the permissions service
          const permissions = rolePermissions.map(({
            permission
          }) => permission);
          _this._ngxPermissionsService.flushPermissions();
          _this._ngxPermissionsService.loadPermissions(permissions);
        } catch (error) {
          console.log('Error while loading permissions:', error);
          _this._errorHandlingService.handleError(error);
        }
      })();
    }
    /**
     * Retrieves the permissions for the current user.
     *
     * @return {Promise<IRolePermissions>} A promise that resolves to the pagination of the role permissions.
     */
    getPermissions() {
      var _this2 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this2._http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/role-permissions/me`));
      })();
    }
    static {
      this.ɵfac = function PermissionsService_Factory(t) {
        return new (t || PermissionsService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(ngx_permissions__WEBPACK_IMPORTED_MODULE_5__/* .NgxPermissionsService */ .$R), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_store_store_service__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_notification_error_handling_service__WEBPACK_IMPORTED_MODULE_7__/* .ErrorHandlingService */ .X));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: PermissionsService,
        factory: PermissionsService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return PermissionsService;
})();

/***/ }),

/***/ 18894:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   LJ: () => (/* binding */ DEFAULT_DATE_PICKER_CONFIG),
/* harmony export */   i7: () => (/* binding */ DateRangePickerBuilderService)
/* harmony export */ });
/* unused harmony export DEFAULT_DATE_RANGE */
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66791);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);




// Define the default date picker configuration
const DEFAULT_DATE_PICKER_CONFIG = {
  unitOfTime: 'week',
  isLockDatePicker: false,
  isSaveDatePicker: false,
  isSingleDatePicker: false,
  isDisableFutureDate: false,
  isDisablePastDate: false
};
// Define the default date range picker
const DEFAULT_DATE_RANGE = {
  startDate: moment__WEBPACK_IMPORTED_MODULE_0__().startOf(DEFAULT_DATE_PICKER_CONFIG.unitOfTime).toDate(),
  endDate: moment__WEBPACK_IMPORTED_MODULE_0__().endOf(DEFAULT_DATE_PICKER_CONFIG.unitOfTime).toDate(),
  isCustomDate: false
};
let DateRangePickerBuilderService = /*#__PURE__*/(() => {
  class DateRangePickerBuilderService {
    constructor() {
      this.dates$ = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .BehaviorSubject */ .t(DEFAULT_DATE_RANGE);
      this._datePickerConfig$ = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .BehaviorSubject */ .t(null);
      this.datePickerConfig$ = this._datePickerConfig$.asObservable();
      this._selectedDateRange$ = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .BehaviorSubject */ .t(null);
      this.selectedDateRange$ = this._selectedDateRange$.asObservable();
    }
    /**
     * Sets a new selected date range.
     *
     * @param range - The new date range to set.
     */
    set selectedDateRange(range) {
      if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .isNotEmpty */ .hj)(range)) {
        this._selectedDateRange$.next(range);
        this.dates$.next(range);
      }
    }
    /**
     * Gets the currently selected date range.
     */
    get selectedDateRange() {
      return this.dates$.getValue();
    }
    /**
     * Gets the current date picker configuration.
     */
    get datePickerConfig() {
      return this._datePickerConfig$.getValue();
    }
    /**
     * Sets a new date picker configuration.
     *
     * @param config - The new configuration to set.
     */
    setDatePickerConfig(config) {
      if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .isNotEmpty */ .hj)(config)) {
        this._datePickerConfig$.next(config);
      }
    }
    /**
     * Updates the date range picker with new start and end dates.
     *
     * @param dates - An object containing the start date and end date.
     */
    setDateRangePicker(dates) {
      // Check if dates object is not empty
      if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .isNotEmpty */ .hj)(dates)) {
        // Update the BehaviorSubject `dates$` with the new dates
        this.dates$.next(dates);
      }
    }
    /**
     * Refresh date range picker for specific dates
     *
     * @param date The date used to refresh the date range picker.
     */
    refreshDateRangePicker(date) {
      // Extract the unit of time from the current date picker configuration
      const unitOfTime = this.datePickerConfig.unitOfTime;
      // Calculate the start and end dates based on the provided date and unit of time
      const startDate = moment__WEBPACK_IMPORTED_MODULE_0__(date).startOf(unitOfTime).toDate();
      const endDate = moment__WEBPACK_IMPORTED_MODULE_0__(date).endOf(unitOfTime).toDate();
      this.setDateRangePicker({
        startDate,
        endDate
      }); // Update the date range picker with the new start and end dates
      this.setDatePickerConfig(this._datePickerConfig$.getValue()); // Maintain the current date picker configuration
    }
    static {
      this.ɵfac = function DateRangePickerBuilderService_Factory(t) {
        return new (t || DateRangePickerBuilderService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: DateRangePickerBuilderService,
        factory: DateRangePickerBuilderService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return DateRangePickerBuilderService;
})();

/***/ }),

/***/ 10620:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   u: () => (/* binding */ SelectorBuilderService),
/* harmony export */   z: () => (/* binding */ DEFAULT_SELECTOR_VISIBILITY)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66791);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);


const DEFAULT_SELECTOR_VISIBILITY = {
  organization: true,
  date: true,
  employee: true,
  project: true,
  team: true
};
let SelectorBuilderService = /*#__PURE__*/(() => {
  class SelectorBuilderService {
    constructor() {
      this.selectorsMapper = new Map();
      this._selectors$ = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .BehaviorSubject */ .t(DEFAULT_SELECTOR_VISIBILITY);
      this.selectors$ = this._selectors$.asObservable();
    }
    /**
     * Sets the visibility of a selector by ID.
     *
     * @param id The ID of the selector.
     * @param value The visibility value.
     */
    setSelectorsVisibility(id, value) {
      this.selectorsMapper.set(id, value);
    }
    /**
     * Retrieves the visibility of all selectors and updates the BehaviorSubject.
     */
    getSelectorsVisibility() {
      const selectors = {};
      this.getSelectorsIds().forEach(id => {
        selectors[id] = this.getSelectorVisibilityById(id);
      });
      this._selectors$.next(selectors);
    }
    /**
     * Retrieves the IDs of all selectors.
     * @returns An array of selector IDs.
     */
    getSelectorsIds() {
      return [...this.selectorsMapper.entries()].map(([id]) => id);
    }
    /**
     * Retrieves the visibility of a selector by ID.
     *
     * @param id The ID of the selector.
     * @returns The visibility of the selector.
     */
    getSelectorVisibilityById(id) {
      if (!this.selectorsMapper.has(id)) {
        throw new Error(`No selector was found with the id "${id}"`);
      }
      return this.selectorsMapper.get(id);
    }
    /**
     * Retrieves the current state of the selectors by returning the value of the `_selectors$` BehaviorSubject.
     *
     * @return {ISelectorVisibility} The current state of the selectors.
     */
    getSelectors() {
      return this._selectors$.getValue();
    }
    static {
      this.ɵfac = function SelectorBuilderService_Factory(t) {
        return new (t || SelectorBuilderService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: SelectorBuilderService,
        factory: SelectorBuilderService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return SelectorBuilderService;
})();

/***/ }),

/***/ 43752:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   v: () => (/* binding */ SelectorService)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let SelectorService = /*#__PURE__*/(() => {
  class SelectorService {
    /**
     * Returns boolean values of selectors
     * Used to decide whether or not to show organization, employees etc
     * in the header and organization shortcuts in the sidebar
     * @param url Usually the current url
     */
    showSelectors(url) {
      let showEmployeesSelector = true;
      let showDateSelector = true;
      let showOrganizationsSelector = true;
      let showOrganizationShortcuts = true;
      if (url.endsWith('/employees')) {
        showEmployeesSelector = false;
        showDateSelector = false;
      }
      const profileRegex = RegExp('/pages/employees/edit/.*/profile', 'i');
      const organizationRegex = RegExp('/pages/organizations/edit/.*/settings', 'i');
      if (profileRegex.test(url)) {
        showEmployeesSelector = false;
        showDateSelector = false;
        showOrganizationsSelector = false;
        showOrganizationShortcuts = false;
      }
      if (organizationRegex.test(url)) {
        showEmployeesSelector = false;
        showDateSelector = false;
        showOrganizationsSelector = false;
        showOrganizationShortcuts = true;
      }
      if (url.endsWith('/pages/auth/profile')) {
        showEmployeesSelector = false;
        showDateSelector = false;
        showOrganizationsSelector = false;
        showOrganizationShortcuts = false;
      }
      if (url.endsWith('/organizations')) {
        showEmployeesSelector = false;
        showDateSelector = false;
        showOrganizationsSelector = false;
        showOrganizationShortcuts = false;
      }
      const organizationEditRegex = RegExp('/pages/organizations/edit/[A-Za-z0-9-]+$', 'i');
      if (organizationEditRegex.test(url)) {
        showEmployeesSelector = false;
        showDateSelector = true;
        showOrganizationsSelector = true;
        showOrganizationShortcuts = true;
      }
      return {
        showEmployeesSelector,
        showDateSelector,
        showOrganizationsSelector,
        showOrganizationShortcuts
      };
    }
    static {
      this.ɵfac = function SelectorService_Factory(t) {
        return new (t || SelectorService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: SelectorService,
        factory: SelectorService.ɵfac
      });
    }
  }
  return SelectorService;
})();

/***/ }),

/***/ 31200:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   B: () => (/* binding */ SeoService)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76149);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51170);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(31310);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21397);








let SeoService = /*#__PURE__*/(() => {
  class SeoService {
    constructor(router, document, platformId) {
      this.router = router;
      this.destroy$ = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .Subject */ .B();
      this.isBrowser = (0,_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .isPlatformBrowser */ .UE)(platformId);
      this.dom = document;
      if (this.isBrowser) {
        this.createCanonicalTag();
      }
    }
    ngOnDestroy() {
      this.destroy$.next();
      this.destroy$.complete();
    }
    createCanonicalTag() {
      this.linkCanonical = this.dom.createElement('link');
      this.linkCanonical.setAttribute('rel', 'canonical');
      this.dom.head.appendChild(this.linkCanonical);
      this.linkCanonical.setAttribute('href', this.getCanonicalUrl());
    }
    trackCanonicalChanges() {
      if (!this.isBrowser) {
        return;
      }
      this.router.events.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(event => event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_3__/* .NavigationEnd */ .wF), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .takeUntil */ .Q)(this.destroy$)).subscribe(() => {
        this.linkCanonical.setAttribute('href', this.getCanonicalUrl());
      });
    }
    getCanonicalUrl() {
      return this.dom.location.origin + this.dom.location.pathname;
    }
    static {
      this.ɵfac = function SeoService_Factory(t) {
        return new (t || SeoService)(_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵinject"] */ .KVO(_angular_router__WEBPACK_IMPORTED_MODULE_3__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵinject"] */ .KVO(_nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NB_DOCUMENT */ .Po3), _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵinject"] */ .KVO(_angular_core__WEBPACK_IMPORTED_MODULE_5__/* .PLATFORM_ID */ .Agw));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: SeoService,
        factory: SeoService.ɵfac
      });
    }
  }
  return SeoService;
})();

/***/ }),

/***/ 92568:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: () => (/* binding */ ServerConnectionService)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47122);
/* harmony import */ var _store_store_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84076);






let ServerConnectionService = /*#__PURE__*/(() => {
  class ServerConnectionService {
    constructor(httpClient, store) {
      this.httpClient = httpClient;
      this.store = store;
    }
    checkServerConnection(endPoint) {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        const url = `${endPoint}/api`;
        return new Promise((resolve, reject) => {
          console.log(`Checking server connection on URL in ServerConnectionService in @core/services: ${url}`);
          try {
            if (endPoint !== 'http://localhost:3000') {
              const requestObservable = _this.httpClient.get(url);
              if (!requestObservable) {
                console.error('Failed to create an Observable from the HTTP request.');
                reject('Failed to create an Observable from the HTTP request.');
                return;
              }
              requestObservable.subscribe({
                next: resp => {
                  console.log(`Server connection status in ServerConnectionService for URL ${url} is: ${resp.status}`);
                  _this.store.serverConnection = resp.status;
                  resolve(true);
                },
                error: err => {
                  console.error(`Error checking server connection in ServerConnectionService for URL ${url}`, err);
                  _this.store.serverConnection = err.status;
                  reject(err);
                }
              });
            } else {
              console.log(`Skip checking server connection for URL ${url}`);
              _this.store.serverConnection = 200;
              resolve(true);
            }
          } catch (error) {
            console.error(`Error checking server connection in ServerConnectionService for URL ${url}`, error);
            _this.store.serverConnection = 500;
            reject(error);
          }
        });
      })();
    }
    static {
      this.ɵfac = function ServerConnectionService_Factory(t) {
        return new (t || ServerConnectionService)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_2__/* .HttpClient */ .Qq), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(_store_store_service__WEBPACK_IMPORTED_MODULE_3__/* .Store */ .il));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: ServerConnectionService,
        factory: ServerConnectionService.ɵfac
      });
    }
  }
  return ServerConnectionService;
})();

/***/ }),

/***/ 84076:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   il: () => (/* binding */ Store)
/* harmony export */ });
/* unused harmony exports createInitialAppState, createInitialPersistState, AppStore, PersistStore, AppQuery, PersistQuery */
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(55598);
/* harmony import */ var _datorama_akita__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34249);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34595);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(96641);
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32667);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(40212);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);







function createInitialAppState() {
  return {
    userRolePermissions: [],
    featureToggles: [],
    featureOrganizations: [],
    featureTenant: []
  };
}
function createInitialPersistState() {
  const token = localStorage.getItem('token') || null;
  const refresh_token = localStorage.getItem('refresh_token') || null;
  const userId = localStorage.getItem('_userId') || null;
  const organizationId = localStorage.getItem('_organizationId') || null;
  const serverConnection = parseInt(localStorage.getItem('serverConnection')) || null;
  const preferredLanguage = localStorage.getItem('preferredLanguage') || null;
  const componentLayout = localStorage.getItem('componentLayout') || [];
  const themeName = localStorage.getItem('themeName') || null;
  const widgets = JSON.parse(localStorage.getItem('_widgets'));
  const windows = JSON.parse(localStorage.getItem('_windows'));
  const tenantId = localStorage.getItem('_tenantId') || null;
  return {
    token,
    refresh_token,
    userId,
    organizationId,
    serverConnection,
    preferredLanguage,
    componentLayout,
    themeName,
    widgets,
    windows,
    tenantId
  };
}
let AppStore = class AppStore extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Store */ .il {
  constructor() {
    super(createInitialAppState());
  }
  static {
    this.ɵfac = function AppStore_Factory(t) {
      return new (t || AppStore)();
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: AppStore,
      factory: AppStore.ɵfac,
      providedIn: 'root'
    });
  }
};
AppStore = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .Cg)([(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .StoreConfig */ .g7)({
  name: 'app'
}), (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__metadata */ .Sn)("design:paramtypes", [])], AppStore);
let PersistStore = class PersistStore extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Store */ .il {
  constructor() {
    super(createInitialPersistState());
  }
  static {
    this.ɵfac = function PersistStore_Factory(t) {
      return new (t || PersistStore)();
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: PersistStore,
      factory: PersistStore.ɵfac,
      providedIn: 'root'
    });
  }
};
PersistStore = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .Cg)([(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .StoreConfig */ .g7)({
  name: 'persist'
}), (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__metadata */ .Sn)("design:paramtypes", [])], PersistStore);
let AppQuery = /*#__PURE__*/(() => {
  class AppQuery extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Query */ .XK {
    constructor(store) {
      super(store);
    }
    static {
      this.ɵfac = function AppQuery_Factory(t) {
        return new (t || AppQuery)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(AppStore));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: AppQuery,
        factory: AppQuery.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return AppQuery;
})();
let PersistQuery = /*#__PURE__*/(() => {
  class PersistQuery extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Query */ .XK {
    constructor(store) {
      super(store);
    }
    static {
      this.ɵfac = function PersistQuery_Factory(t) {
        return new (t || PersistQuery)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(PersistStore));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: PersistQuery,
        factory: PersistQuery.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return PersistQuery;
})();
let Store = /*#__PURE__*/(() => {
  class Store {
    constructor(appStore, appQuery, persistStore, persistQuery) {
      this.appStore = appStore;
      this.appQuery = appQuery;
      this.persistStore = persistStore;
      this.persistQuery = persistQuery;
      this.user$ = this.appQuery.select(state => state.user);
      this.selectedOrganization$ = this.appQuery.select(state => state.selectedOrganization);
      this.selectedEmployee$ = this.appQuery.select(state => state.selectedEmployee);
      this.selectedProject$ = this.appQuery.select(state => state.selectedProject);
      this.selectedTeam$ = this.appQuery.select(state => state.selectedTeam);
      this.userRolePermissions$ = this.appQuery.select(state => state.userRolePermissions);
      this.featureToggles$ = this.appQuery.select(state => state.featureToggles);
      this.featureOrganizations$ = this.appQuery.select(state => state.featureOrganizations);
      this.featureTenant$ = this.appQuery.select(state => state.featureTenant);
      this.preferredLanguage$ = this.persistQuery.select(state => state.preferredLanguage);
      this.preferredComponentLayout$ = this.persistQuery.select(state => state.preferredComponentLayout);
      this.componentLayoutMap$ = this.persistQuery.select(state => state.componentLayout).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .map */ .T)(componentLayout => new Map(componentLayout)));
      this.systemLanguages$ = this.appQuery.select(state => state.systemLanguages);
      this.subject = new rxjs__WEBPACK_IMPORTED_MODULE_5__/* .Subject */ .B();
    }
    /**
     * Observe any change to the component layout.
     * Returns the layout for the component given in the params in the following order of preference
     * 1. If overridden at component level, return that.
     * Else
     * 2. If preferred layout set, then return that
     * Else
     * 3. Return the system default layout
     */
    componentLayout$(component) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_6__/* .merge */ .h)(this.persistQuery.select(state => state.preferredComponentLayout).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .map */ .T)(preferredLayout => {
        const dataLayout = this.getLayoutForComponent(component);
        return dataLayout || preferredLayout || _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .SYSTEM_DEFAULT_LAYOUT */ .F;
      })), this.persistQuery.select(state => state.componentLayout).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .map */ .T)(componentLayout => {
        const componentMap = new Map(componentLayout);
        return componentMap.get(component) || this.preferredComponentLayout || _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .SYSTEM_DEFAULT_LAYOUT */ .F;
      })));
    }
    // Getter and Setter for selectedOrganization
    get selectedOrganization() {
      /**
       * Retrieves the currently selected organization from the application's state.
       *
       * @returns {IOrganization} - The selected organization object.
       */
      return this.appQuery.getValue().selectedOrganization;
    }
    set selectedOrganization(organization) {
      /**
       * Updates the selected organization in the application's state.
       *
       * @param {IOrganization} organization - The organization object to be set as the selected organization.
       */
      this.appStore.update({
        selectedOrganization: organization
      });
    }
    // Getter and Setter for selectedEmployee
    get selectedEmployee() {
      /**
       * Retrieves the currently selected employee from the application's state.
       *
       * @returns {ISelectedEmployee} - The selected employee object.
       */
      return this.appQuery.getValue().selectedEmployee;
    }
    set selectedEmployee(employee) {
      /**
       * Updates the selected employee in the application's state.
       *
       * @param {ISelectedEmployee} employee - The employee object to be set as the selected employee.
       */
      this.appStore.update({
        selectedEmployee: employee
      });
    }
    // Getter and Setter for selectedProject
    get selectedProject() {
      /**
       * Retrieves the currently selected project from the application's state.
       *
       * @returns {IOrganizationProject} - The selected project object.
       */
      return this.appQuery.getValue().selectedProject;
    }
    set selectedProject(project) {
      /**
       * Updates the selected project in the application's state.
       *
       * @param {IOrganizationProject} project - The project object to be set as the selected project.
       */
      this.appStore.update({
        selectedProject: project
      });
    }
    // Getter and Setter for selectedTeam
    get selectedTeam() {
      /**
       * Retrieves the currently selected team from the application's state.
       *
       * @returns {IOrganizationTeam} - The selected team object.
       */
      return this.appQuery.getValue().selectedTeam;
    }
    set selectedTeam(team) {
      /**
       * Updates the selected team in the application's state.
       *
       * @param {IOrganizationTeam} team - The team object to be set as the selected team.
       */
      this.appStore.update({
        selectedTeam: team
      });
    }
    set systemLanguages(languages) {
      this.appStore.update({
        systemLanguages: languages
      });
    }
    get systemLanguages() {
      const {
        systemLanguages
      } = this.appQuery.getValue();
      return systemLanguages;
    }
    get refresh_token() {
      const {
        refresh_token
      } = this.persistQuery.getValue();
      return refresh_token;
    }
    set refresh_token(refresh_token) {
      this.persistStore.update({
        refresh_token: refresh_token
      });
    }
    get token() {
      const {
        token
      } = this.persistQuery.getValue();
      return token;
    }
    set token(token) {
      this.persistStore.update({
        token: token
      });
    }
    get userId() {
      const {
        userId
      } = this.persistQuery.getValue();
      return userId;
    }
    set userId(id) {
      this.persistStore.update({
        userId: id
      });
    }
    get organizationId() {
      const {
        organizationId
      } = this.persistQuery.getValue();
      return organizationId;
    }
    set organizationId(id) {
      this.persistStore.update({
        organizationId: id
      });
    }
    get user() {
      const {
        user
      } = this.appQuery.getValue();
      return user;
    }
    set user(user) {
      this.appStore.update({
        user: user
      });
    }
    get selectedProposal() {
      const {
        selectedProposal
      } = this.appQuery.getValue();
      return selectedProposal;
    }
    set selectedProposal(proposal) {
      this.appStore.update({
        selectedProposal: proposal
      });
    }
    get featureToggles() {
      const {
        featureToggles
      } = this.appQuery.getValue();
      return featureToggles;
    }
    set featureToggles(featureToggles) {
      this.appStore.update({
        featureToggles: featureToggles
      });
    }
    get featureTenant() {
      const {
        featureTenant
      } = this.appQuery.getValue();
      return featureTenant;
    }
    set featureTenant(featureOrganizations) {
      this.appStore.update({
        featureTenant: featureOrganizations
      });
    }
    get featureOrganizations() {
      const {
        featureOrganizations
      } = this.appQuery.getValue();
      return featureOrganizations;
    }
    set featureOrganizations(featureOrganizations) {
      this.appStore.update({
        featureOrganizations: featureOrganizations
      });
    }
    /*
     * Check features are enabled/disabled for tenant organization
     */
    hasFeatureEnabled(feature) {
      const {
        featureTenant = [],
        featureOrganizations = [],
        featureToggles = []
      } = this.appQuery.getValue();
      const filtered = (0,underscore__WEBPACK_IMPORTED_MODULE_1__/* .uniq */ .sb)([...featureOrganizations, ...featureTenant], x => x.featureId);
      const unleashToggle = featureToggles.find(toggle => toggle.name === feature && toggle.enabled === false);
      if (unleashToggle) {
        return unleashToggle.enabled;
      }
      return !!filtered.find(item => item.feature.code === feature && item.isEnabled);
    }
    /**
     * Returns the user role permissions from the application state.
     *
     * @return {IRolePermission[]} The user role permissions.
     */
    get userRolePermissions() {
      const {
        userRolePermissions
      } = this.appQuery.getValue();
      return userRolePermissions;
    }
    /**
     * Updates the user role permissions in the application state.
     *
     * @param {IRolePermission[]} userRolePermissions - The new user role permissions.
     */
    set userRolePermissions(userRolePermissions) {
      this.appStore.update({
        userRolePermissions
      });
    }
    /**
     * Checks if the user has a specific permission.
     *
     * @param {PermissionsEnum} permission - The permission to check.
     * @return {boolean} Returns true if the user has the permission, false otherwise.
     */
    hasPermission(permission) {
      const {
        userRolePermissions
      } = this.appQuery.getValue();
      return (userRolePermissions || []).some(p => p.permission === permission && p.enabled);
    }
    /**
     * Checks if the user has all the specified permissions.
     *
     * @param {...PermissionsEnum[]} permissions - The permissions to check.
     * @return {boolean} Returns true if the user has all the permissions, false otherwise.
     */
    hasAllPermissions(...permissions) {
      return permissions.every(permission => this.hasPermission(permission));
    }
    /**
     * Checks if the user has any of the specified permissions.
     *
     * @param {...PermissionsEnum[]} permissions - The permissions to check.
     * @return {boolean} Returns true if the user has any of the permissions, false otherwise.
     */
    hasAnyPermission(...permissions) {
      // Early return if no permissions are provided
      if (permissions.length === 0) return false;
      const {
        userRolePermissions
      } = this.appQuery.getValue();
      const set = new Set(permissions);
      // Check if any user role permission matches the required permissions
      return (userRolePermissions || []).some(p => set.has(p.permission) && p.enabled);
    }
    get serverConnection() {
      const {
        serverConnection
      } = this.persistQuery.getValue();
      return serverConnection;
    }
    set serverConnection(val) {
      this.persistStore.update({
        serverConnection: val
      });
    }
    get preferredLanguage() {
      const {
        preferredLanguage
      } = this.persistQuery.getValue();
      return preferredLanguage;
    }
    set preferredLanguage(preferredLanguage) {
      this.persistStore.update({
        preferredLanguage: preferredLanguage
      });
    }
    get preferredComponentLayout() {
      const {
        preferredComponentLayout
      } = this.persistQuery.getValue();
      return preferredComponentLayout;
    }
    set preferredComponentLayout(preferredComponentLayout) {
      this.persistStore.update({
        preferredComponentLayout: preferredComponentLayout
      });
    }
    clear() {
      this.appStore.reset();
      this.persistStore.reset();
    }
    getLayoutForComponent(componentName) {
      const {
        componentLayout
      } = this.persistQuery.getValue();
      const componentLayoutMap = new Map(componentLayout);
      return componentLayoutMap.get(componentName);
    }
    setLayoutForComponent(componentName, style) {
      const {
        componentLayout
      } = this.persistQuery.getValue();
      const componentLayoutMap = new Map(componentLayout);
      componentLayoutMap.set(componentName, style);
      const componentLayoutArray = Array.from(componentLayoutMap.entries());
      this.persistStore.update({
        componentLayout: componentLayoutArray
      });
    }
    set componentLayout(componentLayout) {
      this.persistStore.update({
        componentLayout
      });
    }
    get currentTheme() {
      const {
        themeName
      } = this.persistQuery.getValue();
      return themeName;
    }
    set currentTheme(name) {
      this.persistStore.update({
        themeName: name
      });
    }
    get windows() {
      const {
        windows
      } = this.persistQuery.getValue();
      return windows;
    }
    set windows(values) {
      this.persistStore.update({
        windows: values
      });
    }
    get widgets() {
      const {
        widgets
      } = this.persistQuery.getValue();
      return widgets;
    }
    set widgets(values) {
      this.persistStore.update({
        widgets: values
      });
    }
    get tenantId() {
      const {
        tenantId
      } = this.persistQuery.getValue();
      return tenantId;
    }
    set tenantId(value) {
      this.persistStore.update({
        tenantId: value
      });
    }
    static {
      this.ɵfac = function Store_Factory(t) {
        return new (t || Store)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(AppStore), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(AppQuery), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(PersistStore), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵinject"] */ .KVO(PersistQuery));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: Store,
        factory: Store.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return Store;
})();

/***/ }),

/***/ 31496:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   w: () => (/* binding */ TasksService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43038);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(30057);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45484);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65670);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83290);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(47122);
/* harmony import */ var _notification__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(75107);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(61198);











let TasksService = /*#__PURE__*/(() => {
  class TasksService extends _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_0__/* .TranslationBaseComponent */ .K {
    constructor(_http, toastrService, translateService) {
      super(translateService);
      this._http = _http;
      this.toastrService = toastrService;
      this.API_URL = `${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/tasks`;
    }
    getAllTasks(where, relations = []) {
      return this._http.get(this.API_URL, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          relations,
          where
        })
      }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .catchError */ .W)(error => this.errorHandler(error)));
    }
    getAllTasksByEmployee(id, options) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .firstValueFrom */ ._)(this._http.get(`${this.API_URL}/employee/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)(options)
      }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .catchError */ .W)(error => this.errorHandler(error))));
    }
    getMyTasks(findInput = {}) {
      const data = JSON.stringify({
        findInput
      });
      return this._http.get(`${this.API_URL}/me`, {
        params: {
          data
        }
      }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .catchError */ .W)(error => this.errorHandler(error)));
    }
    getTeamTasks(findInput = {}, employeeId = '') {
      const data = JSON.stringify({
        relations: ['project', 'tags', 'members', 'members.user', 'teams'],
        findInput,
        employeeId
      });
      return this._http.get(`${this.API_URL}/team`, {
        params: {
          data
        }
      }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .catchError */ .W)(error => this.errorHandler(error)));
    }
    getById(id) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .firstValueFrom */ ._)(this._http.get(`${this.API_URL}/${id}`));
    }
    createTask(task) {
      return this._http.post(this.API_URL, task).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(() => this.toastrService.success('TASKS_PAGE.TASK_ADDED')), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .catchError */ .W)(error => this.errorHandler(error)));
    }
    editTask(task) {
      return this._http.put(`${this.API_URL}/${task.id}`, task).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(() => this.toastrService.success('TASKS_PAGE.TASK_UPDATED')), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .catchError */ .W)(error => this.errorHandler(error)));
    }
    deleteTask(id) {
      return this._http.delete(`${this.API_URL}/${id}`).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(() => this.toastrService.success('TASKS_PAGE.TASK_DELETED')), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .catchError */ .W)(error => this.errorHandler(error)));
    }
    errorHandler(error) {
      this.toastrService.danger(error.message, this.getTranslation('TOASTR.TITLE.ERROR'));
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_6__/* .throwError */ .$)(error.message);
    }
    getMaxTaskNumber(options) {
      return this._http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/tasks/max-number`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)(options)
      });
    }
    static {
      this.ɵfac = function TasksService_Factory(t) {
        return new (t || TasksService)(_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_8__/* .HttpClient */ .Qq), _angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵinject"] */ .KVO(_notification__WEBPACK_IMPORTED_MODULE_9__/* .ToastrService */ .t), _angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵinject"] */ .KVO(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__/* .TranslateService */ .c$));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: TasksService,
        factory: TasksService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return TasksService;
})();

/***/ }),

/***/ 30795:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   x: () => (/* binding */ TimerIcon)
/* harmony export */ });
class TimerIcon {
  get source() {
    return this._source;
  }
  set source(value) {
    this._source = value;
  }
  get name() {
    return this._name;
  }
  set name(value) {
    this._name = value;
  }
}

/***/ }),

/***/ 29610:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Bj: () => (/* binding */ TimeTrackerService)
/* harmony export */ });
/* unused harmony exports createInitialTimerState, TimerStore, TimerQuery */
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(55598);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(47122);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(86402);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(43038);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(65670);
/* harmony import */ var rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(66791);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _datorama_akita__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34249);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(57328);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(73600);
/* harmony import */ var _store_store_service__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
















/**
 * Creates and returns the initial state for the timer.
 *
 * @returns The initial TimerState object.
 */
function createInitialTimerState() {
  const defaultTimerConfig = {
    isBillable: true,
    organizationId: null,
    tenantId: null,
    projectId: null,
    taskId: null,
    organizationContactId: null,
    organizationTeamId: null,
    description: null,
    logType: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.TimeLogType.TRACKED,
    source: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.TimeLogSourceEnum.WEB_TIMER,
    startedAt: null,
    stoppedAt: null
  };
  // Retrieve and parse the stored timer configuration, if available
  const storedConfig = (() => {
    try {
      return JSON.parse(localStorage.getItem('timerConfig') || '{}');
    } catch (error) {
      console.error('Error parsing timerConfig from localStorage:', error);
      return {};
    }
  })();
  // Merge default and stored configurations
  const timerConfig = {
    ...defaultTimerConfig,
    ...storedConfig
  };
  // Return the complete initial TimerState
  return {
    showTimerWindow: false,
    duration: 0,
    currentSessionDuration: 0,
    running: false,
    position: {
      x: 0,
      y: 0
    },
    timerConfig
  };
}
let TimerStore = class TimerStore extends _datorama_akita__WEBPACK_IMPORTED_MODULE_1__/* .Store */ .il {
  constructor() {
    super(createInitialTimerState());
  }
  static {
    this.ɵfac = function TimerStore_Factory(t) {
      return new (t || TimerStore)();
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: TimerStore,
      factory: TimerStore.ɵfac,
      providedIn: 'root'
    });
  }
};
TimerStore = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .Cg)([(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_1__/* .StoreConfig */ .g7)({
  name: 'timer'
}), (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__metadata */ .Sn)("design:paramtypes", [])], TimerStore);
let TimerQuery = /*#__PURE__*/(() => {
  class TimerQuery extends _datorama_akita__WEBPACK_IMPORTED_MODULE_1__/* .Query */ .XK {
    constructor(store) {
      super(store);
    }
    static {
      this.ɵfac = function TimerQuery_Factory(t) {
        return new (t || TimerQuery)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(TimerStore));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: TimerQuery,
        factory: TimerQuery.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return TimerQuery;
})();
let TimeTrackerService = class TimeTrackerService {
  constructor(timerStore, timerQuery, store, http) {
    this.timerStore = timerStore;
    this.timerQuery = timerQuery;
    this.store = store;
    this.http = http;
    this.showTimerWindow$ = this.timerQuery.select(state => state.showTimerWindow);
    this.duration$ = this.timerQuery.select(state => state.duration);
    this.currentSessionDuration$ = this.timerQuery.select(state => state.currentSessionDuration);
    this.$running = this.timerQuery.select(state => state.running);
    this.$timerConfig = this.timerQuery.select(state => state.timerConfig);
    this._trackType$ = new rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__/* .BehaviorSubject */ .t(this.timeType);
    this.trackType$ = this._trackType$.asObservable();
    this.timer$ = (0,rxjs__WEBPACK_IMPORTED_MODULE_6__/* .timer */ .O)(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .BACKGROUND_SYNC_INTERVAL */ .dT);
    this._runWorker();
    this.store.selectedOrganization$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_9__/* .tap */ .M)(organization => this.organization = organization), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_10__/* .untilDestroyed */ .s)(this)).subscribe(organization => {
      this.timerStore.update({
        timerConfig: {
          ...this.timerConfig,
          organizationId: organization.id,
          tenantId: organization.tenantId
        }
      });
    });
  }
  /*
   * Check current timer status for employee only
   */
  checkTimerStatus(payload) {
    var _this = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .A)(function* () {
      delete payload.source;
      yield _this.getTimerStatus(payload).then(status => {
        _this.duration = status.duration;
        if (status.lastLog && status.lastLog.isRunning) {
          _this.currentSessionDuration = moment__WEBPACK_IMPORTED_MODULE_0__().diff((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_12__/* .toLocal */ .jw)(status.lastLog.startedAt), 'seconds');
        } else {
          _this.currentSessionDuration = 0;
        }
        // On refresh/delete TimeLog, we need to clear interval to prevent duplicate interval
        _this.turnOffTimer();
        if (status.running) {
          _this.turnOnTimer();
        }
      }).catch(() => {});
    })();
  }
  /**
   * Gets the value indicating whether the timer window is shown.
   *
   * @returns A boolean indicating if the timer window is displayed.
   */
  get showTimerWindow() {
    return this.timerQuery.getValue().showTimerWindow;
  }
  /**
   * Sets the value indicating whether to show the timer window.
   *
   * @param value - A boolean value to set for displaying the timer window.
   */
  set showTimerWindow(value) {
    this.timerStore.update({
      showTimerWindow: value
    });
  }
  /**
   * Gets the current duration of the timer.
   *
   * @returns The duration in seconds.
   */
  get duration() {
    return this.timerQuery.getValue().duration;
  }
  /**
   * Sets the duration of the timer.
   *
   * @param value - A number representing the duration to set.
   */
  set duration(value) {
    this.timerStore.update({
      duration: value
    });
  }
  /**
   * Gets the current session duration of the timer.
   *
   * @returns The current session duration in seconds.
   */
  get currentSessionDuration() {
    return this.timerQuery.getValue().currentSessionDuration;
  }
  /**
   * Sets the current session duration of the timer.
   *
   * @param value - A number representing the current session duration to set.
   */
  set currentSessionDuration(value) {
    this.timerStore.update({
      currentSessionDuration: value
    });
  }
  /**
   * Gets the configuration settings for the timer.
   *
   * @returns The timer configuration object.
   */
  get timerConfig() {
    return this.timerQuery.getValue().timerConfig;
  }
  /**
   * Sets the configuration settings for the timer.
   *
   * @param value - An object containing the timer configuration to set.
   */
  set timerConfig(value) {
    this.timerStore.update({
      timerConfig: value
    });
  }
  /**
   * Gets the running state of the timer.
   *
   * @returns A boolean indicating if the timer is currently running.
   */
  get running() {
    return this.timerQuery.getValue().running;
  }
  /**
   * Sets the running state of the timer.
   *
   * @param value - A boolean value to indicate whether the timer should be running.
   */
  set running(value) {
    this.timerStore.update({
      running: value
    });
  }
  /**
   * Gets the current position of the timer.
   *
   * @returns The current position or offset of the timer.
   */
  get position() {
    return this.timerQuery.getValue().position;
  }
  /**
   * Sets the position of the timer.
   *
   * @param offset - The offset value to set for the timer's position.
   */
  set position(offset) {
    this.timerStore.update({
      position: offset
    });
  }
  /**
   * Retrieves the timer status using the provided parameters.
   * @param params The input parameters for retrieving timer status.
   * @returns A promise that resolves to the timer status.
   */
  getTimerStatus(params) {
    const todayStart = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_12__/* .toUTC */ .q5)(moment__WEBPACK_IMPORTED_MODULE_0__().startOf('day')).format('YYYY-MM-DD HH:mm:ss');
    const todayEnd = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_12__/* .toUTC */ .q5)(moment__WEBPACK_IMPORTED_MODULE_0__().endOf('day')).format('YYYY-MM-DD HH:mm:ss');
    return (0,rxjs__WEBPACK_IMPORTED_MODULE_13__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .API_PREFIX */ .m4}/timesheet/timer/status`, {
      params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_12__/* .toParams */ .SV)({
        ...params,
        todayStart,
        todayEnd
      })
    }));
  }
  // toggleTimer(request: ITimerToggleInput): Promise<ITimeLog> {
  // 	return firstValueFrom(
  // 		this.http.post<ITimeLog>(`${API_PREFIX}/timesheet/timer/toggle`, request)
  // 	);
  // }
  openAndStartTimer() {
    this.showTimerWindow = true;
    if (!this.running) {
      if (this.canStartTimer()) {
        this.currentSessionDuration = 0;
        this.toggle();
      }
    }
  }
  toggle() {
    if (this.running) {
      this.turnOffTimer();
      delete this.timerConfig.source;
      this.timerConfig = {
        ...this.timerConfig,
        stoppedAt: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_12__/* .toUTC */ .q5)(moment__WEBPACK_IMPORTED_MODULE_0__()).toDate()
      };
      this.currentSessionDuration = 0;
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_13__/* .firstValueFrom */ ._)(this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .API_PREFIX */ .m4}/timesheet/timer/stop`, this.timerConfig));
    } else {
      this.currentSessionDuration = 0;
      this.turnOnTimer();
      this.timerConfig = {
        ...this.timerConfig,
        startedAt: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_12__/* .toUTC */ .q5)(moment__WEBPACK_IMPORTED_MODULE_0__()).toDate(),
        source: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.TimeLogSourceEnum.WEB_TIMER
      };
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_13__/* .firstValueFrom */ ._)(this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_7__/* .API_PREFIX */ .m4}/timesheet/timer/start`, this.timerConfig));
    }
  }
  turnOnTimer() {
    this.running = true;
    // post state of timer to worker on start timer
    this._worker.postMessage({
      isRunning: this.running,
      session: this.currentSessionDuration,
      duration: this.duration
    });
  }
  turnOffTimer() {
    this.running = false;
    // post running state to worker on turning off
    this._worker.postMessage({
      isRunning: this.running
    });
  }
  canStartTimer() {
    let isValid = true;
    if (this.organization) {
      if (this.organization.requireProject && !this.timerConfig.projectId) {
        isValid = false;
      }
      if (this.organization.requireTask && !this.timerConfig.taskId) {
        isValid = false;
      }
      if (this.organization.requireDescription && !this.timerConfig.description) {
        isValid = false;
      }
    } else {
      isValid = false;
    }
    return isValid;
  }
  setTimeLogType(timeType) {
    this._trackType$.next(timeType);
    this.timeType = timeType === _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.TimeLogType.TRACKED ? _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.TimeLogType.TRACKED : _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.TimeLogType.MANUAL;
  }
  get timeType() {
    return this.timerConfig.logType;
  }
  set timeType(value) {
    this.timerConfig = {
      ...this.timerConfig,
      logType: value
    };
  }
  /*
   * Clear time tracker local store
   */
  clearTimeTracker() {
    this.timerStore.reset();
  }
  _runWorker() {
    if (typeof Worker !== 'undefined') {
      try {
        this._worker = new Worker(new URL(_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_14__/* .environment */ .c.CLIENT_BASE_URL + '/assets/workers/time-tracker.js'), {
          type: 'module'
        });
        // retrieve message post from time tracker worker
        this._worker.onmessage = ({
          data
        }) => {
          this.currentSessionDuration = data.session;
          this.duration = data.todayWorked;
        };
      } catch (error) {
        console.log('Invalid Time Tracker worker configuration', error?.message);
      }
    } else {
      console.log('Web worker does not supported on your browser');
    }
  }
  remoteToggle() {
    if (this.running) {
      this.turnOffTimer();
      this.timerConfig = {
        ...this.timerConfig,
        source: this.timerSynced.source,
        startedAt: this.timerSynced.startedAt,
        stoppedAt: this.timerSynced.stoppedAt
      };
      this.currentSessionDuration = 0;
      return this.timerSynced.lastLog;
    } else {
      this.duration = this.timerSynced.lastLog.duration;
      this.timerConfig = {
        ...this.timerConfig,
        organizationId: this.timerSynced.lastLog.organizationId,
        tenantId: this.timerSynced.lastLog.tenantId,
        projectId: this.timerSynced.lastLog.projectId,
        taskId: this.timerSynced.lastLog.taskId,
        organizationContactId: this.timerSynced.lastLog.organizationContactId,
        description: this.timerSynced.lastLog.description,
        source: this.timerSynced.source,
        startedAt: this.timerSynced.startedAt,
        stoppedAt: this.timerSynced.stoppedAt
      };
      this.turnOnTimer();
      return this.timerSynced.lastLog;
    }
  }
  get timerSynced() {
    return this._timerSynced;
  }
  set timerSynced(value) {
    this._timerSynced = value;
  }
  ngOnDestroy() {
    this._worker.terminate();
  }
  static {
    this.ɵfac = function TimeTrackerService_Factory(t) {
      return new (t || TimeTrackerService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(TimerStore), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(TimerQuery), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_store_store_service__WEBPACK_IMPORTED_MODULE_15__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_16__/* .HttpClient */ .Qq));
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: TimeTrackerService,
      factory: TimeTrackerService.ɵfac,
      providedIn: 'root'
    });
  }
};
TimeTrackerService = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_10__/* .UntilDestroy */ .d)(), (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__metadata */ .Sn)("design:paramtypes", [TimerStore, TimerQuery, _store_store_service__WEBPACK_IMPORTED_MODULE_15__/* .Store */ .il, _angular_common_http__WEBPACK_IMPORTED_MODULE_16__/* .HttpClient */ .Qq])], TimeTrackerService);

/***/ }),

/***/ 65465:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   WG: () => (/* binding */ TimesheetFilterService),
/* harmony export */   g: () => (/* binding */ ActivityLevel)
/* harmony export */ });
/* unused harmony exports initialTimesheetFilterState, TimesheetFilterStore, TimesheetFilterQuery */
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55598);
/* harmony import */ var _datorama_akita__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34249);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);



const ActivityLevel = {
  start: 0,
  end: 100
};
function initialTimesheetFilterState() {
  return {
    activityLevel: ActivityLevel,
    source: [],
    logType: []
  };
}
let TimesheetFilterStore = class TimesheetFilterStore extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Store */ .il {
  constructor() {
    super(initialTimesheetFilterState());
  }
  static {
    this.ɵfac = function TimesheetFilterStore_Factory(t) {
      return new (t || TimesheetFilterStore)();
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: TimesheetFilterStore,
      factory: TimesheetFilterStore.ɵfac,
      providedIn: 'root'
    });
  }
};
TimesheetFilterStore = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .Cg)([(0,_datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .StoreConfig */ .g7)({
  name: 'timesheet-filter',
  resettable: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__metadata */ .Sn)("design:paramtypes", [])], TimesheetFilterStore);
let TimesheetFilterQuery = /*#__PURE__*/(() => {
  class TimesheetFilterQuery extends _datorama_akita__WEBPACK_IMPORTED_MODULE_0__/* .Query */ .XK {
    constructor(store) {
      super(store);
    }
    static {
      this.ɵfac = function TimesheetFilterQuery_Factory(t) {
        return new (t || TimesheetFilterQuery)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(TimesheetFilterStore));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: TimesheetFilterQuery,
        factory: TimesheetFilterQuery.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return TimesheetFilterQuery;
})();
let TimesheetFilterService = /*#__PURE__*/(() => {
  class TimesheetFilterService {
    constructor(timesheetFilterStore, timesheetFilterQuery) {
      this.timesheetFilterStore = timesheetFilterStore;
      this.timesheetFilterQuery = timesheetFilterQuery;
      this.filter$ = this.timesheetFilterQuery.select(state => state);
    }
    get filter() {
      return this.timesheetFilterQuery.getValue();
    }
    set filter(value) {
      this.timesheetFilterStore.update(value);
    }
    clear() {
      const obj = initialTimesheetFilterState();
      this.timesheetFilterStore.update(obj);
      return obj;
    }
    static {
      this.ɵfac = function TimesheetFilterService_Factory(t) {
        return new (t || TimesheetFilterService)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(TimesheetFilterStore), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵinject"] */ .KVO(TimesheetFilterQuery));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: TimesheetFilterService,
        factory: TimesheetFilterService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return TimesheetFilterService;
})();

/***/ }),

/***/ 8820:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: () => (/* binding */ TimesheetService)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26699);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43038);
/* harmony import */ var rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66791);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(47122);







let TimesheetService = /*#__PURE__*/(() => {
  class TimesheetService {
    constructor(http) {
      this.http = http;
      this._updateLog$ = new rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__/* .BehaviorSubject */ .t(false);
      this.updateLog$ = this._updateLog$.asObservable();
    }
    updateLogs(value) {
      this._updateLog$.next(value);
    }
    addTime(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log`, request));
    }
    updateTime(id, request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/` + id, request));
    }
    checkOverlaps(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/conflict`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request)
      }));
    }
    /**
     * Fetches a timesheet by its ID.
     *
     * @param id - The ID of the timesheet to retrieve.
     * @returns An observable of the timesheet data.
     */
    getTimeSheetById(id) {
      return this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/${id}`);
    }
    getTimeSheets(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request)
      })).then(data => {
        return data;
      });
    }
    getTimeSheetCount(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/count`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request)
      })).then(data => {
        return data;
      });
    }
    updateStatus(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/status`, {
        ...request
      }));
    }
    submitTimesheet(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/submit`, {
        ...request
      }));
    }
    getTimeLogs(request, relations = []) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)({
          ...request,
          relations
        })
      }));
    }
    /**
     * Fetches daily report data based on the provided request parameters.
     *
     * @param request - Parameters for customizing the request (IGetTimeLogInput).
     * @returns A Promise that resolves to the daily report data.
     */
    getDailyReport(request) {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Convert the request parameters to URL query parameters
        const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
        // Fetch the daily report data
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/report/daily`, {
          params
        }));
      })();
    }
    /**
     * Fetches daily report chart data based on the provided request parameters.
     *
     * @param request - Parameters for customizing the request (IGetTimeLogReportInput).
     * @returns A Promise that resolves to the daily report chart data.
     */
    getDailyReportChart(request) {
      var _this2 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Convert the request parameters to URL query parameters
        const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this2.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/report/daily-chart`, {
          params
        }));
      })();
    }
    /**
     * Retrieves the amount owed report based on the provided request parameters.
     *
     * @param request - Optional parameters for customizing the request (IGetTimeLogInput).
     * @returns A Promise that resolves to the amount owed report data.
     */
    getOwedAmountReport(request = {}) {
      var _this3 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Convert the request parameters to URL query parameters
        const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this3.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/report/owed-report`, {
          params
        }));
      })();
    }
    /**
     * Retrieves chart data for the owed amount report based on the provided request parameters.
     *
     * @param request - Optional parameters for customizing the request (IGetTimeLogInput).
     * @returns A Promise that resolves to the chart data for the owed amount report.
     */
    getOwedAmountReportChartData(request = {}) {
      var _this4 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Convert the request parameters to URL query parameters
        const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this4.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/report/owed-charts`, {
          params
        }));
      })();
    }
    /**
     * Fetches weekly report chart data based on the provided request parameters.
     *
     * @param request - Optional parameters for customizing the request (IGetTimeLogInput).
     * @returns A Promise that resolves to the weekly report chart data.
     */
    getWeeklyReportChart(request) {
      var _this5 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Convert the request parameters to URL query parameters
        const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this5.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/report/weekly`, {
          params
        }));
      })();
    }
    /**
     * Fetches time limit report based on the provided request parameters.
     *
     * @param request - Parameters for customizing the request (IGetTimeLimitReportInput).
     * @returns A Promise that resolves to the time limit report data.
     */
    getTimeLimit(request) {
      var _this6 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Convert the request parameters to URL query parameters
        const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this6.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/time-limit`, {
          params
        }));
      })();
    }
    /**
     * Fetches project budget limit report based on the provided request parameters.
     *
     * @param request - Parameters for customizing the request (IGetTimeLogReportInput).
     * @returns A Promise that resolves to the project budget limit report data.
     */
    getProjectBudgetLimit(request) {
      var _this7 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Convert the request parameters to URL query parameters
        const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this7.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/project-budget-limit`, {
          params
        }));
      })();
    }
    /**
     * Fetches client budget limit report based on the provided request parameters.
     *
     * @param request - Parameters for customizing the request (IGetTimeLogReportInput).
     * @returns A Promise that resolves to the client budget limit report data.
     */
    getClientBudgetLimit(request) {
      var _this8 = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
        // Convert the request parameters to URL query parameters
        const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
        return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(_this8.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/client-budget-limit`, {
          params
        }));
      })();
    }
    getTimeLog(id, findOptions) {
      const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(findOptions);
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log/${id}`, {
        params
      })).then(data => {
        return data;
      });
    }
    getTimeSlot(id, request) {
      const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-slot/${id}`, {
        params
      }));
    }
    getTimeSlots(request) {
      const params = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request);
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-slot`, {
        params
      }));
    }
    /**
     * Deletes multiple time slots based on the provided request.
     *
     * @param request - The request object containing parameters for deletion.
     * @returns A Promise that resolves when the time slots are deleted.
     */
    deleteTimeSlots(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-slot`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request)
      }));
    }
    deleteLogs(request) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/time-log`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(request)
      }));
    }
    /**
     * Deletes a screenshot by its ID.
     *
     * @param id - The ID of the screenshot to delete.
     * @param params - The parameters that include tenant and organization context.
     * @returns A Promise that resolves to an object containing the result of the deletion.
     */
    deleteScreenshot(id, params) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .API_PREFIX */ .m4}/timesheet/screenshot/${id}`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .toParams */ .SV)(params)
      }));
    }
    static {
      this.ɵfac = function TimesheetService_Factory(t) {
        return new (t || TimesheetService)(_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_6__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: TimesheetService,
        factory: TimesheetService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return TimesheetService;
})();

/***/ }),

/***/ 43225:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: () => (/* binding */ UsersOrganizationsService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43038);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);





let UsersOrganizationsService = /*#__PURE__*/(() => {
  class UsersOrganizationsService {
    constructor(http) {
      this.http = http;
    }
    /**
     * Count the number of user organizations based on the provided filter.
     *
     * @param where - Optional filter criteria for counting user organizations.
     * @returns A promise that resolves to the count of user organizations.
     */
    getCount(where) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/user-organization/count`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)(where)
      }));
    }
    /**
     * Retrieves user organizations based on specified relations, conditions, and employee inclusion.
     *
     * @param relations An array of relation names to be eager loaded.
     * @param where Optional conditions to filter user organizations.
     * @param includeEmployee Specifies whether to include employee information.
     * @returns A promise that resolves to a paginated result of user organizations.
     */
    getAll(relations = [], where, includeEmployee = false) {
      // Construct request parameters
      const params = {
        relations,
        where,
        includeEmployee
      };
      // Send HTTP GET request to retrieve user organizations
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/user-organization`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)(params)
      }));
    }
    /**
     * Set user as inactive in the organization.
     *
     * @param id - The ID of the user organization.
     * @returns A promise that resolves to the updated user organization.
     */
    setUserAsInactive(id) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.put(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/user-organization/${id}`, {
        isActive: false
      }));
    }
    /**
     * Get the count of organizations a user belongs to.
     *
     * @param id - The user ID.
     * @returns A promise that resolves to the count of organizations.
     */
    getUserOrganizationCount(id) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.get(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/user-organization/${id}/count`));
    }
    /**
     * Remove user from the organization.
     *
     * @param id - The ID of the user organization.
     * @returns A promise that resolves to the removed user organization.
     */
    removeUserFromOrg(id) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_0__/* .firstValueFrom */ ._)(this.http.delete(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/user-organization/${id}`));
    }
    /**
     * Create a new user organization.
     *
     * @param input - The input data for creating a user organization.
     * @returns An observable that resolves to the created user organization.
     */
    create(input) {
      return this.http.post(`${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .API_PREFIX */ .m4}/user-organization`, input);
    }
    static {
      this.ɵfac = function UsersOrganizationsService_Factory(t) {
        return new (t || UsersOrganizationsService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: UsersOrganizationsService,
        factory: UsersOrganizationsService.ɵfac
      });
    }
  }
  return UsersOrganizationsService;
})();

/***/ }),

/***/ 58988:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   g: () => (/* binding */ UsersService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43038);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30729);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);





let UsersService = /*#__PURE__*/(() => {
  class UsersService {
    constructor(http) {
      this.http = http;
      this.API_URL = `${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .API_PREFIX */ .m4}/user`;
    }
    /**
     * Retrieves the current user's details, optionally including specified relations and employee data.
     *
     * @param relations An array of strings indicating relations to include in the response.
     * @param includeEmployee A boolean flag to include employee details in the response.
     * @returns A Promise resolving to the IUser object.
     */
    getMe(relations = [], includeEmployee = false) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${this.API_URL}/me`, {
        params: (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .toParams */ .SV)({
          relations,
          includeEmployee
        })
      }));
    }
    getUserByEmail(emailId) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${this.API_URL}/email/${emailId}`));
    }
    getUserById(id, relations) {
      const data = JSON.stringify({
        relations
      });
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${this.API_URL}/${id}`, {
        params: {
          data
        }
      }));
    }
    getAll(relations, findInput) {
      const data = JSON.stringify({
        relations,
        findInput
      });
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.get(`${this.API_URL}`, {
        params: {
          data
        }
      }));
    }
    update(userId, updateInput) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.put(`${this.API_URL}/${userId}`, updateInput));
    }
    delete(userId, user) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.delete(`${this.API_URL}/${userId}`, user));
    }
    deleteAllData() {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.delete(`${this.API_URL}/reset`));
    }
    /**
     * Update user preferred language
     *
     * @param input
     * @returns
     */
    updatePreferredLanguage(input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.put(`${this.API_URL}/preferred-language`, input));
    }
    /**
     * Update user preferred component layout
     *
     * @param input
     * @returns
     */
    updatePreferredComponentLayout(input) {
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_1__/* .firstValueFrom */ ._)(this.http.put(`${this.API_URL}/preferred-layout`, input));
    }
    static {
      this.ɵfac = function UsersService_Factory(t) {
        return new (t || UsersService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: UsersService,
        factory: UsersService.ɵfac
      });
    }
  }
  return UsersService;
})();

/***/ }),

/***/ 65611:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: () => (/* binding */ monthNames),
/* harmony export */   v: () => (/* binding */ defaultDateFormat)
/* harmony export */ });
/**
 * An array containing the names of months.
 */
const monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
/**
 * The default date format used.
 */
const defaultDateFormat = 'll';

/***/ }),

/***/ 35656:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: () => (/* binding */ I18nModule)
/* harmony export */ });
/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47122);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61198);
/* harmony import */ var _i18n_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19993);
/* harmony import */ var _translate_http_loader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60625);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);







let I18nModule = /*#__PURE__*/(() => {
  class I18nModule {
    /**
     * Returns a ModuleWithProviders object that specifies the I18nModule and its providers.
     *
     * @return {ModuleWithProviders<I18nModule>} A ModuleWithProviders object with the I18nModule and its providers.
     */
    static forRoot() {
      return {
        ngModule: I18nModule,
        providers: [_i18n_service__WEBPACK_IMPORTED_MODULE_0__/* .I18nService */ .W]
      };
    }
    static {
      this.ɵfac = function I18nModule_Factory(t) {
        return new (t || I18nModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineNgModule"] */ .$C({
        type: I18nModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjector"] */ .G2t({
        providers: [_i18n_service__WEBPACK_IMPORTED_MODULE_0__/* .I18nService */ .W],
        imports: [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__/* .TranslateModule */ .h.forRoot({
          loader: {
            provide: _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__/* .TranslateLoader */ .Wr,
            useFactory: _translate_http_loader__WEBPACK_IMPORTED_MODULE_3__/* .HttpLoaderFactory */ .M,
            deps: [_angular_common_http__WEBPACK_IMPORTED_MODULE_4__/* .HttpClient */ .Qq]
          }
        }), _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__/* .TranslateModule */ .h]
      });
    }
  }
  return I18nModule;
})();

/***/ }),

/***/ 19993:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   W: () => (/* binding */ I18nService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66791);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51717);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);






let I18nService = /*#__PURE__*/(() => {
  class I18nService {
    /**
     * Getter for preferredLanguage$
     * @returns An observable of the preferred language.
     */
    get preferredLanguage$() {
      return this._preferredLanguage$.asObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_0__/* .filter */ .p)(preferredLanguage => !!preferredLanguage), (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .distinctUntilChange */ .nI)());
    }
    /**
     * Getter for preferredLanguage
     * @returns The preferred language.
     */
    get preferredLanguage() {
      return this._preferredLanguage$.getValue();
    }
    /**
     * Getter for availableLanguages
     * @returns An array of available languages.
     */
    get availableLanguages() {
      return this._availableLanguages;
    }
    constructor(_translateService) {
      this._translateService = _translateService;
      this._availableLanguages = [];
      this._preferredLanguage$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__/* .BehaviorSubject */ .t(null);
    }
    /**
     * Sets the default language to use as a fallback
     * @param lang The language code to set as the default language.
     */
    setDefaultFallbackLang(lang) {
      this._translateService.setDefaultLang(lang);
    }
    /**
     * Sets the language to use and notify all subscribers
     * @param lang The language code to set as the current language.
     */
    setLanguage(lang) {
      this._translateService.use(lang);
      this._preferredLanguage$.next(lang);
    }
    /**
     * Sets the available languages for the application
     * @param languages An array of language codes to set as available languages.
     */
    setAvailableLanguages(languages) {
      this._availableLanguages = languages;
    }
    /**
     * Function to add a language to the available languages list.
     * @param language The language to add.
     */
    addLanguage(language) {
      if (!this._availableLanguages.includes(language)) {
        this._availableLanguages.push(language);
      }
    }
    /**
     * Function to remove a language from the available languages list.
     * @param language The language to remove.
     */
    removeLanguage(language) {
      this._availableLanguages = this._availableLanguages.filter(lang => lang !== language);
    }
    /**
     * Returns the language code name from the browser, e.g., "de"
     * @returns The browser language code.
     */
    getBrowserLang() {
      return this._translateService.getBrowserLang();
    }
    /**
     * Retrieves a translation for a given prefix and optional parameters.
     * @param prefix The prefix for the translation key.
     * @param params Optional parameters for the translation.
     * @returns The translated string.
     */
    getTranslation(prefix, params) {
      return this.translate(prefix, params);
    }
    /**
     * Returns a translation instantly from the internal state of loaded translation.
     * All rules regarding the current language, the preferred language, or even fallback languages will be used except any promise handling.
     * @param key The translation key.
     * @param params Optional parameters for the translation.
     * @returns The translated string.
     */
    translate(key, params) {
      return this._translateService.instant(key, params);
    }
    static {
      this.ɵfac = function I18nService_Factory(t) {
        return new (t || I18nService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵinject"] */ .KVO(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateService */ .c$));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: I18nService,
        factory: I18nService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return I18nService;
})();

/***/ }),

/***/ 60625:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   M: () => (/* binding */ HttpLoaderFactory)
/* harmony export */ });
/* harmony import */ var _ngx_translate_http_loader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52434);

/**
 * Factory function to create an instance of TranslateHttpLoader
 * for loading translation files using HttpClient.
 * @param http An instance of HttpClient service.
 * @returns An instance of TranslateHttpLoader configured to load translation files from './assets/i18n/' with a '.json' extension.
 */
function HttpLoaderFactory(http) {
  return new _ngx_translate_http_loader__WEBPACK_IMPORTED_MODULE_0__/* .TranslateHttpLoader */ .s(http, './assets/i18n/', '.json');
}

/***/ }),

/***/ 83290:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: () => (/* binding */ TranslationBaseComponent)
/* harmony export */ });
/**
 * Extends this class to use the getTranslation method
 */
class TranslationBaseComponent {
  constructor(translateService) {
    this.translateService = translateService;
  }
  /**
   * Get translation for the given prefix.
   * @param prefix The translation key prefix.
   * @param params (Optional) Parameters to be interpolated into the translation.
   *
   * @returns An observable that emits the translated string.
   */
  getTranslation(prefix, params) {
    let result = '';
    this.translateService.get(prefix, params).subscribe(res => {
      result = res;
    });
    return result;
  }
}

/***/ }),

/***/ 22654:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Z: () => (/* binding */ AlertModalComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61198);




let AlertModalComponent = /*#__PURE__*/(() => {
  class AlertModalComponent {
    constructor(dialogRef) {
      this.dialogRef = dialogRef;
    }
    ngOnInit() {}
    /**
     * Closes the dialog and returns the provided value.
     *
     * @param {any} val - The value to be returned when the dialog is closed.
     * @return {void} This function does not return a value.
     */
    closeDialog(val) {
      // will return 'no' or 'yes'
      this.dialogRef.close(val);
    }
    static {
      this.ɵfac = function AlertModalComponent_Factory(t) {
        return new (t || AlertModalComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbDialogRef */ .ybQ));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: AlertModalComponent,
        selectors: [["ga-alert-modal"]],
        inputs: {
          data: "data"
        },
        decls: 12,
        vars: 9,
        consts: [[3, "status"], ["nbButton", "", "outline", "", "status", "basic", 1, "mr-3", 3, "click"], ["nbButton", "", "status", "success", 3, "click"]],
        template: function AlertModalComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-card", 0)(1, "nb-card-header");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "nb-card-body");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(5, "nb-card-footer")(6, "button", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function AlertModalComponent_Template_button_click_6_listener() {
              return ctx.closeDialog("no");
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(7);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(8, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(9, "button", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function AlertModalComponent_Template_button_click_9_listener() {
              return ctx.closeDialog("yes");
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(10);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(11, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("status", ctx.data.status);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx.data.title, " ");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx.data.message, " ");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(8, 5, "BUTTONS.NO"), " ");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(11, 7, "BUTTONS.YES"), " ");
          }
        },
        dependencies: [_nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbCardComponent */ .SrT, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbCardBodyComponent */ .KH5, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbCardFooterComponent */ .VDm, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbCardHeaderComponent */ .zJv, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbButtonComponent */ .YP2, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__/* .TranslatePipe */ .D9],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   i[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  width: 100%;\n  display: flex;\n}\n[dir=ltr]   [_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  justify-content: flex-end;\n}\n[dir=rtl]   [_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  justify-content: flex-start;\n}\n[_nghost-%COMP%]   .cancel[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  font-size: 11px;\n  color: var(--gauzy-text-color-1);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(245, 109, 88, 0.3);\n  border-width: 2px;\n  color: rgb(245, 109, 88);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(245, 109, 88);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(245, 109, 88, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   .title[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 16px;\n  letter-spacing: 0em;\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(126, 126, 143, 0.3);\n  border-width: 2px;\n  color: rgb(126, 126, 143);\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(126, 126, 143);\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(126, 126, 143, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(37, 184, 105, 0.3);\n  border-width: 2px;\n  color: rgb(37, 184, 105);\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(37, 184, 105);\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(37, 184, 105, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[disabled][_ngcontent-%COMP%], [_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic.btn-disabled[_ngcontent-%COMP%] {\n  background-color: var(--button-outline-basic-disabled-background-color);\n  border-color: var(--button-outline-basic-disabled-border-color);\n  color: var(--button-outline-basic-disabled-text-color);\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].primary.appearance-filled.status-primary[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  border: unset;\n  background-color: var(--color-primary-transparent-default);\n  box-shadow: var(--gauzy-shadow) 0, 0, 0, 0.15;\n}\n[dir=ltr]   [_nghost-%COMP%]     input, [dir=ltr]   [_nghost-%COMP%]     textarea {\n  text-align: start;\n}\n[dir=rtl]   [_nghost-%COMP%]     input, [dir=rtl]   [_nghost-%COMP%]     textarea {\n  text-align: end;\n}\n[_nghost-%COMP%]     input, [_nghost-%COMP%]     nb-select.appearance-outline.status-basic .select-button, [_nghost-%COMP%]     .ng-select .ng-select-container {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n  height: 42px !important;\n}\n[_nghost-%COMP%]     .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder, [_nghost-%COMP%]     .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input {\n  top: unset !important;\n}\n[_nghost-%COMP%]     label, [_nghost-%COMP%]     .label {\n  font-size: 11px;\n  font-weight: 600;\n  line-height: 13px;\n  letter-spacing: -0.01em;\n  color: var(--gauzy-text-color-2);\n}\n[_nghost-%COMP%]     textarea {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n}\n[_nghost-%COMP%]     .ng-select .ng-select-container input, [_nghost-%COMP%]     nb-tag-list input {\n  background-color: unset !important;\n}\n[_nghost-%COMP%]   nb-card[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-card-1);\n}"]
      });
    }
  }
  return AlertModalComponent;
})();

/***/ }),

/***/ 41370:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   f: () => (/* binding */ AvatarComponent)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66791);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96641);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76149);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42089);






const _c0 = function (a0, a1) {
  return {
    online: a0,
    offline: a1
  };
};
function AvatarComponent_div_2_span_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(0, "span", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(1, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "async");
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction2"] */ .l_i(5, _c0, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, ctx_r3.online$), !_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 3, ctx_r3.online$)));
  }
}
function AvatarComponent_div_2_Template(rf, ctx) {
  if (rf & 1) {
    const _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 6)(1, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function AvatarComponent_div_2_Template_div_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r5);
      const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r4.edit(ctx_r4.id));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(2, "img", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(3, AvatarComponent_div_2_span_3_Template, 3, 8, "span", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx_r0.size);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("src", ctx_r0.src, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r0.employee);
  }
}
function AvatarComponent_ng_container_4_a_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "a", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function AvatarComponent_ng_container_4_a_1_Template_a_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r9);
      const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r8.edit(ctx_r8.id));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("title", ctx_r6.name);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(ctx_r6.name);
  }
}
function AvatarComponent_ng_container_4_div_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(ctx_r7.name);
  }
}
function AvatarComponent_ng_container_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, AvatarComponent_ng_container_4_a_1_Template, 2, 2, "a", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, AvatarComponent_ng_container_4_div_2_Template, 2, 1, "div", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx_r1.isOption);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r1.isOption);
  }
}
function AvatarComponent_div_5_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(ctx_r10.appendCaption);
  }
}
function AvatarComponent_div_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, AvatarComponent_div_5_ng_container_1_Template, 2, 1, "ng-container", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r2.appendCaption);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r2.caption, " ");
  }
}
let AvatarComponent = /*#__PURE__*/(() => {
  class AvatarComponent {
    set employee(value) {
      this._employee.next(value);
    }
    get employee() {
      return this._employee.getValue();
    }
    // Added for set component value when used for angular2-smart-table renderer.
    set value(object) {
      for (const key in object) {
        if (Object.prototype.hasOwnProperty.call(object, key)) {
          this[key] = object[key];
        }
      }
    }
    set name(value) {
      this._name = value;
    }
    get name() {
      return this._name;
    }
    constructor(router) {
      this.router = router;
      this.size = 'md';
      /**
       * A class member and getter/setter for managing an employee object.
       */
      this._employee = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .BehaviorSubject */ .t(null);
    }
    ngOnInit() {
      if (this._employee) {
        this.online$ = this._employee.asObservable().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .map */ .T)(employee => employee?.isOnline && !employee?.isAway));
      }
    }
    /**
     * Navigates to the employee edit page based on the provided employee ID.
     *
     * @param id - The ID of the employee to edit.
     */
    edit(id) {
      if (id) {
        this.router.navigate([`/pages/employees/edit/${id}`]);
      }
    }
    static {
      this.ɵfac = function AvatarComponent_Factory(t) {
        return new (t || AvatarComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_3__/* .Router */ .Ix));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: AvatarComponent,
        selectors: [["ngx-avatar"]],
        inputs: {
          size: "size",
          src: "src",
          appendCaption: "appendCaption",
          caption: "caption",
          id: "id",
          isOption: "isOption",
          employee: "employee",
          value: "value",
          name: "name"
        },
        decls: 6,
        vars: 3,
        consts: [[1, "avatar-wrapper"], [1, "inner-wrapper"], ["class", "image-outer-wrapper", 4, "ngIf"], [1, "names-wrapper"], [4, "ngIf"], ["class", "text-caption caption", 4, "ngIf"], [1, "image-outer-wrapper"], [1, "image-container", 3, "ngClass", "click"], ["type", "user", 1, "rounded-circle", 3, "src"], ["class", "status-indicator", 3, "ngClass", 4, "ngIf"], [1, "status-indicator", 3, "ngClass"], ["class", "link-text", 3, "title", "click", 4, "ngIf"], [1, "link-text", 3, "title", "click"], [1, "text-caption", "caption"]],
        template: function AvatarComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 0)(1, "div", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, AvatarComponent_div_2_Template, 4, 3, "div", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "div", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, AvatarComponent_ng_container_4_Template, 3, 2, "ng-container", 4);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(5, AvatarComponent_div_5_Template, 3, 2, "div", 5);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.src);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.name);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.caption);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_4__/* .NgIf */ .bT, _angular_common__WEBPACK_IMPORTED_MODULE_4__/* .AsyncPipe */ .Jj],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n  display: block;\n}\n[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%] {\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 16px;\n  cursor: pointer;\n  text-decoration: none;\n  letter-spacing: 0em;\n  color: var(--gauzy-text-contact);\n}\n[_nghost-%COMP%]   .caption[_ngcontent-%COMP%] {\n  font-size: 11px;\n  font-weight: 400;\n  line-height: 11px;\n  letter-spacing: 0em;\n  color: var(--gauzy-text-color-2);\n}\n[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%]:hover {\n  text-decoration: underline;\n}\n[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%] {\n  width: 48px;\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 48px;\n  height: 48px;\n  object-fit: cover;\n}\n[_nghost-%COMP%]   .image-container.lg[_ngcontent-%COMP%] {\n  width: 64px;\n}\n[_nghost-%COMP%]   .image-container.lg[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 64px;\n  height: 64px;\n}\n[_nghost-%COMP%]   .image-container.sm[_ngcontent-%COMP%] {\n  width: 32px;\n}\n[_nghost-%COMP%]   .image-container.sm[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 32px;\n  height: 32px;\n}\n\n.report-table[_nghost-%COMP%], .report-table   [_nghost-%COMP%] {\n  width: 100%;\n}\n.report-table[_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%] {\n  width: fit-content;\n  background-color: var(--color-primary-transparent-100);\n}\n[dir=ltr]   .report-table[_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%] {\n  padding: 3px 9px 3px 3px;\n}\n[dir=rtl]   .report-table[_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%] {\n  padding: 3px 3px 3px 9px;\n}\n.report-table[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .link-text[_ngcontent-%COMP%] {\n  font-size: 12px;\n  font-weight: 400;\n  text-overflow: ellipsis;\n  color: var(--text-primary-color) !important;\n}\n.report-table[_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%] {\n  border-radius: var(--button-rectangle-border-radius);\n  align-items: center;\n  overflow: hidden;\n  display: flex;\n  gap: 8px;\n}\n.report-table[_nghost-%COMP%]   .avatar-wrapper[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .avatar-wrapper[_ngcontent-%COMP%] {\n  width: 100%;\n  border-radius: var(--border-radius);\n}\n.report-table[_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%] {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n.report-table[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .link-text[_ngcontent-%COMP%] {\n  cursor: pointer;\n  text-decoration: none;\n  font-style: normal;\n  line-height: 15px;\n  letter-spacing: 0;\n  white-space: nowrap;\n  width: 100%;\n  text-overflow: ellipsis;\n}\n.report-table[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%]:hover, .report-table   [_nghost-%COMP%]   .link-text[_ngcontent-%COMP%]:hover {\n  text-decoration: underline;\n}\n.report-table[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%] {\n  width: 20px;\n  cursor: pointer;\n  border-radius: var(--border-radius);\n  display: flex;\n  position: relative;\n}\n.report-table[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 20px;\n  height: 20px;\n  object-fit: cover;\n  border-radius: var(--border-radius) !important;\n}\n.report-table[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator[_ngcontent-%COMP%] {\n  position: absolute;\n  width: 10px;\n  height: 10px;\n  border-radius: 8px;\n  border: 2px solid #ebebeb;\n  right: 0;\n  top: 0;\n}\n.report-table[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.online[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.online[_ngcontent-%COMP%] {\n  background-color: #4caf50; \n\n}\n.report-table[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.offline[_ngcontent-%COMP%], .report-table   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.offline[_ngcontent-%COMP%] {\n  background-color: #f44336; \n\n}\n\n.avatar-dashboard[_nghost-%COMP%], .avatar-dashboard   [_nghost-%COMP%] {\n  width: 100%;\n}\n.avatar-dashboard[_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%] {\n  width: 100%;\n}\n.avatar-dashboard[_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%] {\n  width: 100%;\n}\n.avatar-dashboard[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .link-text[_ngcontent-%COMP%] {\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--gauzy-text-color-1) !important;\n}\n.avatar-dashboard.activity[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%], .avatar-dashboard   .activity[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%] {\n  width: 28px;\n  border-radius: var(--button-rectangle-border-radius) !important;\n}\n.avatar-dashboard.activity[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%], .avatar-dashboard   .activity[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  border-radius: var(--button-rectangle-border-radius) !important;\n  width: 28px;\n  height: 28px;\n}\n.avatar-dashboard[_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%] {\n  border-radius: var(--button-rectangle-border-radius);\n  align-items: center;\n  overflow: hidden;\n  display: flex;\n  gap: 8px;\n}\n.avatar-dashboard[_nghost-%COMP%]   .avatar-wrapper[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .avatar-wrapper[_ngcontent-%COMP%] {\n  width: 100%;\n  border-radius: var(--border-radius);\n}\n.avatar-dashboard[_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%] {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n.avatar-dashboard[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .link-text[_ngcontent-%COMP%] {\n  cursor: pointer;\n  text-decoration: none;\n  font-style: normal;\n  line-height: 15px;\n  letter-spacing: 0;\n  white-space: nowrap;\n  width: 100%;\n  text-overflow: ellipsis;\n}\n.avatar-dashboard[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%]:hover, .avatar-dashboard   [_nghost-%COMP%]   .link-text[_ngcontent-%COMP%]:hover {\n  text-decoration: underline;\n}\n.avatar-dashboard[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%] {\n  width: 20px;\n  cursor: pointer;\n  border-radius: var(--border-radius);\n  display: flex;\n  position: relative;\n}\n.avatar-dashboard[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 20px;\n  height: 20px;\n  object-fit: cover;\n  border-radius: var(--border-radius) !important;\n}\n.avatar-dashboard[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator[_ngcontent-%COMP%] {\n  position: absolute;\n  width: 10px;\n  height: 10px;\n  border-radius: 8px;\n  border: 2px solid #ebebeb;\n  right: 0;\n  top: 0;\n}\n.avatar-dashboard[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.online[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.online[_ngcontent-%COMP%] {\n  background-color: #4caf50; \n\n}\n.avatar-dashboard[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.offline[_ngcontent-%COMP%], .avatar-dashboard   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.offline[_ngcontent-%COMP%] {\n  background-color: #f44336; \n\n}\n\n.workspace[_nghost-%COMP%], .workspace   [_nghost-%COMP%] {\n  width: 100%;\n}\n.workspace[_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%] {\n  width: fit-content;\n  padding: calc(var(--border-radius) / 4);\n  background-color: var(--color-primary-transparent-100);\n  border-radius: calc(var(--border-radius) / 2) !important;\n}\n.workspace[_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .inner-wrapper[_ngcontent-%COMP%] {\n  border-radius: var(--button-rectangle-border-radius);\n  align-items: center;\n  overflow: hidden;\n  display: flex;\n  gap: 8px;\n}\n.workspace[_nghost-%COMP%]   .avatar-wrapper[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .avatar-wrapper[_ngcontent-%COMP%] {\n  width: 100%;\n  border-radius: var(--border-radius);\n}\n.workspace[_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%] {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n}\n.workspace[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .link-text[_ngcontent-%COMP%] {\n  cursor: pointer;\n  text-decoration: none;\n  font-style: normal;\n  line-height: 15px;\n  letter-spacing: 0;\n  white-space: nowrap;\n  width: 100%;\n  text-overflow: ellipsis;\n}\n.workspace[_nghost-%COMP%]   .link-text[_ngcontent-%COMP%]:hover, .workspace   [_nghost-%COMP%]   .link-text[_ngcontent-%COMP%]:hover {\n  text-decoration: underline;\n}\n.workspace[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%] {\n  width: 20px;\n  cursor: pointer;\n  border-radius: var(--border-radius);\n  display: flex;\n  position: relative;\n}\n.workspace[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 20px;\n  height: 20px;\n  object-fit: cover;\n  border-radius: var(--border-radius) !important;\n}\n.workspace[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator[_ngcontent-%COMP%] {\n  position: absolute;\n  width: 10px;\n  height: 10px;\n  border-radius: 8px;\n  border: 2px solid #ebebeb;\n  right: 0;\n  top: 0;\n}\n.workspace[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.online[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.online[_ngcontent-%COMP%] {\n  background-color: #4caf50; \n\n}\n.workspace[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.offline[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   .status-indicator.offline[_ngcontent-%COMP%] {\n  background-color: #f44336; \n\n}\n.workspace[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%], .workspace[_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  border-radius: calc(var(--border-radius) / 4) !important;\n}\n.workspace[_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%]   a.link-text[_ngcontent-%COMP%], .workspace   [_nghost-%COMP%]   .names-wrapper[_ngcontent-%COMP%]   a.link-text[_ngcontent-%COMP%] {\n  text-decoration: none;\n  cursor: none;\n}"]
      });
    }
  }
  return AvatarComponent;
})();

/***/ }),

/***/ 82550:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: () => (/* binding */ BackNavigationComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);




let BackNavigationComponent = /*#__PURE__*/(() => {
  class BackNavigationComponent {
    constructor(location) {
      this.location = location;
      this.haveLink = false;
    }
    ngOnInit() {}
    goBack() {
      if (!this.haveLink) this.location.back();
    }
    static {
      this.ɵfac = function BackNavigationComponent_Factory(t) {
        return new (t || BackNavigationComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .Location */ .aZ));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: BackNavigationComponent,
        selectors: [["ngx-back-navigation"]],
        inputs: {
          haveLink: "haveLink"
        },
        decls: 3,
        vars: 0,
        consts: [[1, "main"], ["nbButton", "", "status", "primary", "type", "button", "size", "small", "outline", "", 3, "click"], [1, "fas", "fa-arrow-left"]],
        template: function BackNavigationComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 0)(1, "button", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function BackNavigationComponent_Template_button_click_1_listener() {
              return ctx.goBack();
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(2, "i", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          }
        },
        dependencies: [_nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbButtonComponent */ .YP2],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   .main[_ngcontent-%COMP%] {\n  display: inline;\n}\n[_nghost-%COMP%]   .main[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  width: 1.5rem;\n  height: 1.5rem;\n}\n[dir=ltr]   [_nghost-%COMP%]   .main[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  margin-right: 1.5rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   .main[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  margin-left: 1.5rem;\n}\n[_nghost-%COMP%]   .main[_ngcontent-%COMP%]   button.appearance-outline.status-primary[_ngcontent-%COMP%] {\n  border-width: 2px;\n  border-color: var(--color-primary-transparent-default);\n  padding: 0.1rem 0;\n}\n[_nghost-%COMP%]   .main[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  font-size: 11px;\n}"]
      });
    }
  }
  return BackNavigationComponent;
})();

/***/ }),

/***/ 3546:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: () => (/* binding */ BadgeLabelComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51170);


let BadgeLabelComponent = /*#__PURE__*/(() => {
  class BadgeLabelComponent {
    constructor() {
      this.status = 'primary';
      this.size = 'medium';
    }
    static {
      this.ɵfac = function BadgeLabelComponent_Factory(t) {
        return new (t || BadgeLabelComponent)();
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: BadgeLabelComponent,
        selectors: [["ngx-badge-label"]],
        inputs: {
          status: "status",
          size: "size",
          text: "text"
        },
        decls: 1,
        vars: 4,
        consts: [[3, "status", "text"]],
        template: function BadgeLabelComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(0, "nb-badge", 0);
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH(ctx.size);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("status", ctx.status)("text", ctx.text);
          }
        },
        dependencies: [_nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbBadgeComponent */ .XyX],
        styles: ["[_nghost-%COMP%] {\n\t\t\t\t:is(nb-badge) {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t}"]
      });
    }
  }
  return BadgeLabelComponent;
})();

/***/ }),

/***/ 50786:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: () => (/* binding */ Components),
/* harmony export */   h: () => (/* binding */ ComponentsModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(51170);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(58063);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(61198);
/* harmony import */ var _alert_modal_alert_modal_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22654);
/* harmony import */ var _avatar_avatar_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41370);
/* harmony import */ var _back_navigation_back_navigation_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82550);
/* harmony import */ var _badge_label_badge_label_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3546);
/* harmony import */ var _date_range_title_date_range_title_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(19234);
/* harmony import */ var _header_title_header_title_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43144);
/* harmony import */ var _layout_selector_layout_selector_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84534);
/* harmony import */ var _popup_popup_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(55546);
/* harmony import */ var _search_input_search_input_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(44482);
/* harmony import */ var _pipes_pipes_module__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(11924);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(82817);

















const Components = [_alert_modal_alert_modal_component__WEBPACK_IMPORTED_MODULE_0__/* .AlertModalComponent */ .Z, _avatar_avatar_component__WEBPACK_IMPORTED_MODULE_1__/* .AvatarComponent */ .f, _back_navigation_back_navigation_component__WEBPACK_IMPORTED_MODULE_2__/* .BackNavigationComponent */ .r, _badge_label_badge_label_component__WEBPACK_IMPORTED_MODULE_3__/* .BadgeLabelComponent */ .H, _date_range_title_date_range_title_component__WEBPACK_IMPORTED_MODULE_4__/* .DateRangeTitleComponent */ .D, _header_title_header_title_component__WEBPACK_IMPORTED_MODULE_5__/* .HeaderTitleComponent */ .X, _layout_selector_layout_selector_component__WEBPACK_IMPORTED_MODULE_6__/* .LayoutSelectorComponent */ .d, _search_input_search_input_component__WEBPACK_IMPORTED_MODULE_7__/* .SearchInputComponent */ .i, _popup_popup_component__WEBPACK_IMPORTED_MODULE_8__/* .UnderConstructionPopupComponent */ .L];
let ComponentsModule = /*#__PURE__*/(() => {
  class ComponentsModule {
    static {
      this.ɵfac = function ComponentsModule_Factory(t) {
        return new (t || ComponentsModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_9__/* ["ɵɵdefineNgModule"] */ .$C({
        type: ComponentsModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_9__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_10__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_11__/* .NbCardModule */ .lVF, _nebular_theme__WEBPACK_IMPORTED_MODULE_11__/* .NbBadgeModule */ .iEK, _nebular_theme__WEBPACK_IMPORTED_MODULE_11__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_11__/* .NbTooltipModule */ .IB0, _nebular_theme__WEBPACK_IMPORTED_MODULE_11__/* .NbIconModule */ .clu, _pipes_pipes_module__WEBPACK_IMPORTED_MODULE_12__/* .PipesModule */ .Y, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_13__/* .TranslateModule */ .h.forChild(), ngx_permissions__WEBPACK_IMPORTED_MODULE_14__/* .NgxPermissionsModule */ .Ov.forChild()]
      });
    }
  }
  return ComponentsModule;
})();

/***/ }),

/***/ 19234:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: () => (/* binding */ DateRangeTitleComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(55598);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18894);
/* harmony import */ var _pipes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99183);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);







let DateRangeTitleComponent = class DateRangeTitleComponent {
  constructor(_dateFormatPipe, _dateRangePickerBuilderService) {
    this._dateFormatPipe = _dateFormatPipe;
    this._dateRangePickerBuilderService = _dateRangePickerBuilderService;
  }
  /**
   * GET date range title
   */
  get title() {
    // Destructure the date range for start and end dates
    const {
      startDate,
      endDate
    } = this._dateRangePickerBuilderService.selectedDateRange;
    // Check if it’s a single date picker
    const isSingleDatePicker = this._dateRangePickerBuilderService.datePickerConfig.isSingleDatePicker;
    // Use provided `start` and `end` or fallback to the default range values
    const start = this._dateFormatPipe.transform(this.start || startDate, null, this.format);
    const end = this._dateFormatPipe.transform(this.end || endDate, null, this.format);
    // If it's a single date picker, return only the start date, otherwise return the date range
    return isSingleDatePicker ? start : [start, end].filter(Boolean).join(' - ');
  }
  static {
    this.ɵfac = function DateRangeTitleComponent_Factory(t) {
      return new (t || DateRangeTitleComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_pipes__WEBPACK_IMPORTED_MODULE_1__/* .DateFormatPipe */ .a), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_2__/* .DateRangePickerBuilderService */ .i7));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
      type: DateRangeTitleComponent,
      selectors: [["ngx-date-range-title"]],
      inputs: {
        start: "start",
        end: "end",
        format: "format"
      },
      decls: 2,
      vars: 1,
      template: function DateRangeTitleComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "span");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(ctx.title);
        }
      },
      styles: ["span[_ngcontent-%COMP%] {\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tline-height: 16px;\n\t\t\t\tletter-spacing: -0.009em;\n\t\t\t\tcolor: var(--gauzy-text-color-2);\n\t\t\t}"]
    });
  }
};
DateRangeTitleComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__metadata */ .Sn)("design:paramtypes", [_pipes__WEBPACK_IMPORTED_MODULE_1__/* .DateFormatPipe */ .a, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_2__/* .DateRangePickerBuilderService */ .i7])], DateRangeTitleComponent);

/***/ }),

/***/ 43144:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: () => (/* binding */ HeaderTitleComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77271);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6925);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65670);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84076);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42089);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(58063);
/* harmony import */ var _pipes_text_pipe__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(22714);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(61198);













function HeaderTitleComponent_ng_template_1_ng_template_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(3, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(5, "truncate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 2, "HEADER_TITLE.FOR"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind2"] */ .i5U(5, 4, ctx_r4.employee == null ? null : ctx_r4.employee.fullName, 22), " ");
  }
}
function HeaderTitleComponent_ng_template_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(0, HeaderTitleComponent_ng_template_1_ng_template_0_Template, 6, 7, "ng-template", 1);
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r0.allowEmployee && (ctx_r0.employee == null ? null : ctx_r0.employee.id));
  }
}
function HeaderTitleComponent_ng_template_2_ng_template_1_ng_template_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(1, "translate");
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, "HEADER_TITLE.FROM"), " ");
  }
}
function HeaderTitleComponent_ng_template_2_ng_template_1_ng_template_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(1, "translate");
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, "HEADER_TITLE.FOR"), " ");
  }
}
function HeaderTitleComponent_ng_template_2_ng_template_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(0, HeaderTitleComponent_ng_template_2_ng_template_1_ng_template_0_Template, 2, 3, "ng-template", 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, HeaderTitleComponent_ng_template_2_ng_template_1_ng_template_1_Template, 2, 3, "ng-template", 6);
  }
  if (rf & 2) {
    const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngxPermissionsOnly", ctx_r5.PermissionsEnum.CHANGE_SELECTED_EMPLOYEE);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngxPermissionsExcept", ctx_r5.PermissionsEnum.CHANGE_SELECTED_EMPLOYEE);
  }
}
function HeaderTitleComponent_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "span", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, HeaderTitleComponent_ng_template_2_ng_template_1_Template, 2, 2, "ng-template", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(2, "span", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r1.allowEmployee && (ctx_r1.employee == null ? null : ctx_r1.employee.id))("ngIfElse", _r2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r1.organization == null ? null : ctx_r1.organization.name, " ");
  }
}
function HeaderTitleComponent_ng_template_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(1, "translate");
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, "HEADER_TITLE.FOR"), "\n");
  }
}
const _c0 = ["*"];
let HeaderTitleComponent = class HeaderTitleComponent {
  get allowEmployee() {
    return this._allowEmployee;
  }
  set allowEmployee(value) {
    this._allowEmployee = value;
  }
  constructor(store, crd) {
    this.store = store;
    this.crd = crd;
    this.PermissionsEnum = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum;
    this._allowEmployee = true;
  }
  ngOnInit() {
    const storeOrganization$ = this.store.selectedOrganization$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(organization => !!organization));
    const storeEmployee$ = this.store.selectedEmployee$;
    (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .combineLatest */ .z)({
      organization: storeOrganization$,
      employee: storeEmployee$
    }).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(({
      organization,
      employee
    }) => {
      this.organization = organization;
      this.employee = employee;
      this.crd.detectChanges();
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  static {
    this.ɵfac = function HeaderTitleComponent_Factory(t) {
      return new (t || HeaderTitleComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ChangeDetectorRef */ .gRc));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
      type: HeaderTitleComponent,
      selectors: [["ngx-header-title"]],
      inputs: {
        allowEmployee: "allowEmployee"
      },
      ngContentSelectors: _c0,
      decls: 5,
      vars: 2,
      consts: [[3, "ngxPermissionsOnly"], [3, "ngIf"], ["forTitle", ""], [1, "name"], [3, "ngIf", "ngIfElse"], [1, "org-name"], [3, "ngxPermissionsExcept"]],
      template: function HeaderTitleComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵprojectionDef"] */ .NAR();
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵprojection"] */ .SdG(0);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, HeaderTitleComponent_ng_template_1_Template, 1, 1, "ng-template", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(2, HeaderTitleComponent_ng_template_2_Template, 4, 3, "ng-template", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(3, HeaderTitleComponent_ng_template_3_Template, 2, 3, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngxPermissionsOnly", ctx.PermissionsEnum.CHANGE_SELECTED_EMPLOYEE);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.organization == null ? null : ctx.organization.id);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_7__/* .NgIf */ .bT, ngx_permissions__WEBPACK_IMPORTED_MODULE_8__/* .NgxPermissionsDirective */ .f6, _pipes_text_pipe__WEBPACK_IMPORTED_MODULE_9__/* .TruncatePipe */ .H, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__/* .TranslatePipe */ .D9],
      styles: [".name[_ngcontent-%COMP%], .org-name[_ngcontent-%COMP%] {\n\t\t\t\tfont-size: 24px;\n\t\t\t\tfont-weight: 400;\n\t\t\t\tline-height: 30px;\n\t\t\t\tletter-spacing: 0em;\n\t\t\t\ttext-align: left;\n\t\t\t}\n\t\t\t[_nghost-%COMP%] {\n\t\t\t\tfont-size: 24px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tline-height: 30px;\n\t\t\t\tletter-spacing: 0em;\n\t\t\t\ttext-align: left;\n\t\t\t}"]
    });
  }
};
HeaderTitleComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_11__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_11__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ChangeDetectorRef */ .gRc])], HeaderTitleComponent);

/***/ }),

/***/ 84534:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: () => (/* binding */ LayoutSelectorComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55598);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(61198);










let LayoutSelectorComponent = class LayoutSelectorComponent {
  constructor(store) {
    this.store = store;
    this.layoutStyles = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.ComponentLayoutStyleEnum;
  }
  ngOnInit() {
    this.store.componentLayoutMap$.pipe((0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__/* .untilDestroyed */ .s)(this)).subscribe(componentLayoutMap => {
      const dataLayout = componentLayoutMap.get(this.componentName);
      this.componentLayoutStyle = dataLayout;
    });
  }
  changeLayout(layout) {
    this.store.setLayoutForComponent(this.componentName, layout);
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function LayoutSelectorComponent_Factory(t) {
      return new (t || LayoutSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__/* .Store */ .il));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineComponent"] */ .VBU({
      type: LayoutSelectorComponent,
      selectors: [["ga-layout-selector"]],
      inputs: {
        componentName: "componentName"
      },
      decls: 7,
      vars: 8,
      consts: [[1, "layout-switch"], ["status", "basic", "nbButton", "", "size", "small", 1, "switch-button", "ml-1", "mr-1", 3, "ngClass", "nbTooltip", "click"], ["icon", "grid-outline"], ["icon", "list-outline"]],
      template: function LayoutSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 0)(1, "button", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function LayoutSelectorComponent_Template_button_click_1_listener() {
            return ctx.changeLayout(ctx.layoutStyles.CARDS_GRID);
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(2, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(3, "nb-icon", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(4, "button", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function LayoutSelectorComponent_Template_button_click_4_listener() {
            return ctx.changeLayout(ctx.layoutStyles.TABLE);
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(5, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(6, "nb-icon", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx.componentLayoutStyle === ctx.layoutStyles.CARDS_GRID ? "primary" : "basic")("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(2, 4, "SETTINGS_MENU.CARDS_GRID"));
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx.componentLayoutStyle === ctx.layoutStyles.TABLE ? "primary" : "basic")("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(5, 6, "SETTINGS_MENU.TABLE"));
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__/* .NgClass */ .YU, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbButtonComponent */ .YP2, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbTooltipDirective */ .BmQ, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbIconComponent */ .tHu, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__/* .TranslatePipe */ .D9],
      styles: [".layout-switch[_ngcontent-%COMP%] {\n  display: flex;\n}\n.layout-switch[_ngcontent-%COMP%]   .switch-button[_ngcontent-%COMP%] {\n  margin: 0px;\n  border: none;\n  border-width: 0px !important;\n}\n\n[nbButton].primary.size-small.icon-start.icon-end.appearance-filled[_ngcontent-%COMP%] {\n  box-shadow: var(--gauzy-shadow) inset;\n  background: rgb(126, 126, 143);\n  color: white;\n}\n\n[nbButton].basic.size-small.icon-start.icon-end.appearance-filled[_ngcontent-%COMP%] {\n  box-shadow: var(--gauzy-shadow);\n  background: rgb(255, 255, 255);\n}"]
    });
  }
};
LayoutSelectorComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__/* .Store */ .il])], LayoutSelectorComponent);

/***/ }),

/***/ 55546:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: () => (/* binding */ UnderConstructionPopupComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);




const _c0 = ["popup"];
function UnderConstructionPopupComponent_ng_container_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainer"] */ .eu8(0);
  }
}
function UnderConstructionPopupComponent_ng_template_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-card")(1, "nb-card-body")(2, "div", 2)(3, "span")(4, "i", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function UnderConstructionPopupComponent_ng_template_1_Template_i_click_4_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r4);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r3.close());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(5, "div", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(6, "img", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(7, "p");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(8, " We are working hard to implement this feature in our future releases.");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(9, "br");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(10, "strong");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(11, "Stay tuned!");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(12, "button", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function UnderConstructionPopupComponent_ng_template_1_Template_button_click_12_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r4);
      const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r5.close());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(13, "Ok");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()()();
  }
}
let UnderConstructionPopupComponent = /*#__PURE__*/(() => {
  class UnderConstructionPopupComponent {
    get popup() {
      return this._popup;
    }
    set popup(content) {
      if (content) {
        this._popup = content;
      }
    }
    constructor() {
      this.onClosed = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB();
    }
    close() {
      this.onClosed.emit();
    }
    static {
      this.ɵfac = function UnderConstructionPopupComponent_Factory(t) {
        return new (t || UnderConstructionPopupComponent)();
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: UnderConstructionPopupComponent,
        selectors: [["gauzy-under-construction-popup"]],
        viewQuery: function UnderConstructionPopupComponent_Query(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵviewQuery"] */ .GBs(_c0, 5);
          }
          if (rf & 2) {
            let _t;
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.popup = _t.first);
          }
        },
        outputs: {
          onClosed: "onClosed"
        },
        decls: 3,
        vars: 1,
        consts: [[4, "ngTemplateOutlet"], ["popup", ""], [1, "close-popup"], [1, "fas", "fa-times", 3, "click"], [1, "content"], ["width", "48px", "height", "48px", "src", "/assets/images/others/under-construction.webp", "alt", "Under Construction"], ["nbButton", "", "status", "info", "size", "small", 1, "button", "info", 3, "click"]],
        template: function UnderConstructionPopupComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(0, UnderConstructionPopupComponent_ng_container_0_Template, 1, 0, "ng-container", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, UnderConstructionPopupComponent_ng_template_1_Template, 14, 0, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
          }
          if (rf & 2) {
            const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵreference"] */ .sdS(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngTemplateOutlet", _r1);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .NgTemplateOutlet */ .T3, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbCardComponent */ .SrT, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbCardBodyComponent */ .KH5, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbButtonComponent */ .YP2],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.button[_ngcontent-%COMP%] {\n  \n\n  \n\n  padding: 10px 20px;\n  width: 62px;\n  height: 36px;\n  box-shadow: var(--gauzy-shadow);\n  border-radius: 30px;\n  margin-top: 22px;\n}\n.button.info[_ngcontent-%COMP%] {\n  color: var(--text-control-color);\n  background-color: #0088fe;\n}\n\nnb-card[_ngcontent-%COMP%] {\n  width: 300px;\n  height: 404px;\n  box-shadow: 0px 6px 30px 0px rgba(0, 0, 0, 0.2);\n  border-radius: 12px;\n}\n\nimg[_ngcontent-%COMP%] {\n  width: 226px;\n  height: 172px;\n  border-radius: var(--border-radius);\n  margin-bottom: 22px;\n}\n\np[_ngcontent-%COMP%] {\n  width: 226px;\n  text-align: center;\n}\n\nnb-card-body[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  border-radius: 12px;\n  padding: 1rem;\n}\n\n.content[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: space-between;\n}\n\n.close-popup[_ngcontent-%COMP%] {\n  width: 100%;\n  display: flex;\n  justify-content: flex-end;\n}\n\ni[_ngcontent-%COMP%] {\n  cursor: pointer;\n}"]
      });
    }
  }
  return UnderConstructionPopupComponent;
})();

/***/ }),

/***/ 44482:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: () => (/* binding */ SearchInputComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61198);



const _c0 = ["input"];
let SearchInputComponent = /*#__PURE__*/(() => {
  class SearchInputComponent {
    constructor() {
      this.isInputShown = false;
      this.search = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB();
    }
    showInput() {
      this.isInputShown = true;
      this.input.nativeElement.focus();
    }
    hideInput() {
      this.isInputShown = false;
    }
    onInput(val) {
      this.search.emit(val);
    }
    static {
      this.ɵfac = function SearchInputComponent_Factory(t) {
        return new (t || SearchInputComponent)();
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: SearchInputComponent,
        selectors: [["ngx-search-input"]],
        viewQuery: function SearchInputComponent_Query(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵviewQuery"] */ .GBs(_c0, 7);
          }
          if (rf & 2) {
            let _t;
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.input = _t.first);
          }
        },
        outputs: {
          search: "search"
        },
        decls: 4,
        vars: 5,
        consts: [[1, "control-icon", "ion", "ion-ios-search", 3, "click"], [3, "placeholder", "blur", "input"], ["input", ""]],
        template: function SearchInputComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "i", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function SearchInputComponent_Template_i_click_0_listener() {
              return ctx.showInput();
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "input", 1, 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("blur", function SearchInputComponent_Template_input_blur_1_listener() {
              return ctx.hideInput();
            })("input", function SearchInputComponent_Template_input_input_1_listener($event) {
              return ctx.onInput($event);
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassProp"] */ .AVh("hidden", !ctx.isInputShown);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 3, "FORM.PLACEHOLDERS.TYPE_SEARCH_REQUEST"));
          }
        },
        dependencies: [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__/* .TranslatePipe */ .D9],
        styles: ["[_nghost-%COMP%] {\n  display: flex;\n  align-items: center;\n}\n[_nghost-%COMP%]   i.control-icon[_ngcontent-%COMP%]::before {\n  font-size: 2.3rem;\n}\n[_nghost-%COMP%]   i.control-icon[_ngcontent-%COMP%]:hover {\n  cursor: pointer;\n}\n[_nghost-%COMP%]   input[_ngcontent-%COMP%] {\n  border: none;\n  outline: none;\n  margin-left: 1rem;\n  width: 15rem;\n  transition: width 0.2s ease;\n}\n[_nghost-%COMP%]   input.hidden[_ngcontent-%COMP%] {\n  width: 0;\n  margin: 0;\n}\n[_nghost-%COMP%]     search-input input {\n  background: transparent;\n}"]
      });
    }
  }
  return SearchInputComponent;
})();

/***/ }),

/***/ 13095:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   N: () => (/* binding */ ContactSelectorComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(82817);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(91265);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21397);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(96641);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65670);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51717);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(75107);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(64533);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(5062);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(42089);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(61198);

var ContactSelectorComponent_1;

















let ContactSelectorComponent = class ContactSelectorComponent {
  static {
    ContactSelectorComponent_1 = this;
  }
  get employeeId() {
    return this._employeeId;
  }
  set employeeId(value) {
    this._employeeId = value;
    this.subject$.next(true);
  }
  get contactId() {
    return this._contactId;
  }
  set contactId(val) {
    this._contactId = val;
    this.onChange(val);
    this.onTouched(val);
  }
  constructor(organizationContactService, store, toastrService) {
    var _this = this;
    this.organizationContactService = organizationContactService;
    this.store = store;
    this.toastrService = toastrService;
    this.contacts = [];
    this.disabled = false;
    this.multiple = false;
    this.subject$ = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .Subject */ .B();
    this.onChange = () => {};
    this.onTouched = () => {};
    this.createNew = /*#__PURE__*/function () {
      var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* (name) {
        if (!_this.organization || !name) {
          return;
        }
        const {
          tenantId
        } = _this.store.user;
        const {
          id: organizationId
        } = _this.organization;
        const members = [];
        if (_this.employeeId) {
          members.push({
            id: _this.employeeId
          });
        }
        try {
          const contact = yield _this.organizationContactService.create({
            name,
            organizationId,
            tenantId,
            contactType: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.ContactType.CLIENT,
            ...((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .isNotEmpty */ .hj)(members) ? {
              members
            } : {})
          });
          if (contact) {
            _this.contacts = _this.contacts.concat([contact]);
            _this.contactId = contact.id;
            _this.toastrService.success('NOTES.ORGANIZATIONS.EDIT_ORGANIZATIONS_CLIENTS.ADD_CLIENT', {
              name
            });
          }
        } catch (error) {
          _this.toastrService.error(error);
        }
      });
      return function (_x) {
        return _ref.apply(this, arguments);
      };
    }();
  }
  ngOnInit() {
    this.hasEditContact$ = this.store.userRolePermissions$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .map */ .T)(() => this.store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_CONTACT_EDIT)));
  }
  ngAfterViewInit() {
    this.subject$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(() => this.getContacts()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe();
    this.store.selectedOrganization$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_3__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(organization => this.organization = organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(() => this.subject$.next(true)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  getContacts() {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* () {
      if (!_this2.organization) {
        return;
      }
      try {
        const {
          tenantId
        } = _this2.store.user;
        const {
          id: organizationId
        } = _this2.organization;
        if (_this2.employeeId) {
          const items = yield _this2.organizationContactService.getAllByEmployee(_this2.employeeId, {
            organizationId,
            tenantId
          });
          _this2.contacts = items;
        } else {
          const {
            items = []
          } = yield _this2.organizationContactService.getAll([], {
            organizationId,
            tenantId
          });
          _this2.contacts = items;
        }
      } catch (error) {
        console.log('Error while retrieving organization contacts', error);
      }
    })();
  }
  writeValue(value) {
    if (this.multiple) {
      this._contactId = value instanceof Array ? value : [value];
    } else {
      this._contactId = value;
    }
  }
  registerOnChange(fn) {
    this.onChange = fn;
  }
  registerOnTouched(fn) {
    this.onTouched = fn;
  }
  setDisabledState(isDisabled) {
    this.disabled = isDisabled;
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function ContactSelectorComponent_Factory(t) {
      return new (t || ContactSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .OrganizationContactService */ .$), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .ToastrService */ .t));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdefineComponent"] */ .VBU({
      type: ContactSelectorComponent,
      selectors: [["ga-contact-selector"]],
      inputs: {
        disabled: "disabled",
        multiple: "multiple",
        employeeId: "employeeId",
        contactId: "contactId"
      },
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵProvidersFeature"] */ .Jv_([{
        provide: _angular_forms__WEBPACK_IMPORTED_MODULE_12__/* .NG_VALUE_ACCESSOR */ .kq,
        useExisting: (0,_angular_core__WEBPACK_IMPORTED_MODULE_8__/* .forwardRef */ .Rfq)(() => ContactSelectorComponent_1),
        multi: true
      }])],
      decls: 3,
      vars: 10,
      consts: [["appendTo", "body", "bindValue", "id", "bindLabel", "name", 3, "addTag", "disabled", "clearable", "items", "ngModel", "placeholder", "ngModelChange"]],
      template: function ContactSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵelementStart"] */ .j41(0, "ng-select", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function ContactSelectorComponent_Template_ng_select_ngModelChange_0_listener($event) {
            return ctx.contactId = $event;
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵpipe"] */ .nI1(1, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵpipe"] */ .nI1(2, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵelementEnd"] */ .k0s();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵproperty"] */ .Y8G("addTag", _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵpipeBind1"] */ .bMT(1, 6, ctx.hasEditContact$) ? ctx.createNew : null)("disabled", ctx.disabled)("clearable", true)("items", ctx.contacts)("ngModel", ctx.contactId)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵpipeBind1"] */ .bMT(2, 8, "TIMER_TRACKER.SELECT_CLIENT"));
        }
      },
      dependencies: [_angular_forms__WEBPACK_IMPORTED_MODULE_12__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_12__/* .NgModel */ .vS, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_13__/* .NgSelectComponent */ .vr, _angular_common__WEBPACK_IMPORTED_MODULE_14__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_15__/* .TranslatePipe */ .D9],
      styles: ["[_nghost-%COMP%] {\n  min-width: 200px;\n  display: block;\n}\n[_nghost-%COMP%]   nb-select[_ngcontent-%COMP%] {\n  max-width: none;\n}\n[_nghost-%COMP%]   .multiple-select[_ngcontent-%COMP%] {\n  width: 100%;\n}"]
    });
  }
};
ContactSelectorComponent = ContactSelectorComponent_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_16__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_16__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .OrganizationContactService */ .$, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .ToastrService */ .t])], ContactSelectorComponent);

/***/ }),

/***/ 11190:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   q: () => (/* binding */ ContactSelectorModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91265);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5062);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);







let ContactSelectorModule = /*#__PURE__*/(() => {
  class ContactSelectorModule {
    static {
      this.ɵfac = function ContactSelectorModule_Factory(t) {
        return new (t || ContactSelectorModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: ContactSelectorModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbSelectModule */ .VcP, _angular_forms__WEBPACK_IMPORTED_MODULE_3__/* .FormsModule */ .YN, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateModule */ .h.forChild(), _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_5__/* .NgSelectModule */ .MQ]
      });
    }
  }
  return ContactSelectorModule;
})();

/***/ }),

/***/ 73311:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   g: () => (/* binding */ QuickActionsComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26699);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83290);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51170);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(29610);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42089);











function QuickActionsComponent_ng_container_10_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "div", 5)(1, "div", 6)(2, "p", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(5, "nb-menu", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const group_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG().$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(4, 2, group_r1.groupTitle));
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("items", group_r1.items);
  }
}
function QuickActionsComponent_ng_container_10_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, QuickActionsComponent_ng_container_10_div_1_Template, 6, 4, "div", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const group_r1 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", group_r1.items == null ? null : group_r1.items.length);
  }
}
const quickActionsCollection = {
  accounting: ['QUICK_ACTIONS_MENU.CREATE_INVOICE', 'QUICK_ACTIONS_MENU.VIEW_INVOICE', 'QUICK_ACTIONS_MENU.RECEIVED_INVOICES', 'QUICK_ACTIONS_MENU.CREATE_INCOME', 'QUICK_ACTIONS_MENU.CREATE_EXPENSE', 'QUICK_ACTIONS_MENU.CREATE_ESTIMATE', 'QUICK_ACTIONS_MENU.RECEIVED_ESTIMATES', 'QUICK_ACTIONS_MENU.CREATE_PAYMENT'],
  organization: ['QUICK_ACTIONS_MENU.ADD_EMPLOYEE', 'QUICK_ACTIONS_MENU.ADD_INVENTORY', 'QUICK_ACTIONS_MENU.ADD_EQUIPMENT', 'QUICK_ACTIONS_MENU.ADD_VENDOR', 'QUICK_ACTIONS_MENU.ADD_DEPARTMENT'],
  pm: ['QUICK_ACTIONS_MENU.CREATE_TEAM', 'QUICK_ACTIONS_MENU.CREATE_TASK', 'QUICK_ACTIONS_MENU.CREATE_PROJECT', 'QUICK_ACTIONS_MENU.VIEW_TASKS', 'QUICK_ACTIONS_MENU.VIEW_TEAM_TASKS'],
  jobs: ['QUICK_ACTIONS_MENU.CREATE_CANDIDATE', 'QUICK_ACTIONS_MENU.CREATE_PROPOSAL', 'QUICK_ACTIONS_MENU.CREATE_CONTRACT'],
  contacts: ['QUICK_ACTIONS_MENU.CREATE_LEAD', 'QUICK_ACTIONS_MENU.CREATE_CUSTOMER', 'QUICK_ACTIONS_MENU.CREATE_CLIENT', 'QUICK_ACTIONS_MENU.VIEW_CLIENTS'],
  time_tracking: ['QUICK_ACTIONS_MENU.START_TIMER', 'QUICK_ACTIONS_MENU.STOP_TIMER', 'QUICK_ACTIONS_MENU.TIME_LOG', 'QUICK_ACTIONS_MENU.VIEW_APPOINTMENTS', 'QUICK_ACTIONS_MENU.VIEW_TIME_ACTIVITY']
};
let QuickActionsComponent = /*#__PURE__*/(() => {
  class QuickActionsComponent extends _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_2__/* .TranslationBaseComponent */ .K {
    constructor(translate, dialogRef, nbMenuService, timeTrackerService, iconLibraries) {
      super(translate);
      this.translate = translate;
      this.dialogRef = dialogRef;
      this.nbMenuService = nbMenuService;
      this.timeTrackerService = timeTrackerService;
      this.iconLibraries = iconLibraries;
      this.items = [];
      this.shortcutDialog = '';
      this.actions = {
        START_TIMER: 'START_TIMER',
        STOP_TIMER: 'STOP_TIMER'
      };
      this.iconLibraries.registerFontPack('font-awesome', {
        packClass: 'fas',
        iconClassPrefix: 'fa'
      });
    }
    ngOnInit() {
      var _this = this;
      this.groupedQuickActions = this._groupQuickActions(this.items);
      this.nbMenuService.onItemClick().pipe().subscribe(/*#__PURE__*/function () {
        var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* (e) {
          if (e.item.data?.action && !e.item.link) {
            switch (e.item.data.action) {
              case _this.actions.START_TIMER:
                if (_this.timeTrackerService.running) return;
                _this.timeTrackerService.setTimeLogType(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogType.TRACKED);
                _this.timeTrackerService.openAndStartTimer();
                break;
              case _this.actions.STOP_TIMER:
                if (_this.timeTrackerService.running) yield _this.timeTrackerService.toggle();
                break;
            }
          }
          _this.closeDialog();
        });
        return function (_x) {
          return _ref.apply(this, arguments);
        };
      }());
    }
    closeDialog() {
      this.dialogRef.close();
    }
    isBelongToGroup(groupName, title) {
      return quickActionsCollection[groupName].map(action => this.getTranslation(action)).includes(title);
    }
    _groupQuickActions(items) {
      const groupedActions = {
        accounting: {
          groupTitle: 'QUICK_ACTIONS_GROUP.ACCOUNTING',
          items: []
        },
        time_tracking: {
          groupTitle: 'QUICK_ACTIONS_GROUP.TIME_TRACKING',
          items: []
        },
        jobs: {
          groupTitle: 'QUICK_ACTIONS_GROUP.JOBS',
          items: []
        },
        pm: {
          groupTitle: 'QUICK_ACTIONS_GROUP.PROJECT_MANAGEMENT',
          items: []
        },
        contacts: {
          groupTitle: 'QUICK_ACTIONS_GROUP.CONTACTS',
          items: []
        },
        organization: {
          groupTitle: 'QUICK_ACTIONS_GROUP.ORGANIZATION',
          items: []
        }
      };
      items.map(item => {
        if (this.isBelongToGroup('accounting', item.title)) groupedActions.accounting.items.push(item);
        if (this.isBelongToGroup('time_tracking', item.title)) {
          groupedActions.time_tracking.items.push({
            ...item,
            hidden: false
          });
        }
        if (this.isBelongToGroup('jobs', item.title)) groupedActions.jobs.items.push(item);
        if (this.isBelongToGroup('pm', item.title)) groupedActions.pm.items.push(item);
        if (this.isBelongToGroup('contacts', item.title)) groupedActions.contacts.items.push(item);
        if (this.isBelongToGroup('organization', item.title)) groupedActions.organization.items.push(item);
        return item;
      });
      const finalData = Object.values(groupedActions).sort((a, b) => b.items?.length - a.items?.length);
      return finalData;
    }
    static {
      this.ɵfac = function QuickActionsComponent_Factory(t) {
        return new (t || QuickActionsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateService */ .c$), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbDialogRef */ .ybQ), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbMenuService */ .BgA), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .TimeTrackerService */ .Bj), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbIconLibraries */ .LiL));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
        type: QuickActionsComponent,
        selectors: [["ngx-quick-actions"]],
        inputs: {
          items: "items",
          shortcutDialog: "shortcutDialog"
        },
        features: [_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
        decls: 11,
        vars: 5,
        consts: [["status", "basic", "appearance", "filled", "size", "tiny", 3, "text"], [1, "cancel", 3, "click"], [1, "fas", "fa-times"], [4, "ngFor", "ngForOf"], ["class", "group-container", 4, "ngIf"], [1, "group-container"], [1, "group-content"], [1, "group-header"], [3, "items"]],
        template: function QuickActionsComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "nb-card")(1, "nb-card-header")(2, "div")(3, "h6");
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(5, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(6, "nb-tag", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(7, "span", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("click", function QuickActionsComponent_Template_span_click_7_listener() {
              return ctx.closeDialog();
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(8, "i", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(9, "nb-card-body");
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(10, QuickActionsComponent_ng_container_10_Template, 2, 1, "ng-container", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(5, 3, "DIALOG.QUICK_ACTIONS"), " ");
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("text", ctx.shortcutDialog.split("+").join(" + ").toUpperCase());
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx.groupedQuickActions);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_7__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_7__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbCardComponent */ .SrT, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbCardBodyComponent */ .KH5, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbCardHeaderComponent */ .zJv, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbMenuComponent */ .pKh, _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbTagComponent */ .iPJ, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslatePipe */ .D9],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   nb-card-header[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-card-header[_ngcontent-%COMP%] {\n  flex-direction: row-reverse;\n}\n[_nghost-%COMP%]   nb-card-header[_ngcontent-%COMP%]   div[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  width: 27%;\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-card-header[_ngcontent-%COMP%]   div[_ngcontent-%COMP%] {\n  flex-direction: row-reverse;\n}\n[_nghost-%COMP%]   nb-card-header[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   nb-tag[_ngcontent-%COMP%] {\n  border: none;\n}\n[_nghost-%COMP%]   nb-card-header[_ngcontent-%COMP%]   div[_ngcontent-%COMP%]   nb-tag[_ngcontent-%COMP%]:hover {\n  background-color: var(--tag-filled-basic-background-color);\n}\n[_nghost-%COMP%]   nb-card-header[_ngcontent-%COMP%]   span[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n\n[_nghost-%COMP%]   nb-card-body[_ngcontent-%COMP%] {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n}\n[_nghost-%COMP%]   nb-card-body[_ngcontent-%COMP%]   .group-container[_ngcontent-%COMP%] {\n  background: var(--gauzy-card-2);\n  padding: 10px 20px;\n  border-radius: var(--border-radius);\n  margin: 0.5rem;\n}\n[_nghost-%COMP%]   nb-card-body[_ngcontent-%COMP%]   .group-container[_ngcontent-%COMP%]   .group-header[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 1rem;\n  color: var(--gauzy-text-color-2);\n  margin-top: 0.5rem;\n}\n\n[_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a {\n  padding-inline: 2px;\n  transition: all;\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a {\n  flex-direction: row-reverse;\n}\n[_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a .fas {\n  font-size: 1.1rem;\n}\n[_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a:hover nb-badge {\n  outline: 1px solid var(--color-primary-400);\n  color: var(--color-primary-400);\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a nb-icon {\n  margin-left: 0.5rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a nb-icon {\n  margin-right: 0;\n}\n[_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a nb-badge {\n  margin-left: 1rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a nb-badge {\n  margin-right: 1rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   nb-menu[_ngcontent-%COMP%]     ul.menu-items li.menu-item a nb-badge {\n  margin-left: 0;\n}"]
      });
    }
  }
  return QuickActionsComponent;
})();

/***/ }),

/***/ 48154:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: () => (/* binding */ DirectivesModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);












let DirectivesModule = /*#__PURE__*/(() => {
  class DirectivesModule {
    static {
      this.ɵfac = function DirectivesModule_Factory(t) {
        return new (t || DirectivesModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: DirectivesModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD]
      });
    }
  }
  return DirectivesModule;
})();

/***/ }),

/***/ 46578:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: () => (/* binding */ ImgDirective)
/* harmony export */ });
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57328);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30729);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);




let ImgDirective = /*#__PURE__*/(() => {
  class ImgDirective {
    constructor(el) {
      this.type = 'default';
      this.el = el.nativeElement;
    }
    defaultImg() {
      if (this.type === 'user') {
        return _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.IS_ELECTRON ? `./${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .AVATAR_DEFAULT_SVG */ .lX}` : `/${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .AVATAR_DEFAULT_SVG */ .lX}`;
      } else {
        return _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.IS_ELECTRON ? `./${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .DEFAULT_SVG */ .pv}` : `/${_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .DEFAULT_SVG */ .pv}`;
      }
    }
    ngOnInit() {
      let src = this.el.getAttribute('src');
      if (src && src.indexOf('http') !== 0) {
        src = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_0__/* .environment */ .c.IS_ELECTRON ? `./${src}` : `/${src}`;
      }
      this.el.setAttribute('src', src);
      this.el.addEventListener('error', this.onError.bind(this));
      this.el.addEventListener('load', this.onLoad.bind(this));
    }
    /**
     * Handles the error event when the image fails to load.
     *
     * This function removes the error event listener, sets the opacity of the element to 0,
     * retrieves the current source of the image, sets the source of the image to the default image,
     * sets the data attribute 'data-original-src' to the current source,
     * appends the class 'default-image default-image-{type}' to the element's class list,
     * and removes the load event listener.
     *
     * @private
     */
    onError() {
      this.removeErrorEvent();
      this.el.style.opacity = '0';
      const src = this.el.getAttribute('src');
      this.el.setAttribute('src', this.defaultImg());
      this.el.setAttribute('data-original-src', src);
      const classList = this.el.classList;
      this.el.setAttribute('class', classList.value + ` default-image default-image-${this.type}`);
      this.removeOnLoadEvent();
    }
    /**
     * Sets the opacity of the element to 1 when the image has finished loading.
     *
     * @private
     */
    onLoad() {
      this.el.style.opacity = '1';
    }
    /**
     * Removes the error event listener from the element.
     *
     * @private
     */
    removeErrorEvent() {
      this.el.removeEventListener('error', this.onError);
    }
    /**
     * Removes the load event listener from the element.
     *
     * @private
     */
    removeOnLoadEvent() {
      this.el.removeEventListener('load', this.onLoad);
    }
    ngOnDestroy() {
      this.removeErrorEvent();
      this.removeOnLoadEvent();
    }
    static {
      this.ɵfac = function ImgDirective_Factory(t) {
        return new (t || ImgDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* .ElementRef */ .aKT));
      };
    }
    static {
      this.ɵdir = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineDirective"] */ .FsC({
        type: ImgDirective,
        selectors: [["img"]],
        inputs: {
          type: "type"
        }
      });
    }
  }
  return ImgDirective;
})();

/***/ }),

/***/ 9906:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: () => (/* binding */ OutsideDirective)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);


let OutsideDirective = /*#__PURE__*/(() => {
  class OutsideDirective {
    constructor(elementRef) {
      this.elementRef = elementRef;
      this.clickOutside = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB();
    }
    /**
     * Handles the click event outside of the element.
     *
     * @param {MouseEvent} event - The click event.
     * @param {HTMLElement} targetElement - The target element that was clicked.
     * @return {void} This function does not return anything.
     */
    onClick(event, targetElement) {
      if (!targetElement) {
        return;
      }
      const clickedInside = this.elementRef.nativeElement.contains(targetElement);
      this.clickOutside.emit(clickedInside);
    }
    static {
      this.ɵfac = function OutsideDirective_Factory(t) {
        return new (t || OutsideDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* .ElementRef */ .aKT));
      };
    }
    static {
      this.ɵdir = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineDirective"] */ .FsC({
        type: OutsideDirective,
        selectors: [["", "gauzyOutside", ""]],
        hostBindings: function OutsideDirective_HostBindings(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function OutsideDirective_click_HostBindingHandler($event) {
              return ctx.onClick($event, $event.target);
            }, false, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresolveDocument"] */ .EBC);
          }
        },
        outputs: {
          clickOutside: "clickOutside"
        }
      });
    }
  }
  return OutsideDirective;
})();

/***/ }),

/***/ 74365:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: () => (/* binding */ TimeTrackingAuthorizedDirective)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(82817);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(97957);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(96641);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(53283);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65670);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(77271);
/* harmony import */ var camelcase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73599);
/* harmony import */ var camelcase__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(camelcase__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(84076);









let TimeTrackingAuthorizedDirective = class TimeTrackingAuthorizedDirective {
  /**
   * Setter for dynamic permission.
   * @param permission - The permission(s) to be set.
   */
  set permission(permission) {
    if (!permission) {
      throw new Error('Permission must be provided');
    }
    this._permission = permission;
  }
  /**
   * Getter for dynamic permission.
   */
  get permission() {
    return this._permission;
  }
  constructor(_templateRef, _viewContainer, _cdr, _store) {
    this._templateRef = _templateRef;
    this._viewContainer = _viewContainer;
    this._cdr = _cdr;
    this._store = _store;
    this._permission = []; // Default initialization
  }
  ngOnInit() {
    this._store.selectedOrganization$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .switchMap */ .n)(organization => this._store.user$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(user => !!user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .map */ .T)(user => {
      // Determine permission based on employee existence
      const hasPermission = user.employee ? camelcase__WEBPACK_IMPORTED_MODULE_0__(this.permission) in organization && organization[camelcase__WEBPACK_IMPORTED_MODULE_0__(this.permission)] && camelcase__WEBPACK_IMPORTED_MODULE_0__(this.permission) in user.employee && user.employee[camelcase__WEBPACK_IMPORTED_MODULE_0__(this.permission)] : camelcase__WEBPACK_IMPORTED_MODULE_0__(this.permission) in organization && organization[camelcase__WEBPACK_IMPORTED_MODULE_0__(this.permission)];
      return hasPermission;
    }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .distinctUntilChanged */ .F)() // Only emit when permission status changes
    )), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(hasPermission => {
      if (hasPermission) {
        this._viewContainer.clear(); // Clear the container once per status change
        this._viewContainer.createEmbeddedView(this._templateRef);
      } else {
        this.showTemplateBlockInView(this.permissionElse);
      }
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Show If/Else Render Template
   *
   * @param template
   * @returns
   */
  showTemplateBlockInView(template) {
    this._viewContainer.clear(); // Clear the container once per status change
    if (!template) {
      return;
    }
    this._viewContainer.createEmbeddedView(template);
    this._cdr.markForCheck();
  }
  static {
    this.ɵfac = function TimeTrackingAuthorizedDirective_Factory(t) {
      return new (t || TimeTrackingAuthorizedDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_8__/* .TemplateRef */ .C4Q), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_8__/* .ViewContainerRef */ .c1b), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_8__/* .ChangeDetectorRef */ .gRc), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .Store */ .il));
    };
  }
  static {
    this.ɵdir = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdefineDirective"] */ .FsC({
      type: TimeTrackingAuthorizedDirective,
      selectors: [["", "ngxTimeTrackingAuthorized", ""]],
      inputs: {
        permission: "permission",
        permissionElse: "permissionElse"
      }
    });
  }
};
TimeTrackingAuthorizedDirective = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__metadata */ .Sn)("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_8__/* .TemplateRef */ .C4Q, _angular_core__WEBPACK_IMPORTED_MODULE_8__/* .ViewContainerRef */ .c1b, _angular_core__WEBPACK_IMPORTED_MODULE_8__/* .ChangeDetectorRef */ .gRc, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .Store */ .il])], TimeTrackingAuthorizedDirective);

/***/ }),

/***/ 73215:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: () => (/* binding */ UnderConstructionDirective)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65670);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51170);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77271);
/* harmony import */ var _components_popup_popup_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55546);








let UnderConstructionDirective = class UnderConstructionDirective {
  constructor(_elementRef, _dialogService, _injector, _applicationRef, _componentFactoryResolver) {
    this._elementRef = _elementRef;
    this._dialogService = _dialogService;
    this._injector = _injector;
    this._applicationRef = _applicationRef;
    this._componentFactoryResolver = _componentFactoryResolver;
    // Create element
    const popup = document.createElement('popup-component');
    // Create the component and wire it up with the element
    const factory = this._componentFactoryResolver.resolveComponentFactory(_components_popup_popup_component__WEBPACK_IMPORTED_MODULE_0__/* .UnderConstructionPopupComponent */ .L);
    this._popupComponentRef = factory.create(this._injector, [], popup);
    // Attach to the view so that the change detector knows to run
    this._applicationRef.attachView(this._popupComponentRef.hostView);
    // Listen for event
    this._popupComponentRef.instance.onClosed.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__/* .tap */ .M)(() => this._dialogRef.close()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Opens a dialog if the target element is clicked.
   *
   * @param {MouseEvent} event - The mouse event that triggered the click.
   * @param {HTMLElement} targetElement - The element that was clicked.
   * @return {void} This function does not return anything.
   */
  open(event, targetElement) {
    if (!targetElement) {
      return;
    }
    const clicked = this._elementRef.nativeElement.contains(targetElement);
    if (clicked) {
      this._dialogRef = this._dialogService.open(this._popupComponentRef.instance.popup);
    }
  }
  static {
    this.ɵfac = function UnderConstructionDirective_Factory(t) {
      return new (t || UnderConstructionDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* .ElementRef */ .aKT), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_4__/* .NbDialogService */ .S0W), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* .Injector */ .zZn), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* .ApplicationRef */ .o8S), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* .ComponentFactoryResolver */ .OM3));
    };
  }
  static {
    this.ɵdir = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineDirective"] */ .FsC({
      type: UnderConstructionDirective,
      selectors: [["", "underConstruction", ""]],
      hostBindings: function UnderConstructionDirective_HostBindings(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵlistener"] */ .bIt("click", function UnderConstructionDirective_click_HostBindingHandler($event) {
            return ctx.open($event, $event.target);
          }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵresolveDocument"] */ .EBC);
        }
      }
    });
  }
};
UnderConstructionDirective = (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__metadata */ .Sn)("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_3__/* .ElementRef */ .aKT, _nebular_theme__WEBPACK_IMPORTED_MODULE_4__/* .NbDialogService */ .S0W, _angular_core__WEBPACK_IMPORTED_MODULE_3__/* .Injector */ .zZn, _angular_core__WEBPACK_IMPORTED_MODULE_3__/* .ApplicationRef */ .o8S, _angular_core__WEBPACK_IMPORTED_MODULE_3__/* .ComponentFactoryResolver */ .OM3])], UnderConstructionDirective);

/***/ }),

/***/ 31540:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   x: () => (/* binding */ JobBudgetPipe)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42089);




let JobBudgetPipe = /*#__PURE__*/(() => {
  class JobBudgetPipe {
    constructor(currencyPipe) {
      this.currencyPipe = currencyPipe;
    }
    /**
     * Convert string to currency format
     *
     * @param budget
     * @param currency
     * @returns
     */
    transform(budget, currency = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CurrenciesEnum.USD) {
      try {
        const budgets = budget.split('-').map(item => this.currencyPipe.transform(item, currency));
        return budgets.join(' - ');
      } catch (error) {
        console.log('Error while converting string budget', error);
      }
    }
    static {
      this.ɵfac = function JobBudgetPipe_Factory(t) {
        return new (t || JobBudgetPipe)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_common__WEBPACK_IMPORTED_MODULE_2__/* .CurrencyPipe */ .oe, 16));
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "budget",
        type: JobBudgetPipe,
        pure: true
      });
    }
  }
  return JobBudgetPipe;
})();

/***/ }),

/***/ 59672:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: () => (/* binding */ CurrencyPositionPipe)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);


let CurrencyPositionPipe = /*#__PURE__*/(() => {
  class CurrencyPositionPipe {
    /**
     * Transforms the given data string based on the specified position.
     *
     * @param {string} data - The data string to be transformed.
     * @param {string} position - The position to determine the transformation.
     * @return {string} The transformed data string.
     */
    transform(data, position) {
      let val = data;
      const extracted = this.extract(data);
      switch (position) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CurrencyPosition.LEFT:
          val = extracted[0] + ' ' + extracted[1];
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CurrencyPosition.RIGHT:
          val = extracted[1] + ' ' + extracted[0];
          break;
        default:
          break;
      }
      return val;
    }
    /**
     * This method extract currency symbol and value
     * @param data should be a string value of a currency pipe
     * @returns string
     */
    extract(data) {
      const regex = new RegExp('([^\\d\\.\\,\\s]+)', 'g');
      const currency = regex.exec(data)[0];
      const value = currency && data ? data.replace(currency, '') : '';
      return [currency, value];
    }
    static {
      this.ɵfac = function CurrencyPositionPipe_Factory(t) {
        return new (t || CurrencyPositionPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "position",
        type: CurrencyPositionPipe,
        pure: true
      });
    }
  }
  return CurrencyPositionPipe;
})();

/***/ }),

/***/ 99183:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: () => (/* binding */ DateFormatPipe)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(55598);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65670);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77271);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(82817);









let DateFormatPipe = class DateFormatPipe {
  constructor(store) {
    this.store = store;
    this.dateFormat = 'd MMMM, y';
    this.regionCode = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.RegionsEnum.EN;
    this.store.selectedOrganization$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(organization => {
      this.regionCode = organization.regionCode || _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.RegionsEnum.EN;
      this.dateFormat = organization.dateFormat || 'd MMMM, y';
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .untilDestroyed */ .s)(this)).subscribe();
    this.store.preferredLanguage$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .filter */ .p)(preferredLanguage => !!preferredLanguage), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(preferredLanguage => {
      this.locale = preferredLanguage;
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Transforms a given value into a formatted date string based on provided format and locale.
   *
   * @param {Date | string | number | null | undefined} value - The value to transform. Can be a Date object, string, number, or null/undefined.
   * @param {string} [locale] - The locale to use for formatting. If not provided, the default region code will be used.
   * @param {string} [defaultFormat] - The format to apply to the date. If not provided, the default date format will be used.
   * @return {string | undefined} The formatted date string, or undefined if the value is falsy or invalid.
   */
  transform(value, locale, defaultFormat) {
    // Return undefined if no value provided
    if (!value) return;
    // Parse date and check if it's valid
    let date = moment__WEBPACK_IMPORTED_MODULE_0__(new Date(value));
    if (!date.isValid()) {
      date = moment__WEBPACK_IMPORTED_MODULE_0__.utc(value);
    }
    // If still invalid, return undefined
    if (!date.isValid()) return;
    // Set locale to the given locale or fallback to instance's locale or region code
    locale = locale || this.locale || this.regionCode;
    // Determine the format to use: defaultFormat, or fallback to instance date format
    const format = defaultFormat || this.dateFormat;
    // Return formatted date based on locale and format
    return date.locale(locale).format(format);
  }
  static {
    this.ɵfac = function DateFormatPipe_Factory(t) {
      return new (t || DateFormatPipe)(_angular_core__WEBPACK_IMPORTED_MODULE_6__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il, 16));
    };
  }
  static {
    this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__/* ["ɵɵdefinePipe"] */ .EJ8({
      name: "dateFormat",
      type: DateFormatPipe,
      pure: false
    });
  }
};
DateFormatPipe = (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il])], DateFormatPipe);

/***/ }),

/***/ 22510:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   V: () => (/* binding */ DateTimeFormatPipe)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55598);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77271);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82817);









let DateTimeFormatPipe = class DateTimeFormatPipe {
  constructor(store) {
    this.store = store;
    this.timeFormat = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.TimeFormatEnum.FORMAT_12_HOURS;
    this.dateFormat = 'd MMMM, y H:mm';
    this.regionCode = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.RegionsEnum.EN;
    this.store.selectedOrganization$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(organization => !!organization), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__/* .untilDestroyed */ .s)(this)).subscribe(organization => {
      const {
        regionCode,
        dateFormat,
        timeFormat
      } = organization;
      if (regionCode) {
        this.regionCode = regionCode;
      }
      if (dateFormat) {
        this.dateFormat = dateFormat;
      }
      if (timeFormat) {
        this.timeFormat = timeFormat;
      }
    });
  }
  /**
   * Transforms a given date value into a formatted string based on provided format and locale.
   *
   * @param value The date value to transform.
   * @param format The format to apply to the date.
   * @param locale The locale to use for formatting.
   * @param seconds Whether to include seconds in the time format.
   * @returns The formatted date string.
   */
  transform(value, format, locale, seconds = true) {
    if (!value) {
      return;
    }
    let date = moment__WEBPACK_IMPORTED_MODULE_0__(value);
    if (!date.isValid()) date = moment__WEBPACK_IMPORTED_MODULE_0__.utc(value);
    if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .isEmpty */ .Im)(format)) {
      const timeFormat = this.timeFormat === _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.TimeFormatEnum.FORMAT_12_HOURS ? `hh:mm${seconds ? ':ss' : ''} A` : `HH:mm${seconds ? ':ss' : ''}`;
      format = `${this.dateFormat} ${timeFormat}`;
    }
    if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .isEmpty */ .Im)(locale)) locale = this.regionCode || _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.RegionsEnum.EN;
    return date.locale(locale).format(format);
  }
  static {
    this.ɵfac = function DateTimeFormatPipe_Factory(t) {
      return new (t || DateTimeFormatPipe)(_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il, 16));
    };
  }
  static {
    this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdefinePipe"] */ .EJ8({
      name: "dateTimeFormat",
      type: DateTimeFormatPipe,
      pure: false
    });
  }
};
DateTimeFormatPipe = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_3__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il])], DateTimeFormatPipe);

/***/ }),

/***/ 28883:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: () => (/* binding */ DurationFormatPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let DurationFormatPipe = /*#__PURE__*/(() => {
  class DurationFormatPipe {
    /**
     * Transforms the given number of seconds into a formatted duration string in the format HH:mm:ss.
     *
     * @param {number} seconds - The number of seconds to transform.
     * @return {string} The formatted duration string in the format HH:mm:ss.
     */
    transform(seconds) {
      let duration = seconds < 0 ? 0 : seconds;
      let hours = parseInt(duration / 3600 + '', 10);
      duration = duration % 3600;
      let min = parseInt(duration / 60 + '', 10);
      duration = duration % 60;
      let sec = parseInt(duration + '', 10);
      if (sec < 10) {
        sec = `0${sec}`;
      }
      if (min < 10) {
        min = `0${min}`;
      }
      if (hours < 10) {
        hours = `0${hours}`;
      }
      return `${hours}:${min}:${sec}`;
    }
    static {
      this.ɵfac = function DurationFormatPipe_Factory(t) {
        return new (t || DurationFormatPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "durationFormat",
        type: DurationFormatPipe,
        pure: true
      });
    }
  }
  return DurationFormatPipe;
})();

/***/ }),

/***/ 47211:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: () => (/* binding */ FileSizePipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

const defaultPrecisionMap = {
  bytes: 0,
  KB: 1,
  MB: 2,
  GB: 2,
  TB: 2
};
/*
 * Convert bytes into largest possible unit.
 * Takes an precision argument that can be a number or a map for each unit.
 * Usage:
 *   bytes | fileSize:precision
 * @example
 * // returns 1 KB
 * {{ 1500 | fileSize }}
 * @example
 * // returns 2.1 GB
 * {{ 2100000000 | fileSize }}
 * @example
 * // returns 1.46 KB
 * {{ 1500 | fileSize:2 }}
 */
let FileSizePipe = /*#__PURE__*/(() => {
  class FileSizePipe {
    constructor() {
      this.units = ['bytes', 'KB', 'MB', 'GB', 'TB'];
    }
    /**
     * Converts a number of bytes to the largest possible unit.
     *
     * @param {number} bytes - The number of bytes to be converted. Defaults to 0.
     * @param {number | unitPrecisionMap} precision - The precision of the conversion. Can be a number or a map for each unit. Defaults to defaultPrecisionMap.
     * @return {string} The converted value with the unit.
     */
    transform(bytes = 0, precision = defaultPrecisionMap) {
      if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) return '?';
      let unitIndex = 0;
      while (bytes >= 1000) {
        bytes /= 1000;
        unitIndex++;
      }
      const unit = this.units[unitIndex];
      if (typeof precision === 'number') {
        return bytes.toFixed(precision) + ' ' + unit;
      }
      return bytes.toFixed(precision[unit]) + ' ' + unit;
    }
    static {
      this.ɵfac = function FileSizePipe_Factory(t) {
        return new (t || FileSizePipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "fileSize",
        type: FileSizePipe,
        pure: true
      });
    }
  }
  return FileSizePipe;
})();

/***/ }),

/***/ 15209:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: () => (/* binding */ FilterArrayPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let FilterArrayPipe = /*#__PURE__*/(() => {
  class FilterArrayPipe {
    /**
     * Filters an array of values based on the provided input array.
     *
     * @param {any[]} values - The array of values to filter.
     * @param {string[]} input - The array of strings to use for filtering.
     * @return {any[]} The filtered array of values.
     */
    transform(values, input) {
      let output = [];
      if (input && input.length > 0) {
        values.forEach(value => {
          if (input.indexOf(value.id) !== -1) output.push(value);
        });
      }
      return output;
    }
    static {
      this.ɵfac = function FilterArrayPipe_Factory(t) {
        return new (t || FilterArrayPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "filterArray",
        type: FilterArrayPipe,
        pure: false
      });
    }
  }
  return FilterArrayPipe;
})();

/***/ }),

/***/ 23641:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   q: () => (/* binding */ HashNumberPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let HashNumberPipe = /*#__PURE__*/(() => {
  class HashNumberPipe {
    /**
     * Transforms a number or string into a hashed string.
     *
     * @param {number | string} value - The value to be transformed.
     * @return {string} The transformed hashed string, or an empty string if the value is falsy or non-numeric.
     */
    transform(value) {
      if (value) {
        const numericValue = isNaN(Number(value)) ? value : Number(value);
        return '#' + numericValue;
      }
      return ''; // Return an empty string for non-numeric or falsy values
    }
    static {
      this.ɵfac = function HashNumberPipe_Factory(t) {
        return new (t || HashNumberPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "hash",
        type: HashNumberPipe,
        pure: true
      });
    }
  }
  return HashNumberPipe;
})();

/***/ }),

/***/ 71833:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $n: () => (/* reexport safe */ _safe_safe_pipe__WEBPACK_IMPORTED_MODULE_9__.$),
/* harmony export */   HO: () => (/* reexport safe */ _text_pipe__WEBPACK_IMPORTED_MODULE_7__.H),
/* harmony export */   J$: () => (/* reexport safe */ _replace_pipe__WEBPACK_IMPORTED_MODULE_8__.J),
/* harmony export */   Lu: () => (/* reexport safe */ _utc_to_timezone_pipe__WEBPACK_IMPORTED_MODULE_13__.L),
/* harmony export */   MM: () => (/* binding */ Pipes),
/* harmony export */   OG: () => (/* reexport safe */ _filter_array_pipe__WEBPACK_IMPORTED_MODULE_5__.O),
/* harmony export */   Vp: () => (/* reexport safe */ _text_pipe__WEBPACK_IMPORTED_MODULE_7__.V),
/* harmony export */   Vv: () => (/* reexport safe */ _datetime_format_pipe__WEBPACK_IMPORTED_MODULE_2__.V),
/* harmony export */   az: () => (/* reexport safe */ _date_format_pipe__WEBPACK_IMPORTED_MODULE_1__.a),
/* harmony export */   d1: () => (/* reexport safe */ _utc_to_local_pipe__WEBPACK_IMPORTED_MODULE_11__.d),
/* harmony export */   d6: () => (/* reexport safe */ _safe_safe_pipe__WEBPACK_IMPORTED_MODULE_9__.d),
/* harmony export */   il: () => (/* reexport safe */ _duration_format_pipe__WEBPACK_IMPORTED_MODULE_3__.i),
/* harmony export */   nV: () => (/* reexport safe */ _currency_position_pipe__WEBPACK_IMPORTED_MODULE_0__.n),
/* harmony export */   q: () => (/* reexport safe */ _hash_number_pipe__WEBPACK_IMPORTED_MODULE_12__.q),
/* harmony export */   sy: () => (/* reexport safe */ _file_size_pipe__WEBPACK_IMPORTED_MODULE_4__.s),
/* harmony export */   xM: () => (/* reexport safe */ _budget_pipe__WEBPACK_IMPORTED_MODULE_6__.x),
/* harmony export */   zu: () => (/* reexport safe */ _time_format_pipe__WEBPACK_IMPORTED_MODULE_10__.z)
/* harmony export */ });
/* harmony import */ var _currency_position_pipe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59672);
/* harmony import */ var _date_format_pipe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(99183);
/* harmony import */ var _datetime_format_pipe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22510);
/* harmony import */ var _duration_format_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(28883);
/* harmony import */ var _file_size_pipe__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47211);
/* harmony import */ var _filter_array_pipe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(15209);
/* harmony import */ var _budget_pipe__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31540);
/* harmony import */ var _text_pipe__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(22714);
/* harmony import */ var _replace_pipe__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(23491);
/* harmony import */ var _safe_safe_pipe__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(60982);
/* harmony import */ var _time_format_pipe__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(49362);
/* harmony import */ var _utc_to_local_pipe__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(49041);
/* harmony import */ var _hash_number_pipe__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(23641);
/* harmony import */ var _utc_to_timezone_pipe__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(10603);




























const Pipes = [_currency_position_pipe__WEBPACK_IMPORTED_MODULE_0__/* .CurrencyPositionPipe */ .n, _date_format_pipe__WEBPACK_IMPORTED_MODULE_1__/* .DateFormatPipe */ .a, _datetime_format_pipe__WEBPACK_IMPORTED_MODULE_2__/* .DateTimeFormatPipe */ .V, _duration_format_pipe__WEBPACK_IMPORTED_MODULE_3__/* .DurationFormatPipe */ .i, _file_size_pipe__WEBPACK_IMPORTED_MODULE_4__/* .FileSizePipe */ .s, _filter_array_pipe__WEBPACK_IMPORTED_MODULE_5__/* .FilterArrayPipe */ .O, _budget_pipe__WEBPACK_IMPORTED_MODULE_6__/* .JobBudgetPipe */ .x, _text_pipe__WEBPACK_IMPORTED_MODULE_7__/* .Nl2BrPipe */ .V, _replace_pipe__WEBPACK_IMPORTED_MODULE_8__/* .ReplacePipe */ .J, _safe_safe_pipe__WEBPACK_IMPORTED_MODULE_9__/* .SafeHtmlPipe */ .$, _safe_safe_pipe__WEBPACK_IMPORTED_MODULE_9__/* .SafeUrlPipe */ .d, _time_format_pipe__WEBPACK_IMPORTED_MODULE_10__/* .TimeFormatPipe */ .z, _text_pipe__WEBPACK_IMPORTED_MODULE_7__/* .TruncatePipe */ .H, _utc_to_local_pipe__WEBPACK_IMPORTED_MODULE_11__/* .UtcToLocalPipe */ .d, _utc_to_timezone_pipe__WEBPACK_IMPORTED_MODULE_13__/* .UtcToTimezone */ .L, _hash_number_pipe__WEBPACK_IMPORTED_MODULE_12__/* .HashNumberPipe */ .q];

/***/ }),

/***/ 11924:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Y: () => (/* binding */ PipesModule)
/* harmony export */ });
/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71833);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
















let PipesModule = /*#__PURE__*/(() => {
  class PipesModule {
    static {
      this.ɵfac = function PipesModule_Factory(t) {
        return new (t || PipesModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: PipesModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        providers: [..._index__WEBPACK_IMPORTED_MODULE_1__/* .Pipes */ .MM]
      });
    }
  }
  return PipesModule;
})();

/***/ }),

/***/ 23491:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: () => (/* binding */ ReplacePipe)
/* harmony export */ });
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32667);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);



let ReplacePipe = /*#__PURE__*/(() => {
  class ReplacePipe {
    /**
     * Transforms the input string by replacing occurrences of the pattern with the replacement.
     *
     * @param {any} input - The input string to be transformed.
     * @param {any} pattern - The pattern to search for in the input string. It can be a string or a regular expression.
     * @param {any} replacement - The string to replace the pattern with.
     * @return {any} The transformed input string with the pattern replaced by the replacement string.
     */
    transform(input, pattern, replacement) {
      if (!(0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .isString */ .Kg)(input) || (0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .isUndefined */ .b0)(pattern) || (0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .isUndefined */ .b0)(replacement)) {
        return input;
      }
      if ((0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .isRegExp */ .gd)(pattern)) {
        return input.replace(pattern, replacement);
      } else {
        return (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .replaceAll */ .yh)(input, pattern, replacement);
      }
    }
    static {
      this.ɵfac = function ReplacePipe_Factory(t) {
        return new (t || ReplacePipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "replace",
        type: ReplacePipe,
        pure: true
      });
    }
  }
  return ReplacePipe;
})();

/***/ }),

/***/ 60982:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $: () => (/* binding */ SafeHtmlPipe),
/* harmony export */   d: () => (/* binding */ SafeUrlPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75601);



let SafeUrlPipe = /*#__PURE__*/(() => {
  class SafeUrlPipe {
    constructor(sanitizer) {
      this.sanitizer = sanitizer;
    }
    /**
     *
     * @param url should be a string
     * @returns is safe string
     */
    transform(url) {
      if (url) {
        return this.sanitizer.bypassSecurityTrustResourceUrl(url);
      }
    }
    static {
      this.ɵfac = function SafeUrlPipe_Factory(t) {
        return new (t || SafeUrlPipe)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__/* .DomSanitizer */ .up, 16));
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "safeUrl",
        type: SafeUrlPipe,
        pure: true
      });
    }
  }
  return SafeUrlPipe;
})();
let SafeHtmlPipe = /*#__PURE__*/(() => {
  class SafeHtmlPipe {
    constructor(sanitizer) {
      this.sanitizer = sanitizer;
    }
    /**
     *
     * @param value should be a string
     * @returns is safe string
     */
    transform(value) {
      if (value) {
        return this.sanitizer.bypassSecurityTrustHtml(value);
      }
    }
    static {
      this.ɵfac = function SafeHtmlPipe_Factory(t) {
        return new (t || SafeHtmlPipe)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__/* .DomSanitizer */ .up, 16));
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "safeHtml",
        type: SafeHtmlPipe,
        pure: true
      });
    }
  }
  return SafeHtmlPipe;
})();

/***/ }),

/***/ 22714:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: () => (/* binding */ TruncatePipe),
/* harmony export */   V: () => (/* binding */ Nl2BrPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75601);




let TruncatePipe = /*#__PURE__*/(() => {
  class TruncatePipe {
    /**
     * Transforms a string by truncating it to a specified limit. If `completeWords` is true, the truncation will
     * occur at the last complete word before the limit. The truncated string is appended with an `ellipsis` string.
     *
     * @param {string} value - The string to be transformed.
     * @param {number} [limit=25] - The maximum length of the transformed string. Defaults to 25.
     * @param {boolean} [completeWords=false] - Whether the truncation should occur at the last complete word before the limit. Defaults to false.
     * @param {string} [ellipsis='...'] - The string to append to the truncated string. Defaults to '...'.
     * @return {string} The transformed string. If the input string is falsy, an empty string is returned.
     */
    transform(value, limit = 25, completeWords = false, ellipsis = '...') {
      if (!value) {
        return;
      }
      if (completeWords) {
        limit = value.substring(0, limit).lastIndexOf(' ');
      }
      return value.length > limit ? value.substring(0, limit) + ellipsis : value;
    }
    static {
      this.ɵfac = function TruncatePipe_Factory(t) {
        return new (t || TruncatePipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "truncate",
        type: TruncatePipe,
        pure: true
      });
    }
  }
  return TruncatePipe;
})();
let Nl2BrPipe = /*#__PURE__*/(() => {
  class Nl2BrPipe {
    constructor(sanitizer) {
      this.sanitizer = sanitizer;
    }
    /**
     * Transforms a string by replacing line breaks with HTML line breaks and sanitizes it if necessary.
     *
     * @param {string} value - The string to be transformed.
     * @param {boolean} [sanitizeBeforehand=false] - Whether to sanitize the string beforehand. Defaults to false.
     * @return {string} The transformed string.
     */
    transform(value, sanitizeBeforehand) {
      if (typeof value !== 'string') {
        return value;
      }
      let result;
      const textParsed = value.replace(/(?:\r\n|\r|\n)/g, '<br />');
      if (!_angular_core__WEBPACK_IMPORTED_MODULE_0__/* .VERSION */ .xvI || _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .VERSION */ .xvI.major === '2') {
        result = this.sanitizer.bypassSecurityTrustHtml(textParsed);
      } else if (sanitizeBeforehand) {
        result = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* .SecurityContext */ .WPN.HTML, textParsed);
      } else {
        result = textParsed;
      }
      return result;
    }
    static {
      this.ɵfac = function Nl2BrPipe_Factory(t) {
        return new (t || Nl2BrPipe)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__/* .DomSanitizer */ .up, 16));
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "nl2br",
        type: Nl2BrPipe,
        pure: true
      });
    }
  }
  return Nl2BrPipe;
})();

/***/ }),

/***/ 49362:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: () => (/* binding */ TimeFormatPipe)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55598);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82817);








let TimeFormatPipe = class TimeFormatPipe {
  constructor(store) {
    this.store = store;
    this.store.selectedOrganization$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(organization => {
      this.format = organization?.timeFormat ?? _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.TimeFormatEnum.FORMAT_12_HOURS;
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Transforms a given value into a formatted time string.
   * @param value The value to transform into a time string. This can be a string, number, Date object, or any value parsable by moment.js.
   * @param timeFormat The time format to use. If not provided, it defaults to `this.format`.
   * @param seconds Optional. If true, include seconds in the formatted time string. Defaults to false.
   * @returns A formatted time string based on the input value and format options.
   */
  transform(value, timeFormat = this.format, seconds = true) {
    let format = 'HH:mm' + (seconds ? ':ss' : '');
    if (timeFormat === _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.TimeFormatEnum.FORMAT_12_HOURS) {
      format = 'hh:mm' + (seconds ? ':ss' : '') + ' A';
    }
    let date = moment__WEBPACK_IMPORTED_MODULE_0__(value);
    if (!date.isValid()) date = moment__WEBPACK_IMPORTED_MODULE_0__.utc(value, 'HH:mm');
    return date.format(format);
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function TimeFormatPipe_Factory(t) {
      return new (t || TimeFormatPipe)(_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il, 16));
    };
  }
  static {
    this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdefinePipe"] */ .EJ8({
      name: "timeFormat",
      type: TimeFormatPipe,
      pure: false
    });
  }
};
TimeFormatPipe = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il])], TimeFormatPipe);

/***/ }),

/***/ 49041:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: () => (/* binding */ UtcToLocalPipe)
/* harmony export */ });
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);



let UtcToLocalPipe = /*#__PURE__*/(() => {
  class UtcToLocalPipe {
    /**
     * Transforms the given date/time value to the local timezone and returns it as a JavaScript Date object.
     * @param value The date/time value to be transformed. Can be a string, Date, or moment object.
     * @param format The format to be used when parsing the date if initial parsing fails. Default is 'HH:mm'.
     * @returns A JavaScript Date object representing the date/time in the local timezone.
     */
    transform(value, format = 'HH:mm') {
      let date = moment__WEBPACK_IMPORTED_MODULE_0__(value);
      if (!date.isValid()) date = moment__WEBPACK_IMPORTED_MODULE_0__.utc(value, format);
      return (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toLocal */ .jw)(date).toDate();
    }
    static {
      this.ɵfac = function UtcToLocalPipe_Factory(t) {
        return new (t || UtcToLocalPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "utcToLocal",
        type: UtcToLocalPipe,
        pure: true
      });
    }
  }
  return UtcToLocalPipe;
})();

/***/ }),

/***/ 10603:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: () => (/* binding */ UtcToTimezone)
/* harmony export */ });
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);



let UtcToTimezone = /*#__PURE__*/(() => {
  class UtcToTimezone {
    /**
     * Transforms the given date/time value to the specified timezone and returns it as a JavaScript Date object.
     *
     * @param value The date/time value to be transformed. Can be a string, Date, or moment object.
     * @param timezone The IANA timezone identifier (e.g., 'America/New_York', 'Europe/London') to which the date should be converted.
     * @param format The format to be used when parsing the date if initial parsing fails. Default is 'HH:mm'.
     * @returns A JavaScript Date object representing the date/time in the specified timezone.
     */
    transform(value, timezone, format = 'YYYY-MM-DD HH:mm:ss') {
      let date = moment__WEBPACK_IMPORTED_MODULE_0__(value);
      if (!date.isValid()) date = moment__WEBPACK_IMPORTED_MODULE_0__.utc(value, format);
      if (timezone) return (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .toTimezone */ .xT)(date, timezone).format(format);
    }
    static {
      this.ɵfac = function UtcToTimezone_Factory(t) {
        return new (t || UtcToTimezone)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "utcToTimezone",
        type: UtcToTimezone,
        pure: true
      });
    }
  }
  return UtcToTimezone;
})();

/***/ }),

/***/ 54605:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: () => (/* binding */ Arrow)
/* harmony export */ });
/**
 * The Arrow class is a context that uses a strategy to perform actions.
 */
class Arrow {
  /**
   * Sets the strategy to be used by the Arrow instance.
   * @param strategy - An implementation of IArrowStrategy.
   */
  setStrategy(strategy) {
    if (!strategy) {
      throw new Error('Strategy cannot be null or undefined.');
    }
    this.strategy = strategy;
  }
  /**
   * Executes the action defined by the current strategy.
   * @param request - The input request data.
   * @param unitOfTime - The unit of time for moment.js operations.
   * @returns The result of the strategy action.
   */
  execute(request, unitOfTime) {
    if (!this.strategy) {
      throw new Error('Strategy has not been set.');
    }
    return this.strategy.action(request, unitOfTime);
  }
}

/***/ }),

/***/ 12688:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: () => (/* binding */ Next)
/* harmony export */ });
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);

class Next {
  constructor() {
    // declaration of variable
    this.disable = false;
  }
  /**
   * Implementation of action method
   * @param request
   * @returns any type of request
   */
  action(request, unitOfTime) {
    const {
      startDate,
      endDate,
      isCustomDate
    } = request;
    let start = moment__WEBPACK_IMPORTED_MODULE_0__(endDate).add(1, 'days');
    let end;
    if (isCustomDate) {
      const range = moment__WEBPACK_IMPORTED_MODULE_0__(endDate).diff(moment__WEBPACK_IMPORTED_MODULE_0__(startDate), 'days');
      end = moment__WEBPACK_IMPORTED_MODULE_0__(start).add(range, 'days');
    } else {
      end = moment__WEBPACK_IMPORTED_MODULE_0__(start).endOf(unitOfTime);
    }
    return {
      startDate: start.startOf('day').toDate(),
      endDate: end.endOf('day').toDate(),
      isCustomDate
    };
  }
  /**
   * getter of disable
   */
  get isDisable() {
    return this.disable;
  }
  /**
   * setter of enable
   */
  set isDisable(disable) {
    this.disable = disable;
  }
}

/***/ }),

/***/ 91644:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: () => (/* binding */ Previous)
/* harmony export */ });
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);

class Previous {
  /**
   * Implementation of action method
   * @param request
   * @returns any type of request
   */
  action(request, unitOfTime) {
    const {
      startDate,
      endDate,
      isCustomDate
    } = request;
    let end = moment__WEBPACK_IMPORTED_MODULE_0__(startDate).subtract(1, 'days');
    let start;
    if (isCustomDate) {
      const range = moment__WEBPACK_IMPORTED_MODULE_0__(endDate).diff(moment__WEBPACK_IMPORTED_MODULE_0__(startDate), 'days');
      start = moment__WEBPACK_IMPORTED_MODULE_0__(end).subtract(range, 'days');
    } else {
      start = moment__WEBPACK_IMPORTED_MODULE_0__(end).startOf(unitOfTime);
    }
    return {
      startDate: start.startOf('day').toDate(),
      endDate: end.endOf('day').toDate(),
      isCustomDate
    };
  }
}

/***/ }),

/***/ 71580:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: () => (/* binding */ DateRangeKeyEnum)
/* harmony export */ });
// Enum defining keys for common date range options.
var DateRangeKeyEnum = /*#__PURE__*/function (DateRangeKeyEnum) {
  DateRangeKeyEnum["TODAY"] = "Today";
  DateRangeKeyEnum["YESTERDAY"] = "Yesterday";
  DateRangeKeyEnum["CURRENT_WEEK"] = "Current Week";
  DateRangeKeyEnum["LAST_WEEK"] = "Last Week";
  DateRangeKeyEnum["CURRENT_MONTH"] = "Current Month";
  DateRangeKeyEnum["LAST_MONTH"] = "Last Month";
  return DateRangeKeyEnum;
}(DateRangeKeyEnum || {});

/***/ }),

/***/ 23362:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Rc: () => (/* binding */ dayOfWeekAsString),
/* harmony export */   Yi: () => (/* binding */ getAdjustDateRangeFutureAllowed),
/* harmony export */   tq: () => (/* binding */ shiftUTCtoLocal)
/* harmony export */ });
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);


/**
 * We are having issue, when organization not allowed future date
 * When someone run timer for today, all statistic not displaying correctly
 *
 * @returns
 */
function getAdjustDateRangeFutureAllowed(request) {
  const now = moment__WEBPACK_IMPORTED_MODULE_0__();
  let {
    startDate,
    endDate
  } = request;
  /**
   * If, user selected single day date range.
   */
  if (moment__WEBPACK_IMPORTED_MODULE_0__(moment__WEBPACK_IMPORTED_MODULE_0__(startDate).format('YYYY-MM-DD')).isSame(moment__WEBPACK_IMPORTED_MODULE_0__(endDate).format('YYYY-MM-DD'))) {
    startDate = moment__WEBPACK_IMPORTED_MODULE_0__(startDate).startOf('day').utc().toDate();
    endDate = moment__WEBPACK_IMPORTED_MODULE_0__(endDate).endOf('day').utc().toDate();
  }
  /**
   * If, user selected TODAY date range.
   */
  if (moment__WEBPACK_IMPORTED_MODULE_0__(now.format('YYYY-MM-DD')).isSame(moment__WEBPACK_IMPORTED_MODULE_0__(endDate).format('YYYY-MM-DD'))) {
    endDate = moment__WEBPACK_IMPORTED_MODULE_0__().endOf('day').utc().toDate();
  }
  return {
    startDate: moment__WEBPACK_IMPORTED_MODULE_0__(startDate).toDate(),
    endDate: moment__WEBPACK_IMPORTED_MODULE_0__(endDate).toDate()
  };
}
/**
 * Shifts a given time range from UTC to the local time zone.
 *
 * @param range The time range to be shifted.
 * @returns The shifted time range in the local time zone.
 */
function shiftUTCtoLocal(range) {
  if (range && range.endDate && range.startDate) {
    const offset = moment__WEBPACK_IMPORTED_MODULE_0__().utcOffset();
    return {
      startDate: moment__WEBPACK_IMPORTED_MODULE_0__(range.startDate.toDate()).subtract(offset, 'minute'),
      endDate: moment__WEBPACK_IMPORTED_MODULE_0__(range.endDate.toDate()).subtract(offset, 'minute')
    };
  } else {
    return range;
  }
}
/**
 * Converts a day string to a day number.
 *
 * @param {String} weekDay
 * @return {Number} Returns day index as number
 */
function dayOfWeekAsString(weekDay) {
  return [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.WeekDaysEnum.SUNDAY, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.WeekDaysEnum.MONDAY, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.WeekDaysEnum.TUESDAY, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.WeekDaysEnum.WEDNESDAY, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.WeekDaysEnum.THURSDAY, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.WeekDaysEnum.FRIDAY, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.WeekDaysEnum.SATURDAY].indexOf(weekDay);
}

/***/ }),

/***/ 28864:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   f: () => (/* binding */ DateRangePickerComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(55598);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(76149);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(6925);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(97957);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(54530);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(76104);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(65670);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(77271);
/* harmony import */ var ngx_daterangepicker_material__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(52680);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(61198);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(18894);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(7160);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(65465);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(31098);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(10620);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83290);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(73600);
/* harmony import */ var _arrow_context_arrow_class__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(54605);
/* harmony import */ var _arrow_strategies__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(12688);
/* harmony import */ var _arrow_strategies__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(91644);
/* harmony import */ var _date_picker_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23362);
/* harmony import */ var _date_picker_interface__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(71580);
/* harmony import */ var _timesheet_gauzy_filters_timezone_filter__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(98011);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(91265);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(51170);



























function DateRangePickerComponent_ng_container_3_Template(rf, ctx) {
  if (rf & 1) {
    const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(1, "button", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function DateRangePickerComponent_ng_container_3_Template_button_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r2);
      const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r1.previousRange());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(2, "nb-icon", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(3, "button", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function DateRangePickerComponent_ng_container_3_Template_button_click_3_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r2);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r3.nextRange());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(4, "nb-icon", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("disabled", ctx_r0.isNextDisabled());
  }
}
let DateRangePickerComponent = class DateRangePickerComponent extends _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_3__/* .TranslationBaseComponent */ .K {
  set firstDayOfWeek(value) {
    // Accept zero (Sunday) as a valid value
    if (value !== null && value !== undefined) {
      this._firstDayOfWeek = (0,_date_picker_utils__WEBPACK_IMPORTED_MODULE_4__/* .dayOfWeekAsString */ .Rc)(value);
    } else {
      // Default to locale's first day of the week if value is null or undefined
      this._firstDayOfWeek = moment__WEBPACK_IMPORTED_MODULE_0__.localeData().firstDayOfWeek();
    }
    this.locale.firstDay = this._firstDayOfWeek;
  }
  get firstDayOfWeek() {
    return this._firstDayOfWeek;
  }
  set timeZone(value) {
    // Update the time zone if a valid value is provided
    if (value) {
      this._timeZone = value;
    }
    // Get the date picker configuration
    const datePickerConfig = this._dateRangePickerBuilderService.datePickerConfig;
    // Update the date picker based on the current settings
    const selectorDates = this.getSelectorDates();
    // If the date picker is set to save date range, save the selected date range
    if (datePickerConfig.isSaveDatePicker) {
      this.onSavingFilter(selectorDates);
    } else {
      this.selectedDateRange = selectorDates;
      this.rangePicker = {
        ...selectorDates
      }; // Ensure consistency between selectedDateRange and rangePicker
    }
  }
  get timeZone() {
    return this._timeZone;
  }
  set unitOfTime(value) {
    // Update _unitOfTime if a valid value is provided; otherwise, use default
    if (value !== null && value !== undefined) {
      this._unitOfTime = value;
    } else {
      this._unitOfTime = _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__/* .DEFAULT_DATE_PICKER_CONFIG */ .LJ.unitOfTime;
    }
    // Get the date picker configuration
    const datePickerConfig = this._dateRangePickerBuilderService.datePickerConfig;
    // Update the date picker based on the current settings
    const selectorDates = this.getSelectorDates();
    // If the date picker is set to save date range, save the selected date range
    if (datePickerConfig.isSaveDatePicker) {
      this.onSavingFilter(selectorDates);
    } else {
      this.selectedDateRange = selectorDates;
      this.rangePicker = {
        ...selectorDates
      }; // Ensure consistency between selectedDateRange and rangePicker
    }
  }
  get unitOfTime() {
    return this._unitOfTime;
  }
  set selectedDateRange(range) {
    if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_6__/* .isNotEmpty */ .hj)(range)) {
      // Get the date picker configuration
      const datePickerConfig = this._dateRangePickerBuilderService.datePickerConfig;
      // If the current route has timesheet filter save state
      if (datePickerConfig.isSaveDatePicker) {
        this._timesheetFilterService.filter = {
          ...this._timesheetFilterService.filter,
          ...range
        };
      }
      this._selectedDateRange = range;
      this.range$.next(range);
      // Check if the date selector exists
      if (this._selectorBuilderService.getSelectors().date) {
        // Updates the query parameters of the current route without navigating away
        this.navigateWithQueryParams();
      }
    }
  }
  get selectedDateRange() {
    return this._selectedDateRange;
  }
  get rangePicker() {
    return this._rangePicker;
  }
  set rangePicker(range) {
    if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_6__/* .isNotEmpty */ .hj)(range)) {
      this._rangePicker = range;
    }
  }
  constructor(translateService, _route, _store, _organizationService, _dateRangePickerBuilderService, _timesheetFilterService, _navigationService, _selectorBuilderService, _timeZoneService) {
    super(translateService);
    this.translateService = translateService;
    this._route = _route;
    this._store = _store;
    this._organizationService = _organizationService;
    this._dateRangePickerBuilderService = _dateRangePickerBuilderService;
    this._timesheetFilterService = _timesheetFilterService;
    this._navigationService = _navigationService;
    this._selectorBuilderService = _selectorBuilderService;
    this._timeZoneService = _timeZoneService;
    this.dates$ = this._dateRangePickerBuilderService.dates$; // Default selected date picker ranges
    this.range$ = new rxjs__WEBPACK_IMPORTED_MODULE_7__/* .Subject */ .B(); // Local store date picker ranges
    // Declaration of arrow variables
    this.arrow = new _arrow_context_arrow_class__WEBPACK_IMPORTED_MODULE_8__/* .Arrow */ .i();
    this.next = new _arrow_strategies__WEBPACK_IMPORTED_MODULE_9__/* .Next */ .k();
    this.previous = new _arrow_strategies__WEBPACK_IMPORTED_MODULE_10__/* .Previous */ .s();
    /**
     * Locale configuration for the component.
     * Defaults are:
     * - displayFormat: 'DD.MM.YYYY'
     * - format: 'DD.MM.YYYY'
     * - direction: 'ltr'
     */
    this.locale = {
      displayFormat: 'DD.MM.YYYY',
      format: 'DD.MM.YYYY',
      direction: 'ltr' // Default direction
    };
    /**
     * Determines whether to show or hide the arrows button.
     * Defaults to showing the arrows.
     */
    this.arrows = true;
    /**
     * Indicates whether the date picker is locked.
     */
    this.isLockDatePicker = false;
    /**
     * Indicates whether the date picker is in single date selection mode.
     */
    this.isSingleDatePicker = false;
    /**
     * Indicates whether future dates are disabled in the date picker.
     */
    this.isDisableFutureDatePicker = false;
    /**
     * Indicates whether past dates are disabled in the date picker.
     */
    this.isDisablePastDatePicker = false;
    /**
     * The first day of the week.
     */
    this._firstDayOfWeek = moment__WEBPACK_IMPORTED_MODULE_0__.localeData().firstDayOfWeek();
    /**
     * The time zone to be used.
     * Defaults to the user's local time zone.
     */
    this._timeZone = moment__WEBPACK_IMPORTED_MODULE_0__.tz.guess();
    /**
     * Dynamic unit of time for date operations.
     * Defaults to the configuration's unit of time if not provided.
     */
    this._unitOfTime = _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__/* .DEFAULT_DATE_PICKER_CONFIG */ .LJ.unitOfTime;
  }
  ngOnInit() {
    const storeOrganization$ = this._store.selectedOrganization$;
    const storeDatePickerConfig$ = this._dateRangePickerBuilderService.datePickerConfig$;
    const queryParams$ = this._route.queryParams;
    // Subscribe to the timeZone$ observable
    const timeZone$ = this._timeZoneService.timeZone$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_11__/* .filter */ .p)(timeZone => !!timeZone), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .tap */ .M)(timeZone => this.timeZone = timeZone), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .tap */ .M)(timeZone => {
      // Get the set of US timezones
      const usTimeZones = new Set(moment__WEBPACK_IMPORTED_MODULE_0__.tz.zonesForCountry('US'));
      // Determine the date format based on the timezone
      const format = usTimeZones.has(timeZone) ? 'MM.DD.YYYY' : 'DD.MM.YYYY';
      // Update the locale configuration with the new format
      this.locale.displayFormat = format;
      this.locale.format = format;
    }));
    (0,rxjs__WEBPACK_IMPORTED_MODULE_13__/* .combineLatest */ .z)([storeOrganization$, storeDatePickerConfig$, queryParams$, timeZone$]).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_11__/* .filter */ .p)(([organization, datePickerConfig]) => !!organization && !!datePickerConfig), (0,rxjs__WEBPACK_IMPORTED_MODULE_14__/* .switchMap */ .n)(([organization, datePickerConfig, queryParams, timeZone]) => (0,rxjs__WEBPACK_IMPORTED_MODULE_13__/* .combineLatest */ .z)([this._organizationService.getById(organization.id, [], {
      id: true,
      futureDateAllowed: true,
      timeZone: true,
      startWeekOn: true
    }), (0,rxjs__WEBPACK_IMPORTED_MODULE_15__.of)(datePickerConfig), (0,rxjs__WEBPACK_IMPORTED_MODULE_15__.of)(queryParams), (0,rxjs__WEBPACK_IMPORTED_MODULE_15__.of)(timeZone)])), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .tap */ .M)(([organization, datePickerConfig, queryParams, timeZone]) => {
      this.organization = organization; // Update the organization
      this.futureDateAllowed = organization.futureDateAllowed; // Update the future date allowed
      this.timeZone = timeZone; // Update the time zone
      const {
        isLockDatePicker
      } = datePickerConfig;
      const {
        isSingleDatePicker,
        isDisableFutureDate,
        isDisablePastDate
      } = datePickerConfig;
      this.isDisableFutureDatePicker = isDisableFutureDate;
      this.isDisablePastDatePicker = isDisablePastDate;
      this.isLockDatePicker = isLockDatePicker;
      this.isSingleDatePicker = isSingleDatePicker;
      const {
        unit_of_time: unitOfTime = datePickerConfig.unitOfTime
      } = queryParams;
      this.unitOfTime = unitOfTime;
    }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .tap */ .M)(() => {
      this.createDateRangeMenus();
      this.setPastStrategy();
      this.setFutureStrategy();
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_16__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  ngAfterViewInit() {
    this.range$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_6__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .tap */ .M)(range => {
      this._dateRangePickerBuilderService.selectedDateRange = range;
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_16__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Creates the date range translated menus based on the current configuration.
   */
  createDateRangeMenus() {
    this.ranges = {};
    // Helper function to add ranges to the ranges object
    const addRange = (key, startDate, endDate) => {
      this.ranges[key] = [startDate, endDate];
    };
    // Determine which units of time are allowed
    const allowedUnits = this.isLockDatePicker ? [this.unitOfTime] : ['day', 'week', 'month'];
    // Add date ranges based on the allowed units of time
    allowedUnits.forEach(unit => {
      switch (unit) {
        case 'day':
          addRange(_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.TODAY, moment__WEBPACK_IMPORTED_MODULE_0__(), moment__WEBPACK_IMPORTED_MODULE_0__());
          addRange(_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.YESTERDAY, moment__WEBPACK_IMPORTED_MODULE_0__().subtract(1, 'days'), moment__WEBPACK_IMPORTED_MODULE_0__().subtract(1, 'days'));
          break;
        case 'week':
          addRange(_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.CURRENT_WEEK, moment__WEBPACK_IMPORTED_MODULE_0__().startOf('week'), moment__WEBPACK_IMPORTED_MODULE_0__().endOf('week'));
          addRange(_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.LAST_WEEK, moment__WEBPACK_IMPORTED_MODULE_0__().subtract(1, 'week').startOf('week'), moment__WEBPACK_IMPORTED_MODULE_0__().subtract(1, 'week').endOf('week'));
          break;
        case 'month':
          addRange(_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.CURRENT_MONTH, moment__WEBPACK_IMPORTED_MODULE_0__().startOf('month'), moment__WEBPACK_IMPORTED_MODULE_0__().endOf('month'));
          addRange(_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.LAST_MONTH, moment__WEBPACK_IMPORTED_MODULE_0__().subtract(1, 'month').startOf('month'), moment__WEBPACK_IMPORTED_MODULE_0__().subtract(1, 'month').endOf('month'));
          break;
      }
    });
  }
  /**
   * Updates the maximum selectable date based on the future date strategy.
   * If future dates are allowed, `maxDate` is set to `null` (no maximum limit).
   * If future dates are disallowed, `maxDate` is set to today.
   * Additionally, if the selected end date is in the future, it is adjusted to today.
   */
  setFutureStrategy() {
    if (this.hasFutureStrategy()) {
      // Future dates are allowed; no maximum date limit
      this.maxDate = null;
    } else {
      // Future dates are disallowed; set maxDate to today
      const today = moment__WEBPACK_IMPORTED_MODULE_0__();
      this.maxDate = today.format();
      // If the selected end date is today or in the future, adjust it to today
      if (this.isSameOrAfterDay(this.selectedDateRange.endDate)) {
        this.selectedDateRange = {
          ...this.selectedDateRange,
          endDate: today.toDate()
        };
      }
    }
  }
  /**
   * Updates the minimum selectable date based on the past date strategy.
   * If past dates are disallowed, `minDate` is set to today.
   * If past dates are allowed, `minDate` is set to `null` (no minimum limit).
   */
  setPastStrategy() {
    if (this.hasPastStrategy()) {
      // Past dates are disallowed; set minDate to today
      this.minDate = moment__WEBPACK_IMPORTED_MODULE_0__().format();
    } else {
      // Past dates are allowed; no minimum date limit
      this.minDate = null;
    }
  }
  /**
   * Advances the selected date range to the next period if not disabled.
   * Updates the selected date range and synchronizes the range picker.
   * Also updates the query parameters without navigating away.
   */
  nextRange() {
    var _this = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A)(function* () {
      if (_this.isNextDisabled()) {
        return;
      }
      // Set the strategy to 'next' on the arrow object
      _this.arrow.setStrategy(_this.next);
      // Execute the strategy to get the next range
      const nextRange = _this.arrow.execute(_this.rangePicker, _this.unitOfTime);
      // Update the selected date range and ensure consistency with the range picker
      _this.selectedDateRange = {
        ...nextRange
      };
      _this.rangePicker = {
        ...nextRange
      };
      // Update future strategy settings if necessary
      _this.setFutureStrategy();
    })();
  }
  /**
   * Moves the selected date range to the previous period.
   * Updates the selected date range and synchronizes the range picker.
   * Also updates the query parameters without navigating away.
   */
  previousRange() {
    // Set the strategy to 'previous' on the arrow object
    this.arrow.setStrategy(this.previous);
    // Execute the strategy to get the previous range
    const previousRange = this.arrow.execute(this.rangePicker, this.unitOfTime);
    // Update the selected date range and ensure consistency with the range picker
    this.selectedDateRange = {
      ...previousRange
    };
    this.rangePicker = {
      ...previousRange
    };
  }
  /**
   * Determines whether the "Next" button should be disabled.
   * The "Next" button is disabled if:
   * - There is no selected date range.
   * - The selected date range lacks a start or end date.
   * - There is no future strategy available and the end date is today or in the past.
   *
   * @returns {boolean} True if the Next Button should be disabled, false otherwise.
   */
  isNextDisabled() {
    // Check if selectedDateRange, startDate, and endDate are all defined
    if (!this.selectedDateRange?.startDate || !this.selectedDateRange?.endDate) {
      return true;
    }
    // Determine if there is no future strategy and the end date is today or after
    return !this.hasFutureStrategy() && this.isSameOrAfterDay(this.selectedDateRange.endDate);
  }
  /**
   * Listens to the date update event from ngx-daterangepicker-material.
   * Updates the selected date range and synchronizes the range picker.
   * Also updates the query parameters without navigating away.
   *
   * @param event - The updated time period.
   */
  onDatesUpdated(event) {
    if (!this.dateRangePickerDirective) {
      return;
    }
    const {
      startDate,
      endDate
    } = (0,_date_picker_utils__WEBPACK_IMPORTED_MODULE_4__/* .shiftUTCtoLocal */ .tq)(event);
    // Return early if either date is missing
    if (!startDate || !endDate) {
      return;
    }
    // Ensure start and end are moment objects
    const startMoment = this.isLockDatePicker ? moment__WEBPACK_IMPORTED_MODULE_0__(startDate).startOf(this.unitOfTime) : moment__WEBPACK_IMPORTED_MODULE_0__(startDate);
    const endMoment = this.isLockDatePicker ? moment__WEBPACK_IMPORTED_MODULE_0__(startDate).endOf(this.unitOfTime) : moment__WEBPACK_IMPORTED_MODULE_0__(endDate);
    // Construct the range object directly
    const range = {
      startDate: startMoment.toDate(),
      endDate: endMoment.toDate(),
      isCustomDate: this.isCustomDate({
        startDate: startMoment,
        endDate: endMoment
      })
    };
    // Update the selected date range and ensure consistency with the range picker
    this.selectedDateRange = {
      ...range
    };
    this.rangePicker = {
      ...range
    };
  }
  /**
   * Handles the range click event from ngx-daterangepicker-material.
   * Updates the `unitOfTime` based on the selected range label.
   *
   * @param {DateRangeClicked} range - The clicked range object.
   */
  rangeClicked(range) {
    // Define the mapping outside the method to avoid recreating it on every call
    const unitOfTimeMap = {
      [_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.TODAY]: 'day',
      [_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.YESTERDAY]: 'day',
      [_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.CURRENT_WEEK]: 'week',
      [_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.LAST_WEEK]: 'week',
      [_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.CURRENT_MONTH]: 'month',
      [_date_picker_interface__WEBPACK_IMPORTED_MODULE_17__/* .DateRangeKeyEnum */ .Q.LAST_MONTH]: 'month'
    };
    const unitOfTime = unitOfTimeMap[range.label];
    if (unitOfTime) {
      this.unitOfTime = unitOfTime;
    } else {
      console.warn(`Unrecognized range label: ${range.label}`);
    }
  }
  /**
   * Determines if the provided date range is a custom date range,
   * meaning it does not match any predefined ranges.
   *
   * @param dateRange - The date range to check.
   * @returns True if the date range is custom, false otherwise.
   */
  isCustomDate(dateRange) {
    // If the date range picker directive or its ranges are not available, consider it a custom range
    if (!this.dateRangePickerDirective?.ranges) {
      return true;
    }
    const predefinedRanges = this.dateRangePickerDirective.ranges;
    const formattedStartDate = moment__WEBPACK_IMPORTED_MODULE_0__(dateRange.startDate).format('YYYY-MM-DD');
    const formattedEndDate = moment__WEBPACK_IMPORTED_MODULE_0__(dateRange.endDate).format('YYYY-MM-DD');
    // Iterate over the predefined ranges to check for a match
    for (const rangeLabel in predefinedRanges) {
      if (predefinedRanges.hasOwnProperty(rangeLabel)) {
        const [rangeStartDate, rangeEndDate] = predefinedRanges[rangeLabel];
        // Format the predefined range dates for comparison
        const predefinedStartDate = rangeStartDate.format('YYYY-MM-DD');
        const predefinedEndDate = rangeEndDate.format('YYYY-MM-DD');
        // Compare the formatted dates
        if (formattedStartDate === predefinedStartDate && formattedEndDate === predefinedEndDate) {
          // The date range matches a predefined range; it's not custom
          return false;
        }
      }
    }
    // No matching predefined range found; it's a custom date range
    return true;
  }
  /**
   * Saves the selected date range to the timesheet filter service and updates the query parameters.
   *
   * @param range - The selected date range.
   */
  onSavingFilter(range) {
    const datePickerConfig = this._dateRangePickerBuilderService.datePickerConfig;
    // Proceed only if saving the date picker is enabled
    if (!datePickerConfig.isSaveDatePicker) {
      return;
    }
    // Subscribe to the filter$ Observable and take the first emitted value
    this._timesheetFilterService.filter$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_19__/* .take */ .s)(1), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_16__/* .untilDestroyed */ .s)(this)).subscribe(filters => {
      // Use the startDate from filters if available; otherwise, use the startDate from the range parameter
      const startDate = filters.startDate || range.startDate;
      // Determine if future dates are allowed
      const hasFutureStrategy = this.hasFutureStrategy();
      // Calculate the date based on the future strategy and the start date
      const dateMoment = !hasFutureStrategy && this.isSameOrAfterDay(startDate) ? moment__WEBPACK_IMPORTED_MODULE_0__() : moment__WEBPACK_IMPORTED_MODULE_0__(startDate);
      // Get the start and end of the unit of time (e.g., day, week, month)
      const start = dateMoment.clone().startOf(this.unitOfTime);
      const end = dateMoment.clone().endOf(this.unitOfTime);
      // Update the selected date range and ensure consistency with the range picker
      this.selectedDateRange = {
        startDate: start.toDate(),
        endDate: end.toDate(),
        isCustomDate: this.isCustomDate({
          startDate: start,
          endDate: end
        })
      };
      this.rangePicker = {
        ...this.selectedDateRange
      }; // Ensure consistency between selectedDateRange and rangePicker
    });
  }
  /**
   * Checks if the provided date is the same as or after today.
   *
   * @param date - The date to compare.
   * @returns True if the date is today or in the future, false otherwise.
   */
  isSameOrAfterDay(date) {
    return moment__WEBPACK_IMPORTED_MODULE_0__(date).isSameOrAfter(moment__WEBPACK_IMPORTED_MODULE_0__(), 'day');
  }
  /**
   * Determines whether future dates are allowed based on the current strategy.
   *
   * @returns True if future dates are allowed, false otherwise.
   */
  hasFutureStrategy() {
    return !this.isDisableFutureDatePicker && this.futureDateAllowed;
  }
  /**
   * Determines whether past dates are disallowed based on the current strategy.
   *
   * @returns True if past dates are disallowed, false otherwise.
   */
  hasPastStrategy() {
    return this.isDisablePastDatePicker;
  }
  /**
   * Opens the date picker when the calendar icon is clicked.
   *
   * @param event - The mouse event triggered by clicking the calendar icon.
   */
  openDatepicker(event) {
    if (this.dateRangePickerDirective) {
      this.dateRangePickerDirective.toggle(event);
    } else {
      console.warn('DateRangePickerDirective is not initialized.');
    }
  }
  /**
   * Retrieves the default date range picker configuration from the dates BehaviorSubject.
   *
   * @returns The default date range picker configuration.
   */
  getSelectorDates() {
    const {
      startDate,
      endDate,
      isCustomDate
    } = this.dates$.getValue();
    return {
      startDate: moment__WEBPACK_IMPORTED_MODULE_0__(startDate).toDate(),
      endDate: moment__WEBPACK_IMPORTED_MODULE_0__(endDate).toDate(),
      isCustomDate: isCustomDate ?? false
    };
  }
  /**
   * Navigates to the current route with specified query parameters, while preserving existing ones.
   *
   * @param queryParams The query parameters to be attached.
   */
  navigateWithQueryParams() {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .A)(function* () {
      const selectors = _this2._selectorBuilderService.getSelectors();
      // Check if the date selector exists
      if (selectors.date) {
        const {
          startDate,
          endDate,
          isCustomDate
        } = _this2.selectedDateRange;
        // Create new moment objects for formatted dates to avoid mutation
        const formattedStartDate = moment__WEBPACK_IMPORTED_MODULE_0__(startDate).clone().format('YYYY-MM-DD');
        const formattedEndDate = moment__WEBPACK_IMPORTED_MODULE_0__(endDate).clone().format('YYYY-MM-DD');
        // Updates the query parameters of the current route without navigating away.
        yield _this2._navigationService.updateQueryParams({
          date: formattedStartDate,
          date_end: formattedEndDate,
          unit_of_time: _this2.unitOfTime,
          is_custom_date: isCustomDate
        });
      }
    })();
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function DateRangePickerComponent_Factory(t) {
      return new (t || DateRangePickerComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_20__/* .TranslateService */ .c$), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_21__/* .ActivatedRoute */ .nX), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_23__/* .OrganizationsService */ .k), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__/* .DateRangePickerBuilderService */ .i7), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_24__/* .TimesheetFilterService */ .WG), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_25__/* .NavigationService */ .o), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_26__/* .SelectorBuilderService */ .u), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_timesheet_gauzy_filters_timezone_filter__WEBPACK_IMPORTED_MODULE_27__/* .TimeZoneService */ .F));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineComponent"] */ .VBU({
      type: DateRangePickerComponent,
      selectors: [["ngx-date-range-picker"]],
      viewQuery: function DateRangePickerComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵviewQuery"] */ .GBs(ngx_daterangepicker_material__WEBPACK_IMPORTED_MODULE_28__/* .DaterangepickerDirective */ .jR, 7);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.dateRangePickerDirective = _t.first);
        }
      },
      inputs: {
        arrows: "arrows",
        isLockDatePicker: "isLockDatePicker",
        isSingleDatePicker: "isSingleDatePicker",
        isDisableFutureDatePicker: "isDisableFutureDatePicker",
        isDisablePastDatePicker: "isDisablePastDatePicker",
        firstDayOfWeek: "firstDayOfWeek",
        timeZone: "timeZone",
        unitOfTime: "unitOfTime",
        selectedDateRange: "selectedDateRange"
      },
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
      decls: 6,
      vars: 13,
      consts: [[1, "row", "col-auto"], [1, "filter-input"], [1, "custom-input"], [4, "ngIf"], [1, "far", "fa-calendar", 3, "click"], ["nbInput", "", "name", "date-range", "size", "small", "type", "text", "ngxDaterangepickerMd", "", 3, "singleDatePicker", "autoApply", "showCustomRangeLabel", "alwaysShowCalendars", "customRangeDirection", "linkedCalendars", "maxDate", "minDate", "ranges", "locale", "ngModel", "ngClass", "ngModelChange", "datesUpdated", "rangeClicked"], ["size", "tiny", "nbButton", "", "status", "primary", "outline", "", 3, "click"], ["icon", "arrow-ios-back-outline"], ["size", "tiny", "nbButton", "", "status", "primary", "outline", "", 3, "disabled", "click"], ["icon", "arrow-ios-forward-outline"]],
      template: function DateRangePickerComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 0)(1, "div", 1)(2, "div", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(3, DateRangePickerComponent_ng_container_3_Template, 5, 1, "ng-container", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(4, "i", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function DateRangePickerComponent_Template_i_click_4_listener($event) {
            return ctx.openDatepicker($event);
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(5, "input", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function DateRangePickerComponent_Template_input_ngModelChange_5_listener($event) {
            return ctx.selectedDateRange = $event;
          })("datesUpdated", function DateRangePickerComponent_Template_input_datesUpdated_5_listener($event) {
            return ctx.onDatesUpdated($event);
          })("rangeClicked", function DateRangePickerComponent_Template_input_rangeClicked_5_listener($event) {
            return ctx.rangeClicked($event);
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()()()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.arrows);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("singleDatePicker", ctx.isSingleDatePicker)("autoApply", true)("showCustomRangeLabel", !ctx.isLockDatePicker)("alwaysShowCalendars", true)("customRangeDirection", false)("linkedCalendars", true)("maxDate", ctx.maxDate)("minDate", ctx.minDate)("ranges", ctx.ranges)("locale", ctx.locale)("ngModel", ctx.selectedDateRange)("ngClass", ctx.isSingleDatePicker ? "single-range" : "double-range");
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_29__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_29__/* .NgIf */ .bT, _angular_forms__WEBPACK_IMPORTED_MODULE_30__/* .DefaultValueAccessor */ .me, _angular_forms__WEBPACK_IMPORTED_MODULE_30__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_30__/* .NgModel */ .vS, ngx_daterangepicker_material__WEBPACK_IMPORTED_MODULE_28__/* .DaterangepickerDirective */ .jR, _nebular_theme__WEBPACK_IMPORTED_MODULE_31__/* .NbButtonComponent */ .YP2, _nebular_theme__WEBPACK_IMPORTED_MODULE_31__/* .NbIconComponent */ .tHu, _nebular_theme__WEBPACK_IMPORTED_MODULE_31__/* .NbInputDirective */ .i6h],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.filter-input[_ngcontent-%COMP%] {\n  width: fit-content;\n  display: flex;\n  align-items: center;\n}\n.filter-input[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  margin-right: 5px;\n  border-radius: var(--button-rectangle-border-radius);\n  border: unset;\n  background-color: var(--gauzy-background-transparent-1);\n}\n\n.custom-input[_ngcontent-%COMP%] {\n  height: inherit;\n  display: flex;\n  align-items: center;\n  background: var(--gauzy-card-1);\n  box-shadow: var(--gauzy-shadow) inset;\n  border-radius: var(--button-rectangle-border-radius);\n  \n\n  padding: 2px 0px 2px 5px;\n  margin-right: 16px;\n}\n.custom-input[_ngcontent-%COMP%]   input[_ngcontent-%COMP%] {\n  height: 1.875rem;\n  background-color: transparent;\n  \n\n  flex-grow: 2;\n  \n\n  border: none;\n  box-shadow: none;\n  font-size: 13px;\n  font-weight: 400;\n  line-height: 11px;\n  letter-spacing: 0em;\n  text-align: left;\n  color: var(--gauzy-text-color-2);\n}\n.custom-input[_ngcontent-%COMP%]   input.single-range[_ngcontent-%COMP%] {\n  width: 103px;\n}\n.custom-input[_ngcontent-%COMP%]   input.double-range[_ngcontent-%COMP%] {\n  width: 190px;\n}\n.custom-input[_ngcontent-%COMP%]   input[_ngcontent-%COMP%]:focus {\n  \n\n  outline: none;\n}\n.custom-input[_ngcontent-%COMP%]:hover, .custom-input[_ngcontent-%COMP%]:focus {\n  background: var(--background-basic-color-3);\n  transition: ease-in-out 0.3s;\n}\n\n[_nghost-%COMP%]    .md-drppicker {\n  background-color: var(--background-basic-color-1);\n  color: var(--text-basic-color);\n  border-radius: var(--border-radius);\n  margin-top: 25px;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: nowrap;\n}\n[dir=ltr]   [_nghost-%COMP%]    .md-drppicker {\n  margin-left: -130%;\n}\n[dir=rtl]   [_nghost-%COMP%]    .md-drppicker {\n  margin-right: -130%;\n}\n[dir=ltr]   [_nghost-%COMP%]    .md-drppicker.double {\n  margin-left: -146%;\n}\n[dir=rtl]   [_nghost-%COMP%]    .md-drppicker.double {\n  margin-right: -146%;\n}\n[_nghost-%COMP%]    .md-drppicker .calendar-table {\n  background-color: var(--background-basic-color-1);\n  border-color: var(--border-basic-color-3);\n  box-shadow: var(--border-basic-color-1) 0px 1px 3px, var(--border-basic-color-3) 0px 1px 2px;\n  border-radius: var(--border-radius);\n}\n[_nghost-%COMP%]    .md-drppicker .calendar-time select.disabled {\n  color: var(--text-basic-color);\n}\n[_nghost-%COMP%]    .md-drppicker .label-input {\n  color: var(--text-basic-color);\n}\n[_nghost-%COMP%]    .md-drppicker .show-ranges .drp-calendar.left {\n  border-left: 1px solid var(--border-basic-color-1);\n}\n[_nghost-%COMP%]    .md-drppicker th {\n  color: var(--text-basic-color);\n}\n[_nghost-%COMP%]    .md-drppicker td.available.prev, [_nghost-%COMP%]    .md-drppicker th.available.prev {\n  filter: invert(0.65);\n}\n[_nghost-%COMP%]    .md-drppicker td.available.next, [_nghost-%COMP%]    .md-drppicker th.available.next {\n  filter: invert(0.65);\n}\n[_nghost-%COMP%]    .md-drppicker td.off, [_nghost-%COMP%]    .md-drppicker td.off.in-range, [_nghost-%COMP%]    .md-drppicker td.off.start-date, [_nghost-%COMP%]    .md-drppicker td.off.end-date {\n  background-color: var(--background-basic-color-3);\n  border-color: var(--border-basic-color-1);\n  color: var(--text-basic-color);\n}\n[_nghost-%COMP%]    .md-drppicker td.active, [_nghost-%COMP%]    .md-drppicker td.active:hover {\n  background-color: var(--color-primary-default);\n  border-color: var(--border-basic-color-3);\n  color: var(--text-control-color);\n}\n[_nghost-%COMP%]    .md-drppicker .ranges ul {\n  min-width: auto;\n}\n[_nghost-%COMP%]    .md-drppicker .ranges ul li {\n  min-width: 110px;\n}\n[_nghost-%COMP%]    .md-drppicker .ranges ul li button {\n  border-radius: var(--button-rectangle-border-radius);\n  color: var(--text-basic-color);\n  text-transform: capitalize;\n}\n[_nghost-%COMP%]    .md-drppicker .ranges ul li button.active {\n  background-color: var(--color-primary-active);\n}\n[_nghost-%COMP%]    .md-drppicker .ranges ul li button:hover {\n  color: var(--text-control-color);\n}\n[_nghost-%COMP%]    .md-drppicker .ranges ul li:hover {\n  background-color: var(--color-primary-hover);\n  border-radius: var(--button-rectangle-border-radius);\n}\n[_nghost-%COMP%]    .md-drppicker .btn {\n  border-radius: var(--button-rectangle-border-radius);\n  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);\n  background-color: var(--color-primary-default);\n  color: var(--text-control-color);\n  padding: 0 0.75rem;\n  height: 2rem;\n}\n[_nghost-%COMP%]    .md-drppicker .btn:hover, [_nghost-%COMP%]    .md-drppicker .btn:focus {\n  background-color: var(--color-primary-focus);\n}\n[_nghost-%COMP%]    .md-drppicker .btn.btn-default {\n  border-radius: var(--button-rectangle-border-radius);\n  color: var(--text-control-color);\n  background-color: var(--color-primary-default);\n}\n\n  nb-action nb-icon {\n  color: var(--text-primary-color);\n}\n\n[_nghost-%COMP%]   i[_ngcontent-%COMP%] {\n  font-size: 11px;\n  font-weight: 400;\n  line-height: 11px;\n  letter-spacing: 0em;\n  text-align: center;\n  color: var(--gauzy-text-color-1);\n}\n[dir=ltr]   [_nghost-%COMP%]   i[_ngcontent-%COMP%] {\n  margin-left: 9px;\n}\n[dir=rtl]   [_nghost-%COMP%]   i[_ngcontent-%COMP%] {\n  margin-right: 12px;\n}"]
    });
  }
};
DateRangePickerComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_32__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_16__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_32__/* .__metadata */ .Sn)("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_20__/* .TranslateService */ .c$, _angular_router__WEBPACK_IMPORTED_MODULE_21__/* .ActivatedRoute */ .nX, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_23__/* .OrganizationsService */ .k, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__/* .DateRangePickerBuilderService */ .i7, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_24__/* .TimesheetFilterService */ .WG, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_25__/* .NavigationService */ .o, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_26__/* .SelectorBuilderService */ .u, _timesheet_gauzy_filters_timezone_filter__WEBPACK_IMPORTED_MODULE_27__/* .TimeZoneService */ .F])], DateRangePickerComponent);

/***/ }),

/***/ 26622:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $: () => (/* binding */ DateSelectorComponent)
/* harmony export */ });
/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24693);
/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31840);
/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6871);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65611);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(84076);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(91265);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(61198);










const _c0 = ["month"];
function DateSelectorComponent_span_3_Template(rf, ctx) {
  if (rf & 1) {
    const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "span", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function DateSelectorComponent_span_3_Template_span_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r3);
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r2.clear());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "span", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(2, "i", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
}
function DateSelectorComponent_nb_card_4_Template(rf, ctx) {
  if (rf & 1) {
    const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-card", 7)(1, "nb-calendar-year-picker", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("yearChange", function DateSelectorComponent_nb_card_4_Template_nb_calendar_year_picker_yearChange_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r6);
      const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r5.handleDateChange($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(2, "nb-calendar-month-picker", 9, 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("monthChange", function DateSelectorComponent_nb_card_4_Template_nb_calendar_month_picker_monthChange_2_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r6);
      const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r7.handleDateChange($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("year", ctx_r1.date)("max", ctx_r1.max)("min", ctx_r1.min);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("month", ctx_r1.date)("max", ctx_r1.max)("min", ctx_r1.min);
  }
}
let DateSelectorComponent = /*#__PURE__*/(() => {
  class DateSelectorComponent {
    constructor(store) {
      this.store = store;
      this.loadCalendar = false;
      this.date = new Date();
    }
    ngOnInit() {
      this.dateInputValue = this.formatDateMMMMyy(this.date);
    }
    handleDateChange(chosenDate) {
      /**
       * Selecting a month from previous year which is unavailable for current year
       * and then selecting current year, makes the unavailable month selected for current year
       * Ensure that chosenDate does not exceed the max limit
       */
      chosenDate = (0,date_fns__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)([chosenDate, this.max]);
      this.date = chosenDate;
      /**
       * nb-calendar-month-picker component does not get updated when the year is changed
       * manually refresh the month picker component
       */
      this.monthRef.month = chosenDate;
      this.monthRef.initMonths();
      this.dateInputValue = this.formatDateMMMMyy(this.date);
    }
    formatDateMMMMyy(date) {
      const monthIndex = date.getMonth();
      const year = date.getFullYear();
      return _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_2__/* .monthNames */ .d[monthIndex] + ', ' + year;
    }
    handleCalendarOpen() {
      const currentDate = new Date();
      /**
       * If the selected Organization has chosen to allow future period selection,
       * set max to 10 years after current Date, otherwise max allowed date is current Date
       */
      this.max = this.store.selectedOrganization && this.store.selectedOrganization.futureDateAllowed ? (0,date_fns__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(currentDate.setMonth(11), 10) : currentDate;
      this.min = this.store.selectedOrganization && this.store.selectedOrganization.registrationDate ? new Date(this.store.selectedOrganization.registrationDate) : (0,date_fns__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(new Date().setMonth(11), 15);
      this.loadCalendar = true;
    }
    clear() {
      this.dateInputValue = '';
      this.date = new Date();
    }
    clickOutside(event) {
      if (!document.getElementById('dashboard-calendar').contains(event.target)) {
        this.loadCalendar = false;
      }
    }
    static {
      this.ɵfac = function DateSelectorComponent_Factory(t) {
        return new (t || DateSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__/* .Store */ .il));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: DateSelectorComponent,
        selectors: [["ga-date-selector"]],
        viewQuery: function DateSelectorComponent_Query(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵviewQuery"] */ .GBs(_c0, 5);
          }
          if (rf & 2) {
            let _t;
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.monthRef = _t.first);
          }
        },
        hostBindings: function DateSelectorComponent_HostBindings(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function DateSelectorComponent_click_HostBindingHandler($event) {
              return ctx.clickOutside($event);
            }, false, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresolveDocument"] */ .EBC);
          }
        },
        decls: 5,
        vars: 7,
        consts: [["id", "dashboard-calendar", 1, "calendar-picker"], ["nbInput", "", "size", "small", 3, "value", "ngModel", "placeholder", "ngModelChange", "focus"], ["class", "date-reset ng-clear-wrapper ng-star-inserted", "title", "Clear all", 3, "click", 4, "ngIf"], ["class", "calendar", 4, "ngIf"], ["title", "Clear all", 1, "date-reset", "ng-clear-wrapper", "ng-star-inserted", 3, "click"], ["aria-hidden", "true", 1, "ng-clear"], [1, "far", "fa-calendar-times"], [1, "calendar"], [3, "year", "max", "min", "yearChange"], [3, "month", "max", "min", "monthChange"], ["month", ""]],
        template: function DateSelectorComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 0)(1, "input", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function DateSelectorComponent_Template_input_ngModelChange_1_listener($event) {
              return ctx.dateInputValue = $event;
            })("focus", function DateSelectorComponent_Template_input_focus_1_listener() {
              return ctx.handleCalendarOpen();
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(3, DateSelectorComponent_span_3_Template, 3, 0, "span", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, DateSelectorComponent_nb_card_4_Template, 4, 6, "nb-card", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 5, "FORM.PLACEHOLDERS.PICK_DATE"));
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("value", ctx.formatDateMMMMyy(ctx.date))("ngModel", ctx.dateInputValue);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.dateInputValue);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.loadCalendar);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_6__/* .NgIf */ .bT, _angular_forms__WEBPACK_IMPORTED_MODULE_7__/* .DefaultValueAccessor */ .me, _angular_forms__WEBPACK_IMPORTED_MODULE_7__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_7__/* .NgModel */ .vS, _nebular_theme__WEBPACK_IMPORTED_MODULE_8__/* .NbCalendarYearPickerComponent */ .lbL, _nebular_theme__WEBPACK_IMPORTED_MODULE_8__/* .NbCalendarMonthPickerComponent */ .cHG, _nebular_theme__WEBPACK_IMPORTED_MODULE_8__/* .NbCardComponent */ .SrT, _nebular_theme__WEBPACK_IMPORTED_MODULE_8__/* .NbInputDirective */ .i6h, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__/* .TranslatePipe */ .D9],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   .calendar-picker[_ngcontent-%COMP%] {\n  position: relative;\n  max-height: 40px;\n}\n[_nghost-%COMP%]   .calendar-picker[_ngcontent-%COMP%]   input[_ngcontent-%COMP%] {\n  width: 100%;\n  max-width: 100% !important;\n  border-radius: var(--button-rectangle-border-radius);\n  height: 32px;\n  box-shadow: var(--gauzy-shadow);\n  background-color: rgba(126, 126, 143, 0.05);\n}\n[_nghost-%COMP%]   .calendar-picker[_ngcontent-%COMP%]   .calendar[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  position: absolute;\n  z-index: 9999;\n  background-color: var(--background-basic-color-1);\n  margin-top: 10px;\n}\n[_nghost-%COMP%]   .calendar-picker[_ngcontent-%COMP%]   .calendar[_ngcontent-%COMP%]   nb-calendar-year-picker[_ngcontent-%COMP%], [_nghost-%COMP%]   .calendar-picker[_ngcontent-%COMP%]   .calendar[_ngcontent-%COMP%]   nb-calendar-month-picker[_ngcontent-%COMP%] {\n  z-index: 1;\n}\n[_nghost-%COMP%]   .calendar-picker[_ngcontent-%COMP%]   .date-reset[_ngcontent-%COMP%] {\n  position: absolute;\n  top: 18%;\n  cursor: pointer;\n}\n[dir=ltr]   [_nghost-%COMP%]   .calendar-picker[_ngcontent-%COMP%]   .date-reset[_ngcontent-%COMP%] {\n  right: 20px;\n}\n[dir=rtl]   [_nghost-%COMP%]   .calendar-picker[_ngcontent-%COMP%]   .date-reset[_ngcontent-%COMP%] {\n  left: 16px;\n}"]
      });
    }
  }
  return DateSelectorComponent;
})();

/***/ }),

/***/ 70563:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: () => (/* binding */ ALL_EMPLOYEES_SELECTED),
/* harmony export */   z: () => (/* binding */ NO_EMPLOYEE_SELECTED)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
//TODO: Currently the whole application assumes that if employee or id is null then you need to get data for All Employees
//That should not be the case, sometimes due to permissions like CHANGE_SELECTED_EMPLOYEE not being available
//we need to handle cases where No Employee is selected too

const ALL_EMPLOYEES_SELECTED = {
  id: null,
  firstName: 'All Employees',
  lastName: '',
  fullName: '',
  imageUrl: '',
  defaultType: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_TYPE.ALL_EMPLOYEE,
  tags: [],
  skills: []
};
const NO_EMPLOYEE_SELECTED = {
  id: null,
  firstName: '',
  lastName: '',
  fullName: '',
  imageUrl: '',
  defaultType: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_TYPE.NO_EMPLOYEE,
  tags: [],
  skills: []
};

/***/ }),

/***/ 23102:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R: () => (/* binding */ EmployeeSelectorComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(76149);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(77271);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96641);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(6925);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32869);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(97957);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(65670);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(31098);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(4743);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(18894);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(49006);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(75107);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(73600);
/* harmony import */ var _pipes__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(22714);
/* harmony import */ var _default_employee__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(70563);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(91265);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(5062);
/* harmony import */ var _directives_img_directive__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(46578);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(61198);





















function EmployeeSelectorComponent_ng_template_5_img_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(0, "img", 5);
  }
  if (rf & 2) {
    const item_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG().item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("src", item_r3.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function EmployeeSelectorComponent_ng_template_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(0, EmployeeSelectorComponent_ng_template_5_img_0_Template, 1, 1, "img", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
  }
  if (rf & 2) {
    const item_r3 = ctx.item;
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", item_r3.imageUrl);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r1.getShortenedName(item_r3.firstName, item_r3.lastName, 42), " ");
  }
}
function EmployeeSelectorComponent_ng_template_6_img_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(0, "img", 8);
  }
  if (rf & 2) {
    const item_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG().item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("src", item_r7.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function EmployeeSelectorComponent_ng_template_6_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "div", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, EmployeeSelectorComponent_ng_template_6_img_1_Template, 1, 1, "img", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(2, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const item_r7 = ctx.item;
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", item_r7.imageUrl);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r2.getShortenedName(item_r7.firstName, item_r7.lastName), " ");
  }
}
let EmployeeSelectorComponent = class EmployeeSelectorComponent {
  get selectedDateRange() {
    return this._selectedDateRange;
  }
  set selectedDateRange(range) {
    //This will set _selectedDateRange too
    this.subject$.next([this._store.selectedOrganization, range]);
  }
  get selectedEmployee() {
    return this._selectedEmployee;
  }
  set selectedEmployee(employee) {
    this._selectedEmployee = employee;
    // If skipGlobalChange is false, update the query parameters
    if (!this.skipGlobalChange) {
      this.setAttributesToParams({
        employeeId: employee?.id
      });
    }
  }
  constructor(_router, _navigationService, _employeesService, _store, _dateRangePickerBuilderService, _activatedRoute, _cdRef, _employeeStore, _toastrService, _truncatePipe) {
    var _this = this;
    this._router = _router;
    this._navigationService = _navigationService;
    this._employeesService = _employeesService;
    this._store = _store;
    this._dateRangePickerBuilderService = _dateRangePickerBuilderService;
    this._activatedRoute = _activatedRoute;
    this._cdRef = _cdRef;
    this._employeeStore = _employeeStore;
    this._toastrService = _toastrService;
    this._truncatePipe = _truncatePipe;
    this.employees = [];
    this.subject$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__/* .Subject */ .B();
    /**
     * Input properties for component customization.
     *
     * @property clearable - Whether the component allows clearing the selection (default: true).
     * @property addTag - Whether adding new tags is allowed (default: true).
     * @property skipGlobalChange - Whether to skip global change handling (default: false).
     * @property disabled - Whether the component is disabled (default: false).
     * @property placeholder - The placeholder text for the component.
     * @property defaultSelected - Whether the default option is selected (default: true).
     * @property showAllEmployeesOption - Whether to show the "All Employees" option (default: true).
     */
    this.clearable = true;
    this.addTag = true;
    this.skipGlobalChange = false;
    this.disabled = false;
    this.defaultSelected = true;
    this.showAllEmployeesOption = true;
    this.selectionChanged = new _angular_core__WEBPACK_IMPORTED_MODULE_1__/* .EventEmitter */ .bkB();
    /**
     *
     * @param organization
     * @param selectedDateRange
     * @returns
     */
    this.loadWorkingEmployeesIfRequired = /*#__PURE__*/function () {
      var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* (organization, selectedDateRange) {
        //If no organization, then something is wrong
        if (!organization) {
          _this.employees = [];
          return;
        }
        _this._selectedDateRange = selectedDateRange;
        yield _this.getEmployees(organization, selectedDateRange);
      });
      return function (_x, _x2) {
        return _ref.apply(this, arguments);
      };
    }();
    /**
     *
     * @param organization
     * @param selectedDateRange
     * @returns
     */
    this.getEmployees = /*#__PURE__*/function () {
      var _ref2 = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* (organization, selectedDateRange) {
        if (!organization) {
          _this.employees = [];
          return;
        }
        const {
          tenantId
        } = _this._store.user;
        const {
          id: organizationId
        } = organization;
        const {
          items
        } = yield _this._employeesService.getWorking(organizationId, tenantId, selectedDateRange, true);
        _this.employees = [...items.map(employee => {
          return {
            id: employee.id,
            firstName: employee.user.firstName,
            lastName: employee.user.lastName,
            fullName: employee.user.name,
            imageUrl: employee.user.image?.fullUrl || employee.user.imageUrl,
            shortDescription: employee.short_description,
            employeeLevel: employee.employeeLevel,
            billRateCurrency: employee.billRateCurrency,
            billRateValue: employee.billRateValue,
            timeZone: employee.user.timeZone,
            timeFormat: employee.user.timeFormat
          };
        })];
        //Insert All Employees Option
        if (_this.showAllEmployeesOption && _this._store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.CHANGE_SELECTED_EMPLOYEE)) {
          _this.employees.unshift(_default_employee__WEBPACK_IMPORTED_MODULE_4__/* .ALL_EMPLOYEES_SELECTED */ .O);
        }
        //Set selected employee if no employee selected
        if (items.length > 0 && !_this._store.selectedEmployee) {
          _this._store.selectedEmployee = _this.employees[0] || _default_employee__WEBPACK_IMPORTED_MODULE_4__/* .ALL_EMPLOYEES_SELECTED */ .O;
        }
      });
      return function (_x3, _x4) {
        return _ref2.apply(this, arguments);
      };
    }();
    /**
     * Create new employee from ng-select tag
     *
     * @param name
     * @returns
     */
    this.createNew = /*#__PURE__*/function () {
      var _ref3 = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* (name) {
        if (!_this.organization || !name) {
          return;
        }
        try {
          const chunks = name.split(/\s+/);
          const [firstName, lastName] = [chunks.shift(), chunks.join(' ')];
          _this._router.navigate(['/pages/employees/'], {
            queryParams: {
              openAddDialog: true
            },
            state: {
              firstName,
              lastName
            }
          });
        } catch (error) {
          _this._toastrService.error(error);
        }
      });
      return function (_x5) {
        return _ref3.apply(this, arguments);
      };
    }();
  }
  ngOnInit() {
    var _this2 = this;
    this.onSelectEmployee();
    this.hasEditEmployee$ = this._store.userRolePermissions$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .map */ .T)(() => this._store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_EMPLOYEES_EDIT)));
    this.subject$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .debounceTime */ .B)(200), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__/* .switchMap */ .n)(/*#__PURE__*/function () {
      var _ref4 = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* ([organization, dateRange]) {
        yield _this2.loadWorkingEmployeesIfRequired(organization, dateRange);
      });
      return function (_x6) {
        return _ref4.apply(this, arguments);
      };
    }()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)).subscribe();
    this._store.selectedEmployee$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_9__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__/* .filter */ .p)(employee => !!employee), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_11__/* .tap */ .M)(employee => {
      if (this.defaultSelected) {
        this.selectedEmployee = employee;
        this.selectionChanged.emit(employee);
      }
      this._cdRef.detectChanges();
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)).subscribe();
    this._activatedRoute.queryParams.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__/* .filter */ .p)(query => !!query.employeeId), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_11__/* .tap */ .M)(({
      employeeId
    }) => this.selectEmployeeById(employeeId)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)).subscribe();
    const storeOrganization$ = this._store.selectedOrganization$;
    const selectedDateRange$ = this._dateRangePickerBuilderService.selectedDateRange$;
    (0,rxjs__WEBPACK_IMPORTED_MODULE_12__/* .combineLatest */ .z)([storeOrganization$, selectedDateRange$]).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__/* .filter */ .p)(([organization]) => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_11__/* .tap */ .M)(([organization, dateRange]) => {
      this.organization = organization;
      this._selectedDateRange = dateRange;
      this.subject$.next([organization, dateRange]);
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  ngAfterViewInit() {
    this._cdRef.detectChanges();
    this._employeeStore.employeeAction$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__/* .filter */ .p)(({
      action,
      employees
    }) => !!action && !!employees), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_11__/* .tap */ .M)(() => this._employeeStore.destroy()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)).subscribe(({
      action,
      employees
    }) => {
      switch (action) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CrudActionEnum.CREATED:
          this.createEmployee(employees);
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CrudActionEnum.DELETED:
          const [employee] = employees;
          this.deleteEmployee(employee);
          break;
        default:
          break;
      }
    });
  }
  ngOnChanges() {
    this._cdRef.detectChanges();
  }
  /**
   * Adds newly created employees to the header selector.
   * @param employees - The array of employees to add.
   */
  createEmployee(employees) {
    this.employees = [...(this.employees || []), ...employees.map(employee => ({
      id: employee.id,
      firstName: employee.user.firstName,
      lastName: employee.user.lastName,
      fullName: employee.user.name,
      imageUrl: employee.user.imageUrl,
      timeFormat: employee.user.timeFormat,
      timeZone: employee.user.timeZone
    }))].filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_9__/* .isNotEmpty */ .hj);
  }
  /**
   * Removes a deleted employee from the header selector.
   * @param employee - The employee to remove.
   */
  deleteEmployee(employee) {
    this.employees = (this.employees || []).filter(item => item.id !== employee.id).filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_9__/* .isNotEmpty */ .hj);
  }
  /**
   * Searches for an employee by matching the provided search term with the employee's first name and/or last name.
   * The search term can contain multiple words separated by spaces, and each word is matched individually against
   * both the first and last names of the employee.
   *
   * @param term - The search term used to find matching employees. It can contain multiple words separated by spaces.
   * @param item - The employee object containing `firstName` and `lastName` properties.
   * @returns A boolean indicating whether any of the words in the search term match the first name or last name of the employee.
   */
  searchEmployee(term, item) {
    // Split the search term by commas to handle multiple names
    const searchTerms = term.toLowerCase().split(',').map(s => s.trim());
    // Combine the employee's firstName and lastName for easier comparison
    const fullName = `${item.firstName || ''} ${item.lastName || ''}`.toLowerCase();
    // Check if any search term matches the employee's full name
    return searchTerms.some(searchTerm => {
      // Split the search term into individual words for handling names with spaces
      const keywords = searchTerm.split(' ');
      return keywords.some(keyword => fullName.includes(keyword));
    });
  }
  /**
   * Selects an employee and performs necessary actions based on selection
   * @param employee The employee to select
   */
  selectEmployee(employee) {
    var _this3 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      try {
        if (!_this3.skipGlobalChange) {
          _this3._store.selectedEmployee = employee || _default_employee__WEBPACK_IMPORTED_MODULE_4__/* .ALL_EMPLOYEES_SELECTED */ .O;
          yield _this3.setAttributesToParams({
            employeeId: employee?.id
          });
        } else {
          _this3.selectedEmployee = employee || _default_employee__WEBPACK_IMPORTED_MODULE_4__/* .ALL_EMPLOYEES_SELECTED */ .O;
        }
        if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_9__/* .isNotEmpty */ .hj)(employee)) {
          _this3.selectionChanged.emit(employee);
        }
      } catch (error) {
        console.error('Error while selecting employee:', error);
      }
    })();
  }
  /**
   * Sets attributes to the current navigation parameters.
   * @param params An object containing key-value pairs representing the parameters to set.
   */
  setAttributesToParams(params) {
    var _this4 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      yield _this4._navigationService.updateQueryParams(params);
    })();
  }
  /**
   * Selects an employee by their ID and performs necessary actions based on the selection.
   *
   * @param employeeId - The ID of the employee to select.
   */
  selectEmployeeById(employeeId) {
    var _this5 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      try {
        const employee = _this5.employees.find(emp => emp.id === employeeId);
        if (employee) {
          yield _this5.selectEmployee(employee);
        }
      } catch (error) {
        console.error('Error selecting employee by ID:', error);
      }
    })();
  }
  /**
   * GET Shortened Name
   *
   * @param firstName
   * @param lastName
   * @param limit
   * @returns
   */
  getShortenedName(firstName, lastName, limit = 18) {
    if (firstName && lastName) {
      return this._truncatePipe.transform(firstName, limit / 2, false, '') + ' ' + this._truncatePipe.transform(lastName, limit / 2, false, '.');
    } else {
      return this._truncatePipe.transform(firstName, limit) || this._truncatePipe.transform(lastName, limit) || '[error: bad name]';
    }
  }
  /**
   * Handles the selection of an employee based on certain conditions
   */
  onSelectEmployee() {
    try {
      if (!this.selectedEmployee && (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_9__/* .isNotEmpty */ .hj)(this.employees)) {
        // Ensure selected employee doesn't get reset when already set elsewhere
        this.selectEmployee(this.employees[0]);
      }
      if (!this.defaultSelected && this.selectedEmployee === _default_employee__WEBPACK_IMPORTED_MODULE_4__/* .ALL_EMPLOYEES_SELECTED */ .O) {
        this.selectedEmployee = null;
      }
    } catch (error) {
      console.error('Error while handling employee selection:', error);
    }
  }
  /**
   * Display clearable option in employee selector
   *
   * @returns
   */
  isClearable() {
    if (this.clearable) {
      if (this.selectedEmployee && this.selectedEmployee.hasOwnProperty('defaultType')) {
        if (this.selectedEmployee.defaultType === _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.DEFAULT_TYPE.ALL_EMPLOYEE) {
          return false;
        }
      }
      return !!this._store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.CHANGE_SELECTED_EMPLOYEE);
    }
  }
  ngOnDestroy() {
    if (this.employees.length > 0 && !this._store.selectedEmployee && !this.skipGlobalChange) {
      this._store.selectedEmployee = this.employees[0] || _default_employee__WEBPACK_IMPORTED_MODULE_4__/* .ALL_EMPLOYEES_SELECTED */ .O;
    }
  }
  static {
    this.ɵfac = function EmployeeSelectorComponent_Factory(t) {
      return new (t || EmployeeSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_13__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .NavigationService */ .o), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__/* .EmployeesService */ .r), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .DateRangePickerBuilderService */ .i7), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_13__/* .ActivatedRoute */ .nX), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ChangeDetectorRef */ .gRc), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__/* .EmployeeStore */ .oO), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .ToastrService */ .t), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_pipes__WEBPACK_IMPORTED_MODULE_20__/* .TruncatePipe */ .H));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
      type: EmployeeSelectorComponent,
      selectors: [["ga-employee-selector"]],
      inputs: {
        clearable: "clearable",
        addTag: "addTag",
        skipGlobalChange: "skipGlobalChange",
        disabled: "disabled",
        placeholder: "placeholder",
        defaultSelected: "defaultSelected",
        showAllEmployeesOption: "showAllEmployeesOption",
        selectedDateRange: "selectedDateRange",
        selectedEmployee: "selectedEmployee"
      },
      outputs: {
        selectionChanged: "selectionChanged"
      },
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵNgOnChangesFeature"] */ .OA$],
      decls: 7,
      vars: 14,
      consts: [["bindName", "firstName", "appendTo", "body", 1, "employee", 3, "addTag", "clearable", "disabled", "items", "ngModel", "placeholder", "addTagText", "searchFn", "itemsChange", "change", "clear", "ngModelChange"], ["select", ""], ["ng-option-tmp", ""], ["ng-label-tmp", ""], ["width", "20", "height", "20", 3, "src", 4, "ngIf"], ["width", "20", "height", "20", 3, "src"], [1, "selector-template"], ["height", "20", "width", "20", 3, "src", 4, "ngIf"], ["height", "20", "width", "20", 3, "src"]],
      template: function EmployeeSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          const _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵgetCurrentView"] */ .RV6();
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "ng-select", 0, 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("itemsChange", function EmployeeSelectorComponent_Template_ng_select_itemsChange_0_listener($event) {
            return ctx.employees = $event;
          })("change", function EmployeeSelectorComponent_Template_ng_select_change_0_listener($event) {
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r10);
            const _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(1);
            ctx.selectEmployee($event);
            return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(_r0.blur());
          })("clear", function EmployeeSelectorComponent_Template_ng_select_clear_0_listener() {
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r10);
            const _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(1);
            return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(_r0.blur());
          })("ngModelChange", function EmployeeSelectorComponent_Template_ng_select_ngModelChange_0_listener($event) {
            return ctx.selectedEmployee = $event;
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(3, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(4, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(5, EmployeeSelectorComponent_ng_template_5_Template, 2, 2, "ng-template", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(6, EmployeeSelectorComponent_ng_template_6_Template, 4, 2, "ng-template", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("addTag", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 8, ctx.hasEditEmployee$) && ctx.addTag ? ctx.createNew : null)("clearable", ctx.isClearable())("disabled", ctx.disabled)("items", ctx.employees)("ngModel", ctx.selectedEmployee)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(3, 10, ctx.placeholder || "FORM.PLACEHOLDERS.ALL_EMPLOYEES"))("addTagText", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(4, 12, "FORM.PLACEHOLDERS.ADD_EMPLOYEE"))("searchFn", ctx.searchEmployee);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_21__/* .NgIf */ .bT, _angular_forms__WEBPACK_IMPORTED_MODULE_22__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_22__/* .NgModel */ .vS, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_23__/* .NgSelectComponent */ .vr, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_23__/* .NgOptionTemplateDirective */ .Uq, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_23__/* .NgLabelTemplateDirective */ .ZZ, _directives_img_directive__WEBPACK_IMPORTED_MODULE_24__/* .ImgDirective */ .z, _angular_common__WEBPACK_IMPORTED_MODULE_21__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_25__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nng-select[_ngcontent-%COMP%]   .selector-template[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  height: 100%;\n}\nng-select[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  margin-right: 5px;\n  margin-left: 5px;\n  border-radius: var(--button-rectangle-border-radius);\n}\n\n[dir=ltr]   [_nghost-%COMP%]     .employee.ng-select .ng-select-container .ng-value-container {\n  padding-left: 0;\n}\n[dir=rtl]   [_nghost-%COMP%]     .employee.ng-select .ng-select-container .ng-value-container {\n  padding-right: 0;\n}"],
      changeDetection: 0
    });
  }
};
EmployeeSelectorComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_26__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_26__/* .__metadata */ .Sn)("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_13__/* .Router */ .Ix, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .NavigationService */ .o, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__/* .EmployeesService */ .r, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .DateRangePickerBuilderService */ .i7, _angular_router__WEBPACK_IMPORTED_MODULE_13__/* .ActivatedRoute */ .nX, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ChangeDetectorRef */ .gRc, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__/* .EmployeeStore */ .oO, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .ToastrService */ .t, _pipes__WEBPACK_IMPORTED_MODULE_20__/* .TruncatePipe */ .H])], EmployeeSelectorComponent);

/***/ }),

/***/ 42848:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: () => (/* binding */ OrganizationSelectorComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(55598);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(76149);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51717);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65670);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(96641);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(45484);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54530);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(53283);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77271);
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32667);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(75107);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(43225);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(21963);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(31098);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(91265);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(5062);
/* harmony import */ var _directives_img_directive__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(46578);
/* harmony import */ var _directives_outside_directive__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(9906);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(61198);


















function OrganizationSelectorComponent_div_0_ng_template_6_img_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(0, "img", 6);
  }
  if (rf & 2) {
    const item_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG().item;
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("src", item_r4.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function OrganizationSelectorComponent_div_0_ng_template_6_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(0, OrganizationSelectorComponent_div_0_ng_template_6_img_0_Template, 1, 1, "img", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(1);
  }
  if (rf & 2) {
    const item_r4 = ctx.item;
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", item_r4.imageUrl);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", item_r4.name, " ");
  }
}
function OrganizationSelectorComponent_div_0_ng_template_7_img_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(0, "img", 9);
  }
  if (rf & 2) {
    const item_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG().item;
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("src", item_r8.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function OrganizationSelectorComponent_div_0_ng_template_7_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(1, OrganizationSelectorComponent_div_0_ng_template_7_img_1_Template, 1, 1, "img", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(2, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const item_r8 = ctx.item;
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", item_r8.imageUrl);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate"] */ .JRh(item_r8.name);
  }
}
function OrganizationSelectorComponent_div_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div")(1, "ng-select", 1, 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("change", function OrganizationSelectorComponent_div_0_Template_ng_select_change_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r12);
      const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(2);
      const ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      ctx_r11.selectOrganization($event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(_r1.blur());
    })("clear", function OrganizationSelectorComponent_div_0_Template_ng_select_clear_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r12);
      const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(_r1.blur());
    })("ngModelChange", function OrganizationSelectorComponent_div_0_Template_ng_select_ngModelChange_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r12);
      const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r14.selectedOrganization = $event);
    })("change", function OrganizationSelectorComponent_div_0_Template_ng_select_change_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r12);
      const ctx_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r15.onChange());
    })("click", function OrganizationSelectorComponent_div_0_Template_ng_select_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r12);
      const ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r16.isOpen = !ctx_r16.isOpen);
    })("clickOutside", function OrganizationSelectorComponent_div_0_Template_ng_select_clickOutside_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r12);
      const ctx_r17 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r17.onClickOutside($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(3, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(5, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(6, OrganizationSelectorComponent_div_0_ng_template_6_Template, 2, 2, "ng-template", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(7, OrganizationSelectorComponent_div_0_ng_template_7_Template, 4, 2, "ng-template", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("addTag", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(3, 9, ctx_r0.hasEditOrganization$) && ctx_r0.addTag && ctx_r0.isOpen ? ctx_r0.createNew : null)("searchable", ctx_r0.isOpen)("clearable", false)("items", ctx_r0.organizations)("ngModel", ctx_r0.selectedOrganization)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(4, 11, "FORM.PLACEHOLDERS.SELECT_COMPANY"))("addTagText", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(5, 13, "FORM.PLACEHOLDERS.ADD_ORGANIZATION"))("isOpen", ctx_r0.isOpen)("ngClass", ctx_r0.isOpen ? "organization" : "organization close");
  }
}
let OrganizationSelectorComponent = class OrganizationSelectorComponent {
  constructor(_router, _toastrService, _store, _userOrganizationService, _organizationEditStore, _activatedRoute, _navigationService) {
    var _this = this;
    this._router = _router;
    this._toastrService = _toastrService;
    this._store = _store;
    this._userOrganizationService = _userOrganizationService;
    this._organizationEditStore = _organizationEditStore;
    this._activatedRoute = _activatedRoute;
    this._navigationService = _navigationService;
    this.organizations = [];
    this.isOpen = false;
    /**
     * Input properties for component customization.
     *
     * @property addTag - Whether adding new tags is allowed (default: true).
     */
    this.addTag = true;
    /**
     * Creates a new organization entry and navigates to the organization's page to open the add dialog.
     *
     * @param name - The name of the new organization to be created.
     * @returns A promise that resolves if the organization creation process is successful or returns early if permissions or required data are missing.
     */
    this.createNew = /*#__PURE__*/function () {
      var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* (name) {
        // Check if the user has the required permissions
        if (!_this._store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.PermissionsEnum.ALL_ORG_EDIT)) {
          return;
        }
        // Ensure that both the selected organization and name are provided
        if (!_this.selectedOrganization || !name) {
          return;
        }
        try {
          // Navigate to the organization's page and open the add dialog with the provided name
          yield _this._router.navigate(['/pages/organizations/'], {
            queryParams: {
              openAddDialog: true
            },
            state: {
              name,
              officialName: name
            }
          });
        } catch (error) {
          // Display an error message in case of any navigation failure
          _this._toastrService.error(error);
        }
      });
      return function (_x) {
        return _ref.apply(this, arguments);
      };
    }();
  }
  ngOnInit() {
    this.initializePermissions();
    this.loadSelectedOrganization();
    this.loadOrganizations().then(() => {
      this._activatedRoute.queryParams.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .filter */ .p)(query => !!query.organizationId), (0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(({
        organizationId
      }) => this.selectOrganizationById(organizationId)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe();
    });
  }
  /**
   * Initializes the observable that determines if the user has edit permissions for organizations.
   */
  initializePermissions() {
    this.hasEditOrganization$ = this._store.userRolePermissions$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_7__/* .map */ .T)(() => this._store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.PermissionsEnum.ALL_ORG_EDIT)), (0,rxjs__WEBPACK_IMPORTED_MODULE_8__/* .catchError */ .W)(error => {
      console.error('Error checking permissions:', error);
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_9__.of)(false);
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this));
  }
  /**
   * Selects an organization and updates the store and query parameters accordingly.
   *
   * @param organization - The organization to select.
   * @param isResetEmployeeStore - Whether to reset the selected employee. Defaults to true.
   */
  selectOrganization(organization, isResetEmployeeStore = true) {
    if (!organization) {
      this._toastrService.warning('No organization provided to select.');
      console.warn('No organization provided to select.');
      return;
    }
    // Update the store with the selected organization details
    this._store.selectedOrganization = organization;
    this._store.organizationId = organization.id;
    // Reset the selected employee store if required
    if (isResetEmployeeStore) {
      this._store.selectedEmployee = null;
      console.info('Selected employee store has been reset.');
    }
    console.log(`Selected Organization: ${organization.name}`);
    // Update the query parameters in the URL
    this._navigationService.updateQueryParams({
      organizationId: organization.id
    });
  }
  /**
   * Updates query parameters while preserving specified parameters.
   *
   * @param queryParams New query parameters to be added or updated.
   */
  updateQueryParams(queryParams) {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      yield _this2._navigationService.updateQueryParams(queryParams);
    })();
  }
  /**
   * Loads and initializes the list of organizations for the current user.
   * Retrieves organizations associated with the user, ensures uniqueness,
   * and sets the selected organization in the store based on predefined logic.
   */
  loadOrganizations() {
    var _this3 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      try {
        // Retrieve the user's ID and tenant ID
        const {
          id: userId,
          tenantId
        } = _this3._store.user;
        // Define the relations to be included in the query
        const relations = ['organization', 'organization.contact', 'organization.featureOrganizations', 'organization.featureOrganizations.feature'];
        // Fetch all organizations associated with the user
        const {
          items = []
        } = yield _this3._userOrganizationService.getAll(relations, {
          userId,
          tenantId
        });
        // Extract organizations from the fetched items
        const fetchedOrganizations = items.map(({
          organization
        }) => organization);
        // Remove duplicate organizations based on their ID
        _this3.organizations = (0,underscore__WEBPACK_IMPORTED_MODULE_0__/* .uniq */ .sb)(fetchedOrganizations, 'id');
        // Select and set the active organization
        _this3.selectAndSetOrganization();
      } catch (error) {
        // Handle errors during organization loading
        console.error('Failed to load organizations:', error);
      }
    })();
  }
  /**
   * Selects and sets the active organization based on stored ID, default, or the first available.
   */
  selectAndSetOrganization() {
    // Check if there are organizations available
    if (this.organizations.length > 0) {
      // Select the organization based on the following priority:
      // 1. Organization with the stored ID
      // 2. Default organization
      // 3. First organization in the list
      this._store.selectedOrganization = this.organizations.find(org => org.id === this._store.organizationId) || this.organizations.find(org => org.isDefault) || this.organizations[0] || null;
      // Log the selected organization if it exists
      if (this._store.selectedOrganization) {
        // Update the query parameters in the URL
        this.updateQueryParams({
          organizationId: this._store.selectedOrganization.id
        });
      } else {
        // Handle the unlikely case where organizations exist but no selection was made
        console.warn('No valid organization found to select.');
        this.resetStore();
      }
    } else {
      // Handle the case where no organizations are available
      this.resetStore();
      console.warn('No organizations found for the user. Store has been reset.');
    }
  }
  /**
   * Loads the currently selected organization from the store and updates local state.
   */
  loadSelectedOrganization() {
    this._store.selectedOrganization$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_10__/* .distinctUntilChanged */ .F)((prev, curr) => prev?.id === curr?.id), (0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .filter */ .p)(organization => !!organization), (0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(organization => {
      this.selectedOrganization = organization;
      this._store.featureOrganizations = organization.featureOrganizations || [];
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe({
      error: error => {
        console.error('Error loading selected organization:', error);
        this._toastrService.error('Failed to load selected organization.', error);
      }
    });
  }
  ngAfterViewInit() {
    this._organizationEditStore.organizationAction$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .filter */ .p)(({
      action,
      organization
    }) => !!action && !!organization), (0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(() => this._organizationEditStore.destroy()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe(({
      organization,
      action
    }) => {
      switch (action) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.CrudActionEnum.CREATED:
          this.createOrganization(organization);
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.CrudActionEnum.UPDATED:
          this.updateOrganization(organization);
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.CrudActionEnum.DELETED:
          this.deleteOrganization(organization);
          break;
        default:
          break;
      }
    });
  }
  /**
   * Adds a new organization to the dropdown list.
   *
   * @param organization - The organization to add.
   */
  createOrganization(organization) {
    // Initialize the organizations array if it's undefined or null
    const updatedOrganizations = [...(this.organizations ?? []), organization];
    // Filter out any empty or invalid entries, if necessary
    this.organizations = updatedOrganizations.filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_11__/* .isNotEmpty */ .hj);
  }
  /**
   * Updates an existing organization in the dropdown list.
   *
   * @param organization - The organization with updated data.
   */
  updateOrganization(organization) {
    // Check if the organization exists
    const exists = this.organizations.some(org => org.id === organization.id);
    if (!exists) {
      console.log('updated organization not found: ', organization?.name);
      return;
    }
    try {
      // Update the organizations array immutably by mapping through existing organizations
      const updatedOrganizations = this.organizations.map(org => org.id === organization.id ? {
        ...org,
        ...organization
      } : org);
      // Update the store with the selected organization details
      this.selectOrganization(organization);
      // Assign the filtered and updated organizations list
      this.organizations = updatedOrganizations.filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_11__/* .isNotEmpty */ .hj);
    } catch (error) {
      console.error('Error updating organization:', error);
      this._toastrService.error('Failed to update organization.', error);
    }
  }
  /**
   * Deletes an organization from the dropdown list.
   *
   * @param organization - The organization to delete.
   */
  deleteOrganization(organization) {
    if (!organization) {
      console.warn('No organization provided to delete.');
      return;
    }
    // Check if the organization exists
    const exists = this.organizations.some(org => org.id === organization.id);
    if (!exists) {
      console.warn(`Delete failed: Organization with ID ${organization.id} not found.`);
      return;
    }
    try {
      // Remove the organization immutably by filtering it out
      const updatedOrganizations = this.organizations.filter(org => org.id !== organization.id);
      // Assign the filtered and updated organizations list
      this.organizations = updatedOrganizations.filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_11__/* .isNotEmpty */ .hj);
      // Check if the deleted organization was the selected one
      if (this._store.selectedOrganization?.id === organization.id) {
        if (updatedOrganizations.length > 0) {
          // Select a random organization from the updated list
          const organization = this.getRandomOrganization(updatedOrganizations);
          this.selectOrganization(organization);
        } else {
          // No organizations left; reset the store
          this.resetStore();
          console.warn('All organizations have been deleted. Store has been reset.');
        }
      }
      console.log(`Organization with ID ${organization.id} deleted successfully.`);
    } catch (error) {
      // Handle any errors that occur during deletion
      console.error(`Failed to delete organization with ID ${organization.id}`, error);
      this._toastrService.error(`Failed to delete organization "${organization.name}".`, error);
    }
  }
  /**
   * event fired on model change.
   */
  onChange() {
    this.isOpen = false;
  }
  /**
   * Closes the component when a click occurs outside of it.
   *
   * @param event - The click event.
   */
  onClickOutside(event) {
    if (this.isOpen && !event) this.isOpen = false;
  }
  /**
   * Selects an organization by its ID.
   *
   * @param organizationId - The ID of the organization to select.
   */
  selectOrganizationById(organizationId) {
    const organization = this.organizations.find(organization => organization.id === organizationId);
    if (organization) {
      this.selectOrganization(organization, false);
    }
  }
  /**
   * Resets the store's selected organization, organization ID, and selected employee.
   */
  resetStore() {
    this._store.selectedOrganization = null;
    this._store.organizationId = null;
    this._store.selectedEmployee = null;
    console.info('Store reset: selectedOrganization, organizationId, and selectedEmployee have been cleared.');
  }
  /**
   * Selects a random organization from the provided list.
   *
   * @param organizations - The list of organizations to select from.
   * @returns A randomly selected organization.
   */
  getRandomOrganization(organizations) {
    if (organizations.length === 0) {
      return null;
    }
    const randomIndex = Math.floor(Math.random() * organizations.length);
    return organizations[randomIndex];
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function OrganizationSelectorComponent_Factory(t) {
      return new (t || OrganizationSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_12__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__/* .ToastrService */ .t), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__/* .UsersOrganizationsService */ .K), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .OrganizationEditStore */ .vO), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_12__/* .ActivatedRoute */ .nX), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .NavigationService */ .o));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineComponent"] */ .VBU({
      type: OrganizationSelectorComponent,
      selectors: [["ga-organization-selector"]],
      inputs: {
        addTag: "addTag"
      },
      decls: 1,
      vars: 1,
      consts: [[4, "ngIf"], ["bindLabel", "name", "appendTo", "body", "gauzyOutside", "", 3, "addTag", "searchable", "clearable", "items", "ngModel", "placeholder", "addTagText", "isOpen", "ngClass", "change", "clear", "ngModelChange", "click", "clickOutside"], ["select", ""], ["ng-option-tmp", ""], ["ng-label-tmp", ""], ["width", "40", "height", "40", 3, "src", 4, "ngIf"], ["width", "40", "height", "40", 3, "src"], [1, "selector-template"], ["height", "25", "width", "25", 3, "src", 4, "ngIf"], ["height", "25", "width", "25", 3, "src"]],
      template: function OrganizationSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(0, OrganizationSelectorComponent_div_0_Template, 8, 15, "div", 0);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.organizations);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_18__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_18__/* .NgIf */ .bT, _angular_forms__WEBPACK_IMPORTED_MODULE_19__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_19__/* .NgModel */ .vS, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_20__/* .NgSelectComponent */ .vr, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_20__/* .NgOptionTemplateDirective */ .Uq, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_20__/* .NgLabelTemplateDirective */ .ZZ, _directives_img_directive__WEBPACK_IMPORTED_MODULE_21__/* .ImgDirective */ .z, _directives_outside_directive__WEBPACK_IMPORTED_MODULE_22__/* .OutsideDirective */ .H, _angular_common__WEBPACK_IMPORTED_MODULE_18__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_23__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nng-select[_ngcontent-%COMP%]   .selector-template[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  height: 100%;\n}\nng-select[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  margin-right: 0.25rem;\n  margin-left: 0.25rem;\n  height: 20px;\n  width: 20px;\n  box-shadow: var(--gauzy-shadow);\n  object-fit: cover;\n  border-radius: var(--button-rectangle-border-radius);\n}\n\n  .organization.close {\n  opacity: 1;\n}\n  .organization.ng-select .ng-select-container .ng-value-container {\n  padding-left: 0;\n}\n  .organization.ng-select .ng-arrow-wrapper {\n  display: flex;\n  align-items: baseline;\n  justify-content: center;\n}\n  .organization.ng-select.close.ng-select .ng-select-container .ng-value-container span {\n  display: none;\n}"]
    });
  }
};
OrganizationSelectorComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_24__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_24__/* .__metadata */ .Sn)("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_12__/* .Router */ .Ix, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__/* .ToastrService */ .t, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__/* .UsersOrganizationsService */ .K, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .OrganizationEditStore */ .vO, _angular_router__WEBPACK_IMPORTED_MODULE_12__/* .ActivatedRoute */ .nX, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .NavigationService */ .o])], OrganizationSelectorComponent);

/***/ }),

/***/ 41199:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () => (/* binding */ ProjectSelectModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91265);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51170);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5062);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61198);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);







let ProjectSelectModule = /*#__PURE__*/(() => {
  class ProjectSelectModule {
    static {
      this.ɵfac = function ProjectSelectModule_Factory(t) {
        return new (t || ProjectSelectModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: ProjectSelectModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _angular_forms__WEBPACK_IMPORTED_MODULE_2__/* .FormsModule */ .YN, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbSelectModule */ .VcP, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_4__/* .NgSelectModule */ .MQ, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__/* .TranslateModule */ .h.forChild()]
      });
    }
  }
  return ProjectSelectModule;
})();

/***/ }),

/***/ 707:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: () => (/* binding */ ALL_PROJECT_SELECTED)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);

const ALL_PROJECT_SELECTED = {
  id: '',
  currency: null,
  billing: null,
  public: true,
  owner: null,
  name: 'All Projects',
  tags: [],
  taskListType: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TaskListTypeEnum.GRID
};

/***/ }),

/***/ 1182:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: () => (/* binding */ ProjectSelectorComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(76149);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(91265);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(96641);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(54530);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(6925);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(97957);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(76447);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65670);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(45484);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(66105);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(75107);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(47516);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(44333);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(31098);
/* harmony import */ var _pipes__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(22714);
/* harmony import */ var _default_project__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(707);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(51170);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(5062);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(61198);

var ProjectSelectorComponent_1;





















function ProjectSelectorComponent_label_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "label", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 1, ctx_r0.label));
  }
}
function ProjectSelectorComponent_ng_template_1_ng_container_5_ng_template_1_img_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(0, "img", 10);
  }
  if (rf & 2) {
    const item_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG().item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("src", item_r8.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function ProjectSelectorComponent_ng_template_1_ng_container_5_ng_template_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(0, ProjectSelectorComponent_ng_template_1_ng_container_5_ng_template_1_img_0_Template, 1, 1, "img", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(1, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const item_r8 = ctx.item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", item_r8.imageUrl);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", item_r8 == null ? null : item_r8.name, " ");
  }
}
function ProjectSelectorComponent_ng_template_1_ng_container_5_ng_template_2_img_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(0, "img", 10);
  }
  if (rf & 2) {
    const item_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG().item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("src", item_r12.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function ProjectSelectorComponent_ng_template_1_ng_container_5_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, ProjectSelectorComponent_ng_template_1_ng_container_5_ng_template_2_img_1_Template, 1, 1, "img", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(2, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const item_r12 = ctx.item;
    const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", item_r12.imageUrl);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r7.getShortenedName(item_r12 == null ? null : item_r12.name), " ");
  }
}
function ProjectSelectorComponent_ng_template_1_ng_container_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, ProjectSelectorComponent_ng_template_1_ng_container_5_ng_template_1_Template, 3, 2, "ng-template", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(2, ProjectSelectorComponent_ng_template_1_ng_container_5_ng_template_2_Template, 4, 2, "ng-template", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
}
function ProjectSelectorComponent_ng_template_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r16 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "ng-select", 4, 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("change", function ProjectSelectorComponent_ng_template_1_Template_ng_select_change_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r16);
      const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(1);
      const ctx_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      ctx_r15.selectProject($event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(_r4.blur());
    })("clear", function ProjectSelectorComponent_ng_template_1_Template_ng_select_clear_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r16);
      const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(1);
      const ctx_r17 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      _r4.blur();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(ctx_r17.clearSelection());
    })("ngModelChange", function ProjectSelectorComponent_ng_template_1_Template_ng_select_ngModelChange_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r16);
      const ctx_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(ctx_r18.projectId = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(5, ProjectSelectorComponent_ng_template_1_ng_container_5_Template, 3, 0, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("addTag", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 9, ctx_r1.hasAddProject$) ? ctx_r1.createNew : null)("multiple", ctx_r1.multiple)("clearable", ctx_r1.isClearable())("disabled", ctx_r1.disabled)("items", ctx_r1.projects)("ngModel", ctx_r1.projectId)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(3, 11, ctx_r1.placeholder || "FORM.PLACEHOLDERS.ALL_PROJECTS"))("addTagText", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(4, 13, "FORM.PLACEHOLDERS.ADD_PROJECT"));
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r1.shortened);
  }
}
function ProjectSelectorComponent_ng_template_2_nb_option_2_img_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(0, "img", 10);
  }
  if (rf & 2) {
    const project_r20 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG().$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("src", project_r20 == null ? null : project_r20.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function ProjectSelectorComponent_ng_template_2_nb_option_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "nb-option", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, ProjectSelectorComponent_ng_template_2_nb_option_2_img_1_Template, 1, 1, "img", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(2, "span", 15);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const project_r20 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("value", project_r20.id);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", project_r20 == null ? null : project_r20.imageUrl);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate"] */ .JRh(project_r20.name);
  }
}
function ProjectSelectorComponent_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    const _r24 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "nb-select", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("selectedChange", function ProjectSelectorComponent_ng_template_2_Template_nb_select_selectedChange_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r24);
      const ctx_r23 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(ctx_r23.projectId = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(1, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(2, ProjectSelectorComponent_ng_template_2_nb_option_2_Template, 4, 3, "nb-option", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("disabled", ctx_r3.disabled)("multiple", ctx_r3.multiple)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(1, 5, ctx_r3.placeholder || "FORM.PLACEHOLDERS.ALL_PROJECTS"))("selected", ctx_r3.projectId);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx_r3.projects);
  }
}
let ProjectSelectorComponent = class ProjectSelectorComponent {
  static {
    ProjectSelectorComponent_1 = this;
  }
  /**
   * Sets the project ID and triggers change and touch events.
   *
   * @param value - The project ID or array of project IDs to be set.
   */
  set projectId(value) {
    this._projectId = value;
    this.onChange(value);
    this.onTouched();
  }
  /**
   * Gets the current project ID
   *
   * @returns The current project ID or array of project IDs.
   */
  get projectId() {
    return this._projectId;
  }
  /**
   * Sets the employee ID and triggers change and touch events.
   *
   * @param value - The ID of the employee to be set.
   */
  set employeeId(value) {
    this._employeeId = value;
    this.subject$.next(true);
  }
  /**
   * Gets the current employee ID
   *
   * @returns The current employee ID or array of employee IDs.
   */
  get employeeId() {
    return this._employeeId;
  }
  /**
   * Sets the organization contact ID and triggers change and touch events.
   *
   * @param value - The ID of the organization contact to be set.
   */
  set organizationContactId(value) {
    this._organizationContactId = value;
    this.subject$.next(true);
  }
  /**
   * Gets the current organization contact ID
   *
   * @returns The current organization contact ID or array of organization contact ID.
   */
  get organizationContactId() {
    return this._organizationContactId;
  }
  constructor(_organizationProjects, _store, _toastrService, _errorHandlingService, _organizationProjectStore, _truncatePipe, _navigationService, _activatedRoute) {
    var _this = this;
    this._organizationProjects = _organizationProjects;
    this._store = _store;
    this._toastrService = _toastrService;
    this._errorHandlingService = _errorHandlingService;
    this._organizationProjectStore = _organizationProjectStore;
    this._truncatePipe = _truncatePipe;
    this._navigationService = _navigationService;
    this._activatedRoute = _activatedRoute;
    this.projects = [];
    this.subject$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__/* .Subject */ .B();
    /**
     * Determines whether the component should be displayed in a shortened form.
     * This might control the size, visibility of certain elements, or compactness of the UI.
     *
     * @default false
     */
    this.shortened = false;
    /**
     * Determines whether the component is disabled and non-interactive.
     * When set to `true`, user interactions (like clicking or selecting) are disabled.
     *
     * @default false
     */
    this.disabled = false;
    /**
     * Allows multiple selections if set to `true`.
     * This could enable features like multi-select dropdowns or checkboxes.
     *
     * @default false
     */
    this.multiple = false;
    /**
     * The label text to be displayed alongside the component.
     * This could be used for accessibility purposes or to provide context to the user.
     *
     * @default null
     */
    this.label = null;
    /**
     * The placeholder text to be displayed in the project selector.
     * Provides guidance to the user on what action to take or what information to provide.
     *
     */
    this.placeholder = null;
    /**
     * Determines whether to skip triggering global change detection.
     * Useful for optimizing performance by preventing unnecessary change detection cycles.
     *
     * @default false
     */
    this.skipGlobalChange = false;
    /**
     * Enables the default selection behavior.
     * When `true`, the component may automatically select a default project upon initialization.
     *
     * @default true
     */
    this.defaultSelected = true;
    /**
     * Determines whether to display the "Show All" option in the selector.
     * Allows users to view and select all available projects if enabled.
     *
     * @default true
     */
    this.showAllOption = true;
    this.onChanged = new _angular_core__WEBPACK_IMPORTED_MODULE_1__/* .EventEmitter */ .bkB();
    /**
     * Callback function to notify changes in the form control.
     */
    this.onChange = () => {};
    /**
     * Callback function to notify touch events in the form control.
     */
    this.onTouched = () => {};
    /**
     * Creates a new project with the given name.
     *
     * @param {string} name - The name of the new project.
     */
    this.createNew = /*#__PURE__*/function () {
      var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* (name) {
        // Return early if organization or project name is not defined
        if (!_this.organization || !name) {
          console.warn('Organization or project name is missing.');
          return;
        }
        try {
          // Destructure tenantId and organizationId from organization
          const {
            id: organizationId,
            tenantId
          } = _this.organization;
          // Include member if employeeId or store user's employeeId is provided
          const memberId = _this.employeeId || _this._store.user.employee?.id;
          // Create the project
          const project = yield _this._organizationProjects.create({
            name,
            ...(memberId && {
              memberIds: [memberId]
            }),
            ...(_this.organizationContactId && {
              organizationContactId: _this.organizationContactId
            }),
            organizationId,
            tenantId
          });
          // Handle the created project and update projectId
          _this.createOrganizationProject(project);
          // Set the newly created project's ID
          _this.projectId = project.id;
          // Show success message
          _this._toastrService.success('NOTES.ORGANIZATIONS.EDIT_ORGANIZATIONS_PROJECTS.ADD_PROJECT', {
            name
          });
        } catch (error) {
          // Log and handle the error
          console.error('Error while creating new project: ', error);
          _this._errorHandlingService.handleError(error);
        }
      });
      return function (_x) {
        return _ref.apply(this, arguments);
      };
    }();
  }
  ngOnInit() {
    this.initializePermissions();
    this.initializeProjectSelection();
    this.initializeOrganizationSelection();
    // Handle organization changes and trigger project fetch
    this._store.selectedOrganization$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(organization => {
      this.organization = organization;
      this.subject$.next(true); // Triggers project fetch when organization changes
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  ngAfterViewInit() {
    this._organizationProjectStore.organizationProjectAction$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .filter */ .p)(({
      action,
      project
    }) => !!action && !!project), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(() => this._organizationProjectStore.destroy()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .untilDestroyed */ .s)(this)).subscribe(({
      project,
      action
    }) => {
      switch (action) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CrudActionEnum.CREATED:
          this.createOrganizationProject(project);
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CrudActionEnum.UPDATED:
          this.updateOrganizationProject(project);
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CrudActionEnum.DELETED:
          this.deleteOrganizationProject(project);
          break;
        default:
          break;
      }
    });
  }
  /**
   * Initializes the observable that determines if the user has edit permissions for projects.
   */
  initializePermissions() {
    this.hasAddProject$ = this._store.userRolePermissions$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_8__/* .map */ .T)(() => this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_PROJECT_ADD)), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_9__/* .catchError */ .W)(error => {
      console.error('Error checking permissions:', error);
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_10__.of)(false);
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .untilDestroyed */ .s)(this));
  }
  /**
   * Handles the combined stream to fetch projects and select the appropriate project
   * based on route parameters and subject emissions.
   */
  initializeProjectSelection() {
    (0,rxjs__WEBPACK_IMPORTED_MODULE_11__/* .combineLatest */ .z)([this.subject$, this._activatedRoute.queryParams]).pipe(
    // Switch to a new observable each time the source observables emit
    (0,rxjs__WEBPACK_IMPORTED_MODULE_12__/* .switchMap */ .n)(([_, queryParams]) =>
    // Fetch projects and handle errors during retrieval
    (0,rxjs__WEBPACK_IMPORTED_MODULE_13__/* .from */ .H)(this.getProjects()).pipe(
    // Return the projectId from queryParams on success
    (0,rxjs__WEBPACK_IMPORTED_MODULE_8__/* .map */ .T)(() => queryParams.projectId),
    // Handle any errors that occur during project fetching
    (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_9__/* .catchError */ .W)(error => {
      console.error('Error fetching projects:', error);
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_10__.of)(null); // Return a null value to prevent project selection on error
    }))),
    // After fetching, select the project if projectId exists
    (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(projectId => {
      if (projectId) {
        this.selectProjectById(projectId);
      }
    }),
    // Automatically unsubscribe when the component is destroyed
    (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Handles changes in the selected organization.
   *
   * Updates the local organization property and triggers a project fetch.
   */
  initializeOrganizationSelection() {
    this._store.selectedOrganization$.pipe(
    // Emit only when the selected organization changes
    (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .distinctUntilChange */ .nI)(),
    // Proceed only if the organization is defined
    (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .filter */ .p)(organization => !!organization),
    // Update the organization property and trigger a project fetch
    (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(organization => {
      this.organization = organization;
      this.subject$.next(true); // Triggers the combined stream
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Retrieves projects based on specified parameters.
   * If an employee ID is provided, retrieves projects associated with that employee.
   * Otherwise, retrieves all projects for the organization. Optionally inserts an "All Projects" option.
   */
  getProjects() {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      // Return early if the organization is not defined
      if (!_this2.organization) {
        console.warn('Organization is not defined.');
        return;
      }
      const {
        id: organizationId,
        tenantId
      } = _this2.organization;
      // Construct query options
      const queryOptions = {
        ...(_this2.organizationContactId && {
          organizationContactId: _this2.organizationContactId
        }),
        organizationId,
        tenantId
      };
      try {
        // Retrieve projects based on whether employeeId is provided
        _this2.projects = _this2.employeeId ? yield _this2._organizationProjects.getAllByEmployee(_this2.employeeId, queryOptions) : (yield _this2._organizationProjects.getAll([], queryOptions)).items || [];
        // Optionally add "All Projects" option
        if (_this2.showAllOption) {
          _this2.projects.unshift(_default_project__WEBPACK_IMPORTED_MODULE_14__/* .ALL_PROJECT_SELECTED */ .K);
          _this2.selectProject(_default_project__WEBPACK_IMPORTED_MODULE_14__/* .ALL_PROJECT_SELECTED */ .K);
        }
      } catch (error) {
        console.error('Error retrieving projects:', error);
        _this2._errorHandlingService.handleError(error);
      }
    })();
  }
  /**
   * Writes a value to the component, handling single or multiple selection modes.
   *
   * @param {ID | ID[]} value - The value(s) to write, either a single ID or IDs.
   */
  writeValue(value) {
    this._projectId = this.multiple ? Array.isArray(value) ? value : [value] : value;
  }
  /**
   * Registers a callback function to be called when the control's value changes.
   * This method is used by Angular forms to bind the model to the view.
   *
   * @param fn - The callback function to register for the 'onChange' event.
   */
  registerOnChange(fn) {
    this.onChange = fn;
  }
  /**
   * Registers a callback function to be called when the component is touched.
   * @param {() => void} fn - The callback function to register.
   */
  registerOnTouched(fn) {
    this.onTouched = fn;
  }
  /**
   * Sets the disabled state of the component.
   *
   * @param {boolean} isDisabled - The disabled state to set.
   */
  setDisabledState(isDisabled) {
    this.disabled = isDisabled;
  }
  /**
   * Adds a newly created organization project to the dropdown list.
   *
   * @param {IOrganizationProject} project - The project to add.
   */
  createOrganizationProject(project) {
    if (!project) {
      console.warn('Invalid project provided');
      return;
    }
    // Ensure projects array is initialized, then add the new project
    this.projects = (this.projects ?? []).concat(project).filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .isNotEmpty */ .hj);
  }
  /**
   * Updates an existing organization project in the dropdown list.
   *
   * @param {IOrganizationProject} project - The project with updated details.
   */
  updateOrganizationProject(project) {
    if (!project || !project.id) {
      console.warn('Invalid project or missing project ID');
      return;
    }
    // Map through projects to update the matching project
    this.projects = (this.projects ?? []).map(item => item.id === project.id ? {
      ...item,
      ...project
    } : item).filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .isNotEmpty */ .hj);
  }
  /**
   * Removes a deleted organization project from the dropdown list.
   * @param {IOrganizationProject} project - The project to remove.
   */
  deleteOrganizationProject(project) {
    if (!project || !project.id) {
      console.warn('Invalid project or missing project ID');
      return;
    }
    // Filter out the project with the matching ID
    this.projects = (this.projects ?? []).filter(item => item.id !== project.id).filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .isNotEmpty */ .hj);
  }
  /**
   * Selects the specified project, updates relevant parameters, and emits the change event.
   *
   * @param {IOrganizationProject} project - The project to select.
   */
  selectProject(project) {
    const selectedProject = project ?? _default_project__WEBPACK_IMPORTED_MODULE_14__/* .ALL_PROJECT_SELECTED */ .K;
    // Update global store and parameters if global changes are allowed
    if (!this.skipGlobalChange) {
      this._store.selectedProject = selectedProject;
      this.setAttributesToParams({
        projectId: selectedProject.id
      });
    }
    // Update local state and emit the change event
    this.selectedProject = selectedProject;
    this.projectId = selectedProject.id;
    this.onChanged.emit(selectedProject);
  }
  /**
   * Sets attributes to the current navigation parameters.
   * @param params An object containing key-value pairs representing the parameters to set.
   */
  setAttributesToParams(params) {
    var _this3 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      yield _this3._navigationService.updateQueryParams(params);
    })();
  }
  /**
   * Selects a project by its ID and triggers further processing if found.
   *
   * @param {ID} projectId - The unique identifier of the project to select.
   */
  selectProjectById(projectId) {
    if (!projectId) {
      console.warn('Invalid project ID provided.');
      return;
    }
    const project = this.projects?.find(project => project.id === projectId);
    if (project) {
      this.selectProject(project);
    } else {
      console.warn(`Project with ID ${projectId} not found.`);
    }
  }
  /**
   * Determines if the project selector should display a clearable option.
   *
   * @returns {boolean} - Returns true if the project is clearable, false otherwise.
   */
  isClearable() {
    return this.selectedProject !== _default_project__WEBPACK_IMPORTED_MODULE_14__/* .ALL_PROJECT_SELECTED */ .K;
  }
  /**
   * Returns a shortened version of the name, with truncation applied to both first and last names.
   *
   * @param {string} name - The full name to be shortened.
   * @param {number} [limit=20] - The maximum character limit for the shortened name.
   * @returns {string | undefined} - The shortened name, or undefined if the name is empty.
   */
  getShortenedName(name, limit = 20) {
    if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .isEmpty */ .Im)(name)) {
      return;
    }
    const chunks = name.split(/\s+/);
    const firstName = chunks.shift();
    const lastName = chunks.join(' ');
    // If both first and last names exist, truncate both
    if (firstName && lastName) {
      return this._truncatePipe.transform(firstName, Math.floor(limit / 2), false, '') + ' ' + this._truncatePipe.transform(lastName, Math.floor(limit / 2), false, '.');
    }
    // Fallback to truncating either firstName or lastName if available
    return this._truncatePipe.transform(firstName || lastName, limit) || '[error: bad name]';
  }
  /**
   * Clears the selected project value if the "Show All" option is disabled.
   */
  clearSelection() {
    if (!this.showAllOption) {
      this.projectId = null;
    }
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function ProjectSelectorComponent_Factory(t) {
      return new (t || ProjectSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__/* .OrganizationProjectsService */ .d), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .ToastrService */ .t), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__/* .ErrorHandlingService */ .X), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .OrganizationProjectStore */ .aI), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_pipes__WEBPACK_IMPORTED_MODULE_20__/* .TruncatePipe */ .H), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_21__/* .NavigationService */ .o), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_22__/* .ActivatedRoute */ .nX));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
      type: ProjectSelectorComponent,
      selectors: [["ga-project-selector"]],
      inputs: {
        shortened: "shortened",
        disabled: "disabled",
        multiple: "multiple",
        label: "label",
        placeholder: "placeholder",
        skipGlobalChange: "skipGlobalChange",
        defaultSelected: "defaultSelected",
        showAllOption: "showAllOption",
        projectId: "projectId",
        employeeId: "employeeId",
        organizationContactId: "organizationContactId"
      },
      outputs: {
        onChanged: "onChanged"
      },
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵProvidersFeature"] */ .Jv_([{
        provide: _angular_forms__WEBPACK_IMPORTED_MODULE_23__/* .NG_VALUE_ACCESSOR */ .kq,
        useExisting: (0,_angular_core__WEBPACK_IMPORTED_MODULE_1__/* .forwardRef */ .Rfq)(() => ProjectSelectorComponent_1),
        multi: true
      }])],
      decls: 4,
      vars: 3,
      consts: [["class", "label", 4, "ngIf"], [3, "ngIf", "ngIfElse"], ["multipleSelect", ""], [1, "label"], ["bindValue", "id", "bindLabel", "name", "appendTo", "body", "fullWidth", "", 3, "addTag", "multiple", "clearable", "disabled", "items", "ngModel", "placeholder", "addTagText", "change", "clear", "ngModelChange"], ["select", ""], [4, "ngIf"], ["ng-option-tmp", ""], ["ng-label-tmp", ""], ["width", "20px", "height", "20px", 3, "src", 4, "ngIf"], ["width", "20px", "height", "20px", 3, "src"], [1, "selector-template"], ["fullWidth", "", 1, "multiple-select", 3, "disabled", "multiple", "placeholder", "selected", "selectedChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [1, "ml-1"]],
      template: function ProjectSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(0, ProjectSelectorComponent_label_0_Template, 3, 3, "label", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, ProjectSelectorComponent_ng_template_1_Template, 6, 15, "ng-template", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(2, ProjectSelectorComponent_ng_template_2_Template, 3, 7, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
        }
        if (rf & 2) {
          const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.label);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx.multiple)("ngIfElse", _r2);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_24__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_24__/* .NgIf */ .bT, _angular_forms__WEBPACK_IMPORTED_MODULE_23__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_23__/* .NgModel */ .vS, _nebular_theme__WEBPACK_IMPORTED_MODULE_25__/* .NbSelectComponent */ .S81, _nebular_theme__WEBPACK_IMPORTED_MODULE_25__/* .NbOptionComponent */ .ZJ2, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_26__/* .NgSelectComponent */ .vr, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_26__/* .NgOptionTemplateDirective */ .Uq, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_26__/* .NgLabelTemplateDirective */ .ZZ, _angular_common__WEBPACK_IMPORTED_MODULE_24__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_27__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n  min-width: 200px;\n  display: block;\n}\n[_nghost-%COMP%]   .multiple-select[_ngcontent-%COMP%] {\n  width: 100%;\n}\n[_nghost-%COMP%]   ng-select[_ngcontent-%COMP%]   .selector-template[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  height: 100%;\n}\n[_nghost-%COMP%]   ng-select[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  margin-right: 5px;\n  border-radius: var(--button-rectangle-border-radius);\n}\n[_nghost-%COMP%]     .ng-select .ng-select-container .ng-value-container {\n  align-items: center;\n  padding-left: 5px;\n}\n\nimg[_ngcontent-%COMP%] {\n  object-fit: cover;\n}"]
    });
  }
};
ProjectSelectorComponent = ProjectSelectorComponent_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_28__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_28__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_15__/* .OrganizationProjectsService */ .d, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .ToastrService */ .t, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__/* .ErrorHandlingService */ .X, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .OrganizationProjectStore */ .aI, _pipes__WEBPACK_IMPORTED_MODULE_20__/* .TruncatePipe */ .H, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_21__/* .NavigationService */ .o, _angular_router__WEBPACK_IMPORTED_MODULE_22__/* .ActivatedRoute */ .nX])], ProjectSelectorComponent);

/***/ }),

/***/ 99448:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   b: () => (/* binding */ SelectorsModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(91265);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(51170);
/* harmony import */ var ngx_daterangepicker_material__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(52680);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(5062);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(61198);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7160);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(21963);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4743);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(49006);
/* harmony import */ var _directives_directives_module__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(48154);
/* harmony import */ var _date_date_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26622);
/* harmony import */ var _organization_organization_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42848);
/* harmony import */ var _date_range_picker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28864);
/* harmony import */ var _date_range_picker__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(23362);
/* harmony import */ var _employee_employee_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23102);
/* harmony import */ var _project_project_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41199);
/* harmony import */ var _team_team_module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(40663);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(82817);


















const COMPONENTS = [_date_range_picker__WEBPACK_IMPORTED_MODULE_1__/* .DateRangePickerComponent */ .f, _date_date_component__WEBPACK_IMPORTED_MODULE_2__/* .DateSelectorComponent */ .$, _employee_employee_component__WEBPACK_IMPORTED_MODULE_3__/* .EmployeeSelectorComponent */ .R, _organization_organization_component__WEBPACK_IMPORTED_MODULE_4__/* .OrganizationSelectorComponent */ .m];
const MODULES = [_project_project_module__WEBPACK_IMPORTED_MODULE_5__/* .ProjectSelectModule */ .A, _team_team_module__WEBPACK_IMPORTED_MODULE_6__/* .TeamSelectModule */ .i];
let SelectorsModule = /*#__PURE__*/(() => {
  class SelectorsModule {
    static {
      this.ɵfac = function SelectorsModule_Factory(t) {
        return new (t || SelectorsModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdefineNgModule"] */ .$C({
        type: SelectorsModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdefineInjector"] */ .G2t({
        providers: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__/* .OrganizationsService */ .k, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .OrganizationEditStore */ .vO, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .EmployeesService */ .r, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .EmployeeStore */ .oO],
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_12__/* .CommonModule */ .MD, _angular_forms__WEBPACK_IMPORTED_MODULE_13__/* .FormsModule */ .YN, _angular_forms__WEBPACK_IMPORTED_MODULE_13__/* .ReactiveFormsModule */ .X1, ngx_daterangepicker_material__WEBPACK_IMPORTED_MODULE_14__/* .NgxDaterangepickerMd */ .kF.forRoot({
          firstDay: (0,_date_range_picker__WEBPACK_IMPORTED_MODULE_15__/* .dayOfWeekAsString */ .Rc)(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.WeekDaysEnum.MONDAY)
        }), _nebular_theme__WEBPACK_IMPORTED_MODULE_16__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_16__/* .NbCalendarKitModule */ .VmO, _nebular_theme__WEBPACK_IMPORTED_MODULE_16__/* .NbCalendarModule */ .LeX, _nebular_theme__WEBPACK_IMPORTED_MODULE_16__/* .NbCardModule */ .lVF, _nebular_theme__WEBPACK_IMPORTED_MODULE_16__/* .NbDatepickerModule */ .TgK, _nebular_theme__WEBPACK_IMPORTED_MODULE_16__/* .NbIconModule */ .clu, _nebular_theme__WEBPACK_IMPORTED_MODULE_16__/* .NbInputModule */ .pty, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_17__/* .NgSelectModule */ .MQ, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_18__/* .TranslateModule */ .h.forChild(), _directives_directives_module__WEBPACK_IMPORTED_MODULE_19__/* .DirectivesModule */ .h, MODULES, _project_project_module__WEBPACK_IMPORTED_MODULE_5__/* .ProjectSelectModule */ .A, _team_team_module__WEBPACK_IMPORTED_MODULE_6__/* .TeamSelectModule */ .i]
      });
    }
  }
  return SelectorsModule;
})();

/***/ }),

/***/ 40663:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: () => (/* binding */ TeamSelectModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91265);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5062);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);







let TeamSelectModule = /*#__PURE__*/(() => {
  class TeamSelectModule {
    static {
      this.ɵfac = function TeamSelectModule_Factory(t) {
        return new (t || TeamSelectModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: TeamSelectModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbSelectModule */ .VcP, _angular_forms__WEBPACK_IMPORTED_MODULE_3__/* .FormsModule */ .YN, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateModule */ .h.forChild(), _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_5__/* .NgSelectModule */ .MQ]
      });
    }
  }
  return TeamSelectModule;
})();

/***/ }),

/***/ 95977:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Y: () => (/* binding */ ALL_TEAM_SELECTED)
/* harmony export */ });
const ALL_TEAM_SELECTED = {
  id: '',
  name: 'All Teams',
  logo: ''
};

/***/ }),

/***/ 876:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: () => (/* binding */ TeamSelectorComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(76149);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(91265);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(96641);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54530);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(6925);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(97957);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(76447);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65670);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(45484);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(77303);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(75107);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(47516);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(59422);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(31098);
/* harmony import */ var _pipes__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(22714);
/* harmony import */ var _default_team__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(95977);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(51170);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(5062);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(61198);

var TeamSelectorComponent_1;





















function TeamSelectorComponent_label_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "label", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 1, ctx_r0.label));
  }
}
function TeamSelectorComponent_ng_container_1_ng_container_6_ng_template_1_img_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(0, "img", 10);
  }
  if (rf & 2) {
    const item_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG().item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("src", item_r8.logo, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function TeamSelectorComponent_ng_container_1_ng_container_6_ng_template_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(0, TeamSelectorComponent_ng_container_1_ng_container_6_ng_template_1_img_0_Template, 1, 1, "img", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(1, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const item_r8 = ctx.item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", item_r8.logo);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate"] */ .JRh(item_r8.name);
  }
}
function TeamSelectorComponent_ng_container_1_ng_container_6_ng_template_2_img_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(0, "img", 10);
  }
  if (rf & 2) {
    const item_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG().item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("src", item_r11.logo, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function TeamSelectorComponent_ng_container_1_ng_container_6_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, TeamSelectorComponent_ng_container_1_ng_container_6_ng_template_2_img_1_Template, 1, 1, "img", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(2, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const item_r11 = ctx.item;
    const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", item_r11.logo);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate"] */ .JRh(ctx_r7.getShortenedName(item_r11 == null ? null : item_r11.name));
  }
}
function TeamSelectorComponent_ng_container_1_ng_container_6_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, TeamSelectorComponent_ng_container_1_ng_container_6_ng_template_1_Template, 3, 2, "ng-template", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(2, TeamSelectorComponent_ng_container_1_ng_container_6_ng_template_2_Template, 4, 2, "ng-template", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
}
function TeamSelectorComponent_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r15 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(1, "ng-select", 4, 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TeamSelectorComponent_ng_container_1_Template_ng_select_ngModelChange_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r15);
      const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(ctx_r14.organizationTeamId = $event);
    })("change", function TeamSelectorComponent_ng_container_1_Template_ng_select_change_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r15);
      const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(2);
      const ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      ctx_r16.selectTeam($event);
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(_r4.blur());
    })("clear", function TeamSelectorComponent_ng_container_1_Template_ng_select_clear_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r15);
      const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(2);
      const ctx_r17 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      ctx_r17.clearSelection();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(_r4.blur());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(3, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(5, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(6, TeamSelectorComponent_ng_container_1_ng_container_6_Template, 3, 0, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("addTag", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(3, 9, ctx_r1.hasAddTeam$) ? ctx_r1.createNew : null)("multiple", false)("clearable", ctx_r1.isClearable())("disabled", ctx_r1.disabled)("items", ctx_r1.teams)("ngModel", ctx_r1.organizationTeamId)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(4, 11, ctx_r1.placeholder || "FORM.PLACEHOLDERS.ALL_TEAMS"))("addTagText", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(5, 13, "FORM.PLACEHOLDERS.ADD_TEAM"));
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r1.shortened);
  }
}
function TeamSelectorComponent_ng_template_2_nb_option_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "nb-option", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const team_r19 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("value", team_r19.id);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", team_r19.name, " ");
  }
}
function TeamSelectorComponent_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    const _r21 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "nb-select", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("selectedChange", function TeamSelectorComponent_ng_template_2_Template_nb_select_selectedChange_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r21);
      const ctx_r20 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(ctx_r20.organizationTeamId = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(1, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(2, TeamSelectorComponent_ng_template_2_nb_option_2_Template, 2, 2, "nb-option", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("disabled", ctx_r3.disabled)("multiple", true)("selected", ctx_r3.organizationTeamId)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(1, 5, ctx_r3.placeholder || "FORM.PLACEHOLDERS.ALL_TEAMS"));
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx_r3.teams);
  }
}
let TeamSelectorComponent = class TeamSelectorComponent {
  static {
    TeamSelectorComponent_1 = this;
  }
  /**
   * Sets the team ID and triggers change and touch events.
   *
   * @param value - The team ID or array of team IDs to be set.
   */
  set organizationTeamId(value) {
    this._organizationTeamId = value;
    this.onChange(value);
    this.onTouched();
  }
  /**
   * Gets the current team ID
   *
   * @returns The current team ID or array of team IDs.
   */
  get organizationTeamId() {
    return this._organizationTeamId;
  }
  /**
   * Sets the employee ID and triggers change and touch events.
   *
   * @param value - The ID of the employee to be set.
   */
  set employeeId(value) {
    this._employeeId = value;
    this.subject$.next(true);
  }
  /**
   * Gets the current employee ID
   *
   * @returns The current employee ID or array of employee IDs.
   */
  get employeeId() {
    return this._employeeId;
  }
  /**
   * Sets the project ID and triggers change and touch events.
   *
   * @param value - The ID of the project to be set.
   */
  set projectId(value) {
    this._projectId = value;
    this.subject$.next(true);
  }
  /**
   * Gets the current project ID
   *
   * @returns The current project ID or array of project IDs.
   */
  get projectId() {
    return this._projectId;
  }
  constructor(_activatedRoute, _organizationTeamsService, _store, _toastrService, _errorHandlingService, _organizationTeamStore, _truncatePipe, _navigationService) {
    var _this = this;
    this._activatedRoute = _activatedRoute;
    this._organizationTeamsService = _organizationTeamsService;
    this._store = _store;
    this._toastrService = _toastrService;
    this._errorHandlingService = _errorHandlingService;
    this._organizationTeamStore = _organizationTeamStore;
    this._truncatePipe = _truncatePipe;
    this._navigationService = _navigationService;
    this.subject$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__/* .Subject */ .B();
    this.teams = [];
    /**
     * Determines whether the component should be displayed in a shortened form.
     * This might control the size, visibility of certain elements, or compactness of the UI.
     *
     * @default false
     */
    this.shortened = false;
    /**
     * Determines whether the component is disabled and non-interactive.
     * When set to `true`, user interactions (like clicking or selecting) are disabled.
     *
     * @default false
     */
    this.disabled = false;
    /**
     * Allows multiple selections if set to `true`.
     * This could enable features like multi-select dropdowns or checkboxes.
     *
     * @default false
     */
    this.multiple = false;
    /**
     * The label text to be displayed alongside the component.
     * This could be used for accessibility purposes or to provide context to the user.
     *
     * @default null
     */
    this.label = null;
    /**
     * The placeholder text to be displayed in the team selector.
     * Provides guidance to the user on what action to take or what information to provide.
     *
     */
    this.placeholder = null;
    /**
     * Determines whether to skip triggering global change detection.
     * Useful for optimizing performance by preventing unnecessary change detection cycles.
     *
     * @default false
     */
    this.skipGlobalChange = false;
    /**
     * Enables the default selection behavior.
     * When `true`, the component may automatically select a default team upon initialization.
     *
     * @default true
     */
    this.defaultSelected = true;
    /**
     * Determines whether to display the "Show All" option in the selector.
     * Allows users to view and select all available teams if enabled.
     *
     * @default true
     */
    this.showAllOption = true;
    this.onChanged = new _angular_core__WEBPACK_IMPORTED_MODULE_1__/* .EventEmitter */ .bkB();
    /**
     * Callback function to notify changes in the form control.
     */
    this.onChange = () => {};
    /**
     * Callback function to notify touch events in the form control.
     */
    this.onTouched = () => {};
    /**
     * Creates a new team with the given name.
     *
     * @param {string} name - The name of the new team.
     */
    this.createNew = /*#__PURE__*/function () {
      var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* (name) {
        // Return early if organization is not defined
        if (!_this.organization) {
          console.warn('Organization is not defined.');
          return;
        }
        try {
          const {
            id: organizationId,
            tenantId
          } = _this.organization;
          // Include member if employeeId or store user's employeeId is provided
          const memberId = _this.employeeId || _this._store.user.employee?.id;
          // Construct request object with common parameters
          const request = {
            name,
            ...(memberId && {
              memberIds: [memberId]
            }),
            ...(_this.projectId && {
              projects: [{
                id: _this.projectId
              }]
            }),
            organizationId,
            tenantId
          };
          // Handle the created team and update teamId
          const team = yield _this._organizationTeamsService.create(request);
          // Handle the created team
          _this.createOrganizationTeam(team);
          // Set the newly created team's ID
          _this.organizationTeamId = team.id;
          // Show success message
          _this._toastrService.success('NOTES.ORGANIZATIONS.EDIT_ORGANIZATIONS_TEAM.ADD_NEW_TEAM', {
            name
          });
        } catch (error) {
          // Log and show error message
          console.error('Error while creating new team: ', error);
          _this._errorHandlingService.handleError(error);
        }
      });
      return function (_x) {
        return _ref.apply(this, arguments);
      };
    }();
  }
  ngOnInit() {
    this.initializePermissions();
    this.initializeTeamSelection();
    this.initializeOrganizationSelection();
  }
  ngAfterViewInit() {
    this._organizationTeamStore.organizationTeamAction$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .filter */ .p)(({
      action,
      team
    }) => !!action && !!team), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(() => this._organizationTeamStore.destroy()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe(({
      team,
      action
    }) => {
      switch (action) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CrudActionEnum.CREATED:
          this.createOrganizationTeam(team);
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CrudActionEnum.UPDATED:
          this.updateOrganizationTeam(team);
          break;
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.CrudActionEnum.DELETED:
          this.deleteOrganizationTeam(team);
          break;
        default:
          break;
      }
    });
  }
  /**
   * Initializes the observable that determines if the user has edit permissions for teams.
   */
  initializePermissions() {
    this.hasAddTeam$ = this._store.userRolePermissions$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_7__/* .map */ .T)(() => this._store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TEAM_ADD)), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .catchError */ .W)(error => {
      console.error('Error checking permissions:', error);
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_9__.of)(false);
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this));
  }
  /**
   * Handles the combined stream to fetch teams and select the appropriate team
   * based on route parameters and subject emissions.
   */
  initializeTeamSelection() {
    (0,rxjs__WEBPACK_IMPORTED_MODULE_10__/* .combineLatest */ .z)([this.subject$, this._activatedRoute.queryParams]).pipe(
    // Switch to a new observable each time the source observables emit
    (0,rxjs__WEBPACK_IMPORTED_MODULE_11__/* .switchMap */ .n)(([_, queryParams]) =>
    // Fetch teams and handle errors during retrieval
    (0,rxjs__WEBPACK_IMPORTED_MODULE_12__/* .from */ .H)(this.getTeams()).pipe(
    // Return the teamId from queryParams on success
    (0,rxjs__WEBPACK_IMPORTED_MODULE_7__/* .map */ .T)(() => queryParams.teamId),
    // Handle any errors that occur during team fetching
    (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .catchError */ .W)(error => {
      console.error('Error fetching teams:', error);
      return (0,rxjs__WEBPACK_IMPORTED_MODULE_9__.of)(null); // Return a null value to prevent team selection on error
    }))),
    // After fetching, select the team if teamId exists
    (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(teamId => {
      if (teamId) {
        this.selectTeamById(teamId);
      }
    }),
    // Automatically unsubscribe when the component is destroyed
    (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Handles changes in the selected organization.
   *
   * Updates the local organization property and triggers a team fetch.
   */
  initializeOrganizationSelection() {
    this._store.selectedOrganization$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(organization => this.organization = organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .tap */ .M)(() => this.subject$.next(true)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Retrieves teams based on specified parameters.
   * If an employee ID is provided, retrieves teams associated with that employee.
   * Otherwise, retrieves all teams for the organization. Optionally inserts an "All Projects" option.
   */
  getTeams() {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      // Return early if the organization is not defined
      if (!_this2.organization) {
        console.warn('Organization is not defined.');
        return;
      }
      const {
        id: organizationId,
        tenantId
      } = _this2.organization;
      // Construct query options
      const queryOptions = {
        organizationId,
        tenantId,
        ...(_this2.projectId && {
          projects: {
            id: _this2.projectId
          }
        })
      };
      try {
        // Retrieve teams based on whether employeeId is provided
        const teamsResponse = _this2.employeeId ? yield _this2._organizationTeamsService.getMyTeams({
          ...queryOptions,
          members: {
            employeeId: _this2.employeeId
          }
        }) : yield _this2._organizationTeamsService.getAll([], queryOptions);
        // Assign teams from response
        _this2.teams = teamsResponse.items || [];
        // Optionally add "All Projects" option
        if (_this2.showAllOption) {
          _this2.teams.unshift(_default_team__WEBPACK_IMPORTED_MODULE_14__/* .ALL_TEAM_SELECTED */ .Y);
          _this2.selectTeam(_default_team__WEBPACK_IMPORTED_MODULE_14__/* .ALL_TEAM_SELECTED */ .Y);
        }
      } catch (error) {
        console.error('Error retrieving teams:', error);
        _this2._errorHandlingService.handleError(error);
      }
    })();
  }
  /**
   * Writes a value to the component, handling single or multiple selection modes.
   *
   * @param {ID | ID[]} value - The value(s) to write, either a single ID or IDs.
   */
  writeValue(value) {
    this._organizationTeamId = this.multiple ? Array.isArray(value) ? value : [value] : value;
  }
  /**
   * Registers a callback function to be called when the control's value changes.
   * This method is used by Angular forms to bind the model to the view.
   *
   * @param fn - The callback function to register for the 'onChange' event.
   */
  registerOnChange(fn) {
    this.onChange = fn;
  }
  /**
   * Registers a callback function to be called when the component is touched.
   * @param {() => void} fn - The callback function to register.
   */
  registerOnTouched(fn) {
    this.onTouched = fn;
  }
  /**
   * Sets the disabled state of the component.
   *
   * @param {boolean} isDisabled - The disabled state to set.
   */
  setDisabledState(isDisabled) {
    this.disabled = isDisabled;
  }
  /**
   * Adds a newly created organization team to the dropdown list.
   *
   * @param team - The new organization team to add.
   */
  createOrganizationTeam(team) {
    if (!team) {
      console.warn('Invalid team or empty team provided.');
      return; // Ensure the team is valid and not empty before proceeding.
    }
    this.teams = [...(this.teams || []), team].filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__/* .isNotEmpty */ .hj);
  }
  /**
   * Updates an existing organization team in the dropdown.
   *
   * @param team - The updated organization team.
   */
  updateOrganizationTeam(team) {
    if (!team || !team.id) {
      console.warn('Invalid team or empty team provided.');
      return; // Ensure the team and its ID are valid before proceeding.
    }
    this.teams = (this.teams || []).map(item => item.id === team.id ? {
      ...item,
      ...team
    } : item).filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__/* .isNotEmpty */ .hj);
  }
  /**
   * Removes a deleted organization team from the dropdown.
   *
   * @param team - The organization team to remove.
   */
  deleteOrganizationTeam(team) {
    if (!team || !team.id) {
      console.warn('Invalid team or empty team provided.');
      return; // Ensure the team and its ID are valid before proceeding.
    }
    this.teams = (this.teams || []).filter(item => item.id !== team.id).filter(_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__/* .isNotEmpty */ .hj);
  }
  selectTeam(team) {
    if (!this.skipGlobalChange) {
      this._store.selectedTeam = team || _default_team__WEBPACK_IMPORTED_MODULE_14__/* .ALL_TEAM_SELECTED */ .Y;
      this.setAttributesToParams({
        teamId: team?.id
      });
    }
    this.selectedTeam = team || _default_team__WEBPACK_IMPORTED_MODULE_14__/* .ALL_TEAM_SELECTED */ .Y;
    this.organizationTeamId = this.selectedTeam.id;
    this.onChanged.emit(team);
  }
  /**
   * Sets attributes to the current navigation parameters.
   * @param params An object containing key-value pairs representing the parameters to set.
   */
  setAttributesToParams(params) {
    var _this3 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(function* () {
      yield _this3._navigationService.updateQueryParams(params);
    })();
  }
  /**
   * Selects a team by its ID.
   *
   * @param teamId - The ID of the team to select.
   */
  selectTeamById(teamId) {
    const team = this.teams.find(team => teamId === team.id);
    if (team) {
      this.selectTeam(team);
    }
  }
  /**
   * Determines if the "clear" option should be displayed in the team selector.
   *
   * @returns True if the "clear" option should be displayed, false otherwise.
   */
  isClearable() {
    return this.selectedTeam !== _default_team__WEBPACK_IMPORTED_MODULE_14__/* .ALL_TEAM_SELECTED */ .Y;
  }
  /**
   * Returns a shortened version of the name, with truncation applied to both first and last names.
   *
   * @param {string} name - The full name to be shortened.
   * @param {number} [limit=20] - The maximum character limit for the shortened name.
   * @returns {string | undefined} - The shortened name, or undefined if the name is empty.
   */
  getShortenedName(name, limit = 20) {
    if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__/* .isEmpty */ .Im)(name)) {
      return;
    }
    const chunks = name.split(/\s+/);
    const firstName = chunks.shift();
    const lastName = chunks.join(' ');
    // If both first and last names exist, truncate both
    if (firstName && lastName) {
      return this._truncatePipe.transform(firstName, Math.floor(limit / 2), false, '') + ' ' + this._truncatePipe.transform(lastName, Math.floor(limit / 2), false, '.');
    }
    // Fallback to truncating either firstName or lastName if available
    return this._truncatePipe.transform(firstName || lastName, limit) || '[error: bad name]';
  }
  /**
   * Clears the selected team value if the "Show All" option is disabled.
   */
  clearSelection() {
    if (!this.showAllOption) {
      this.organizationTeamId = null;
    }
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function TeamSelectorComponent_Factory(t) {
      return new (t || TeamSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_15__/* .ActivatedRoute */ .nX), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .OrganizationTeamsService */ .F), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__/* .ToastrService */ .t), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .ErrorHandlingService */ .X), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_20__/* .OrganizationTeamStore */ .yM), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_pipes__WEBPACK_IMPORTED_MODULE_21__/* .TruncatePipe */ .H), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__/* .NavigationService */ .o));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
      type: TeamSelectorComponent,
      selectors: [["ga-team-selector"]],
      inputs: {
        shortened: "shortened",
        disabled: "disabled",
        multiple: "multiple",
        label: "label",
        placeholder: "placeholder",
        skipGlobalChange: "skipGlobalChange",
        defaultSelected: "defaultSelected",
        showAllOption: "showAllOption",
        organizationTeamId: "organizationTeamId",
        employeeId: "employeeId",
        projectId: "projectId"
      },
      outputs: {
        onChanged: "onChanged"
      },
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵProvidersFeature"] */ .Jv_([{
        provide: _angular_forms__WEBPACK_IMPORTED_MODULE_23__/* .NG_VALUE_ACCESSOR */ .kq,
        useExisting: (0,_angular_core__WEBPACK_IMPORTED_MODULE_1__/* .forwardRef */ .Rfq)(() => TeamSelectorComponent_1),
        multi: true
      }])],
      decls: 4,
      vars: 3,
      consts: [["class", "label", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["multipleSelect", ""], [1, "label"], ["bindValue", "id", "bindLabel", "name", "appendTo", "body", "fullWidth", "", 3, "addTag", "multiple", "clearable", "disabled", "items", "ngModel", "placeholder", "addTagText", "ngModelChange", "change", "clear"], ["select", ""], [4, "ngIf"], ["ng-option-tmp", ""], ["ng-label-tmp", ""], ["width", "20px", "height", "20px", 3, "src", 4, "ngIf"], ["width", "20px", "height", "20px", 3, "src"], [1, "selector-template"], ["fullWidth", "", 1, "multiple-select", 3, "disabled", "multiple", "selected", "placeholder", "selectedChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]],
      template: function TeamSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(0, TeamSelectorComponent_label_0_Template, 3, 3, "label", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(1, TeamSelectorComponent_ng_container_1_Template, 7, 15, "ng-container", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(2, TeamSelectorComponent_ng_template_2_Template, 3, 7, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
        }
        if (rf & 2) {
          const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵreference"] */ .sdS(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.label);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx.multiple)("ngIfElse", _r2);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_24__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_24__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_25__/* .NbSelectComponent */ .S81, _nebular_theme__WEBPACK_IMPORTED_MODULE_25__/* .NbOptionComponent */ .ZJ2, _angular_forms__WEBPACK_IMPORTED_MODULE_23__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_23__/* .NgModel */ .vS, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_26__/* .NgSelectComponent */ .vr, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_26__/* .NgOptionTemplateDirective */ .Uq, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_26__/* .NgLabelTemplateDirective */ .ZZ, _angular_common__WEBPACK_IMPORTED_MODULE_24__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_27__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n  min-width: 200px;\n  display: block;\n}\n[_nghost-%COMP%]   .multiple-select[_ngcontent-%COMP%] {\n  width: 100%;\n}\n[_nghost-%COMP%]   ng-select[_ngcontent-%COMP%]   .selector-template[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  height: 100%;\n}\n[_nghost-%COMP%]   ng-select[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  margin-right: 5px;\n  border-radius: var(--button-rectangle-border-radius);\n}\n[_nghost-%COMP%]     .ng-select .ng-select-container .ng-value-container {\n  align-items: center;\n  padding-left: 5px;\n}\n\nimg[_ngcontent-%COMP%] {\n  object-fit: cover;\n}"]
    });
  }
};
TeamSelectorComponent = TeamSelectorComponent_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_28__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_6__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_28__/* .__metadata */ .Sn)("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_15__/* .ActivatedRoute */ .nX, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .OrganizationTeamsService */ .F, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_18__/* .ToastrService */ .t, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_19__/* .ErrorHandlingService */ .X, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_20__/* .OrganizationTeamStore */ .yM, _pipes__WEBPACK_IMPORTED_MODULE_21__/* .TruncatePipe */ .H, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__/* .NavigationService */ .o])], TeamSelectorComponent);

/***/ }),

/***/ 53530:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: () => (/* binding */ SharedModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(91265);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76149);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58063);
/* harmony import */ var _components_components_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50786);
/* harmony import */ var _directives_directives_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48154);
/* harmony import */ var _pipes_pipes_module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(11924);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(82817);









const IMPORTS_EXPORTS = [_angular_common__WEBPACK_IMPORTED_MODULE_0__/* .CommonModule */ .MD, _angular_forms__WEBPACK_IMPORTED_MODULE_1__/* .FormsModule */ .YN, _angular_forms__WEBPACK_IMPORTED_MODULE_1__/* .ReactiveFormsModule */ .X1, _angular_router__WEBPACK_IMPORTED_MODULE_2__/* .RouterModule */ .iI, ngx_permissions__WEBPACK_IMPORTED_MODULE_3__/* .NgxPermissionsModule */ .Ov, _components_components_module__WEBPACK_IMPORTED_MODULE_4__/* .ComponentsModule */ .h, _directives_directives_module__WEBPACK_IMPORTED_MODULE_5__/* .DirectivesModule */ .h, _pipes_pipes_module__WEBPACK_IMPORTED_MODULE_6__/* .PipesModule */ .Y];
let SharedModule = /*#__PURE__*/(() => {
  class SharedModule {
    /**
     * Returns a ModuleWithProviders object that specifies the SharedModule and its providers.
     *
     * @return {ModuleWithProviders<SharedModule>} A ModuleWithProviders object with the SharedModule and its providers.
     */
    static forRoot() {
      return {
        ngModule: SharedModule,
        providers: []
      };
    }
    static {
      this.ɵfac = function SharedModule_Factory(t) {
        return new (t || SharedModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdefineNgModule"] */ .$C({
        type: SharedModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [IMPORTS_EXPORTS, _angular_common__WEBPACK_IMPORTED_MODULE_0__/* .CommonModule */ .MD, _angular_forms__WEBPACK_IMPORTED_MODULE_1__/* .FormsModule */ .YN, _angular_forms__WEBPACK_IMPORTED_MODULE_1__/* .ReactiveFormsModule */ .X1, _angular_router__WEBPACK_IMPORTED_MODULE_2__/* .RouterModule */ .iI, ngx_permissions__WEBPACK_IMPORTED_MODULE_3__/* .NgxPermissionsModule */ .Ov, _components_components_module__WEBPACK_IMPORTED_MODULE_4__/* .ComponentsModule */ .h, _directives_directives_module__WEBPACK_IMPORTED_MODULE_5__/* .DirectivesModule */ .h, _pipes_pipes_module__WEBPACK_IMPORTED_MODULE_6__/* .PipesModule */ .Y]
      });
    }
  }
  return SharedModule;
})();

/***/ }),

/***/ 54115:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: () => (/* binding */ TaskSelectModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91265);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5062);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);






let TaskSelectModule = /*#__PURE__*/(() => {
  class TaskSelectModule {
    static {
      this.ɵfac = function TaskSelectModule_Factory(t) {
        return new (t || TaskSelectModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: TaskSelectModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _angular_forms__WEBPACK_IMPORTED_MODULE_2__/* .FormsModule */ .YN, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_3__/* .NgSelectModule */ .MQ, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateModule */ .h.forChild()]
      });
    }
  }
  return TaskSelectModule;
})();

/***/ }),

/***/ 76711:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   W: () => (/* binding */ TaskSelectorComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(82817);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(91265);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77271);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(43038);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65670);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51717);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(31496);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(75107);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(92674);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(5062);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(42089);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(61198);

var TaskSelectorComponent_1;















let TaskSelectorComponent = class TaskSelectorComponent {
  static {
    TaskSelectorComponent_1 = this;
  }
  get disabled() {
    return this._disabled;
  }
  set disabled(value) {
    this._disabled = value;
  }
  get addTag() {
    return this._addTag;
  }
  set addTag(value) {
    this._addTag = value;
  }
  get projectId() {
    return this._projectId;
  }
  set projectId(value) {
    this._projectId = value;
    this.subject$.next(true);
  }
  get employeeId() {
    return this._employeeId;
  }
  set employeeId(value) {
    this._employeeId = value;
    this.subject$.next(true);
  }
  get taskId() {
    return this._taskId;
  }
  set taskId(value) {
    this._taskId = value;
    this.onChange(value);
    this.onTouched(value);
  }
  constructor(tasksService, toastrService, store, authService) {
    var _this = this;
    this.tasksService = tasksService;
    this.toastrService = toastrService;
    this.store = store;
    this.authService = authService;
    /*
     * Getter & Setter for dynamic enabled/disabled element
     */
    this._disabled = false;
    /*
     * Getter & Setter for dynamic add task option
     */
    this._addTag = true;
    this.tasks = [];
    this.subject$ = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .Subject */ .B();
    this.onChange = () => {};
    this.onTouched = () => {};
    /**
     * Creates a new task with the given title.
     * @param {string} title - The title of the new task.
     * @returns {Promise<void>} - A Promise that resolves when the task is created.
     */
    this.createNew = /*#__PURE__*/function () {
      var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* (title) {
        try {
          // Check if organization or title is not defined, return if so
          if (!_this.organization || !title) {
            return;
          }
          // Extract organization and tenant IDs
          const {
            id: organizationId,
            tenantId
          } = _this.organization;
          // Extract employee ID from store user
          const {
            employee
          } = _this.store.user;
          const employeeId = employee?.id;
          // Prepare member object
          const member = {
            id: _this.employeeId || employeeId
          };
          // Create the task
          const task = yield (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .firstValueFrom */ ._)(_this.tasksService.createTask({
            title,
            organizationId,
            tenantId,
            status: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TaskStatusEnum.IN_PROGRESS,
            ...(member.id && {
              members: [member]
            }),
            ...(_this.projectId && {
              projectId: _this.projectId
            })
          }));
          // Update tasks list and taskId
          _this.tasks = [..._this.tasks, task];
          _this.taskId = task.id;
        } catch (error) {
          // Show error message if task creation fails
          _this.toastrService.error(error);
        }
      });
      return function (_x) {
        return _ref.apply(this, arguments);
      };
    }();
  }
  ngOnInit() {
    this.hasPermissionAddTask$ = this.authService.hasPermissions(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ALL_ORG_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.PermissionsEnum.ORG_TASK_ADD);
    this.subject$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(() => this.getTasks()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .untilDestroyed */ .s)(this)).subscribe();
    this.store.selectedOrganization$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_6__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(organization => this.organization = organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(() => this.subject$.next(true)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  writeValue(value) {
    this.taskId = value;
  }
  registerOnChange(fn) {
    this.onChange = fn;
  }
  registerOnTouched(fn) {
    this.onTouched = fn;
  }
  setDisabledState(isDisabled) {
    this.disabled = isDisabled;
  }
  /**
   * Retrieves tasks based on organization, employee, and project.
   * @returns {Promise<void>} - A Promise that resolves when tasks are retrieved.
   */
  getTasks() {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(function* () {
      try {
        // Check if organization is not defined, return if so
        if (!_this2.organization) {
          return;
        }
        // Extract organization and tenant IDs
        const {
          id: organizationId,
          tenantId
        } = _this2.organization;
        // Prepare query parameters
        const queryOption = {
          ...(_this2.projectId ? {
            projectId: _this2.projectId
          } : {}),
          organizationId,
          tenantId
        };
        // Retrieve tasks based on employee or all tasks
        if (_this2.employeeId) {
          _this2.tasks = yield _this2.tasksService.getAllTasksByEmployee(_this2.employeeId, {
            where: queryOption
          });
        } else {
          const {
            items = []
          } = yield (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .firstValueFrom */ ._)(_this2.tasksService.getAllTasks({
            ...queryOption
          }));
          _this2.tasks = items;
        }
      } catch (error) {
        // Log error if task retrieval fails
        console.error('Error while retrieving tasks:', error);
      }
    })();
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function TaskSelectorComponent_Factory(t) {
      return new (t || TaskSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .TasksService */ .w), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .ToastrService */ .t), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__/* .AuthService */ .u));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdefineComponent"] */ .VBU({
      type: TaskSelectorComponent,
      selectors: [["ga-task-selector"]],
      inputs: {
        disabled: "disabled",
        addTag: "addTag",
        projectId: "projectId",
        employeeId: "employeeId"
      },
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵProvidersFeature"] */ .Jv_([{
        provide: _angular_forms__WEBPACK_IMPORTED_MODULE_13__/* .NG_VALUE_ACCESSOR */ .kq,
        useExisting: (0,_angular_core__WEBPACK_IMPORTED_MODULE_8__/* .forwardRef */ .Rfq)(() => TaskSelectorComponent_1),
        multi: true
      }])],
      decls: 4,
      vars: 10,
      consts: [[3, "click"], ["bindValue", "id", "bindLabel", "title", "appendTo", "body", 3, "addTag", "disabled", "clearable", "items", "ngModel", "placeholder", "ngModelChange"]],
      template: function TaskSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵelementStart"] */ .j41(0, "div", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵlistener"] */ .bIt("click", function TaskSelectorComponent_Template_div_click_0_listener($event) {
            return $event.stopPropagation();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵelementStart"] */ .j41(1, "ng-select", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TaskSelectorComponent_Template_ng_select_ngModelChange_1_listener($event) {
            return ctx.taskId = $event;
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵpipe"] */ .nI1(2, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵpipe"] */ .nI1(3, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵelementEnd"] */ .k0s()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵproperty"] */ .Y8G("addTag", _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵpipeBind1"] */ .bMT(2, 6, ctx.hasPermissionAddTask$) && ctx.addTag ? ctx.createNew : null)("disabled", ctx.disabled)("clearable", true)("items", ctx.tasks)("ngModel", ctx.taskId)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵpipeBind1"] */ .bMT(3, 8, "TIMER_TRACKER.SELECT_TASK"));
        }
      },
      dependencies: [_angular_forms__WEBPACK_IMPORTED_MODULE_13__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_13__/* .NgModel */ .vS, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_14__/* .NgSelectComponent */ .vr, _angular_common__WEBPACK_IMPORTED_MODULE_15__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_16__/* .TranslatePipe */ .D9],
      encapsulation: 2
    });
  }
};
TaskSelectorComponent = TaskSelectorComponent_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_17__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_17__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .TasksService */ .w, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .ToastrService */ .t, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__/* .AuthService */ .u])], TaskSelectorComponent);

/***/ }),

/***/ 60152:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   U: () => (/* binding */ BrowserExtensionTimerIcon)
/* harmony export */ });
/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92335);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30795);



class BrowserExtensionTimerIcon extends _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__/* .TimerIcon */ .x {
  constructor() {
    super();
    this.source = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.BROWSER_EXTENSION;
    this.name = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__/* .faBox */ .THi;
  }
}

/***/ }),

/***/ 74376:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: () => (/* binding */ DesktopTimerIcon)
/* harmony export */ });
/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92335);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30795);



class DesktopTimerIcon extends _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__/* .TimerIcon */ .x {
  constructor() {
    super();
    this.source = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.DESKTOP;
    this.name = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__/* .faDesktop */ .ArK;
  }
}

/***/ }),

/***/ 10723:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: () => (/* binding */ HubstaffTimerIcon)
/* harmony export */ });
/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92335);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30795);



class HubstaffTimerIcon extends _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__/* .TimerIcon */ .x {
  constructor() {
    super();
    this.source = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.HUBSTAFF;
    this.name = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__/* .faArrowsTurnToDots */ .If6;
  }
}

/***/ }),

/***/ 91100:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $: () => (/* binding */ MobileTimerIcon)
/* harmony export */ });
/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92335);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30795);



class MobileTimerIcon extends _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__/* .TimerIcon */ .x {
  constructor() {
    super();
    this.source = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.MOBILE;
    this.name = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__/* .faMobile */ .GrJ;
  }
}

/***/ }),

/***/ 7761:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   I: () => (/* binding */ TeamTimerIcon)
/* harmony export */ });
/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92335);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30795);



class TeamTimerIcon extends _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__/* .TimerIcon */ .x {
  constructor() {
    super();
    this.source = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.TEAMS;
    this.name = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__/* .faUsers */ .gdJ;
  }
}

/***/ }),

/***/ 6600:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: () => (/* binding */ TimerSynced)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);

class TimerSynced {
  constructor(timeLog) {
    this._source = timeLog.source;
    this._isRunning = timeLog.isRunning;
    this._startedAt = timeLog.startedAt;
    this._stoppedAt = timeLog.stoppedAt;
    this._lastLog = timeLog;
  }
  get isExternalSource() {
    return this.source !== _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.WEB_TIMER;
  }
  get lastLog() {
    return this._lastLog;
  }
  set lastLog(value) {
    this._lastLog = value;
  }
  get source() {
    return this._source;
  }
  set source(value) {
    this._source = value;
  }
  get running() {
    return this._isRunning;
  }
  set running(value) {
    this._isRunning = value;
  }
  get startedAt() {
    return this._startedAt;
  }
  set startedAt(value) {
    this._startedAt = value;
  }
  get stoppedAt() {
    return this._stoppedAt;
  }
  set stoppedAt(value) {
    this._stoppedAt = value;
  }
}

/***/ }),

/***/ 28489:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: () => (/* binding */ UpworkTimerIcon)
/* harmony export */ });
/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92335);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30795);



class UpworkTimerIcon extends _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__/* .TimerIcon */ .x {
  constructor() {
    super();
    this.source = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.UPWORK;
    this.name = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__/* .faArrowTurnUp */ .Hmw;
  }
}

/***/ }),

/***/ 85958:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: () => (/* binding */ WebTimerIcon)
/* harmony export */ });
/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92335);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30795);



class WebTimerIcon extends _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__/* .TimerIcon */ .x {
  constructor() {
    super();
    this.source = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.WEB_TIMER;
    this.name = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_2__/* .faGlobe */ .Bwz;
  }
}

/***/ }),

/***/ 59678:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: () => (/* binding */ TimerIconFactory)
/* harmony export */ });
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _concretes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(91100);
/* harmony import */ var _concretes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74376);
/* harmony import */ var _concretes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60152);
/* harmony import */ var _concretes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10723);
/* harmony import */ var _concretes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(28489);
/* harmony import */ var _concretes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7761);
/* harmony import */ var _concretes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85958);


class TimerIconFactory {
  static create(source) {
    switch (source) {
      case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.MOBILE:
        return new _concretes__WEBPACK_IMPORTED_MODULE_1__/* .MobileTimerIcon */ .$();
      case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.DESKTOP:
        return new _concretes__WEBPACK_IMPORTED_MODULE_2__/* .DesktopTimerIcon */ .h();
      case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.BROWSER_EXTENSION:
        return new _concretes__WEBPACK_IMPORTED_MODULE_3__/* .BrowserExtensionTimerIcon */ .U();
      case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.HUBSTAFF:
        return new _concretes__WEBPACK_IMPORTED_MODULE_4__/* .HubstaffTimerIcon */ .K();
      case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.UPWORK:
        return new _concretes__WEBPACK_IMPORTED_MODULE_5__/* .UpworkTimerIcon */ .X();
      case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.TimeLogSourceEnum.TEAMS:
        return new _concretes__WEBPACK_IMPORTED_MODULE_6__/* .TeamTimerIcon */ .I();
      default:
        return new _concretes__WEBPACK_IMPORTED_MODULE_7__/* .WebTimerIcon */ .L();
    }
  }
}

/***/ }),

/***/ 21679:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: () => (/* binding */ TimeTrackerStatusComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _time_tracker_status_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6791);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42089);
/* harmony import */ var _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80933);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61198);







const _c0 = function (a0) {
  return {
    source: a0
  };
};
function TimeTrackerStatusComponent_div_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "fa-icon", 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(4, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind2"] */ .i5U(2, 2, "TIMER_TRACKER.STATUS", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction1"] */ .eq3(9, _c0, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 5, ctx_r0.icon$).source)))("icon", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(4, 7, ctx_r0.icon$).name);
  }
}
let TimeTrackerStatusComponent = /*#__PURE__*/(() => {
  class TimeTrackerStatusComponent {
    constructor(_timeTrackerStatusService) {
      this._timeTrackerStatusService = _timeTrackerStatusService;
    }
    get icon$() {
      return this._timeTrackerStatusService.icon$;
    }
    static {
      this.ɵfac = function TimeTrackerStatusComponent_Factory(t) {
        return new (t || TimeTrackerStatusComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_time_tracker_status_service__WEBPACK_IMPORTED_MODULE_1__/* .TimeTrackerStatusService */ .J));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: TimeTrackerStatusComponent,
        selectors: [["ga-time-tracker-status"]],
        decls: 2,
        vars: 3,
        consts: [[4, "ngIf"], [3, "nbTooltip", "icon"]],
        template: function TimeTrackerStatusComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(0, TimeTrackerStatusComponent_div_0_Template, 5, 11, "div", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(1, "async");
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, ctx.icon$));
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_2__/* .NgIf */ .bT, _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_3__/* .FaIconComponent */ .aY, _nebular_theme__WEBPACK_IMPORTED_MODULE_4__/* .NbTooltipDirective */ .BmQ, _angular_common__WEBPACK_IMPORTED_MODULE_2__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__/* .TranslatePipe */ .D9],
        styles: ["div[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n\n[_nghost-%COMP%]     svg {\n  width: 1rem;\n}"]
      });
    }
  }
  return TimeTrackerStatusComponent;
})();

/***/ }),

/***/ 6830:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: () => (/* binding */ TimeTrackerStatusModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42089);
/* harmony import */ var _time_tracker_status_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6791);
/* harmony import */ var _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80933);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51170);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);







let TimeTrackerStatusModule = /*#__PURE__*/(() => {
  class TimeTrackerStatusModule {
    static {
      this.ɵfac = function TimeTrackerStatusModule_Factory(t) {
        return new (t || TimeTrackerStatusModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: TimeTrackerStatusModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        providers: [_time_tracker_status_service__WEBPACK_IMPORTED_MODULE_1__/* .TimeTrackerStatusService */ .J],
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_2__/* .CommonModule */ .MD, _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_3__/* .FontAwesomeModule */ .dX, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateModule */ .h.forChild(), _nebular_theme__WEBPACK_IMPORTED_MODULE_5__/* .NbTooltipModule */ .IB0]
      });
    }
  }
  return TimeTrackerStatusModule;
})();

/***/ }),

/***/ 6791:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: () => (/* binding */ TimeTrackerStatusService)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(55598);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(77271);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66791);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34515);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54530);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97957);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76447);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(45484);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24530);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(65670);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(92420);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(51717);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(29610);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(84076);
/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(59678);
/* harmony import */ var _concretes__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(6600);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(82817);









let TimeTrackerStatusService = class TimeTrackerStatusService {
  constructor(_timeTrackerService, _store) {
    this._timeTrackerService = _timeTrackerService;
    this._store = _store;
    this._icon$ = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .BehaviorSubject */ .t(null);
    this._external$ = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .Subject */ .B();
    this._userUpdate$ = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .Subject */ .B();
    (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .defer */ .v)(() => (0,rxjs__WEBPACK_IMPORTED_MODULE_3__.of)(!!this._store.token && !!this._store.user?.employee).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .switchMap */ .n)(isEmployeeLoggedIn => isEmployeeLoggedIn ? (0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .from */ .H)(this.status()).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_6__/* .catchError */ .W)(() => rxjs__WEBPACK_IMPORTED_MODULE_7__/* .EMPTY */ .w), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)) : rxjs__WEBPACK_IMPORTED_MODULE_7__/* .EMPTY */ .w), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this))).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_9__/* .tap */ .M)(status => {
      const remoteTimer = new _concretes__WEBPACK_IMPORTED_MODULE_10__/* .TimerSynced */ .G({
        ...status.lastLog,
        duration: status.duration
      });
      this._icon$.next(_factory__WEBPACK_IMPORTED_MODULE_11__/* .TimerIconFactory */ .p.create(remoteTimer.source));
      if (!remoteTimer.running || !remoteTimer.isExternalSource) this._icon$.next(null);
      this._external$.next(remoteTimer);
    }), (0,rxjs__WEBPACK_IMPORTED_MODULE_12__/* .repeat */ .u)({
      delay: () => this._timeTrackerService.timer$
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)).subscribe();
    this.external$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__/* .distinctUntilChange */ .nI)(), (0,rxjs__WEBPACK_IMPORTED_MODULE_9__/* .tap */ .M)(synced => {
      this._timeTrackerService.timerSynced = synced;
      this._userUpdate$.next(synced.lastLog.employee);
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)).subscribe();
    this._userUpdate$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_13__/* .distinctUntilChange */ .nI)(), (0,rxjs__WEBPACK_IMPORTED_MODULE_14__/* .filter */ .p)(employee => !!employee), (0,rxjs__WEBPACK_IMPORTED_MODULE_9__/* .tap */ .M)(employee => {
      this._store.user = {
        ...this._store.user,
        employee
      };
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  get icon$() {
    return this._icon$.asObservable();
  }
  get external$() {
    return this._external$.asObservable();
  }
  status() {
    const {
      tenantId,
      organizationId
    } = this._timeTrackerService.timerConfig;
    return this._timeTrackerService.getTimerStatus({
      tenantId,
      organizationId,
      relations: ['employee']
    });
  }
  static {
    this.ɵfac = function TimeTrackerStatusService_Factory(t) {
      return new (t || TimeTrackerStatusService)(_angular_core__WEBPACK_IMPORTED_MODULE_15__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .TimeTrackerService */ .Bj), _angular_core__WEBPACK_IMPORTED_MODULE_15__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .Store */ .il));
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_15__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: TimeTrackerStatusService,
      factory: TimeTrackerStatusService.ɵfac,
      providedIn: 'root'
    });
  }
};
TimeTrackerStatusService = (0,tslib__WEBPACK_IMPORTED_MODULE_18__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_8__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_18__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_16__/* .TimeTrackerService */ .Bj, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_17__/* .Store */ .il])], TimeTrackerStatusService);

/***/ }),

/***/ 22162:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   u: () => (/* binding */ TimeTrackerModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91265);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76149);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51170);
/* harmony import */ var ngx_draggable_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(36033);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(58063);
/* harmony import */ var _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80933);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(61198);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29610);
/* harmony import */ var _components_time_tracker_status_time_tracker_status_module__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(6830);
/* harmony import */ var _shared_module__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(53530);
/* harmony import */ var _timer_picker_timer_picker_module__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(86666);
/* harmony import */ var _tasks_task_select_task_select_module__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(54115);
/* harmony import */ var _selectors_project_project_module__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(41199);
/* harmony import */ var _selectors_team_team_module__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(40663);
/* harmony import */ var _contact_selector_contact_selector_module__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(11190);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);




















let TimeTrackerModule = /*#__PURE__*/(() => {
  class TimeTrackerModule {
    /**
     * Returns a ModuleWithProviders object that specifies the TimeTrackerModule and its providers.
     *
     * @return {ModuleWithProviders<TimeTrackerModule>} A ModuleWithProviders object with the TimeTrackerModule and its providers.
     */
    static forRoot() {
      return {
        ngModule: TimeTrackerModule,
        providers: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_0__/* .TimeTrackerService */ .Bj]
      };
    }
    static {
      this.ɵfac = function TimeTrackerModule_Factory(t) {
        return new (t || TimeTrackerModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineNgModule"] */ .$C({
        type: TimeTrackerModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_2__/* .CommonModule */ .MD, _angular_forms__WEBPACK_IMPORTED_MODULE_3__/* .FormsModule */ .YN, _angular_router__WEBPACK_IMPORTED_MODULE_4__/* .RouterModule */ .iI, _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_5__/* .FontAwesomeModule */ .dX, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbAlertModule */ .dQU, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbCheckboxModule */ .Ad8, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbDatepickerModule */ .TgK, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbIconModule */ .clu, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbTooltipModule */ .IB0, ngx_draggable_dom__WEBPACK_IMPORTED_MODULE_7__/* .NgxDraggableDomModule */ .Rd, ngx_permissions__WEBPACK_IMPORTED_MODULE_8__/* .NgxPermissionsModule */ .Ov.forChild(), _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__/* .TranslateModule */ .h.forChild(), _shared_module__WEBPACK_IMPORTED_MODULE_10__/* .SharedModule */ .G, _timer_picker_timer_picker_module__WEBPACK_IMPORTED_MODULE_11__/* .TimerPickerModule */ .O, _tasks_task_select_task_select_module__WEBPACK_IMPORTED_MODULE_12__/* .TaskSelectModule */ .k, _selectors_project_project_module__WEBPACK_IMPORTED_MODULE_13__/* .ProjectSelectModule */ .A, _selectors_team_team_module__WEBPACK_IMPORTED_MODULE_14__/* .TeamSelectModule */ .i, _contact_selector_contact_selector_module__WEBPACK_IMPORTED_MODULE_15__/* .ContactSelectorModule */ .q, _components_time_tracker_status_time_tracker_status_module__WEBPACK_IMPORTED_MODULE_16__/* .TimeTrackerStatusModule */ .O]
      });
    }
  }
  return TimeTrackerModule;
})();

/***/ }),

/***/ 10956:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: () => (/* binding */ TimeTrackerComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(55598);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(91265);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(51170);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(77271);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65670);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(58063);
/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92335);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57328);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(29610);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8820);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(75107);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(47516);
/* harmony import */ var _components_time_tracker_status_time_tracker_status_service__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(6791);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(42089);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(76149);
/* harmony import */ var _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(80933);
/* harmony import */ var ngx_draggable_dom__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(36033);
/* harmony import */ var _directives_time_tracking_authorized_directive__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(74365);
/* harmony import */ var _timer_picker_timer_range_picker_timer_range_picker_component__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(21266);
/* harmony import */ var _tasks_task_select_task_task_component__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(76711);
/* harmony import */ var _selectors_project_project_project_component__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(1182);
/* harmony import */ var _selectors_team_team_team_component__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(876);
/* harmony import */ var _contact_selector_contact_selector_component__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(13095);
/* harmony import */ var _components_time_tracker_status_time_tracker_status_component__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(21679);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(61198);
































function TimeTrackerComponent_ng_template_0_button_3_Template(rf, ctx) {
  if (rf & 1) {
    const _r8 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "button", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_button_3_Template_button_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r8);
      const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r7.isExpanded = true);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(1, "nb-icon", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
}
function TimeTrackerComponent_ng_template_0_button_4_Template(rf, ctx) {
  if (rf & 1) {
    const _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "button", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_button_4_Template_button_click_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r10);
      const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      $event.stopPropagation();
      ctx_r9.setTimeType(ctx_r9.timeLogType.TRACKED);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r9.isExpanded = false);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(1, "nb-icon", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
}
function TimeTrackerComponent_ng_template_0_ng_template_10_h6_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "h6");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(2, 1, "TIMER_TRACKER.TIMER"), " ");
  }
}
function TimeTrackerComponent_ng_template_0_ng_template_10_Template(rf, ctx) {
  if (rf & 1) {
    const _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(1, TimeTrackerComponent_ng_template_0_ng_template_10_h6_1_Template, 3, 3, "h6", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(2, "div", 23)(3, "div", 24)(4, "div", 25)(5, "div", 26)(6, "button", 27);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_ng_template_10_Template_button_click_6_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r13);
      const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      $event.stopPropagation();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r12.isBillable = !ctx_r12.isBillable);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(7, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(8, " $ ");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(9, "div", 28)(10, "span", 29);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(11);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(12, "span", 30);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(13);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(14, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(15, "ga-time-tracker-status", 31);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(16, "div", 32)(17, "div", 33)(18, "button", 34);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_ng_template_10_Template_button_click_18_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r13);
      const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r14.toggleTimer(true));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(19, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(20, "fa-icon", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()()()()()()();
  }
  if (rf & 2) {
    const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r4.isExpanded);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("status", ctx_r4.isBillable ? "primary" : "basic")("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(7, 12, "TIMER_TRACKER.IS_BILLABLE"))("disabled", ctx_r4.running);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r4.currentSessionTime, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate2"] */ .Lme(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(14, 14, "TIMER_TRACKER.TODAY"), " ", ctx_r4.todaySessionTime, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("status", ctx_r4.running ? "danger" : "success")("ngClass", ctx_r4.running ? "" : "button success")("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(19, 16, ctx_r4.running ? "TIMER_TRACKER.STOP_TIMER" : "TIMER_TRACKER.START_TIMER"))("disabled", ctx_r4.isDisable);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("icon", !ctx_r4.running ? ctx_r4.play : ctx_r4.pause);
  }
}
function TimeTrackerComponent_ng_template_0_ng_template_12_Template(rf, ctx) {
  if (rf & 1) {
    const _r16 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 35)(1, "h6");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(4, "div", 23)(5, "div", 36)(6, "ngx-timer-range-picker", 37);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimeTrackerComponent_ng_template_0_ng_template_12_Template_ngx_timer_range_picker_ngModelChange_6_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r16);
      const ctx_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r15.selectedRange = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(7, "div", 38)(8, "nb-checkbox", 39);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimeTrackerComponent_ng_template_0_ng_template_12_Template_nb_checkbox_ngModelChange_8_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r16);
      const ctx_r17 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r17.isBillable = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(9, "span", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(10);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(11, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()()()()();
  }
  if (rf & 2) {
    const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(3, 6, "TIMER_TRACKER.ADD_TIME"));
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("maxDate", ctx_r5.allowFutureDate ? null : ctx_r5.today)("ngModel", ctx_r5.selectedRange);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngModel", ctx_r5.isBillable);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx_r5.isBillable ? "primary" : "");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(11, 8, "TIMER_TRACKER.IS_BILLABLE"), " ");
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_7_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(2, 1, "TIMER_TRACKER.VALIDATION.CLIENT_REQUIRED"), " ");
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_7_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 53);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(1, TimeTrackerComponent_ng_template_0_div_24_div_7_div_1_Template, 3, 3, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    const _r18 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(6);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _r18.errors.required);
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_15_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(2, 1, "TIMER_TRACKER.VALIDATION.PROJECT_REQUIRED"), " ");
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_15_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 53);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(1, TimeTrackerComponent_ng_template_0_div_24_div_15_div_1_Template, 3, 3, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    const _r20 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(13);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _r20.errors.required);
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_28_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(2, 1, "TIMER_TRACKER.VALIDATION.TASK_REQUIRED"), " ");
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_28_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 53);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(1, TimeTrackerComponent_ng_template_0_div_24_div_28_div_1_Template, 3, 3, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    const _r22 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(27);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _r22.errors.required);
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_36_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(2, 1, "TIMER_TRACKER.VALIDATION.DESCRIPTION_REQUIRED"), " ");
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_36_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 53);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(1, TimeTrackerComponent_ng_template_0_div_24_div_36_div_1_Template, 3, 3, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    const _r24 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(34);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _r24.errors.required);
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_37_ng_template_1_ng_template_0_div_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r36 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 35)(1, "button", 59);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_div_24_div_37_ng_template_1_ng_template_0_div_0_Template_button_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r36);
      const ctx_r35 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(6);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r35.addTime());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(3, 1, "TIMER_TRACKER.ADD_TIME"), " ");
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_37_ng_template_1_ng_template_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(0, TimeTrackerComponent_ng_template_0_div_24_div_37_ng_template_1_ng_template_0_div_0_Template, 4, 3, "div", 58);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(1, "async");
  }
  if (rf & 2) {
    const ctx_r33 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, ctx_r33.trackType$) == ctx_r33.timeLogType.MANUAL);
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_37_ng_template_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(0, TimeTrackerComponent_ng_template_0_div_24_div_37_ng_template_1_ng_template_0_Template, 2, 3, "ng-template", 57);
  }
  if (rf & 2) {
    const ctx_r31 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("permission", ctx_r31.PermissionsEnum.ALLOW_MANUAL_TIME);
  }
}
function TimeTrackerComponent_ng_template_0_div_24_div_37_div_2_Template(rf, ctx) {
  if (rf & 1) {
    const _r38 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div")(1, "button", 60);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_div_24_div_37_div_2_Template_button_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r38);
      const ctx_r37 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(4);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r37.toggleTimer(true));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r32 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx_r32.running ? "button disabled" : "button success start")("disabled", ctx_r32.running);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(3, 3, "TIMER_TRACKER.START_TIMER"), " ");
  }
}
const _c0 = function () {
  return ["/pages/employees/timesheets"];
};
function TimeTrackerComponent_ng_template_0_div_24_div_37_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 54);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(1, TimeTrackerComponent_ng_template_0_div_24_div_37_ng_template_1_Template, 1, 1, "ng-template", 55);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(2, TimeTrackerComponent_ng_template_0_div_24_div_37_div_2_Template, 4, 5, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(3, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(4, "a", 56);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(6, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r26 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngxPermissionsOnly", ctx_r26.PermissionsEnum.ALLOW_MANUAL_TIME);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(3, 4, ctx_r26.trackType$) == ctx_r26.timeLogType.TRACKED);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpureFunction0"] */ .lJ4(8, _c0));
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(6, 6, "TIMER_TRACKER.VIEW_TIMESHEET"), " ");
  }
}
function TimeTrackerComponent_ng_template_0_div_24_Template(rf, ctx) {
  if (rf & 1) {
    const _r40 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div")(1, "div", 40)(2, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(5, "ga-contact-selector", 41, 42);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimeTrackerComponent_ng_template_0_div_24_Template_ga_contact_selector_ngModelChange_5_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r40);
      const ctx_r39 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r39.organizationContactId = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(7, TimeTrackerComponent_ng_template_0_div_24_div_7_Template, 2, 1, "div", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(8, "div", 40)(9, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(10);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(11, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(12, "ga-project-selector", 44, 45);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimeTrackerComponent_ng_template_0_div_24_Template_ga_project_selector_ngModelChange_12_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r40);
      const ctx_r41 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r41.projectId = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(14, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(15, TimeTrackerComponent_ng_template_0_div_24_div_15_Template, 2, 1, "div", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(16, "div", 40)(17, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(18);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(19, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(20, "ga-team-selector", 46);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimeTrackerComponent_ng_template_0_div_24_Template_ga_team_selector_ngModelChange_20_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r40);
      const ctx_r42 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r42.organizationTeamId = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(21, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(22, "div", 40)(23, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(24);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(25, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(26, "ga-task-selector", 47, 48);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimeTrackerComponent_ng_template_0_div_24_Template_ga_task_selector_ngModelChange_26_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r40);
      const ctx_r43 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r43.taskId = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(28, TimeTrackerComponent_ng_template_0_div_24_div_28_Template, 2, 1, "div", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(29, "div", 49)(30, "label");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(31);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(32, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(33, "textarea", 50, 51);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimeTrackerComponent_ng_template_0_div_24_Template_textarea_ngModelChange_33_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r40);
      const ctx_r44 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r44.description = $event);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(35, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(36, TimeTrackerComponent_ng_template_0_div_24_div_36_Template, 2, 1, "div", 43);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(37, TimeTrackerComponent_ng_template_0_div_24_div_37_Template, 7, 9, "div", 52);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const _r18 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(6);
    const _r20 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(13);
    const _r22 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(27);
    const _r24 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(34);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵreference"] */ .sdS(8);
    const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(4, 40, "TIMER_TRACKER.SELECT_CLIENT"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("employeeId", ctx_r6.employee == null ? null : ctx_r6.employee.id)("disabled", ctx_r6.running)("ngModel", ctx_r6.organizationContactId)("required", ctx_r6.organization == null ? null : ctx_r6.organization.requireClient);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _r18.invalid && _r3.submitted);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(11, 42, "TIMER_TRACKER.SELECT_PROJECT"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("skipGlobalChange", true)("showAllOption", false)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(14, 44, "TIMER_TRACKER.SELECT_PROJECT"))("defaultSelected", false)("organizationContactId", ctx_r6.organizationContactId)("employeeId", ctx_r6.employee == null ? null : ctx_r6.employee.id)("disabled", ctx_r6.running)("ngModel", ctx_r6.projectId)("required", ctx_r6.organization == null ? null : ctx_r6.organization.requireProject);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _r20.invalid && _r3.submitted);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(19, 46, "TIMER_TRACKER.SELECT_TEAM"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("skipGlobalChange", true)("showAllOption", false)("defaultSelected", false)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(21, 48, "TIMER_TRACKER.SELECT_TEAM"))("employeeId", ctx_r6.employee == null ? null : ctx_r6.employee.id)("projectId", ctx_r6.projectId)("ngModel", ctx_r6.organizationTeamId)("required", false);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(25, 50, "TIMER_TRACKER.SELECT_TASK"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("projectId", ctx_r6.projectId)("employeeId", ctx_r6.employee == null ? null : ctx_r6.employee.id)("disabled", ctx_r6.running)("ngModel", ctx_r6.taskId)("required", ctx_r6.organization == null ? null : ctx_r6.organization.requireTask);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _r22.invalid && _r3.submitted);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(32, 52, "TIMER_TRACKER.DESCRIPTION"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(35, 54, "TIMER_TRACKER.DESCRIPTION"))("disabled", ctx_r6.running)("ngModel", ctx_r6.description)("required", ctx_r6.organization == null ? null : ctx_r6.organization.requireDescription);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _r24.invalid && _r3.submitted);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r6.user == null ? null : ctx_r6.user.employee == null ? null : ctx_r6.user.employee.id);
  }
}
const _c1 = function (a0) {
  return {
    "padding-bottom": a0
  };
};
const _c2 = function (a0) {
  return {
    margin: a0
  };
};
const _c3 = function (a0) {
  return {
    "visibility": a0
  };
};
const _c4 = function (a0) {
  return {
    downloadURL: a0
  };
};
function TimeTrackerComponent_ng_template_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r46 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "nb-card", 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("stopped", function TimeTrackerComponent_ng_template_0_Template_nb_card_stopped_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r46);
      const ctx_r45 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r45.draggablePosition($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(1, "nb-card-body")(2, "div", 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(3, TimeTrackerComponent_ng_template_0_button_3_Template, 2, 0, "button", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(4, TimeTrackerComponent_ng_template_0_button_4_Template, 2, 0, "button", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(5, "button", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_Template_button_click_5_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r46);
      const ctx_r47 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r47.toggleWindow());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(6, "nb-icon", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(7, "form", null, 6)(9, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(10, TimeTrackerComponent_ng_template_0_ng_template_10_Template, 21, 18, "ng-template", 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(11, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(12, TimeTrackerComponent_ng_template_0_ng_template_12_Template, 12, 10, "ng-template", 0);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(13, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(14, "div", 8)(15, "button", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_Template_button_click_15_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r46);
      const ctx_r48 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      $event.stopPropagation();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r48.setTimeType(ctx_r48.timeLogType.TRACKED));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(16, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(17, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(18, "fa-icon", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(19, "span", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(20, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(21, "button", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function TimeTrackerComponent_ng_template_0_Template_button_click_21_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r46);
      const ctx_r49 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      $event.stopPropagation();
      ctx_r49.setTimeType(ctx_r49.timeLogType.MANUAL);
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r49.isExpanded = true);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(22, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(23, "nb-icon", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(24, TimeTrackerComponent_ng_template_0_div_24_Template, 38, 56, "div", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(25, "nb-card-footer", 15)(26, "nb-alert", 16);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("close", function TimeTrackerComponent_ng_template_0_Template_nb_alert_close_26_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵrestoreView"] */ .eBV(_r46);
      const ctx_r50 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵresetView"] */ .Njj(ctx_r50.hideAlert = true);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(27, "nb-icon", 17)(28, "div", 18);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(29, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()()();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵstyleProp"] */ .xc7("transform", "matrix(1, 0, 0, 1," + ctx_r0.position.x + ", " + ctx_r0.position.y + ")");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpureFunction1"] */ .eq3(35, _c1, ctx_r0.isExpanded ? "" : "0px"))("ngClass", ctx_r0.theme === "default" || ctx_r0.theme === "corporate" || ctx_r0.theme === "gauzy-light" ? "background-basic-color-1" : "background-basic-color-2");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx_r0.isExpanded);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r0.isExpanded);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpureFunction1"] */ .eq3(37, _c2, ctx_r0.isExpanded ? "" : "0px"));
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(11, 20, ctx_r0.trackType$) == ctx_r0.timeLogType.TRACKED);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(13, 22, ctx_r0.trackType$) == ctx_r0.timeLogType.MANUAL);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx_r0.isExpanded ? "mode expanded" : "mode");
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("status", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(16, 24, ctx_r0.trackType$) == ctx_r0.timeLogType.TRACKED ? "primary" : "basic")("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(17, 26, "TIMER_TRACKER.TIMER"))("disabled", ctx_r0.running);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("icon", ctx_r0.stopwatch);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(20, 28, (ctx_r0.organization == null ? null : ctx_r0.organization.allowManualTime) ? "TIMER_TRACKER.MANUAL" : "TIMER_TRACKER.MANUAL_NOT_ALLOW"));
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("status", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(22, 30, ctx_r0.trackType$) == ctx_r0.timeLogType.MANUAL ? "primary" : "basic")("disabled", ctx_r0.running || !(ctx_r0.organization == null ? null : ctx_r0.organization.allowManualTime));
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r0.isExpanded);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpureFunction1"] */ .eq3(39, _c3, ctx_r0.hideAlert ? "hidden" : "visible"));
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("innerHTML", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind2"] */ .i5U(29, 32, "TIMER_TRACKER.ALERT_DESKTOP_DOWNLOAD", _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpureFunction1"] */ .eq3(41, _c4, ctx_r0.PLATFORM_WEBSITE_DOWNLOAD_URL)), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵsanitizeHtml"] */ .npT);
  }
}
let TimeTrackerComponent = class TimeTrackerComponent {
  constructor(timeTrackerService, timesheetService, toastrService, store, _errorHandlingService, themeService, ngxPermissionsService, _timeTrackerStatusService) {
    var _this = this;
    this.timeTrackerService = timeTrackerService;
    this.timesheetService = timesheetService;
    this.toastrService = toastrService;
    this.store = store;
    this._errorHandlingService = _errorHandlingService;
    this.themeService = themeService;
    this.ngxPermissionsService = ngxPermissionsService;
    this._timeTrackerStatusService = _timeTrackerStatusService;
    // This constant holds the URL for downloading content from the platform's website.
    this.PLATFORM_WEBSITE_DOWNLOAD_URL = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_3__/* .environment */ .c.PLATFORM_WEBSITE_DOWNLOAD_URL;
    this.play = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__/* .faPlay */ .ijD;
    this.pause = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__/* .faPause */ .G1Y;
    this.stopwatch = _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__/* .faStopwatch */ .nwU;
    this.isDisable = false;
    this.isOpen = false;
    this.isExpanded = true;
    this.futureDateAllowed = false;
    this.todaySessionTime = moment__WEBPACK_IMPORTED_MODULE_0__().set({
      hour: 0,
      minute: 0,
      second: 0
    }).format('HH:mm:ss');
    this.currentSessionTime = moment__WEBPACK_IMPORTED_MODULE_0__().set({
      hour: 0,
      minute: 0,
      second: 0
    }).format('HH:mm:ss');
    this.today = new Date();
    this.selectedRange = {
      start: null,
      end: null
    };
    this.PermissionsEnum = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.PermissionsEnum;
    this.timeLogType = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.TimeLogType;
    this.hideAlert = false;
    this.trackType$ = this.timeTrackerService.trackType$;
    this._timeTrackerStatusService.external$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .filter */ .p)(timerSynced => this.xor(this.running, timerSynced.running)), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(/*#__PURE__*/function () {
      var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function* (timerSynced) {
        _this.timeTrackerService.currentSessionDuration = moment__WEBPACK_IMPORTED_MODULE_0__().diff((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_8__/* .toLocal */ .jw)(timerSynced.startedAt), 'seconds');
        yield _this.toggleTimer(false);
      });
      return function (_x) {
        return _ref.apply(this, arguments);
      };
    }()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Gets the value indicating whether the task is billable.
   *
   * @returns A boolean indicating if the task is billable.
   */
  get isBillable() {
    return this.timeTrackerService.timerConfig.isBillable;
  }
  /**
   * Sets the value indicating whether the task is billable.
   *
   * @param value - A boolean indicating if the task should be billable.
   */
  set isBillable(value) {
    this.updateTimerConfig({
      isBillable: value
    });
  }
  /**
   * Gets the current task ID associated with the timer configuration.
   *
   * @returns The task ID if it exists and is a string; otherwise, null.
   */
  get taskId() {
    return this.getStringConfigValue('taskId');
  }
  /**
   * Sets the task ID for the timer configuration.
   *
   * @param value - The task ID to set.
   */
  set taskId(value) {
    this.updateTimerConfig({
      taskId: value
    });
  }
  /**
   * Gets the organization contact ID from the timer configuration.
   *
   * @returns The organization contact ID if it exists and is a string; otherwise, null.
   */
  get organizationContactId() {
    return this.getStringConfigValue('organizationContactId');
  }
  /**
   * Sets the organization contact ID for the timer configuration.
   *
   * @param value - The organization contact ID to set.
   */
  set organizationContactId(value) {
    this.updateTimerConfig({
      organizationContactId: value
    });
  }
  /**
   * Gets the project ID associated with the timer configuration.
   *
   * @returns The project ID if it exists and is a string; otherwise, null.
   */
  get projectId() {
    return this.getStringConfigValue('projectId');
  }
  /**
   * Sets the project ID for the timer configuration.
   *
   * @param value - The project ID to set.
   */
  set projectId(value) {
    this.updateTimerConfig({
      projectId: value
    });
  }
  /**
   * Gets the organization team ID associated with the timer configuration.
   *
   * @returns The organization team ID if it exists and is a string; otherwise, null.
   */
  get organizationTeamId() {
    return this.getStringConfigValue('organizationTeamId');
  }
  /**
   * Sets the organization team ID for the timer configuration.
   *
   * @param value - The organization team ID to set.
   */
  set organizationTeamId(value) {
    this.updateTimerConfig({
      organizationTeamId: value
    });
  }
  /**
   * Gets the description from the timer configuration.
   *
   * @returns The description if it exists and is a string; otherwise, null.
   */
  get description() {
    return this.getStringConfigValue('description');
  }
  /**
   * Sets the description for the timer configuration.
   *
   * @param value - The description to set.
   */
  set description(value) {
    this.updateTimerConfig({
      description: value
    });
  }
  /**
   * Updates the timer configuration with new values.
   *
   * @param updates - An object containing the properties to update in the timer configuration.
   */
  updateTimerConfig(updates) {
    this.timeTrackerService.timerConfig = {
      ...this.timeTrackerService.timerConfig,
      ...updates
    };
  }
  /**
   * Retrieves the value of a specified string property from the timer configuration.
   *
   * @param key - The name of the property to retrieve.
   * @returns The value of the property if it exists and is a string; otherwise, null.
   */
  getStringConfigValue(key) {
    const value = this.timeTrackerService.timerConfig[key];
    return typeof value === 'string' ? value : null;
  }
  /**
   * Gets the current position of the timer.
   *
   * @returns The current position or offset of the timer.
   */
  get position() {
    return this.timeTrackerService.position;
  }
  /**
   * Sets the position of the timer.
   *
   * @param offSet - The offset value to set for the timer's position.
   */
  set position(offSet) {
    this.timeTrackerService.position = offSet;
  }
  ngOnInit() {
    this.store.selectedOrganization$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_8__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(organization => {
      this.organization = organization;
      this.futureDateAllowed = organization.futureDateAllowed;
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.store.user$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .filter */ .p)(user => !!user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(user => this.user = user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(user => this.employee = user?.employee), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.timeTrackerService.duration$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(time => this.todaySessionTime = moment__WEBPACK_IMPORTED_MODULE_0__.utc(time * 1000).format('HH:mm:ss')), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.timeTrackerService.showTimerWindow$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(isOpen => this.isOpen = isOpen), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.timeTrackerService.currentSessionDuration$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(time => this.currentSessionTime = moment__WEBPACK_IMPORTED_MODULE_0__.utc(time * 1000).format('HH:mm:ss')), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.timeTrackerService.$running.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(isRunning => this.running = isRunning), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.themeService.onThemeChange().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(theme => this.theme = theme.name), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  toggleWindow() {
    if (!this.isOpen) {
      this.show();
    } else {
      this.hide();
    }
  }
  show() {
    this.timeTrackerService.showTimerWindow = true;
  }
  hide() {
    this.timeTrackerService.showTimerWindow = false;
  }
  toggleTimer(onClick) {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function* () {
      try {
        if (!_this2.running && _this2.form.invalid) {
          _this2.form.resetForm();
          return;
        }
      } catch (error) {
        _this2.toggleWindow();
        _this2.isExpanded = false;
      }
      try {
        _this2.isDisable = true;
        _this2.timeTrackerService.timerSynced && _this2.xor(_this2.running, _this2.timeTrackerService.timerSynced.running) && !onClick && _this2.timeTrackerService.timerSynced.isExternalSource ? _this2.timeTrackerService.remoteToggle() : yield _this2.timeTrackerService.toggle();
      } catch (error) {
        if (_this2.timeTrackerService.interval) {
          _this2.timeTrackerService.turnOffTimer();
        } else {
          _this2.timeTrackerService.turnOnTimer();
        }
        _this2._errorHandlingService.handleError(error);
      }
      _this2.isDisable = false;
    })();
  }
  addTime() {
    var _this3 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function* () {
      if (!_this3.organization || _this3.form.invalid) {
        return;
      }
      const {
        allowManualTime,
        id: organizationId
      } = _this3.organization;
      const {
        tenantId
      } = _this3.store.user;
      if (!(allowManualTime && (yield _this3.ngxPermissionsService.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.PermissionsEnum.ALLOW_MANUAL_TIME)))) {
        return;
      }
      const startedAt = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_8__/* .toUTC */ .q5)(_this3.selectedRange.start).toDate();
      const stoppedAt = (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_8__/* .toUTC */ .q5)(_this3.selectedRange.end).toDate();
      const payload = Object.assign({
        startedAt,
        stoppedAt,
        organizationId,
        tenantId
      }, _this3.timeTrackerService.timerConfig);
      _this3.timesheetService.addTime(payload).then(timeLog => {
        _this3.timesheetService.updateLogs(true);
        _this3.timeTrackerService.checkTimerStatus({
          organizationId,
          tenantId,
          source: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.TimeLogSourceEnum.WEB_TIMER
        });
        if (moment__WEBPACK_IMPORTED_MODULE_0__.utc(timeLog.startedAt).local().isSame(new Date(), 'day')) {
          _this3.timeTrackerService.duration = _this3.timeTrackerService.duration + timeLog.duration;
        }
        _this3.form.resetForm();
        _this3.selectedRange = {
          start: null,
          end: null
        };
        _this3.toastrService.success('TIMER_TRACKER.ADD_TIME_SUCCESS');
      }).catch(error => {
        _this3.toastrService.danger(error);
      });
    })();
  }
  setTimeType(type) {
    this.timeTrackerService.setTimeLogType(type);
  }
  /**
   * Draggable Web Timer Position
   *
   * @param event
   */
  draggablePosition(event) {
    this.position = event.position;
  }
  xor(a, b) {
    return !a && b || a && !b;
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function TimeTrackerComponent_Factory(t) {
      return new (t || TimeTrackerComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .TimeTrackerService */ .Bj), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .TimesheetService */ .k), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__/* .ToastrService */ .t), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .ErrorHandlingService */ .X), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbThemeService */ .NS1), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(ngx_permissions__WEBPACK_IMPORTED_MODULE_16__/* .NgxPermissionsService */ .$R), _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_components_time_tracker_status_time_tracker_status_service__WEBPACK_IMPORTED_MODULE_17__/* .TimeTrackerStatusService */ .J));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineComponent"] */ .VBU({
      type: TimeTrackerComponent,
      selectors: [["ngx-web-time-tracker"]],
      viewQuery: function TimeTrackerComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵviewQuery"] */ .GBs(_angular_forms__WEBPACK_IMPORTED_MODULE_18__/* .NgForm */ .cV, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.form = _t.first);
        }
      },
      decls: 1,
      vars: 1,
      consts: [[3, "ngIf"], ["ngxDraggableDom", "true", 1, "timer-card", "card", 3, "ngStyle", "ngClass", "stopped"], [1, "header"], ["nbButton", "", "ghost", "", "size", "small", 3, "click", 4, "ngIf"], ["size", "small", "nbButton", "", "ghost", "", 1, "btn-close", 3, "click"], ["icon", "close-outline"], ["form", "ngForm"], [1, "timer-container", "form-group", 3, "ngStyle"], [3, "ngClass"], ["nbButton", "", "type", "button", "size", "tiny", 1, "button", "switch", 3, "status", "nbTooltip", "disabled", "click"], [3, "icon"], [3, "nbTooltip"], ["nbButton", "", "type", "button", "size", "tiny", 1, "button", "switch", 3, "status", "disabled", "click"], ["icon", "menu-outline"], [4, "ngIf"], [3, "ngStyle"], ["status", "primary", "closable", "", 1, "alert", 3, "close"], ["size", "tiny", "icon", "info-outline"], [3, "innerHTML"], ["nbButton", "", "ghost", "", "size", "small", 3, "click"], ["icon", "expand-outline"], ["icon", "minus-outline"], [1, "timer"], [1, "row"], [1, "col"], [1, "time-tracker"], [1, "is_billable"], ["nbButton", "", "type", "button", "size", "small", 3, "status", "nbTooltip", "disabled", "click"], [1, "time-count"], [1, "current-session"], [1, "today-time", "mt-2"], [1, "status"], [1, "actions"], [1, "toggle"], ["nbButton", "", "type", "submit", "shape", "round", 3, "status", "ngClass", "nbTooltip", "disabled", "click"], [1, "time-manual"], [1, "col-12"], ["name", "selectedRange", 1, "custom-range-picker", 3, "maxDate", "ngModel", "ngModelChange"], [1, "col-12", "mb-5"], ["name", "isBillable", "status", "primary", 3, "ngModel", "ngModelChange"], [1, "form-group"], ["name", "organizationContactId", 3, "employeeId", "disabled", "ngModel", "required", "ngModelChange"], ["clientInput", "ngModel"], ["class", "invalid-feedback d-block", 4, "ngIf"], ["name", "projectId", 3, "skipGlobalChange", "showAllOption", "placeholder", "defaultSelected", "organizationContactId", "employeeId", "disabled", "ngModel", "required", "ngModelChange"], ["projectInput", "ngModel"], ["name", "organizationTeamId", 3, "skipGlobalChange", "showAllOption", "defaultSelected", "placeholder", "employeeId", "projectId", "ngModel", "required", "ngModelChange"], ["name", "taskId", 3, "projectId", "employeeId", "disabled", "ngModel", "required", "ngModelChange"], ["taskInput", "ngModel"], [1, "form-group", "custom"], ["rows", "2", "fullWidth", "", "name", "description", 1, "form-control", 3, "placeholder", "disabled", "ngModel", "required", "ngModelChange"], ["descriptionInput", "ngModel"], ["class", "view-log-button mt-2", 4, "ngIf"], [1, "invalid-feedback", "d-block"], [1, "view-log-button", "mt-2"], [3, "ngxPermissionsOnly"], ["nbButton", "", "ghost", "", "outline", "", "size", "medium", 1, "button", "timesheet", 3, "routerLink"], ["ngxTimeTrackingAuthorized", "", 3, "permission"], ["class", "time-manual", 4, "ngIf"], ["nbButton", "", "status", "success", "size", "medium", 1, "button", "success", "add", 3, "click"], ["nbButton", "", "status", "success", "size", "medium", 3, "ngClass", "disabled", "click"]],
      template: function TimeTrackerComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtemplate"] */ .DNE(0, TimeTrackerComponent_ng_template_0_Template, 30, 43, "ng-template", 0);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.isOpen);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_19__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_19__/* .NgIf */ .bT, _angular_common__WEBPACK_IMPORTED_MODULE_19__/* .NgStyle */ .B3, _angular_forms__WEBPACK_IMPORTED_MODULE_18__/* ["ɵNgNoValidate"] */ .qT, _angular_forms__WEBPACK_IMPORTED_MODULE_18__/* .DefaultValueAccessor */ .me, _angular_forms__WEBPACK_IMPORTED_MODULE_18__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_18__/* .NgControlStatusGroup */ .cb, _angular_forms__WEBPACK_IMPORTED_MODULE_18__/* .RequiredValidator */ .YS, _angular_forms__WEBPACK_IMPORTED_MODULE_18__/* .NgModel */ .vS, _angular_forms__WEBPACK_IMPORTED_MODULE_18__/* .NgForm */ .cV, _angular_router__WEBPACK_IMPORTED_MODULE_20__/* .RouterLink */ .Wk, _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_21__/* .FaIconComponent */ .aY, _nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbAlertComponent */ .EVe, _nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbButtonComponent */ .YP2, _nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbCheckboxComponent */ .DMy, _nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbIconComponent */ .tHu, _nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbTooltipDirective */ .BmQ, ngx_draggable_dom__WEBPACK_IMPORTED_MODULE_22__/* .NgxDraggableDomDirective */ .A5, ngx_permissions__WEBPACK_IMPORTED_MODULE_16__/* .NgxPermissionsDirective */ .f6, _directives_time_tracking_authorized_directive__WEBPACK_IMPORTED_MODULE_23__/* .TimeTrackingAuthorizedDirective */ .X, _timer_picker_timer_range_picker_timer_range_picker_component__WEBPACK_IMPORTED_MODULE_24__/* .TimerRangePickerComponent */ .G, _tasks_task_select_task_task_component__WEBPACK_IMPORTED_MODULE_25__/* .TaskSelectorComponent */ .W, _selectors_project_project_project_component__WEBPACK_IMPORTED_MODULE_26__/* .ProjectSelectorComponent */ .a, _selectors_team_team_team_component__WEBPACK_IMPORTED_MODULE_27__/* .TeamSelectorComponent */ .s, _contact_selector_contact_selector_component__WEBPACK_IMPORTED_MODULE_28__/* .ContactSelectorComponent */ .N, _components_time_tracker_status_time_tracker_status_component__WEBPACK_IMPORTED_MODULE_29__/* .TimeTrackerStatusComponent */ .F, _angular_common__WEBPACK_IMPORTED_MODULE_19__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_30__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n  position: fixed;\n  height: 0;\n  z-index: 999;\n  right: 20px;\n  top: 80px;\n}\n[_nghost-%COMP%]   .status[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 9.5rem;\n  top: 0;\n}\n[_nghost-%COMP%]   nb-card[_ngcontent-%COMP%] {\n  border: none;\n}\n[_nghost-%COMP%]   .timer-card[_ngcontent-%COMP%] {\n  display: block;\n  padding: 20px;\n  width: 328px;\n  font-size: 14px;\n  position: relative;\n  box-shadow: 0px 6px 30px 0px rgba(0, 0, 0, 0.2);\n  border-radius: var(--border-radius);\n}\n[_nghost-%COMP%]   .background-basic-color-1[_ngcontent-%COMP%] {\n  background-color: var(--background-basic-color-1);\n}\n[_nghost-%COMP%]   .background-basic-color-2[_ngcontent-%COMP%] {\n  background-color: var(--background-basic-color-2);\n}\n[_nghost-%COMP%]   .header[_ngcontent-%COMP%] {\n  position: absolute;\n  display: flex;\n  justify-content: flex-end;\n  width: 300px;\n  top: 0px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: flex-start;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .time-tracker[_ngcontent-%COMP%] {\n  width: 100%;\n  display: flex;\n  align-items: flex-start;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .is_billable[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  font-size: 12px;\n  padding: 5px 9px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .actions[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  padding-left: 14px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .time-count[_ngcontent-%COMP%] {\n  font-size: 22px;\n  width: 100%;\n  padding: 0 10px;\n  text-align: left;\n  display: flex;\n  flex-direction: column;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .time-count[_ngcontent-%COMP%]   .today-time[_ngcontent-%COMP%] {\n  font-size: 0.6em;\n  line-height: 1;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .time-count[_ngcontent-%COMP%]   .current-session[_ngcontent-%COMP%] {\n  font-weight: 400;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .toggle[_ngcontent-%COMP%]   [nbButton].appearance-filled.size-medium[_ngcontent-%COMP%] {\n  padding: 8px 7px 10px 7px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .toggle[_ngcontent-%COMP%]   [nbButton].appearance-filled.status-danger[_ngcontent-%COMP%] {\n  padding: 8px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .toggle[_ngcontent-%COMP%]   fa-icon[_ngcontent-%COMP%] {\n  border: 1px dashed transparent !important;\n  margin: 0;\n  border-radius: 50px;\n  padding: 0px 3px 0px 4px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .mode[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  padding-left: 10px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .mode.expanded[_ngcontent-%COMP%] {\n  margin-top: 3.4rem;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .mode[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  margin: 4px;\n  padding: 4px 2px 4px 2px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .mode[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%] {\n  border-radius: 2rem;\n  width: 12px;\n  margin: 0;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .mode[_ngcontent-%COMP%]   button.status-primary[_ngcontent-%COMP%]   nb-icon[_ngcontent-%COMP%] {\n  color: #fff;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .mode[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]   nb-icon[_ngcontent-%COMP%] {\n  height: 16px;\n  width: 16px;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   [nbButton].appearance-filled.status-primary[disabled][_ngcontent-%COMP%] {\n  background-color: var(--text-primary-active-color);\n  border-color: var(--text-primary-active-color);\n  color: #ffffff;\n  opacity: 0.4;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .timer[_ngcontent-%COMP%], [_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   .time-manual[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n}\n[_nghost-%COMP%]   .timer-container[_ngcontent-%COMP%]   h6[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  margin-bottom: 2rem;\n}\n[_nghost-%COMP%]     ng-select .ng-select-container {\n  width: 100%;\n}\n\n.custom[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%] {\n  background: rgba(126, 126, 143, 0.05);\n  color: var(--text-basic-color);\n  border-color: var(--background-basic-color-3);\n  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 0px 0px inset;\n  resize: none;\n  width: 282.79px;\n  height: 84px;\n  border-radius: var(--border-radius);\n  margin-bottom: 30px;\n}\n.custom[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%]:hover {\n  border-color: var(--color-primary-hover);\n  color: var(--text-basic-color);\n}\n.custom[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%]:hover:focus {\n  background: rgba(126, 126, 143, 0.05);\n}\n.custom[_ngcontent-%COMP%]   textarea[_ngcontent-%COMP%]:active {\n  background-color: var(--background-basic-color-1);\n}\n\n.primary[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n}\n\n.custom-range-picker[_ngcontent-%COMP%]  .range {\n  width: 128.5%;\n}\n\n.view-log-button[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n\n  .ng-select .ng-select-container {\n  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 0px 0px inset;\n  border-radius: var(--border-radius);\n  min-height: 42px;\n}\n\n  .ng-select.ng-select-single .ng-select-container {\n  height: 42px;\n}\n\n.button[_ngcontent-%COMP%] {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.button.timesheet[_ngcontent-%COMP%] {\n  background-color: transparent;\n  font-weight: normal;\n  height: 36px;\n  padding: 9px 20px 18px 20px;\n  margin: 0;\n  width: 150px;\n}\n.button.disabled[_ngcontent-%COMP%] {\n  height: 36px;\n  width: 120px;\n}\n.button.success[_ngcontent-%COMP%] {\n  box-shadow: 0px 10px 13px -7px #25b869;\n}\n.button.success.start[_ngcontent-%COMP%], .button.success.add[_ngcontent-%COMP%] {\n  height: 36px;\n  font-size: 14px;\n  height: 36px;\n  padding: 9px 20px 18px 20px;\n  width: 120px;\n}\n.button.switch[_ngcontent-%COMP%] {\n  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25);\n}\n\n.button[_ngcontent-%COMP%], h6[_ngcontent-%COMP%] {\n  display: inline-block;\n  text-transform: lowercase;\n}\n.button[_ngcontent-%COMP%]:first-letter, h6[_ngcontent-%COMP%]:first-letter {\n  text-transform: uppercase;\n}\n\n[_nghost-%COMP%]     input, [_nghost-%COMP%]     nb-select.appearance-outline.status-basic .select-button, [_nghost-%COMP%]     .ng-select .ng-select-container {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n  height: 42px !important;\n}\n[_nghost-%COMP%]     .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder, [_nghost-%COMP%]     .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input {\n  top: unset !important;\n}\n[_nghost-%COMP%]     label, [_nghost-%COMP%]     .label {\n  font-size: 11px;\n  font-weight: 600;\n  line-height: 13px;\n  letter-spacing: -0.01em;\n  color: var(--gauzy-text-color-2);\n}\n[_nghost-%COMP%]     textarea {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n}\n[_nghost-%COMP%]     .ng-select .ng-select-container input, [_nghost-%COMP%]     nb-tag-list input {\n  background-color: unset !important;\n}\n[_nghost-%COMP%]   nb-card[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-card-1);\n}\n\nnb-card-footer[_ngcontent-%COMP%] {\n  position: absolute;\n  width: calc(100% + 48px);\n  left: -24px;\n  bottom: -128px;\n}\nnb-card-footer[_ngcontent-%COMP%]   .alert[_ngcontent-%COMP%] {\n  width: 100%;\n  display: flex;\n  flex-direction: row;\n  align-items: flex-start;\n  gap: 0.25rem;\n  font-size: 12px;\n  border-radius: var(--border-radius);\n}\nnb-card-footer[_ngcontent-%COMP%]   .alert[_ngcontent-%COMP%]   nb-icon[_ngcontent-%COMP%] {\n  width: 30px;\n  height: 18px;\n}\nnb-card-footer[_ngcontent-%COMP%]   .alert[_ngcontent-%COMP%]   div[_ngcontent-%COMP%] {\n  line-height: 1.5em;\n}\nnb-card-footer[_ngcontent-%COMP%]   .alert[_ngcontent-%COMP%]     .close {\n  padding: 4px 8px;\n  font-size: 1rem;\n}"]
    });
  }
};
TimeTrackerComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_31__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_31__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .TimeTrackerService */ .Bj, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .TimesheetService */ .k, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__/* .ToastrService */ .t, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_13__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .ErrorHandlingService */ .X, _nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbThemeService */ .NS1, ngx_permissions__WEBPACK_IMPORTED_MODULE_16__/* .NgxPermissionsService */ .$R, _components_time_tracker_status_time_tracker_status_service__WEBPACK_IMPORTED_MODULE_17__/* .TimeTrackerStatusService */ .J])], TimeTrackerComponent);

/***/ }),

/***/ 86666:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: () => (/* binding */ TimerPickerModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91265);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51170);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5062);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61198);
/* harmony import */ var _shared_module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53530);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);








let TimerPickerModule = /*#__PURE__*/(() => {
  class TimerPickerModule {
    static {
      this.ɵfac = function TimerPickerModule_Factory(t) {
        return new (t || TimerPickerModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: TimerPickerModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _angular_forms__WEBPACK_IMPORTED_MODULE_2__/* .FormsModule */ .YN, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbDatepickerModule */ .TgK, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbIconModule */ .clu, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_4__/* .NgSelectModule */ .MQ, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__/* .TranslateModule */ .h.forChild(), _shared_module__WEBPACK_IMPORTED_MODULE_6__/* .SharedModule */ .G]
      });
    }
  }
  return TimerPickerModule;
})();

/***/ }),

/***/ 37570:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   f: () => (/* binding */ TimerPickerComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91265);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5062);
/* harmony import */ var _pipes_time_format_pipe__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49362);







function TimerPickerComponent_ng_template_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(1, "timeFormat");
  }
  if (rf & 2) {
    const item_r2 = ctx.item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(1, 1, item_r2.value), " ");
  }
}
function TimerPickerComponent_ng_template_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "timeFormat");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const item_r4 = ctx.item;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 1, item_r4.value));
  }
}
let TimerPickerComponent = /*#__PURE__*/(() => {
  class TimerPickerComponent {
    get min() {
      return this._min;
    }
    set min(value) {
      this._min = value;
      this.updateSlots();
    }
    get max() {
      return this._max;
    }
    set max(value) {
      this._max = value;
      this.updateSlots();
    }
    constructor() {
      this._max = '23:00';
      this._min = '00:00';
      this.timeSlots = [];
      this.onChange = () => {};
      this.onTouched = () => {};
      this.disabled = false;
      this.change = new _angular_core__WEBPACK_IMPORTED_MODULE_1__/* .EventEmitter */ .bkB();
    }
    set selectedTime(val) {
      this.val = val;
      this.onChange(val);
      this.onTouched(val);
      this.change.emit(val);
    }
    get selectedTime() {
      return this.val;
    }
    ngOnInit() {
      this.updateSlots();
    }
    updateSlots() {
      const interval = 5;
      let slotTime = moment__WEBPACK_IMPORTED_MODULE_0__(this.min, 'HH:mm');
      const endTime = moment__WEBPACK_IMPORTED_MODULE_0__(this.max, 'HH:mm');
      const times = [];
      while (slotTime <= endTime) {
        times.push({
          value: slotTime.format('HH:mm'),
          label: slotTime.format('hh:mm A')
        });
        slotTime = slotTime.add(interval, 'minutes');
      }
      this.timeSlots = times;
    }
    writeValue(value) {
      this.val = value;
    }
    registerOnChange(fn) {
      this.onChange = fn;
    }
    registerOnTouched(fn) {
      this.onTouched = fn;
    }
    setDisabledState(isDisabled) {
      this.disabled = isDisabled;
    }
    static {
      this.ɵfac = function TimerPickerComponent_Factory(t) {
        return new (t || TimerPickerComponent)();
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
        type: TimerPickerComponent,
        selectors: [["ga-timer-picker"]],
        inputs: {
          disabled: "disabled",
          min: "min",
          max: "max"
        },
        outputs: {
          change: "change"
        },
        features: [_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵProvidersFeature"] */ .Jv_([{
          provide: _angular_forms__WEBPACK_IMPORTED_MODULE_2__/* .NG_VALUE_ACCESSOR */ .kq,
          useExisting: (0,_angular_core__WEBPACK_IMPORTED_MODULE_1__/* .forwardRef */ .Rfq)(() => TimerPickerComponent),
          multi: true
        }])],
        decls: 5,
        vars: 7,
        consts: [[3, "click"], ["bindValue", "value", "appendTo", "body", "bindLabel", "label", 3, "disabled", "clearable", "items", "ngModel", "placeholder", "ngModelChange"], ["ng-option-tmp", ""], ["ng-label-tmp", ""]],
        template: function TimerPickerComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "div", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("click", function TimerPickerComponent_Template_div_click_0_listener($event) {
              return $event.stopPropagation();
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(1, "ng-select", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimerPickerComponent_Template_ng_select_ngModelChange_1_listener($event) {
              return ctx.selectedTime = $event;
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "timeFormat");
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(3, TimerPickerComponent_ng_template_3_Template, 2, 3, "ng-template", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(4, TimerPickerComponent_ng_template_4_Template, 3, 3, "ng-template", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("disabled", ctx.disabled)("clearable", true)("items", ctx.timeSlots)("ngModel", ctx.selectedTime)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 5, "00:00"));
          }
        },
        dependencies: [_angular_forms__WEBPACK_IMPORTED_MODULE_2__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_2__/* .NgModel */ .vS, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_3__/* .NgSelectComponent */ .vr, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_3__/* .NgOptionTemplateDirective */ .Uq, _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_3__/* .NgLabelTemplateDirective */ .ZZ, _pipes_time_format_pipe__WEBPACK_IMPORTED_MODULE_4__/* .TimeFormatPipe */ .z],
        encapsulation: 2
      });
    }
  }
  return TimerPickerComponent;
})();

/***/ }),

/***/ 21266:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: () => (/* binding */ TimerRangePickerComponent)
/* harmony export */ });
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21934);
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82817);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(91265);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34595);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32869);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51170);
/* harmony import */ var _timer_picker_timer_picker_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(37570);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(61198);











const _c0 = ["dateModel"];
const _c1 = ["startTimeModel"];
const _c2 = ["endTimeModel"];
let TimerRangePickerComponent = /*#__PURE__*/(() => {
  class TimerRangePickerComponent {
    get maxDate() {
      return this._maxDate;
    }
    set maxDate(value) {
      this._maxDate = value;
      if (!this.fromEmployeeAppointment) {
        this.updateTimePickerLimit(value);
      }
    }
    get minDate() {
      return this._minDate;
    }
    set minDate(value) {
      this._minDate = value;
      if (!this.fromEmployeeAppointment) {
        this.updateTimePickerLimit(value);
      }
    }
    get disabledDates() {
      return this._disabledDates;
    }
    set disabledDates(value) {
      this._disabledDates = value;
    }
    get selectedRange() {
      return this._selectedRange;
    }
    set selectedRange(value) {
      this._selectedRange = value;
      this.onChange(value);
    }
    constructor(cd) {
      this.cd = cd;
      this._maxDate = null;
      this._minDate = null;
      this._disabledDates = [];
      this.disableEndPicker = false;
      this.disableDatePicker = false;
      this.fromEmployeeAppointment = false;
      this.onChange = () => {};
      this.onTouched = () => {};
      this.filter = date => !this._disabledDates.includes(date.getTime());
    }
    ngOnInit() {
      if (this.fromEmployeeAppointment) {
        const maxTime = moment__WEBPACK_IMPORTED_MODULE_0__(this._maxDate);
        const minTime = moment__WEBPACK_IMPORTED_MODULE_0__(this._minDate);
        this.minSlotStartTime = minTime.format('HH:mm');
        this.maxSlotStartTime = moment__WEBPACK_IMPORTED_MODULE_0__(maxTime, 'HH:mm').subtract(5, 'minutes').format('HH:mm');
        this.maxSlotEndTime = maxTime.format('HH:mm');
        this.minSlotEndTime = moment__WEBPACK_IMPORTED_MODULE_0__(minTime, 'HH:mm').add(5, 'minutes').format('HH:mm');
      }
    }
    ngAfterViewInit() {
      this.timezoneOffset = this.timezoneOffset || moment_timezone__WEBPACK_IMPORTED_MODULE_1__.tz(moment_timezone__WEBPACK_IMPORTED_MODULE_1__.tz.guess()).format('Z');
      (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .merge */ .h)(this.dateModel.valueChanges, this.startTimeModel.valueChanges, this.endTimeModel.valueChanges).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .debounceTime */ .B)(10)).subscribe(data => {
        const start = new Date(moment__WEBPACK_IMPORTED_MODULE_0__(this.date).format('YYYY-MM-DD') + ' ' + this.startTime + this.timezoneOffset);
        const end = new Date(moment__WEBPACK_IMPORTED_MODULE_0__(this.date).format('YYYY-MM-DD') + ' ' + this.endTime + this.timezoneOffset);
        if (this.slotStartTime && this.slotEndTime && this.allowedDuration) {
          this.minSlotStartTime = moment__WEBPACK_IMPORTED_MODULE_0__(this.slotStartTime).clone().format('HH:mm');
          this.maxSlotStartTime = moment__WEBPACK_IMPORTED_MODULE_0__(this.slotEndTime).clone().subtract(this.allowedDuration, 'minutes').format('HH:mm');
          this.endTime = moment__WEBPACK_IMPORTED_MODULE_0__(this.startTime, 'HH:mm').add(this.allowedDuration, 'minutes').format('HH:mm');
        }
        this.selectedRange = {
          start: isNaN(start.getTime()) ? null : start,
          end: isNaN(start.getTime()) ? null : end
        };
        this.cd.detectChanges();
      });
    }
    updateTimePickerLimit(date) {
      let mTime = moment__WEBPACK_IMPORTED_MODULE_0__(date);
      if (mTime.isSame(new Date(), 'day')) {
        mTime = mTime.set({
          hour: moment__WEBPACK_IMPORTED_MODULE_0__().get('hour'),
          minute: moment__WEBPACK_IMPORTED_MODULE_0__().get('minute') - moment__WEBPACK_IMPORTED_MODULE_0__().minutes() % 10,
          second: 0,
          millisecond: 0
        });
        if (!this.date) {
          this.date = mTime.toDate();
        }
        if (!this.startTime) {
          this.startTime = mTime.clone().subtract(30, 'minutes').format('HH:mm');
        }
        if (!this.endTime) {
          this.endTime = mTime.format('HH:mm');
        }
      }
      if (mTime.isSame(new Date(), 'day')) {
        this.minSlotStartTime = '00:00';
        this.maxSlotStartTime = mTime.clone().subtract(10, 'minutes').format('HH:mm');
        this.maxSlotEndTime = mTime.format('HH:mm');
      } else {
        this.minSlotStartTime = '00:00';
        this.maxSlotStartTime = '23:59';
        this.maxSlotEndTime = '23:59';
      }
      this.updateEndTimeSlot(this.startTime);
    }
    changeStartTime(time) {
      if (this.slotStartTime && this.allowedDuration) {
        this.endTime = moment__WEBPACK_IMPORTED_MODULE_0__(time, 'HH:mm').add(this.allowedDuration, 'minutes').format('HH:mm');
      } else if (time) {
        this.updateEndTimeSlot(time);
        if (!moment__WEBPACK_IMPORTED_MODULE_0__(time, 'HH:mm').isBefore(moment__WEBPACK_IMPORTED_MODULE_0__(this.endTime, 'HH:mm'))) {
          this.endTime = moment__WEBPACK_IMPORTED_MODULE_0__(time, 'HH:mm').add(this.fromEmployeeAppointment ? 5 : 30, 'minutes').format('HH:mm');
        }
      } else {
        this.endTime = null;
      }
    }
    updateEndTimeSlot(time) {
      this.minSlotEndTime = moment__WEBPACK_IMPORTED_MODULE_0__(time, 'HH:mm').add(this.allowedDuration || 10, 'minutes').format('HH:mm');
    }
    writeValue(value) {
      if (value) {
        if (!value.start) {
          value.start = moment__WEBPACK_IMPORTED_MODULE_0__().subtract(30, 'minutes').toDate();
        }
        if (!value.end) {
          value.end = moment__WEBPACK_IMPORTED_MODULE_0__().toDate();
        }
        const start = moment__WEBPACK_IMPORTED_MODULE_0__(value.start);
        let hour = start.get('hour');
        let minute = this.fromEmployeeAppointment ? start.get('minute') : start.get('minute') - start.minutes() % 10;
        this.startTime = `${hour}:${minute}`;
        const end = moment__WEBPACK_IMPORTED_MODULE_0__(value.end);
        hour = end.get('hour');
        minute = this.fromEmployeeAppointment ? end.get('minute') : end.get('minute') - end.minutes() % 10;
        this.endTime = `${hour}:${minute}`;
        this.date = end.toDate();
      }
      this._selectedRange = value;
      //this.updateTimePickerLimit(value.start)-
    }
    registerOnChange(fn) {
      this.onChange = fn;
    }
    registerOnTouched(fn) {
      this.onTouched = fn;
    }
    static {
      this.ɵfac = function TimerRangePickerComponent_Factory(t) {
        return new (t || TimerRangePickerComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_4__/* .ChangeDetectorRef */ .gRc));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵdefineComponent"] */ .VBU({
        type: TimerRangePickerComponent,
        selectors: [["ngx-timer-range-picker"]],
        viewQuery: function TimerRangePickerComponent_Query(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵviewQuery"] */ .GBs(_c0, 5);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵviewQuery"] */ .GBs(_c1, 5);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵviewQuery"] */ .GBs(_c2, 5);
          }
          if (rf & 2) {
            let _t;
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.dateModel = _t.first);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.startTimeModel = _t.first);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.endTimeModel = _t.first);
          }
        },
        inputs: {
          slotStartTime: "slotStartTime",
          slotEndTime: "slotEndTime",
          allowedDuration: "allowedDuration",
          disableEndPicker: "disableEndPicker",
          disableDatePicker: "disableDatePicker",
          fromEmployeeAppointment: "fromEmployeeAppointment",
          timezoneOffset: "timezoneOffset",
          maxDate: "maxDate",
          minDate: "minDate",
          disabledDates: "disabledDates"
        },
        features: [_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵProvidersFeature"] */ .Jv_([{
          provide: _angular_forms__WEBPACK_IMPORTED_MODULE_5__/* .NG_VALUE_ACCESSOR */ .kq,
          useExisting: (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__/* .forwardRef */ .Rfq)(() => TimerRangePickerComponent),
          multi: true
        }])],
        decls: 27,
        vars: 22,
        consts: [[1, "row"], [1, "col-12"], [1, "form-group"], [1, "label"], [1, "input"], ["type", "text", "autocomplete", "off", "name", "date", "placeholder", "YYYY-MM-DD", 3, "ngModel", "nbDatepicker", "ngModelChange"], ["dateModel", "ngModel"], ["icon", "calendar-outline", 1, "icon", "ml-3"], [3, "filter", "max", "min", "dateChange"], ["datepicker", ""], [1, "row", "range"], [1, "col-6"], ["name", "start_time", 3, "min", "max", "ngModel", "change", "ngModelChange"], ["startTimeModel", "ngModel"], ["name", "end_time", 3, "disabled", "min", "max", "ngModel", "ngModelChange"], ["endTimeModel", "ngModel"]],
        template: function TimerRangePickerComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementStart"] */ .j41(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "label", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵtext"] */ .EFF(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵpipe"] */ .nI1(5, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementStart"] */ .j41(6, "div", 4)(7, "input", 5, 6);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimerRangePickerComponent_Template_input_ngModelChange_7_listener($event) {
              return ctx.date = $event;
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelement"] */ .nrm(9, "nb-icon", 7);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementStart"] */ .j41(10, "nb-datepicker", 8, 9);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵlistener"] */ .bIt("dateChange", function TimerRangePickerComponent_Template_nb_datepicker_dateChange_10_listener($event) {
              return ctx.updateTimePickerLimit($event);
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementEnd"] */ .k0s()()()()();
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementStart"] */ .j41(12, "div", 10)(13, "div", 11)(14, "div", 2)(15, "label", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵtext"] */ .EFF(16);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵpipe"] */ .nI1(17, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementStart"] */ .j41(18, "ga-timer-picker", 12, 13);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵlistener"] */ .bIt("change", function TimerRangePickerComponent_Template_ga_timer_picker_change_18_listener($event) {
              return ctx.changeStartTime($event);
            })("ngModelChange", function TimerRangePickerComponent_Template_ga_timer_picker_ngModelChange_18_listener($event) {
              return ctx.startTime = $event;
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementEnd"] */ .k0s()()();
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementStart"] */ .j41(20, "div", 11)(21, "div", 2)(22, "label", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵtext"] */ .EFF(23);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵpipe"] */ .nI1(24, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementStart"] */ .j41(25, "ga-timer-picker", 14, 15);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵlistener"] */ .bIt("ngModelChange", function TimerRangePickerComponent_Template_ga_timer_picker_ngModelChange_25_listener($event) {
              return ctx.endTime = $event;
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵelementEnd"] */ .k0s()()()();
          }
          if (rf & 2) {
            const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵreference"] */ .sdS(11);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵadvance"] */ .R7$(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵpipeBind1"] */ .bMT(5, 16, "TIMER_TRACKER.DATE"), "");
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵadvance"] */ .R7$(3);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵproperty"] */ .Y8G("ngModel", ctx.date)("nbDatepicker", _r1);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵattribute"] */ .BMQ("disabled", ctx.disableDatePicker === true ? "disabled" : null);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵadvance"] */ .R7$(3);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵproperty"] */ .Y8G("filter", ctx.filter)("max", ctx.maxDate)("min", ctx.minDate);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵadvance"] */ .R7$(6);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵpipeBind1"] */ .bMT(17, 18, "TIMER_TRACKER.START_TIME"));
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵproperty"] */ .Y8G("min", ctx.minSlotStartTime)("max", ctx.maxSlotStartTime)("ngModel", ctx.startTime);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵadvance"] */ .R7$(5);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵpipeBind1"] */ .bMT(24, 20, "TIMER_TRACKER.END_TIME"));
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_4__/* ["ɵɵproperty"] */ .Y8G("disabled", ctx.disableEndPicker)("min", ctx.minSlotEndTime)("max", ctx.maxSlotEndTime)("ngModel", ctx.endTime);
          }
        },
        dependencies: [_angular_forms__WEBPACK_IMPORTED_MODULE_5__/* .DefaultValueAccessor */ .me, _angular_forms__WEBPACK_IMPORTED_MODULE_5__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_5__/* .NgModel */ .vS, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbDatepickerDirective */ .OA9, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbDatepickerComponent */ .k2z, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbIconComponent */ .tHu, _timer_picker_timer_picker_component__WEBPACK_IMPORTED_MODULE_7__/* .TimerPickerComponent */ .f, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_8__/* .TranslatePipe */ .D9],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   .input[_ngcontent-%COMP%], [_nghost-%COMP%]   input[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  box-shadow: var(--gauzy-shadow) inset;\n  color: var(--text-basic-color);\n  border-radius: var(--border-radius);\n  height: 42px;\n  position: relative;\n  border: unset;\n}\n[_nghost-%COMP%]   .input[_ngcontent-%COMP%]:hover, [_nghost-%COMP%]   input[_ngcontent-%COMP%]:hover {\n  border-color: var(--color-primary-hover);\n  color: var(--text-basic-color);\n}\n[_nghost-%COMP%]   .input[_ngcontent-%COMP%]:hover:focus, [_nghost-%COMP%]   input[_ngcontent-%COMP%]:hover:focus {\n  background: rgba(126, 126, 143, 0.05);\n}\n[_nghost-%COMP%]   .input[_ngcontent-%COMP%]:active, [_nghost-%COMP%]   input[_ngcontent-%COMP%]:active {\n  background: rgba(126, 126, 143, 0.05);\n}\n[_nghost-%COMP%]   .input[_ngcontent-%COMP%]   .icon[_ngcontent-%COMP%], [_nghost-%COMP%]   input[_ngcontent-%COMP%]   .icon[_ngcontent-%COMP%] {\n  position: absolute;\n}\n[dir=ltr]   [_nghost-%COMP%]   .input[_ngcontent-%COMP%]   .icon[_ngcontent-%COMP%], [dir=ltr]   [_nghost-%COMP%]   input[_ngcontent-%COMP%]   .icon[_ngcontent-%COMP%] {\n  right: 8px;\n}\n[dir=rtl]   [_nghost-%COMP%]   .input[_ngcontent-%COMP%]   .icon[_ngcontent-%COMP%], [dir=rtl]   [_nghost-%COMP%]   input[_ngcontent-%COMP%]   .icon[_ngcontent-%COMP%] {\n  left: -8px;\n}\n\ninput[_ngcontent-%COMP%] {\n  width: 100%;\n  padding: 0 10px;\n}\n\n.input[_ngcontent-%COMP%] {\n  width: 90%;\n}"]
      });
    }
  }
  return TimerRangePickerComponent;
})();

/***/ }),

/***/ 98011:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: () => (/* binding */ TimeZoneService)
/* harmony export */ });
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66791);
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21934);
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);




let TimeZoneService = /*#__PURE__*/(() => {
  class TimeZoneService {
    constructor() {
      // Initialize with default timezone, for example, 'Etc/UTC'
      this.timeZoneSubject$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__/* .BehaviorSubject */ .t('Etc/UTC');
      this.timeFormatSubject$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__/* .BehaviorSubject */ .t(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_1__.TimeFormatEnum.FORMAT_12_HOURS);
    }
    // Get the current timezone as an observable
    get timeZone$() {
      return this.timeZoneSubject$.asObservable();
    }
    // Get the current timezone as an observable
    get timeFormat$() {
      return this.timeFormatSubject$.asObservable();
    }
    // Get the current timezone value
    get currentTimeZone() {
      return this.timeZoneSubject$.getValue();
    }
    // Get the current timeformat value
    get currentTimeFormat() {
      return this.timeFormatSubject$.getValue();
    }
    /**
     * Sets a new timezone.
     *
     * @param {string} timeZone - The timezone to be set.
     */
    setTimeZone(timeZone) {
      if (moment_timezone__WEBPACK_IMPORTED_MODULE_0__.tz.zone(timeZone)) {
        this.timeZoneSubject$.next(timeZone);
      } else {
        console.error('Invalid timezone:', timeZone);
      }
    }
    /**
     * Sets the time format.
     *
     * @param {TimeFormatEnum} timeFormat - The time format to be set.
     */
    setTimeFormat(timeFormat) {
      this.timeFormatSubject$.next(timeFormat);
    }
    static {
      this.ɵfac = function TimeZoneService_Factory(t) {
        return new (t || TimeZoneService)();
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: TimeZoneService,
        factory: TimeZoneService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return TimeZoneService;
})();

/***/ }),

/***/ 14987:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   e: () => (/* binding */ WorkspacesComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(55598);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32869);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65670);
/* harmony import */ var rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66791);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(77271);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(61198);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83290);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(51170);













function WorkspacesComponent_div_0_div_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(0, "div");
  }
}
function WorkspacesComponent_div_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div")(1, "div", 2)(2, "div", 3)(3, "img", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function WorkspacesComponent_div_0_Template_img_click_3_listener() {
      const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r6);
      const workspace_r2 = restoredCtx.$implicit;
      const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r5.onChangeWorkspace(workspace_r2));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, WorkspacesComponent_div_0_div_4_Template, 1, 0, "div", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()();
  }
  if (rf & 2) {
    const workspace_r2 = ctx.$implicit;
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", (ctx_r0.selected == null ? null : ctx_r0.selected.id) === workspace_r2.id ? "selected" : "");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("src", workspace_r2.imgUrl, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", workspace_r2.isOnline);
  }
}
function WorkspacesComponent_button_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "button", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "i", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("nbContextMenu", ctx_r1.contextMenus);
  }
}
let WorkspacesComponent = class WorkspacesComponent extends _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_1__/* .TranslationBaseComponent */ .K {
  constructor(translateService, store) {
    super(translateService);
    this.translateService = translateService;
    this.store = store;
    this._workspaces$ = new rxjs_internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_2__/* .BehaviorSubject */ .t([]);
    this.workspaces$ = this._workspaces$.asObservable();
  }
  ngOnInit() {
    this._createContextMenus();
    this._applyTranslationOnChange();
  }
  ngAfterViewInit() {
    this.store.user$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .debounceTime */ .B)(100), (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__/* .filter */ .p)(user => !!user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(user => this.user = user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(() => this.getWorkspaces()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Retrieves the workspaces associated with the user's tenant.
   *
   * @return {void} This function does not return a value.
   */
  getWorkspaces() {
    if (!this.user.tenantId) {
      return;
    }
    const {
      tenant
    } = this.user;
    const workspace = {
      id: tenant.id,
      imgUrl: tenant.logo,
      isOnline: true
    };
    const workspaces = this._workspaces$.getValue();
    const index = workspaces.find(workspace => workspace.id === tenant.id);
    if (!index) {
      this._workspaces$.next([...workspaces, workspace]);
      this.selected = workspace;
    }
  }
  /**
   * Applies translation changes by subscribing to the onLangChange observable provided by translateService.
   * When a language change occurs, it triggers the creation of context menus.
   *
   * @return {void} This function does not return a value.
   */
  _applyTranslationOnChange() {
    this.translateService.onLangChange.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(() => this._createContextMenus()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Updates the selected workspace and sets its `isOnline` property to `true`.
   *
   * @param {IWorkSpace} workspace - The workspace to be selected.
   * @return {void} This function does not return a value.
   */
  onChangeWorkspace(workspace) {
    this.selected = workspace;
    this.selected.isOnline = true;
  }
  /**
   * Create bulk action context menus
   */
  _createContextMenus() {
    this.contextMenus = [{
      title: this.getTranslation('WORKSPACES.MENUS.SING_ANOTHER_WORKSPACE')
    }, {
      title: this.getTranslation('WORKSPACES.MENUS.CREATE_NEW_WORKSPACE')
    }, {
      title: this.getTranslation('WORKSPACES.MENUS.FIND_WORKSPACE')
    }];
  }
  /**
   * Create new workspace
   *
   */
  add() {
    // TODO
  }
  static {
    this.ɵfac = function WorkspacesComponent_Factory(t) {
      return new (t || WorkspacesComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_8__/* .TranslateService */ .c$), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .Store */ .il));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
      type: WorkspacesComponent,
      selectors: [["ngx-gauzy-workspaces"]],
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
      decls: 4,
      vars: 4,
      consts: [[4, "ngFor", "ngForOf"], ["nbButton", "", "nbContextMenuPlacement", "right", "outline", "", 3, "nbContextMenu", 4, "ngIf"], [3, "ngClass"], [1, "img-container"], ["alt", "", 3, "src", "click"], [4, "ngIf"], ["nbButton", "", "nbContextMenuPlacement", "right", "outline", "", 3, "nbContextMenu"], [1, "fas", "fa-plus"]],
      template: function WorkspacesComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(0, WorkspacesComponent_div_0_Template, 5, 3, "div", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(1, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(2, "div");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(3, WorkspacesComponent_button_3_Template, 2, 1, "button", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(1, 2, ctx.workspaces$));
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", false);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_10__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_10__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_10__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_11__/* .NbButtonComponent */ .YP2, _nebular_theme__WEBPACK_IMPORTED_MODULE_11__/* .NbContextMenuDirective */ .yUn, _angular_common__WEBPACK_IMPORTED_MODULE_10__/* .AsyncPipe */ .Jj],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ndiv[_ngcontent-%COMP%] {\n  margin-bottom: 0.375rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 1050;\n}\ndiv[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  width: 34px;\n  height: 34px;\n}\ndiv[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%] {\n  object-fit: cover;\n  position: relative;\n}\ndiv[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 34px;\n  height: 34px;\n  border-radius: 34px;\n  margin: 0;\n}\ndiv[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%] {\n  position: absolute;\n  width: 10px;\n  height: 10px;\n  background-color: #00d060;\n  border-radius: 8px;\n  border: 2px solid #ebebeb;\n  right: 0;\n  top: 0;\n}\ndiv.selected[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%] {\n  border: 6px solid rgba(126, 126, 143, 0.5);\n  mix-blend-mode: multiply;\n  border-radius: 34px;\n}\ndiv.selected[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  box-shadow: 0px 0px 6px 3px rgba(50, 50, 50, 0.5);\n}\n\n  nb-context-menu nb-menu .menu-item {\n  border-width: 0;\n}\n  nb-context-menu nb-menu .menu-item a {\n  text-align: left;\n  border-radius: var(--border-radius);\n}\n  nb-context-menu nb-menu .menu-item a:hover {\n  background-color: var(--color-primary-transparent-default);\n}\n  nb-context-menu,   .context-menu {\n  border-radius: 0 var(--border-radius) var(--border-radius) var(--border-radius);\n  padding: 0.3125rem;\n}"]
    });
  }
};
WorkspacesComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_12__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_7__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_12__/* .__metadata */ .Sn)("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_8__/* .TranslateService */ .c$, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .Store */ .il])], WorkspacesComponent);

/***/ }),

/***/ 22026:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: () => (/* binding */ WorkspacesModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);



let WorkspacesModule = /*#__PURE__*/(() => {
  class WorkspacesModule {
    static {
      this.ɵfac = function WorkspacesModule_Factory(t) {
        return new (t || WorkspacesModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: WorkspacesModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbContextMenuModule */ .DkL]
      });
    }
  }
  return WorkspacesModule;
})();

/***/ }),

/***/ 80871:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   M: () => (/* binding */ UiCoreModule)
/* harmony export */ });
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58063);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);




let UiCoreModule = /*#__PURE__*/(() => {
  class UiCoreModule {
    /**
     * Returns a ModuleWithProviders object for the UiCoreModule.
     *
     * @return {ModuleWithProviders<UiCoreModule>}
     */
    static forRoot() {
      return {
        ngModule: UiCoreModule,
        providers: []
      };
    }
    static {
      this.ɵfac = function UiCoreModule_Factory(t) {
        return new (t || UiCoreModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: UiCoreModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [ngx_permissions__WEBPACK_IMPORTED_MODULE_1__/* .NgxPermissionsModule */ .Ov.forRoot()]
      });
    }
  }
  return UiCoreModule;
})();

/***/ }),

/***/ 58436:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: () => (/* binding */ FooterComponent)
/* harmony export */ });
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83290);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34858);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(84076);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42089);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(76149);










const _c0 = function () {
  return ["legal/terms"];
};
const _c1 = function () {
  return ["legal/privacy"];
};
function FooterComponent_div_12_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 13)(1, "a", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(4, "span", 15);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(5, "a", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(7, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(8, "span", 15);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction0"] */ .lJ4(8, _c0));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 4, "FOOTER.TERMS_OF_SERVICE"));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction0"] */ .lJ4(9, _c1));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(7, 6, "FOOTER.PRIVACY_POLICY"));
  }
}
let FooterComponent = /*#__PURE__*/(() => {
  class FooterComponent extends _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_1__/* .TranslationBaseComponent */ .K {
    constructor(translationService, store, environment) {
      super(translationService);
      this.translationService = translationService;
      this.store = store;
      this.environment = environment;
      this.companyName = environment.COMPANY_NAME;
      this.companyLink = environment.COMPANY_LINK;
      this.companySite = environment.COMPANY_SITE_NAME;
      this.companySiteLink = environment.COMPANY_SITE_LINK;
      this.companyGithubLink = environment.COMPANY_GITHUB_LINK;
      this.companyGitlabLink = environment.COMPANY_GITLAB_LINK;
      this.companyFacebookLink = environment.COMPANY_FACEBOOK_LINK;
      this.companyTwitterLink = environment.COMPANY_TWITTER_LINK;
      this.companyLinkedinLink = environment.COMPANY_IN_LINK;
    }
    ngOnInit() {
      this.store.user$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(user => !!user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(user => this.user = user)).subscribe();
    }
    static {
      this.ɵfac = function FooterComponent_Factory(t) {
        return new (t || FooterComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateService */ .c$), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_6__/* .GAUZY_ENV */ .V));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: FooterComponent,
        selectors: [["ngx-footer"]],
        features: [_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
        decls: 22,
        vars: 19,
        consts: [[1, "created-by"], ["target", "_blank", 3, "href"], [1, "right-side"], ["class", "mr-2", 4, "ngIf"], [1, "socials"], ["target", "_blank", 1, "ion", "ion-logo-github", 3, "href"], ["target", "_blank", 1, "ion", "ion-logo-gitlab", 3, "href"], ["xmlns", "http://www.w3.org/2000/svg", 0, "xmlns", "xlink", "http://www.w3.org/1999/xlink", "aria-hidden", "true", "role", "img", "width", "28", "height", "34", "preserveAspectRatio", "xMidYMid meet", "vertical-align", "top", "viewBox", "0 0 512 512"], ["x", "0 ", "y", "0", "width", "512", "height", "512", "fill", "none", "stroke", "none"], ["d", "M494.07 281.6l-25.18-78.08a11 11 0 0 0-.61-2.1l-50.5-156.94a20.08 20.08 0 0 0-19.17-13.82a19.77 19.77 0 0 0-18.95 13.94l-48.14 149.55h-152L131.34 44.59a19.76 19.76 0 0 0-18.86-13.94h-.11a20.15 20.15 0 0 0-19.12 14L42.7 201.73c0 .14-.11.26-.16.4l-25.63 79.48a29.15 29.15 0 0 0 10.44 32.46l221.44 162.41a11.25 11.25 0 0 0 13.38-.07l221.48-162.34a29.13 29.13 0 0 0 10.42-32.47m-331-64.51l61.73 191.76L76.63 217.09m209.64 191.8l59.19-183.84l2.55-8h86.52L300.47 390.44M398.8 59.31l43.37 134.83h-86.82M324.16 217l-43 133.58l-25.66 79.56L186.94 217M112.27 59.31l43.46 134.83H69M40.68 295.58a6.19 6.19 0 0 1-2.21-6.9l19-59l139.61 180.59m273.26-114.69L313.92 410.22l.52-.69L453.5 229.64l19 59a6.2 6.2 0 0 1-2.19 6.92", "fill", "currentColor"], ["target", "_blank", 1, "ion", "ion-logo-facebook", 3, "href"], ["target", "_blank", 1, "ion", "ion-logo-twitter", 3, "href"], ["target", "_blank", 1, "ion", "ion-logo-linkedin", 3, "href"], [1, "mr-2"], [3, "routerLink"], [1, "mx-3"]],
        template: function FooterComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "span", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "a", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(5);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(6, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(7, "a", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(8);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(9);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(10, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(11, "div", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(12, FooterComponent_div_12_Template, 9, 10, "div", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(13, "div", 4);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(14, "a", 5);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(15, "a", 6);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnamespaceSVG"] */ .qSk();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(16, "svg", 7);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(17, "rect", 8)(18, "path", 9);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnamespaceHTML"] */ .joV();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(19, "a", 10)(20, "a", 11)(21, "a", 12);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI("Copyright \u00A9 2019-", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 13, "FOOTER.PRESENT"), ", ");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("href", ctx.companySiteLink, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(ctx.companySite);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(6, 15, "FOOTER.BY"), " ");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("href", ctx.companyLink, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(ctx.companyName);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(". ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(10, 17, "FOOTER.RIGHTS_RESERVED"), "\n");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.user);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("href", ctx.companyGithubLink, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("href", ctx.companyGitlabLink, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("href", ctx.companyFacebookLink, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("href", ctx.companyTwitterLink, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("href", ctx.companyLinkedinLink, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_7__/* .NgIf */ .bT, _angular_router__WEBPACK_IMPORTED_MODULE_8__/* .RouterLink */ .Wk, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslatePipe */ .D9],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n  width: 100%;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 11px;\n  letter-spacing: 0em;\n  color: var(--gauzy-text-color-2);\n}\n[_nghost-%COMP%]   .socials[_ngcontent-%COMP%] {\n  font-size: 1.25rem;\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n[_nghost-%COMP%]   .socials[_ngcontent-%COMP%]   a[_ngcontent-%COMP%] {\n  color: var(--text-hint-color);\n  transition: color ease-out 0.1s;\n}\n[_nghost-%COMP%]   .socials[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover {\n  color: var(--text-basic-color);\n}\n[_nghost-%COMP%]   .socials[_ngcontent-%COMP%]   .ion-logo-gitlab[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%] {\n  vertical-align: text-top;\n  width: 1.25rem;\n}\n[_nghost-%COMP%]   .right-side[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  padding: 0 1rem 0;\n}\n@media (max-width: 575.98px) {\n  [_nghost-%COMP%]   .socials[_ngcontent-%COMP%] {\n    font-size: 1rem;\n  }\n}\n\na[_ngcontent-%COMP%] {\n  text-decoration: none;\n}"]
      });
    }
  }
  return FooterComponent;
})();

/***/ }),

/***/ 50870:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: () => (/* binding */ GauzyLogoComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(75601);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32869);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65670);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(51170);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(34858);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(84076);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(899);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12213);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(72089);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(80435);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(42089);
/* harmony import */ var _core_src_lib_components_main_nav_menu_main_nav_menu_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(61988);
/* harmony import */ var _core_src_lib_components_settings_nav_menu_settings_nav_menu_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(51332);
/* harmony import */ var _shared_src_lib_directives_img_directive__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(46578);


















function GauzyLogoComponent_nb_accordion_0_ng_container_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainer"] */ .eu8(0);
  }
}
function GauzyLogoComponent_nb_accordion_0_div_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "img", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(2, "div", 14)(3, "div", 15);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(5, "div", 15);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()();
  }
  if (rf & 2) {
    const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("src", ctx_r5.organization == null ? null : ctx_r5.organization.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B)("alt", ctx_r5.organization == null ? null : ctx_r5.organization.name);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("nbTooltip", ctx_r5.organization == null ? null : ctx_r5.organization.name);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r5.organization == null ? null : ctx_r5.organization.name, " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("nbTooltip", ctx_r5.organization == null ? null : ctx_r5.organization.website);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", ctx_r5.organization == null ? null : ctx_r5.organization.website, " ");
  }
}
function GauzyLogoComponent_nb_accordion_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-accordion", 3)(1, "nb-accordion-item", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("collapsedChange", function GauzyLogoComponent_nb_accordion_0_Template_nb_accordion_item_collapsedChange_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r7);
      const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r6.onCollapse($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(2, "nb-accordion-item-header", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(3, GauzyLogoComponent_nb_accordion_0_ng_container_3_Template, 1, 0, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, GauzyLogoComponent_nb_accordion_0_div_4_Template, 7, 6, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(5, "nb-accordion-item-body", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(6, "ga-main-nav-menu", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(7, "nb-accordion-item-body", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(8, "ga-settings-nav-menu");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(9, "nb-accordion-item-body", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵreference"] */ .sdS(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("collapsed", ctx_r0.controlled);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngTemplateOutlet", _r2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx_r0.isCollapse);
  }
}
function GauzyLogoComponent_div_1_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainer"] */ .eu8(0);
  }
}
function GauzyLogoComponent_div_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, GauzyLogoComponent_div_1_ng_container_1_Template, 1, 0, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵreference"] */ .sdS(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngTemplateOutlet", _r2);
  }
}
function GauzyLogoComponent_ng_template_2_div_0_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "object", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(2, "img", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("data", ctx_r10.logoUrl, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeResourceUrl"] */ .f$h);
  }
}
function GauzyLogoComponent_ng_template_2_div_0_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(0, "img", 22);
  }
  if (rf & 2) {
    const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("src", ctx_r12.logoUrl || "assets/images/logos/logo_Gauzy.png", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
const _c0 = function (a0) {
  return {
    "white-svg": a0
  };
};
function GauzyLogoComponent_ng_template_2_div_0_Template(rf, ctx) {
  if (rf & 1) {
    const _r14 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function GauzyLogoComponent_ng_template_2_div_0_Template_div_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r14);
      const ctx_r13 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r13.navigateHome());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, GauzyLogoComponent_ng_template_2_div_0_ng_container_1_Template, 3, 1, "ng-container", 18);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, GauzyLogoComponent_ng_template_2_div_0_ng_template_2_Template, 1, 1, "ng-template", null, 19, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵreference"] */ .sdS(3);
    const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction1"] */ .eq3(3, _c0, ctx_r9.isWhiteSvg()));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r9.isSVG)("ngIfElse", _r11);
  }
}
function GauzyLogoComponent_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(0, GauzyLogoComponent_ng_template_2_div_0_Template, 4, 5, "div", 16);
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r3.isCollapse);
  }
}
let GauzyLogoComponent = class GauzyLogoComponent {
  /**
   * Checks if the logo file is in SVG format.
   * @returns {boolean} True if the logo ends with '.svg' (case-insensitive), false otherwise.
   */
  isSVG() {
    const logo = this.environment.PLATFORM_LOGO;
    return logo ? logo.toLowerCase().endsWith('.svg') : false;
  }
  constructor(_themeService, _domSanitizer, _cd, _store, environment) {
    this._themeService = _themeService;
    this._domSanitizer = _domSanitizer;
    this._cd = _cd;
    this._store = _store;
    this.environment = environment;
    this.isCollapse = true;
    this.controlled = true;
    this.isAccordion = true;
    this.onCollapsed = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB(this.isCollapse);
    this.logoUrl = this._domSanitizer.bypassSecurityTrustResourceUrl(environment.PLATFORM_LOGO);
  }
  ngOnInit() {
    this._store.selectedOrganization$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__/* .debounceTime */ .B)(100), (0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_2__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .filter */ .p)(organization => !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__/* .tap */ .M)(organization => {
      this.organization = organization;
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  ngAfterViewInit() {
    this._themeService.onThemeChange().subscribe(theme => {
      this.theme = theme.name;
      this._cd.detectChanges();
    });
  }
  /**
   * Handles the collapse state of the accordion.
   * @param isCollapsed - The new collapsed state of the accordion.
   */
  onCollapse(isCollapsed) {
    this.isCollapse = isCollapsed; // Update the collapse state
    this.onCollapsed.emit(this.isCollapse); // Emit the new state
  }
  /**
   * Navigates to the home page.
   * @returns false to prevent default behavior, if needed.
   */
  navigateHome() {
    // this.menuService.navigateHome();
    return false; // Prevent default action
  }
  /**
   * Determines if the logo should have the 'white-svg' class.
   * @returns true if isSVG is true and the theme is dark; otherwise, false.
   */
  isWhiteSvg() {
    return this.isSVG && this.isDarkTheme();
  }
  /**
   * Checks if the current theme is a dark theme.
   * @returns true if the theme is dark; otherwise, false.
   */
  isDarkTheme() {
    return [_themes__WEBPACK_IMPORTED_MODULE_6__/* .DARK_THEME */ .n.name, _themes__WEBPACK_IMPORTED_MODULE_7__/* .COSMIC_THEME */ .D.name, _themes__WEBPACK_IMPORTED_MODULE_8__/* .GAUZY_DARK */ .Y.name, _themes__WEBPACK_IMPORTED_MODULE_9__/* .MATERIAL_DARK_THEME */ .L.name].includes(this.theme);
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function GauzyLogoComponent_Factory(t) {
      return new (t || GauzyLogoComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbThemeService */ .NS1), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_platform_browser__WEBPACK_IMPORTED_MODULE_11__/* .DomSanitizer */ .up), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* .ChangeDetectorRef */ .gRc), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_config__WEBPACK_IMPORTED_MODULE_13__/* .GAUZY_ENV */ .V));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
      type: GauzyLogoComponent,
      selectors: [["ngx-gauzy-logo"]],
      inputs: {
        controlled: "controlled",
        isAccordion: "isAccordion"
      },
      outputs: {
        onCollapsed: "onCollapsed"
      },
      decls: 4,
      vars: 2,
      consts: [["class", "accordion workspace", 4, "ngIf"], [4, "ngIf"], ["logoTemplate", ""], [1, "accordion", "workspace"], [3, "collapsed", "collapsedChange"], [1, "principal"], [4, "ngTemplateOutlet"], ["class", "organization", 4, "ngIf"], [1, "setting", "action"], ["menuCategory", "accordion"], [1, "setting"], [1, "item", "footer"], [1, "organization"], [3, "src", "alt"], [1, "description", "text"], [3, "nbTooltip"], ["class", "logo", 3, "ngClass", "click", 4, "ngIf"], [1, "logo", 3, "ngClass", "click"], [4, "ngIf", "ngIfElse"], ["image", ""], ["type", "image/svg+xml", 3, "data"], ["src", "assets/images/logos/logo_Gauzy.png"], [3, "src"]],
      template: function GauzyLogoComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(0, GauzyLogoComponent_nb_accordion_0_Template, 10, 3, "nb-accordion", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, GauzyLogoComponent_div_1_Template, 2, 1, "div", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, GauzyLogoComponent_ng_template_2_Template, 1, 1, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.isAccordion);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx.isAccordion);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_14__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_14__/* .NgIf */ .bT, _angular_common__WEBPACK_IMPORTED_MODULE_14__/* .NgTemplateOutlet */ .T3, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbTooltipDirective */ .BmQ, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbAccordionComponent */ .Ul7, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbAccordionItemComponent */ .vx8, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbAccordionItemHeaderComponent */ .Ig3, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbAccordionItemBodyComponent */ .LHJ, _core_src_lib_components_main_nav_menu_main_nav_menu_component__WEBPACK_IMPORTED_MODULE_15__/* .MainNavMenuComponent */ .x, _core_src_lib_components_settings_nav_menu_settings_nav_menu_component__WEBPACK_IMPORTED_MODULE_16__/* .SettingsNavMenuComponent */ .J, _shared_src_lib_directives_img_directive__WEBPACK_IMPORTED_MODULE_17__/* .ImgDirective */ .z],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.accordion.workspace[_ngcontent-%COMP%] {\n  width: 100%;\n  max-width: var(--sidebar-width);\n  max-height: 2.625rem;\n  box-shadow: unset;\n}\n.accordion.workspace[_ngcontent-%COMP%]   .organization[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  width: 100%;\n}\n.accordion.workspace[_ngcontent-%COMP%]   .organization[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 2.25rem;\n  height: 2.25rem;\n  border-radius: var(--button-rectangle-border-radius);\n  margin-right: 0.25rem;\n}\n.accordion.workspace[_ngcontent-%COMP%]   .organization[_ngcontent-%COMP%]   .description[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%] {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  width: fit-content;\n  max-width: 150px;\n}\n.accordion.workspace[_ngcontent-%COMP%]   .organization[_ngcontent-%COMP%]   .description[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%]:first-child {\n  font-size: 0.75rem;\n}\n.accordion.workspace[_ngcontent-%COMP%]   .organization[_ngcontent-%COMP%]   .description[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%]:last-child {\n  font-size: 0.6875rem;\n  color: var(--text-primary-color);\n}\n.accordion.workspace[_ngcontent-%COMP%]   .item.footer[_ngcontent-%COMP%] {\n  box-shadow: var(--gauzy-shadow);\n  border-radius: 0 0 var(--border-radius) var(--border-radius);\n}\n.accordion.workspace[_ngcontent-%COMP%]   .item.footer[_ngcontent-%COMP%]     .item-body {\n  padding: 5px;\n}\n\nnb-accordion-item-header[_ngcontent-%COMP%]     nb-icon {\n  border: 1px solid var(--border-basic-color-4);\n  border-radius: var(--button-rectangle-border-radius);\n  width: 1.75rem;\n  height: 1.75rem;\n}\n\nnb-accordion-item-body[_ngcontent-%COMP%]     {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\nnb-accordion-item-body.setting[_ngcontent-%COMP%]     .item-body {\n  padding-top: 0;\n  padding-bottom: 0;\n}\nnb-accordion-item-body.setting[_ngcontent-%COMP%]     .item-body .border-bottom {\n  border: unset !important;\n}\nnb-accordion-item-body.setting[_ngcontent-%COMP%]     .item-body .item-body {\n  padding: 6px;\n}\n\n.setting.action[_ngcontent-%COMP%]     ga-main-nav-menu ga-sidebar-menu nb-accordion-item nb-accordion-item-header {\n  box-shadow: unset;\n  border-width: 0;\n}\n.setting.action[_ngcontent-%COMP%]     ga-main-nav-menu ga-sidebar-menu nb-accordion-item nb-accordion-item-header nb-icon {\n  display: none;\n}\n\nnb-accordion-item[_ngcontent-%COMP%]:first-child.collapsed   nb-accordion-item-header.principal[_ngcontent-%COMP%] {\n  border-bottom: none;\n  max-height: 42px;\n  background-color: unset;\n  border-radius: var(--border-radius);\n  box-shadow: var(--gauzy-shadow);\n}\n\n.white-svg[_ngcontent-%COMP%] {\n  filter: brightness(0) invert(1);\n}\n\n.link[_ngcontent-%COMP%] {\n  cursor: pointer;\n  margin: 0 10px;\n  padding: 10px;\n}\n.link[_ngcontent-%COMP%]:hover {\n  background-color: rgba(126, 126, 143, 0.1);\n  border-radius: var(--border-radius);\n}\n\n.text[_ngcontent-%COMP%] {\n  margin: 0 10px;\n  font-size: 13px;\n  font-style: normal;\n  font-weight: 500;\n  line-height: 16px;\n  letter-spacing: 0em;\n}\n\n.logo[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  height: 22px;\n}\n.logo[_ngcontent-%COMP%]   object[_ngcontent-%COMP%] {\n  max-width: 128px;\n  max-height: 22px;\n}"]
    });
  }
};
GauzyLogoComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_18__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_5__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_18__/* .__metadata */ .Sn)("design:paramtypes", [_nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbThemeService */ .NS1, _angular_platform_browser__WEBPACK_IMPORTED_MODULE_11__/* .DomSanitizer */ .up, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .ChangeDetectorRef */ .gRc, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_12__/* .Store */ .il, Object])], GauzyLogoComponent);

/***/ }),

/***/ 8936:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   l: () => (/* binding */ HeaderComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82817);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(76149);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(51170);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(6925);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(43038);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(32869);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(65670);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(51717);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(61198);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84476);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(77271);
/* harmony import */ var hotkeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50466);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(57328);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83290);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(10620);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(8890);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(29610);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(43225);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(7160);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(4743);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(66105);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(77303);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(36494);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(18894);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(21963);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(44333);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(59422);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(49006);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(73311);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(70563);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(42089);
/* harmony import */ var _shared_src_lib_selectors_date_range_picker_date_range_picker_component__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(28864);
/* harmony import */ var _shared_src_lib_selectors_employee_employee_component__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(23102);
/* harmony import */ var _shared_src_lib_selectors_organization_organization_component__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(42848);
/* harmony import */ var _shared_src_lib_selectors_project_project_project_component__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(1182);
/* harmony import */ var _shared_src_lib_selectors_team_team_team_component__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(876);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(58063);
/* harmony import */ var _shared_src_lib_time_tracker_time_tracker_time_tracker_component__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(10956);
/* harmony import */ var _shared_src_lib_time_tracker_components_time_tracker_status_time_tracker_status_component__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(21679);































function HeaderComponent_div_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "div", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(1, " You are using a demo account. Finding our software useful? ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(2, "a", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(3, " Click here to Sign Up and start using for free! ");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s()();
  }
}
function HeaderComponent_ng_template_4_Template(rf, ctx) {
  if (rf & 1) {
    const _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "nb-action", 15)(1, "button", 16);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵlistener"] */ .bIt("click", function HeaderComponent_ng_template_4_Template_button_click_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵrestoreView"] */ .eBV(_r13);
      const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵresetView"] */ .Njj(ctx_r12.openQuickActions());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵclassProp"] */ .AVh("left", ctx_r1.position === "normal")("right", ctx_r1.position === "inverse");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtextInterpolate1"] */ .SpI(" + ", _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(3, 5, "BUTTONS.CREATE"), " ");
  }
}
function HeaderComponent_nb_action_6_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "nb-action", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(1, "ga-team-selector", 18);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(2, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(3, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
    let tmp_0_0;
    let tmp_1_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("employeeId", (tmp_0_0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(2, 3, ctx_r2.employee$)) == null ? null : tmp_0_0.id)("projectId", (tmp_1_0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(3, 5, ctx_r2.project$)) == null ? null : tmp_1_0.id)("shortened", true);
  }
}
function HeaderComponent_nb_action_7_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "nb-action", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(1, "ga-project-selector", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(2, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
    let tmp_0_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("employeeId", (tmp_0_0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(2, 2, ctx_r3.employee$)) == null ? null : tmp_0_0.id)("shortened", true);
  }
}
function HeaderComponent_nb_action_8_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "nb-action", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(1, "ga-employee-selector", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
  }
}
function HeaderComponent_nb_action_9_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(1, "ngx-date-range-picker", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("firstDayOfWeek", ctx_r14.organization.startWeekOn);
  }
}
function HeaderComponent_nb_action_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "nb-action");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(1, HeaderComponent_nb_action_9_ng_container_1_Template, 2, 1, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r5.organization == null ? null : ctx_r5.organization.id);
  }
}
function HeaderComponent_nb_action_10_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "nb-action", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(1, "ga-organization-selector", 23);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
  }
}
function HeaderComponent_nb_action_12_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(0, "nb-action", 24);
  }
  if (rf & 2) {
    const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("nbContextMenu", ctx_r7.supportContextMenu);
  }
}
function HeaderComponent_nb_action_13_Template(rf, ctx) {
  if (rf & 1) {
    const _r16 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "nb-action", 25);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵlistener"] */ .bIt("click", function HeaderComponent_nb_action_13_Template_nb_action_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵrestoreView"] */ .eBV(_r16);
      const ctx_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵresetView"] */ .Njj(ctx_r15.toggleTimerWindow());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(1, "nb-icon", 26);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(2, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(4, "ga-time-tracker-status", 27);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtextInterpolate"] */ .JRh(ctx_r8.timerDuration);
  }
}
function HeaderComponent_nb_action_14_Template(rf, ctx) {
  if (rf & 1) {
    const _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "nb-action", 28);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵlistener"] */ .bIt("click", function HeaderComponent_nb_action_14_Template_nb_action_click_0_listener() {
      const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵrestoreView"] */ .eBV(_r19);
      const action_r17 = restoredCtx.$implicit;
      const ctx_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵresetView"] */ .Njj(ctx_r18.toggleSidebarActions(action_r17));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const action_r17 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵclassMap"] */ .HbH(action_r17.class);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("icon", action_r17.icon);
  }
}
function HeaderComponent_div_16_ng_container_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(1, "div")(2, "h6");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(5, "ga-team-selector", 18);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(6, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(7, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r20 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG(2);
    let tmp_1_0;
    let tmp_2_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(4, 4, "HEADER.SELECT_TEAM"));
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("employeeId", (tmp_1_0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(6, 6, ctx_r20.employee$)) == null ? null : tmp_1_0.id)("projectId", (tmp_2_0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(7, 8, ctx_r20.project$)) == null ? null : tmp_2_0.id)("shortened", true);
  }
}
function HeaderComponent_div_16_ng_container_2_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(1, "div")(2, "h6");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(5, "ga-project-selector", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(6, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r21 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG(2);
    let tmp_1_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(4, 3, "HEADER.SELECT_PROJECT"));
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("employeeId", (tmp_1_0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(6, 5, ctx_r21.employee$)) == null ? null : tmp_1_0.id)("shortened", true);
  }
}
function HeaderComponent_div_16_ng_container_3_ga_employee_selector_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(0, "ga-employee-selector", 20);
  }
}
function HeaderComponent_div_16_ng_container_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(1, "div")(2, "h6");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(5, HeaderComponent_div_16_ng_container_3_ga_employee_selector_5_Template, 1, 0, "ga-employee-selector", 30);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r22 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(4, 2, "HEADER.SELECT_EMPLOYEE"));
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r22.showEmployeesSelector);
  }
}
function HeaderComponent_div_16_ng_container_4_ngx_date_range_picker_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(0, "ngx-date-range-picker", 32);
  }
}
function HeaderComponent_div_16_ng_container_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(1, "div")(2, "h6");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(5, HeaderComponent_div_16_ng_container_4_ngx_date_range_picker_5_Template, 1, 0, "ngx-date-range-picker", 31);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r23 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(4, 2, "HEADER.SELECT_A_DATE"));
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r23.showDateSelector);
  }
}
function HeaderComponent_div_16_ng_container_5_ga_organization_selector_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(0, "ga-organization-selector", 23);
  }
}
function HeaderComponent_div_16_ng_container_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(1, "div")(2, "h6");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(5, HeaderComponent_div_16_ng_container_5_ga_organization_selector_5_Template, 1, 0, "ga-organization-selector", 33);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r24 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(4, 2, "HEADER.SELECT_AN_ORGANIZATION"));
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r24.showOrganizationsSelector);
  }
}
function HeaderComponent_div_16_Template(rf, ctx) {
  if (rf & 1) {
    const _r29 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(0, "div", 29);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵlistener"] */ .bIt("resize", function HeaderComponent_div_16_Template_div_resize_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵrestoreView"] */ .eBV(_r29);
      const ctx_r28 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵresetView"] */ .Njj(ctx_r28.closeExtraActionsIfLarge($event));
    }, false, _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵresolveWindow"] */ .tSv);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(1, HeaderComponent_div_16_ng_container_1_Template, 8, 10, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(2, HeaderComponent_div_16_ng_container_2_Template, 7, 7, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(3, HeaderComponent_div_16_ng_container_3_Template, 6, 4, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(4, HeaderComponent_div_16_ng_container_4_Template, 6, 4, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(5, HeaderComponent_div_16_ng_container_5_Template, 6, 4, "ng-container", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r10.selectorsVisibility == null ? null : ctx_r10.selectorsVisibility.team);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r10.selectorsVisibility == null ? null : ctx_r10.selectorsVisibility.project);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r10.selectorsVisibility == null ? null : ctx_r10.selectorsVisibility.employee);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r10.selectorsVisibility == null ? null : ctx_r10.selectorsVisibility.date);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r10.selectorsVisibility == null ? null : ctx_r10.selectorsVisibility.organization);
  }
}
function HeaderComponent_ng_template_17_ng_template_0_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(0, "ngx-web-time-tracker");
  }
}
function HeaderComponent_ng_template_17_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(0, HeaderComponent_ng_template_17_ng_template_0_Template, 1, 0, "ng-template", 34);
  }
}
let HeaderComponent = class HeaderComponent extends _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_4__/* .TranslationBaseComponent */ .K {
  constructor(sidebarService, layoutService, themeService, router, translate, store, timeTrackerService, usersOrganizationsService, organizationsService, employeesService, organizationProjectsService, organizationTeamsService, navigationBuilderService, dateRangeService, organizationEditStore, organizationProjectStore, organizationTeamStore, employeeStore, selectorBuilderService, cd, dialogService) {
    super(translate);
    this.sidebarService = sidebarService;
    this.layoutService = layoutService;
    this.themeService = themeService;
    this.router = router;
    this.translate = translate;
    this.store = store;
    this.timeTrackerService = timeTrackerService;
    this.usersOrganizationsService = usersOrganizationsService;
    this.organizationsService = organizationsService;
    this.employeesService = employeesService;
    this.organizationProjectsService = organizationProjectsService;
    this.organizationTeamsService = organizationTeamsService;
    this.navigationBuilderService = navigationBuilderService;
    this.dateRangeService = dateRangeService;
    this.organizationEditStore = organizationEditStore;
    this.organizationProjectStore = organizationProjectStore;
    this.organizationTeamStore = organizationTeamStore;
    this.employeeStore = employeeStore;
    this.selectorBuilderService = selectorBuilderService;
    this.cd = cd;
    this.dialogService = dialogService;
    this.isEmployee = false;
    this.isElectron = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.IS_ELECTRON;
    this.isDemo = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_5__/* .environment */ .c.DEMO;
    this.position = 'normal';
    this.employee$ = this.store.selectedEmployee$;
    this.project$ = this.store.selectedProject$;
    this.showDateSelector = true;
    this.showExtraActions = false;
    this.actions = {
      START_TIMER: 'START_TIMER',
      STOP_TIMER: 'STOP_TIMER'
    };
    this.subject$ = new rxjs__WEBPACK_IMPORTED_MODULE_6__/* .Subject */ .B();
    this.isCollapse = true;
    this.expanded = true;
    this.shortcutsMap = new Map();
    this.defaultShortcuts = {
      quickActions: 'ctrl+Q',
      createInvoice: 'I',
      receivedInvoices: 'shift+I',
      createEstimate: 'E',
      receivedEstimates: 'shift+E',
      createPayment: 'P',
      createIncome: 'C',
      createExpense: 'X',
      createTeam: 'G',
      createTask: 'T',
      createProject: 'J',
      viewTasks: 'shift+T',
      viewTeamTasks: 'shift+G',
      addEmployee: 'A+E',
      addInventory: 'A+I',
      addEquipment: 'A+Q',
      addVendor: 'A+V',
      addDepartment: 'A+D',
      timeLog: 'shift+L',
      viewAppointments: 'shift+A',
      viewTimeActivity: 'shift+S',
      startTimer: 'S',
      stopTimer: 'O',
      createCandidate: 'U',
      createProposal: 'R',
      createContract: 'K',
      createLead: 'D',
      createCustomer: 'M',
      createClient: 'N',
      viewClients: 'shift+N'
    };
  }
  ngOnInit() {
    var _this = this;
    this.subject$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__/* .debounceTime */ .B)(1300), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.checkEmployeeSelectorVisibility()), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.checkProjectSelectorVisibility()), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.checkTeamSelectorVisibility()), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this._loadContextMenus()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.selectorBuilderService.selectors$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_10__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_7__/* .debounceTime */ .B)(200), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(selectors => {
      this.selectorsVisibility = Object.assign({}, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .DEFAULT_SELECTOR_VISIBILITY */ .z, selectors);
    }), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.subject$.next(true)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.router.events.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .filter */ .p)(event => event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_13__/* .NavigationEnd */ .wF), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.timeTrackerService.showTimerWindow = false), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.timeTrackerService.duration$.pipe((0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe(time => {
      if (!isNaN(time)) {
        this.timerDuration = moment__WEBPACK_IMPORTED_MODULE_0__.utc(time * 1000).format('HH:mm:ss');
      }
    });
    this.store.user$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .filter */ .p)(user => !!user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(user => this.user = user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(user => this.employee = user?.employee), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(user => this.isEmployee = !!user && !!user.employee?.id), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe(/*#__PURE__*/(0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A)(function* () {
      //check header selectors dropdown permissions
      yield _this.checkOrganizationSelectorVisibility();
      //check timer status for employee
      if (_this.isEmployee) {
        _this._checkTimerStatus();
      }
    }));
    const storeOrganization$ = this.store.selectedOrganization$;
    const selectedDateRange$ = this.dateRangeService.selectedDateRange$;
    (0,rxjs__WEBPACK_IMPORTED_MODULE_15__/* .combineLatest */ .z)([storeOrganization$, selectedDateRange$]).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .filter */ .p)(([organization]) => !!organization), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe(([organization, dateRange]) => {
      this.organization = organization;
      this.selectedDateRange = dateRange;
      this.subject$.next(true);
    });
    this._applyTranslationOnContextMenu();
    this._loadContextMenus();
    // -- setup shortcuts keyboards
    this.setupShortcuts();
  }
  ngAfterViewInit() {
    this.themeService.onThemeChange().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(theme => {
      this.theme = theme.name;
      this.cd.detectChanges();
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
    this.organizationEditStore.organizationAction$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .filter */ .p)(({
      action,
      organization
    }) => !!action && !!organization), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.organizationEditStore.destroy()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe(({
      action
    }) => {
      switch (action) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.CREATED:
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.UPDATED:
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.DELETED:
          this.checkOrganizationSelectorVisibility();
          break;
      }
    });
    this.organizationTeamStore.organizationTeamAction$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .filter */ .p)(({
      action,
      team
    }) => !!action && !!team), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.organizationTeamStore.destroy()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe(({
      action
    }) => {
      switch (action) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.CREATED:
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.UPDATED:
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.DELETED:
          this.checkTeamSelectorVisibility();
          break;
      }
    });
    this.organizationProjectStore.organizationProjectAction$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .filter */ .p)(({
      action,
      project
    }) => !!action && !!project), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.organizationProjectStore.destroy()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe(({
      action
    }) => {
      switch (action) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.CREATED:
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.UPDATED:
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.DELETED:
          this.checkProjectSelectorVisibility();
          break;
      }
    });
    this.employeeStore.employeeAction$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__/* .filter */ .p)(({
      action,
      employees
    }) => !!action && !!employees), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => this.employeeStore.destroy()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe(({
      action
    }) => {
      switch (action) {
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.CREATED:
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.UPDATED:
        case _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.CrudActionEnum.DELETED:
          this.checkEmployeeSelectorVisibility();
          break;
      }
    });
    this.cd.detectChanges();
  }
  /**
   * Setup shortcuts
   */
  setupShortcuts() {
    // -- register the default shortcuts
    this.registerDefaultShortcuts();
    (0,hotkeys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)('*', {
      scope: 'defaultShortcuts'
    }, (event, handler) => {
      const pressedKeys = this.pressedKeysToString(handler);
      // -- prevent triggering shortcuts when typing in NbOptions (searchable inputs)
      if (event.target.localName === 'nb-option') return;
      if (this.shortcutsMap.has(pressedKeys)) {
        // -- close dialog if open when using shortcuts and prevent closing dialog by pressing unregistered keys
        this.quickActionsRef && pressedKeys !== this.defaultShortcuts.quickActions.toLowerCase() && this.shortcutsMap.has(pressedKeys) ? this.quickActionsRef.close() : null;
        if (handler.scope === 'defaultShortcuts' && this.shortcutsMap.has(pressedKeys)) {
          this.shortcutsMap.get(pressedKeys)();
        }
      }
    });
  }
  /**
   * Pressed keys to string
   *
   * @param handler
   * @returns
   */
  pressedKeysToString(handler) {
    return handler.keys.map(keyNum => {
      return hotkeys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.modifierMap[keyNum] ? hotkeys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.modifierMap[keyNum].toString().replace('Key', '') : String.fromCharCode(keyNum).toLowerCase();
    }).join('+');
  }
  /**
   * Register shortcut
   * @param keys
   * @param action
   */
  registerShortcut(keys, action) {
    this.shortcutsMap.set(keys.toLowerCase(), action);
    (0,hotkeys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(keys, 'defaultShortcuts', () => {});
    hotkeys_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.setScope('defaultShortcuts');
  }
  /**
   * Register default shortcuts
   */
  registerDefaultShortcuts() {
    var _this2 = this;
    // -- Toggle QuickActions Dialog
    this.registerShortcut(this.defaultShortcuts.quickActions, () => this.toggleQuickActionsDialog());
    // -- Accounting
    this.registerShortcut(this.defaultShortcuts.createInvoice, () => this.navigateTo('createInvoice'));
    this.registerShortcut(this.defaultShortcuts.receivedInvoices, () => this.navigateTo('receivedInvoices'));
    this.registerShortcut(this.defaultShortcuts.createIncome, () => this.navigateTo('createIncome'));
    this.registerShortcut(this.defaultShortcuts.receivedEstimates, () => this.navigateTo('receivedEstimates'));
    this.registerShortcut(this.defaultShortcuts.createExpense, () => this.navigateTo('createExpense'));
    this.registerShortcut(this.defaultShortcuts.createEstimate, () => this.navigateTo('createEstimate'));
    this.registerShortcut(this.defaultShortcuts.createPayment, () => this.navigateTo('createPayment'));
    // -- project management
    this.registerShortcut(this.defaultShortcuts.createTeam, () => this.navigateTo('createTeam'));
    this.registerShortcut(this.defaultShortcuts.createTask, () => this.navigateTo('createTask'));
    this.registerShortcut(this.defaultShortcuts.createProject, () => this.navigateTo('createProject'));
    this.registerShortcut(this.defaultShortcuts.viewTasks, () => this.navigateTo('viewTasks'));
    this.registerShortcut(this.defaultShortcuts.viewTeamTasks, () => this.navigateTo('viewTeamTasks'));
    // -- Organization
    this.registerShortcut(this.defaultShortcuts.addEmployee, () => this.navigateTo('addEmployee'));
    this.registerShortcut(this.defaultShortcuts.addInventory, () => this.navigateTo('addInventory'));
    this.registerShortcut(this.defaultShortcuts.addEquipment, () => this.navigateTo('addEquipment'));
    this.registerShortcut(this.defaultShortcuts.addVendor, () => this.navigateTo('addVendor'));
    this.registerShortcut(this.defaultShortcuts.addDepartment, () => this.navigateTo('addDepartment'));
    // -- Jobs
    this.registerShortcut(this.defaultShortcuts.createCandidate, () => this.navigateTo('createCandidate'));
    this.registerShortcut(this.defaultShortcuts.createProposal, () => this.navigateTo('createProposal'));
    this.registerShortcut(this.defaultShortcuts.createContract, () => this.navigateTo('createContract'));
    // -- contact
    this.registerShortcut(this.defaultShortcuts.createLead, () => this.navigateTo('createLead'));
    this.registerShortcut(this.defaultShortcuts.createCustomer, () => this.navigateTo('createCustomer'));
    this.registerShortcut(this.defaultShortcuts.createClient, () => this.navigateTo('createClient'));
    this.registerShortcut(this.defaultShortcuts.viewClients, () => this.navigateTo('viewClients'));
    // -- Time Tracking
    this.registerShortcut(this.defaultShortcuts.timeLog, () => this.navigateTo('timeLog'));
    this.registerShortcut(this.defaultShortcuts.viewAppointments, () => this.navigateTo('viewAppointments'));
    this.registerShortcut(this.defaultShortcuts.viewTimeActivity, () => this.navigateTo('viewTimeActivity'));
    // -- Start timer
    this.registerShortcut(this.defaultShortcuts.startTimer, () => {
      if (this.timeTrackerService.running) return;
      this.timeTrackerService.setTimeLogType(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.TimeLogType.TRACKED);
      this.timeTrackerService.openAndStartTimer();
    });
    // -- Stop timer
    this.registerShortcut(this.defaultShortcuts.stopTimer, /*#__PURE__*/(0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A)(function* () {
      if (_this2.timeTrackerService.running) yield _this2.timeTrackerService.toggle();
    }));
  }
  /**
   * Toggles the quick actions dialog, opening it if it's not open, and closing it if it's already open.
   */
  toggleQuickActionsDialog() {
    if (!this.quickActionsRef) {
      this.openQuickActions();
    } else {
      this.quickActionsRef.close();
    }
  }
  /**
   *
   * @param value
   * @returns
   */
  formatShortcut(value) {
    return value.split('+').map(key => key.toUpperCase()).join(' + ');
  }
  /**
   * Navigate to
   *
   * @param action
   */
  navigateTo(action) {
    const itemMenu = this.createQuickActionsMenu.find(item => item?.data?.action === action);
    itemMenu ? this.router.navigate([itemMenu.link], {
      queryParams: {
        ...itemMenu.queryParams
      }
    }) : null;
  }
  /**
   * Open quick actions
   */
  openQuickActions() {
    this.quickActionsRef = this.dialogService.open(_gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_16__/* .QuickActionsComponent */ .g, {
      context: {
        items: this.createQuickActionsMenu,
        shortcutDialog: this.defaultShortcuts.quickActions
      }
    });
    // -- subscribe to reset (quickActionsRef) to null onDialogClose
    this.quickActionsRef?.onClose.subscribe(() => {
      this.quickActionsRef = null;
    });
  }
  /**
   * Check project selector visibility
   *
   * @returns
   */
  checkProjectSelectorVisibility() {
    var _this3 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A)(function* () {
      // Hidden project selector if not activate for current page
      if (!_this3.organization || !_this3.selectorsVisibility.project || !_this3.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_PROJECT_VIEW)) {
        return;
      }
      // Extract organization and tenant IDs
      const {
        id: organizationId,
        tenantId
      } = _this3.organization;
      // Include member if employeeId or store user's employeeId is provided
      const employeeId = _this3.store.user.employee?.id || _this3.store.selectedEmployee?.id;
      // Get project count
      const count = yield _this3.organizationProjectsService.getCount({
        organizationId,
        tenantId,
        ...(employeeId && {
          members: {
            employeeId
          }
        })
      });
      //	Show project selector if count > 0
      _this3.showProjectsSelector = count > 0;
    })();
  }
  /**
   * Check Team selector visibility
   *
   * @returns
   */
  checkTeamSelectorVisibility() {
    var _this4 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A)(function* () {
      // hidden team selector if not activate for current page
      if (!_this4.organization || !_this4.selectorsVisibility.team || !_this4.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_TEAM_VIEW)) {
        return;
      }
      // Extract organization and tenant IDs
      const {
        id: organizationId,
        tenantId
      } = _this4.organization;
      // Include member if employeeId or store user's employeeId is provided
      const employeeId = _this4.store.user.employee?.id || _this4.store.selectedEmployee?.id;
      // Get team count
      const count = yield _this4.organizationTeamsService.getCount({
        organizationId,
        tenantId,
        ...(employeeId && {
          members: {
            employeeId
          }
        })
      });
      // Show team selector if count > 0
      _this4.showTeamsSelector = count > 0;
    })();
  }
  /**
   * Check employee selector visibility
   *
   * @returns
   */
  checkEmployeeSelectorVisibility() {
    var _this5 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A)(function* () {
      // hidden employee selector if not activate for current page
      if (!_this5.organization || !_this5.selectorsVisibility.employee) {
        return;
      }
      if (_this5.store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.CHANGE_SELECTED_EMPLOYEE)) {
        const {
          id: organizationId,
          tenantId
        } = _this5.organization;
        // Get employee count
        const {
          total: employeeCount
        } = yield _this5.employeesService.getWorkingCount(organizationId, tenantId, _this5.selectedDateRange);
        // If employee count > 0, show employees selector
        _this5.showEmployeesSelector = employeeCount > 0;
        // If no employee selected and employee count > 0, set selected employee to ALL_EMPLOYEES_SELECTED
        if (_this5.showEmployeesSelector && !_this5.store.selectedEmployee) {
          _this5.store.selectedEmployee = _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_17__/* .ALL_EMPLOYEES_SELECTED */ .O;
        }
      } else {
        // If employee is not selected, get the first employee
        if (_this5.isEmployee) {
          const {
            id: employeeId
          } = _this5.user.employee;
          if (employeeId) {
            // Get employee by ID
            const employee = yield (0,rxjs__WEBPACK_IMPORTED_MODULE_18__/* .firstValueFrom */ ._)(_this5.employeesService.getEmployeeById(employeeId));
            // If employee found, set selected employee
            if ((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_10__/* .isNotEmpty */ .hj)(employee)) {
              _this5.store.selectedEmployee = {
                id: employee.id,
                firstName: _this5.user.firstName,
                lastName: _this5.user.lastName,
                fullName: _this5.user.name,
                imageUrl: _this5.user.imageUrl
              };
            } else {
              _this5.store.selectedEmployee = _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_17__/* .NO_EMPLOYEE_SELECTED */ .z;
            }
          } else {
            _this5.store.selectedEmployee = _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_17__/* .NO_EMPLOYEE_SELECTED */ .z;
          }
        }
      }
    })();
  }
  /**
   * Check organization selector visibility
   */
  checkOrganizationSelectorVisibility() {
    var _this6 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A)(function* () {
      const {
        id: userId,
        tenantId
      } = _this6.store.user;
      // Count user organizations based on the provided userId and tenantId
      const orgCount = yield _this6.usersOrganizationsService.getCount({
        userId,
        tenantId
      });
      // Check if the current user has the permission to change the selected organization
      const hasChangeSelectedOrganizationPermission = _this6.store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.CHANGE_SELECTED_ORGANIZATION);
      // Show organization selector only if user has permission and more than 1 organization exists
      _this6.showOrganizationsSelector = hasChangeSelectedOrganizationPermission && orgCount > 1;
      // If organization selector is not shown and the user has at least one organization
      if (!_this6.showOrganizationsSelector && orgCount > 0) {
        try {
          // Retrieve user organizations
          const {
            items: userOrg
          } = yield _this6.usersOrganizationsService.getAll([], {
            userId,
            tenantId
          });
          // If organizations exist, set the first one into local storage
          if (userOrg.length > 0) {
            const [firstUserOrg] = userOrg;
            // Retrieve organization details for the employee
            const organization = yield (0,rxjs__WEBPACK_IMPORTED_MODULE_18__/* .firstValueFrom */ ._)(_this6.organizationsService.getById(firstUserOrg.organizationId, ['contact']));
            // Set the selected organization in local storage
            _this6.store.selectedOrganization = organization;
          }
        } catch (error) {
          console.error('Error retrieving user organizations or organization details:', error);
        }
      }
    })();
  }
  /**
   * Toggle timer window
   */
  toggleTimerWindow() {
    this.timeTrackerService.showTimerWindow = !this.timeTrackerService.showTimerWindow;
  }
  /**
   * Toggle sidebar actions
   * @param item
   */
  toggleSidebarActions(item) {
    const sidebar = this.navigationBuilderService.getSidebarById(item.id);
    if (this.showExtraActions) {
      this.toggleExtraActions(false);
      this.sidebarService.expand(sidebar.id);
    } else {
      this.sidebarService.toggle(false, sidebar.id);
    }
  }
  /**
   * Toggle sidebar
   * @returns
   */
  toggleSidebar() {
    if (this.showExtraActions) {
      this.toggleExtraActions(false);
      this.sidebarService.expand('menu-sidebar');
    } else {
      this.sidebarService.toggle(true, 'menu-sidebar');
      this.layoutService.changeLayoutSize();
    }
    return false;
  }
  /**
   * Navigate home
   * @returns
   */
  navigateHome() {
    //this.menuService.navigateHome();
    return false;
  }
  /**
   *
   * @param event
   */
  closeExtraActionsIfLarge(event) {
    let width;
    if (event !== undefined) {
      width = event.target.innerWidth;
    } else {
      width = document.body.clientWidth;
    }
    if (width >= 1200) {
      this.showExtraActions = false;
    }
  }
  /**
   * Toggle extra actions
   * @param bool
   */
  toggleExtraActions(bool) {
    this.showExtraActions = bool !== undefined ? bool : !this.showExtraActions;
  }
  /**
   * Load context menus
   */
  _loadContextMenus() {
    this.supportContextMenu = [{
      title: this.getTranslation('CONTEXT_MENU.CHAT'),
      icon: 'message-square-outline'
    }, {
      title: this.getTranslation('CONTEXT_MENU.FAQ'),
      icon: 'clipboard-outline'
    }, {
      title: this.getTranslation('CONTEXT_MENU.HELP'),
      icon: 'question-mark-circle-outline',
      link: 'pages/help'
    }, {
      title: this.getTranslation('MENU.ABOUT'),
      icon: 'droplet-outline',
      link: 'pages/about'
    }];
    this.createQuickActionsMenu = [
    // Divider (Accounting)
    ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.INVOICES_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_INVOICE'),
      icon: 'file-text-outline',
      link: 'pages/accounting/invoices/add',
      data: {
        action: 'createInvoice'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createInvoice),
        status: 'control'
      }
    }] : []), ...(!!this.user.employee ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.RECEIVED_INVOICES'),
      icon: {
        icon: 'file-invoice-dollar',
        pack: 'font-awesome'
      },
      link: 'pages/accounting/invoices/received-invoices',
      data: {
        action: 'receivedInvoices'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.receivedInvoices),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_INCOMES_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_INCOME'),
      icon: 'plus-circle-outline',
      link: 'pages/accounting/income',
      data: {
        action: 'createIncome'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createIncome),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_EXPENSES_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_EXPENSE'),
      icon: 'minus-circle-outline',
      link: 'pages/accounting/expenses',
      data: {
        action: 'createExpense'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createExpense),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ESTIMATES_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_ESTIMATE'),
      icon: 'file-outline',
      link: 'pages/accounting/invoices/estimates/add',
      data: {
        action: 'createEstimate'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createEstimate),
        status: 'control'
      }
    }] : []), ...(!!this.user.employee ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.RECEIVED_ESTIMATES'),
      icon: {
        icon: 'file-invoice',
        pack: 'font-awesome'
      },
      link: 'pages/accounting/invoices/received-estimates',
      data: {
        action: 'receivedEstimates'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.receivedEstimates),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_PAYMENT_ADD_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_PAYMENT'),
      icon: 'credit-card-outline',
      link: 'pages/accounting/payments',
      data: {
        action: 'createPayment'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createPayment),
        status: 'control'
      }
    }] : []),
    // Divider (Organization)
    ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_EMPLOYEES_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.ADD_EMPLOYEE'),
      icon: 'people-outline',
      link: 'pages/employees',
      data: {
        action: 'addEmployee'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.addEmployee),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_INVENTORY_PRODUCT_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.ADD_INVENTORY'),
      icon: 'inbox-outline',
      link: 'pages/organization/inventory/create',
      data: {
        action: 'addInventory'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.addInventory),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_EQUIPMENT_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) || !!this.user.employee ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.ADD_EQUIPMENT'),
      icon: 'pantone-outline',
      link: 'pages/organization/equipment',
      data: {
        action: 'addEquipment'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.addEquipment),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.ADD_VENDOR'),
      icon: 'car-outline',
      link: 'pages/organization/vendors',
      data: {
        action: 'addVendor'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.addVendor),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.ADD_DEPARTMENT'),
      icon: 'briefcase-outline',
      link: 'pages/organization/departments',
      data: {
        action: 'addDepartment'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.addDepartment),
        status: 'control'
      }
    }] : []),
    // Divider (Project Management)
    ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_TEAM'),
      icon: 'people-outline',
      link: 'pages/organization/teams',
      data: {
        action: 'createTeam'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createTeam),
        status: 'control'
      }
    }] : []), ...(this.store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_TASK_ADD) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_TASK'),
      icon: 'archive-outline',
      link: 'pages/tasks/dashboard',
      data: {
        action: 'createTask'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createTask),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_PROJECT_ADD, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_PROJECT'),
      icon: 'color-palette-outline',
      link: 'pages/organization/projects/create',
      data: {
        action: 'createProject'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createProject),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_TASK_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.VIEW_TASKS'),
      icon: 'calendar-outline',
      link: 'pages/tasks/dashboard',
      data: {
        action: 'viewTasks'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.viewTasks),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_TASK_VIEW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.VIEW_TEAM_TASKS'),
      icon: 'layers-outline',
      link: 'pages/tasks/team',
      data: {
        action: 'viewTeamTasks'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.viewTeamTasks),
        status: 'control'
      }
    }] : []),
    // Divider (Jobs)
    ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_CANDIDATES_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_CANDIDATE'),
      icon: 'person-add-outline',
      link: 'pages/employees/candidates',
      data: {
        action: 'createCandidate'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createCandidate),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_PROPOSALS_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_PROPOSAL'),
      icon: 'paper-plane-outline',
      link: 'pages/sales/proposals/register',
      data: {
        action: 'createProposal'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createProposal),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_CONTRACT_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_CONTRACT'),
      icon: 'file-text-outline',
      link: 'pages/integrations/upwork',
      data: {
        action: 'createContract'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createContract),
        status: 'control'
      }
    }] : []),
    // Divider (Contacts)
    ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_CONTACT_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_LEAD'),
      icon: 'shield-outline',
      link: 'pages/contacts/leads',
      data: {
        action: 'createLead'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createLead),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_CONTACT_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_CUSTOMER'),
      icon: 'person-done-outline',
      link: 'pages/contacts/customers',
      data: {
        action: 'createCustomer'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createCustomer),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ORG_CONTACT_EDIT, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.CREATE_CLIENT'),
      icon: 'person-outline',
      link: 'pages/contacts/clients',
      data: {
        action: 'createClient'
      },
      queryParams: {
        openAddDialog: true
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.createClient),
        status: 'control'
      }
    }] : []), ...(!!this.user.employee ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.VIEW_CLIENTS'),
      icon: 'person-outline',
      link: 'pages/contacts/clients',
      data: {
        action: 'viewClients'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.viewClients),
        status: 'control'
      }
    }] : []),
    // Divider (Time Tracking)
    ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.TIMESHEET_EDIT_TIME, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.ALL_ORG_EDIT) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.TIME_LOG'),
      icon: 'clock-outline',
      link: 'pages/employees/timesheets/daily',
      data: {
        action: 'timeLog'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.timeLog),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.TIME_TRACKER) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.VIEW_APPOINTMENTS'),
      icon: 'calendar-outline',
      link: 'pages/employees/appointments',
      data: {
        action: 'viewAppointments'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.viewAppointments),
        status: 'control'
      }
    }] : []), ...(this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.TIME_TRACKER) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.VIEW_TIME_ACTIVITY'),
      icon: 'activity-outline',
      link: 'pages/employees/activity/time-activities',
      data: {
        action: 'viewTimeActivity'
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.viewTimeActivity),
        status: 'control'
      }
    }] : []), ...(!!this.user.employee ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.START_TIMER'),
      icon: 'play-circle-outline',
      hidden: !this.isEmployee || this.isElectron,
      data: {
        action: this.actions.START_TIMER // -- Start the timer
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.startTimer),
        status: 'control'
      }
    }] : []), ...(!this.store.hasAnyPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.TIMESHEET_EDIT_TIME) ? [{
      title: this.getTranslation('QUICK_ACTIONS_MENU.STOP_TIMER'),
      icon: 'pause-circle-outline',
      hidden: !this.isEmployee || this.isElectron,
      data: {
        action: this.actions.STOP_TIMER // -- Stop the timer
      },
      badge: {
        text: this.formatShortcut(this.defaultShortcuts.stopTimer),
        status: 'control'
      }
    }] : [])];
  }
  /**
   * Apply translation on context menu
   */
  _applyTranslationOnContextMenu() {
    this.translate.onLangChange.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_8__/* .tap */ .M)(() => {
      // this.createContextMenu = [];
      this.createQuickActionsMenu = [];
      this.supportContextMenu = [];
      this._loadContextMenus();
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Checks the timer status if time tracking is enabled.
   */
  _checkTimerStatus() {
    var _this7 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .A)(function* () {
      if (!_this7.organization || !_this7.isEnabledTimeTracking()) {
        return;
      }
      const {
        id: organizationId,
        tenantId
      } = _this7.organization;
      const {
        id: employeeId
      } = _this7.employee;
      // Check timer status using the TimeTrackerService
      yield _this7.timeTrackerService.checkTimerStatus({
        organizationId,
        tenantId,
        employeeId,
        source: _gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.TimeLogSourceEnum.WEB_TIMER
      });
    })();
  }
  /**
   * Checks if web timer is enabled.
   * @returns {boolean} - True if web timer is enabled, false otherwise.
   */
  isEnabledTimeTracking() {
    const {
      employee,
      store,
      isElectron
    } = this;
    const isTrackingEnabled = employee?.id && employee?.isTrackingEnabled;
    const hasPermission = store.hasPermission(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_2__.PermissionsEnum.TIME_TRACKER);
    return isTrackingEnabled && hasPermission && !isElectron;
  }
  /**
   * On collapse
   * @param event
   */
  onCollapse(event) {
    this.isCollapse = event;
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function HeaderComponent_Factory(t) {
      return new (t || HeaderComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbSidebarService */ .OF4), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_20__/* .LayoutService */ .Y), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbThemeService */ .NS1), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_13__/* .Router */ .Ix), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_ngx_translate_core__WEBPACK_IMPORTED_MODULE_21__/* .TranslateService */ .c$), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_23__/* .TimeTrackerService */ .Bj), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_24__/* .UsersOrganizationsService */ .K), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_25__/* .OrganizationsService */ .k), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_26__/* .EmployeesService */ .r), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_27__/* .OrganizationProjectsService */ .d), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_28__/* .OrganizationTeamsService */ .F), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_29__/* .NavigationBuilderService */ .v), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_30__/* .DateRangePickerBuilderService */ .i7), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_31__/* .OrganizationEditStore */ .vO), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_32__/* .OrganizationProjectStore */ .aI), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_33__/* .OrganizationTeamStore */ .yM), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_34__/* .EmployeeStore */ .oO), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .SelectorBuilderService */ .u), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_3__/* .ChangeDetectorRef */ .gRc), _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbDialogService */ .S0W));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵdefineComponent"] */ .VBU({
      type: HeaderComponent,
      selectors: [["ngx-header"]],
      inputs: {
        position: "position",
        expanded: "expanded"
      },
      features: [_angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
      decls: 18,
      vars: 22,
      consts: [["class", "notification-header", 4, "ngIf"], [1, "main-header"], [1, "header-container"], [3, "ngIf"], ["size", "small", 1, "actions"], ["class", "show-large-up", 4, "ngIf"], [4, "ngIf"], ["class", "show-large-up organization-selector-container", 4, "ngIf"], ["icon", "options-2-outline", 1, "toggle-layout", "show-large-down", 3, "click"], ["icon", "message-circle-outline", "class", "toggle-layout help", 3, "nbContextMenu", 4, "ngIf"], ["class", "timer-action", 3, "click", 4, "ngIf"], [3, "icon", "class", "click", 4, "ngFor", "ngForOf"], ["class", "extra-actions", 3, "resize", 4, "ngIf"], [1, "notification-header"], ["href", "https://app.gauzy.co/#/auth/register"], ["size", "small", 1, "show-large-up"], ["nbButton", "", "status", "warning", "size", "small", 1, "button", "create", 3, "click"], [1, "show-large-up"], [1, "header-selector", "team-selector", 3, "employeeId", "projectId", "shortened"], [1, "header-selector", "project-selector", 3, "employeeId", "shortened"], [1, "header-selector", "employee-selector"], [1, "date-range-selector", 3, "firstDayOfWeek"], [1, "show-large-up", "organization-selector-container"], [1, "header-selector", "organization-selector"], ["icon", "message-circle-outline", 1, "toggle-layout", "help", 3, "nbContextMenu"], [1, "timer-action", 3, "click"], ["icon", "clock-outline"], [1, "status"], [3, "icon", "click"], [1, "extra-actions", 3, "resize"], ["class", "header-selector employee-selector", 4, "ngIf"], ["class", "date-range-selector", 4, "ngIf"], [1, "date-range-selector"], ["class", "header-selector organization-selector", 4, "ngIf"], ["ngxPermissionsOnly", "TIME_TRACKER"]],
      template: function HeaderComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(0, HeaderComponent_div_0_Template, 4, 0, "div", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(1, "div", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelement"] */ .nrm(2, "div", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(3, "div", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(4, HeaderComponent_ng_template_4_Template, 4, 7, "ng-template", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(5, "div", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(6, HeaderComponent_nb_action_6_Template, 4, 7, "nb-action", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(7, HeaderComponent_nb_action_7_Template, 3, 4, "nb-action", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(8, HeaderComponent_nb_action_8_Template, 2, 0, "nb-action", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(9, HeaderComponent_nb_action_9_Template, 2, 1, "nb-action", 6);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(10, HeaderComponent_nb_action_10_Template, 2, 0, "nb-action", 7);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementStart"] */ .j41(11, "nb-action", 8);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵlistener"] */ .bIt("click", function HeaderComponent_Template_nb_action_click_11_listener() {
            return ctx.toggleExtraActions();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(12, HeaderComponent_nb_action_12_Template, 1, 1, "nb-action", 9);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(13, HeaderComponent_nb_action_13_Template, 5, 1, "nb-action", 10);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(14, HeaderComponent_nb_action_14_Template, 1, 3, "nb-action", 11);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipe"] */ .nI1(15, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(16, HeaderComponent_div_16_Template, 6, 5, "div", 12);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵtemplate"] */ .DNE(17, HeaderComponent_ng_template_17_Template, 1, 0, "ng-template", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵelementEnd"] */ .k0s();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.isDemo);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵclassProp"] */ .AVh("left", ctx.position === "normal")("right", ctx.position === "inverse");
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", (ctx.createQuickActionsMenu == null ? null : ctx.createQuickActionsMenu.length) > 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵclassProp"] */ .AVh("left", ctx.position === "normal")("right", ctx.position === "inverse");
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.showTeamsSelector && !ctx.showExtraActions && (ctx.selectorsVisibility == null ? null : ctx.selectorsVisibility.team));
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.showProjectsSelector && !ctx.showExtraActions && (ctx.selectorsVisibility == null ? null : ctx.selectorsVisibility.project));
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.showEmployeesSelector && !ctx.showExtraActions && (ctx.selectorsVisibility == null ? null : ctx.selectorsVisibility.employee));
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.showDateSelector && !ctx.showExtraActions && (ctx.selectorsVisibility == null ? null : ctx.selectorsVisibility.date));
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.showOrganizationsSelector && (ctx.selectorsVisibility == null ? null : ctx.selectorsVisibility.organization));
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.supportContextMenu);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.isEnabledTimeTracking());
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵpipeBind1"] */ .bMT(15, 20, ctx.navigationBuilderService.sidebarActions$));
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.showExtraActions);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_3__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.isEnabledTimeTracking());
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_35__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_35__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbActionComponent */ .kK0, _nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbContextMenuDirective */ .yUn, _nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbButtonComponent */ .YP2, _nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbIconComponent */ .tHu, _shared_src_lib_selectors_date_range_picker_date_range_picker_component__WEBPACK_IMPORTED_MODULE_36__/* .DateRangePickerComponent */ .f, _shared_src_lib_selectors_employee_employee_component__WEBPACK_IMPORTED_MODULE_37__/* .EmployeeSelectorComponent */ .R, _shared_src_lib_selectors_organization_organization_component__WEBPACK_IMPORTED_MODULE_38__/* .OrganizationSelectorComponent */ .m, _shared_src_lib_selectors_project_project_project_component__WEBPACK_IMPORTED_MODULE_39__/* .ProjectSelectorComponent */ .a, _shared_src_lib_selectors_team_team_team_component__WEBPACK_IMPORTED_MODULE_40__/* .TeamSelectorComponent */ .s, ngx_permissions__WEBPACK_IMPORTED_MODULE_41__/* .NgxPermissionsDirective */ .f6, _shared_src_lib_time_tracker_time_tracker_time_tracker_component__WEBPACK_IMPORTED_MODULE_42__/* .TimeTrackerComponent */ .r, _shared_src_lib_time_tracker_components_time_tracker_status_time_tracker_status_component__WEBPACK_IMPORTED_MODULE_43__/* .TimeTrackerStatusComponent */ .F, _angular_common__WEBPACK_IMPORTED_MODULE_35__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_21__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n  width: 100%;\n}\n[_nghost-%COMP%]   .notification-header[_ngcontent-%COMP%] {\n  background-color: #1b005d;\n  text-align: center;\n  font-weight: 300;\n  margin: 0;\n  padding: 3px;\n  width: 100%;\n  position: relative;\n  color: rgb(236, 236, 236);\n}\n[_nghost-%COMP%]   .notification-header[_ngcontent-%COMP%]   a[_ngcontent-%COMP%] {\n  color: rgb(236, 236, 236);\n}\n[_nghost-%COMP%]   .notification-header[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover {\n  color: rgb(226, 226, 226);\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  width: 100%;\n  background-color: transparent;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .show-large-down[_ngcontent-%COMP%] {\n  display: none;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  max-width: var(--sidebar-width);\n  width: var(--sidebar-width);\n  margin-left: var(--sidebar-width-compact);\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container[_ngcontent-%COMP%]   button.hidden-menu[_ngcontent-%COMP%] {\n  padding: 0 0.5rem;\n  height: 1.625rem;\n  width: 1.625rem;\n  margin-left: 0.625rem;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container[_ngcontent-%COMP%]   ngx-gauzy-logo[_ngcontent-%COMP%] {\n  width: 100%;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container.compacted[_ngcontent-%COMP%] {\n  width: var(--sidebar-width-compact);\n  justify-content: space-around;\n  align-items: center;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container.compacted[_ngcontent-%COMP%]   button.hidden-menu[_ngcontent-%COMP%] {\n  margin-left: 0;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace {\n  box-shadow: none;\n  width: 1.75rem;\n  height: auto;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace .logo {\n  display: none;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace nb-accordion-item-header {\n  padding: 0px;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace nb-accordion-item-header nb-icon {\n  border: none;\n  left: 0rem;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   nb-action[_ngcontent-%COMP%] {\n  height: auto;\n  display: flex;\n  align-content: center;\n  margin-right: 0.625rem;\n}\n[dir=ltr]   [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   nb-action[_ngcontent-%COMP%] {\n  margin-right: 0.625rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   nb-action[_ngcontent-%COMP%] {\n  margin-left: 0.625rem;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   nb-action[_ngcontent-%COMP%]   .header-selector[_ngcontent-%COMP%] {\n  width: auto !important;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   nb-actions.size-small[_ngcontent-%COMP%]   nb-action[_ngcontent-%COMP%] {\n  padding: 0.5625rem;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]     nb-search button {\n  padding: 0 !important;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .header-container[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  width: auto;\n  z-index: 5;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .header-container[_ngcontent-%COMP%]   .sidebar-toggle[_ngcontent-%COMP%] {\n  text-decoration: none;\n  color: var(--text-hint-color);\n}\n[dir=ltr]   [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .header-container[_ngcontent-%COMP%]   .sidebar-toggle[_ngcontent-%COMP%] {\n  padding-right: 1.25rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .header-container[_ngcontent-%COMP%]   .sidebar-toggle[_ngcontent-%COMP%] {\n  padding-left: 1.25rem;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .header-container[_ngcontent-%COMP%]   .sidebar-toggle[_ngcontent-%COMP%]   nb-icon[_ngcontent-%COMP%] {\n  font-size: 1.75rem;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .header-container[_ngcontent-%COMP%]   .logo[_ngcontent-%COMP%] {\n  cursor: pointer;\n  font-size: 1.85rem;\n  padding: 0 1.25rem;\n  margin-top: 5px;\n  white-space: nowrap;\n  text-decoration: none;\n}\n[_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .header-container[_ngcontent-%COMP%]   .logo[_ngcontent-%COMP%]   .gauzy-symbol[_ngcontent-%COMP%] {\n  font-size: 0.6rem !important;\n  margin-left: 76px;\n  margin-top: -25px;\n  font-weight: bold;\n  position: absolute;\n}\n@media (max-width: 767.98px) {\n  [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .control-item[_ngcontent-%COMP%] {\n    display: none;\n  }\n  [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .user-action[_ngcontent-%COMP%] {\n    border: none;\n    padding: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   nb-select[_ngcontent-%COMP%] {\n    display: none;\n  }\n}\n@media (max-width: 1199.98px) {\n  [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .show-large-up[_ngcontent-%COMP%] {\n    display: none;\n  }\n  [_nghost-%COMP%]   .main-header[_ngcontent-%COMP%]   .show-large-down[_ngcontent-%COMP%] {\n    display: block;\n  }\n}\n\n.date-selector[_ngcontent-%COMP%] {\n  max-width: 160px;\n  min-width: 150px;\n}\n\n.extra-actions[_ngcontent-%COMP%] {\n  position: fixed;\n  left: 0px;\n  top: 4.75rem;\n  width: 100%;\n  height: calc(100vh - 4.75rem);\n  background: white;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  z-index: -1;\n  padding-top: 2.25rem;\n  padding-left: 2rem;\n  padding-right: 2rem;\n}\n.extra-actions[_ngcontent-%COMP%]   div[_ngcontent-%COMP%] {\n  min-width: 300px;\n  width: 100%;\n  max-width: 500px;\n}\n.extra-actions[_ngcontent-%COMP%]   .organization-selector[_ngcontent-%COMP%], .extra-actions[_ngcontent-%COMP%]   .employee-selector[_ngcontent-%COMP%], .extra-actions[_ngcontent-%COMP%]   .date-selector[_ngcontent-%COMP%], .extra-actions[_ngcontent-%COMP%]   .team-selector[_ngcontent-%COMP%], .extra-actions[_ngcontent-%COMP%]   .project-selector[_ngcontent-%COMP%] {\n  min-width: 300px;\n  width: 100%;\n  max-width: 500px;\n}\n\n.timer-action[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  margin: 0 24px 0 14px !important;\n  gap: 2px;\n  cursor: pointer;\n}\n.timer-action[_ngcontent-%COMP%]   nb-icon[_ngcontent-%COMP%] {\n  color: var(--gauzy-text-color-1);\n}\n.timer-action[_ngcontent-%COMP%]   span[_ngcontent-%COMP%] {\n  width: 64px;\n}\n.timer-action[_ngcontent-%COMP%]   .status[_ngcontent-%COMP%]     svg {\n  width: 10px;\n}\n\n.timer-card[_ngcontent-%COMP%] {\n  position: relative;\n  padding-top: 12px;\n}\n.timer-card[_ngcontent-%COMP%]   .btn-close[_ngcontent-%COMP%] {\n  position: absolute;\n  right: 5px;\n  top: 0px;\n  padding: 2px;\n}\n\n.organization-selector-container[_ngcontent-%COMP%] {\n  max-width: auto;\n}\n\n.button.create[_ngcontent-%COMP%] {\n  background: #f56d58;\n  box-shadow: var(--gauzy-shadow);\n}\n.button.create[nbButton].appearance-filled[_ngcontent-%COMP%] {\n  border-width: 0;\n}\n.button.create[_ngcontent-%COMP%]:hover, .button.create[_ngcontent-%COMP%]:focus {\n  background: #f56d58;\n}\n\n.organization-selector[_ngcontent-%COMP%]     .ng-select.ng-select-opened.ng-select-bottom > .ng-select-container, .employee-selector[_ngcontent-%COMP%]     .ng-select.ng-select-opened.ng-select-bottom > .ng-select-container, .team-selector[_ngcontent-%COMP%]     .ng-select.ng-select-opened.ng-select-bottom > .ng-select-container, .project-selector[_ngcontent-%COMP%]     .ng-select.ng-select-opened.ng-select-bottom > .ng-select-container {\n  border-radius: var(--button-rectangle-border-radius) !important;\n}\n.organization-selector[_ngcontent-%COMP%]     .ng-select.ng-select-single .ng-select-container, .employee-selector[_ngcontent-%COMP%]     .ng-select.ng-select-single .ng-select-container, .team-selector[_ngcontent-%COMP%]     .ng-select.ng-select-single .ng-select-container, .project-selector[_ngcontent-%COMP%]     .ng-select.ng-select-single .ng-select-container {\n  height: 2rem;\n  background-color: var(--gauzy-card-1);\n  min-height: 32px;\n  min-width: 4rem;\n}\n.organization-selector[_ngcontent-%COMP%]     .ng-select .ng-select-container, .employee-selector[_ngcontent-%COMP%]     .ng-select .ng-select-container, .team-selector[_ngcontent-%COMP%]     .ng-select .ng-select-container, .project-selector[_ngcontent-%COMP%]     .ng-select .ng-select-container {\n  box-shadow: var(--gauzy-shadow);\n  border-radius: var(--button-rectangle-border-radius) !important;\n  background-color: var(--gauzy-card-1);\n}\n\n.project-selector[_ngcontent-%COMP%], .team-selector[_ngcontent-%COMP%], .employee-selector[_ngcontent-%COMP%] {\n  min-width: 12.5rem;\n}\n\n[_nghost-%COMP%]   .actions[_ngcontent-%COMP%] {\n  margin: 0.625rem;\n  padding: 0.625rem;\n  border-radius: var(--button-rectangle-border-radius);\n  background-color: var(--gauzy-card-2);\n  display: flex;\n  align-items: center;\n}\n[dir=ltr]   [_nghost-%COMP%]   .actions[_ngcontent-%COMP%] {\n  margin-right: 1.5rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   .actions[_ngcontent-%COMP%] {\n  margin-left: 1.5rem;\n}"]
    });
  }
};
HeaderComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_44__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_44__/* .__metadata */ .Sn)("design:paramtypes", [_nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbSidebarService */ .OF4, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_20__/* .LayoutService */ .Y, _nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbThemeService */ .NS1, _angular_router__WEBPACK_IMPORTED_MODULE_13__/* .Router */ .Ix, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_21__/* .TranslateService */ .c$, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_22__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_23__/* .TimeTrackerService */ .Bj, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_24__/* .UsersOrganizationsService */ .K, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_25__/* .OrganizationsService */ .k, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_26__/* .EmployeesService */ .r, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_27__/* .OrganizationProjectsService */ .d, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_28__/* .OrganizationTeamsService */ .F, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_29__/* .NavigationBuilderService */ .v, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_30__/* .DateRangePickerBuilderService */ .i7, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_31__/* .OrganizationEditStore */ .vO, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_32__/* .OrganizationProjectStore */ .aI, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_33__/* .OrganizationTeamStore */ .yM, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_34__/* .EmployeeStore */ .oO, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .SelectorBuilderService */ .u, _angular_core__WEBPACK_IMPORTED_MODULE_3__/* .ChangeDetectorRef */ .gRc, _nebular_theme__WEBPACK_IMPORTED_MODULE_19__/* .NbDialogService */ .S0W])], HeaderComponent);

/***/ }),

/***/ 50051:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   q: () => (/* binding */ ChangelogComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55598);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51170);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77271);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65670);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(15292);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(42089);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(61198);










function ChangelogComponent_div_7_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 7)(1, "div", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(2, "nb-icon", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "div", 10)(4, "div", 11);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(6, "div", 12);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(8, "date");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(9, "p", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(10);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const item_r2 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("icon", item_r2.icon);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(item_r2.title);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(8, 4, item_r2.date));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", item_r2.content, " ");
  }
}
function ChangelogComponent_ng_container_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "a", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("href", ctx_r1.learnMore, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 2, "CHANGELOG_MENU.LEARN_MORE_URL"), " ");
  }
}
let ChangelogComponent = class ChangelogComponent {
  constructor(_changelogService, _sidebarService) {
    this._changelogService = _changelogService;
    this._sidebarService = _sidebarService;
    this.items$ = this._changelogService.changelogs$;
  }
  ngOnInit() {
    this._changelogService.getAll({
      isFeature: 0
    }).pipe((0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__/* .untilDestroyed */ .s)(this)).subscribe();
    this.items$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .tap */ .M)(changeLogs => changeLogs.forEach(log => this.learnMore = log.learnMoreUrl)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  closeSidebar() {
    this._sidebarService.toggle(false, 'changelog_sidebar');
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function ChangelogComponent_Factory(t) {
      return new (t || ChangelogComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__/* .ChangelogService */ .m), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_4__/* .NbSidebarService */ .OF4));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
      type: ChangelogComponent,
      selectors: [["ngx-changelog"]],
      decls: 10,
      vars: 7,
      consts: [[1, "section-wrapper"], [1, "cancel"], [1, "fas", "fa-times", 3, "click"], [1, "whats-new-wrapper"], [1, "main-header"], ["class", "entry", 4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "entry"], [1, "entry-headings-wrapper"], [1, "icon", 3, "icon"], [1, "entry-headings"], [1, "entry-header"], [1, "entry-header-date"], [1, "paragraph"], ["nbButton", "", "outline", "", "status", "primary", "target", "_blank", "rel", "noopener", 1, "learn-more", 3, "href"]],
      template: function ChangelogComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "section", 0)(1, "span", 1)(2, "i", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function ChangelogComponent_Template_i_click_2_listener() {
            return ctx.closeSidebar();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "div", 3)(4, "h3", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(5);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(6, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(7, ChangelogComponent_div_7_Template, 11, 6, "div", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(8, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(9, ChangelogComponent_ng_container_9_Template, 4, 4, "ng-container", 6);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(5);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(6, 3, "CHANGELOG_MENU.HEADER"), " ");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(8, 5, ctx.items$));
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.learnMore);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_5__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_5__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_4__/* .NbButtonComponent */ .YP2, _nebular_theme__WEBPACK_IMPORTED_MODULE_4__/* .NbIconComponent */ .tHu, _angular_common__WEBPACK_IMPORTED_MODULE_5__/* .AsyncPipe */ .Jj, _angular_common__WEBPACK_IMPORTED_MODULE_5__/* .DatePipe */ .vh, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@keyframes _ngcontent-%COMP%_spin {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n}\n.card[_ngcontent-%COMP%] {\n  background: var(--gauzy-card-1);\n}\n\n.section-wrapper[_ngcontent-%COMP%] {\n  background: rgba(245, 109, 88, 0.05);\n  border-radius: var(--border-radius);\n  padding: 25px;\n  box-sizing: border-box;\n  width: 100%;\n}\n@media screen and (max-width: 490px) {\n  .section-wrapper[_ngcontent-%COMP%]   .learn-more[_ngcontent-%COMP%] {\n    display: none;\n  }\n}\n\n.whats-new-wrapper[_ngcontent-%COMP%] {\n  width: 100%;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  position: relative;\n}\n.whats-new-wrapper[_ngcontent-%COMP%]   .main-header[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  font-family: Inter;\n  font-size: 18px;\n  font-style: normal;\n  font-weight: 600;\n  line-height: 22px;\n  letter-spacing: -0.009em;\n  text-align: left;\n  margin-bottom: 19px;\n  padding-left: 5px;\n}\n.whats-new-wrapper[_ngcontent-%COMP%]   .entry[_ngcontent-%COMP%] {\n  margin-bottom: 15px;\n  border-bottom: 1px solid lightgray;\n  padding-left: 5px;\n  padding-right: 5px;\n}\n.whats-new-wrapper[_ngcontent-%COMP%]   .entry[_ngcontent-%COMP%]:last-of-type {\n  margin-bottom: 83px;\n}\n@media screen and (max-width: 490px) {\n  .whats-new-wrapper[_ngcontent-%COMP%]   .entry[_ngcontent-%COMP%]:last-of-type {\n    margin-bottom: 0;\n  }\n}\n.whats-new-wrapper[_ngcontent-%COMP%]   .entry[_ngcontent-%COMP%]   .entry-headings-wrapper[_ngcontent-%COMP%] {\n  display: flex;\n  margin-bottom: 5px;\n}\n.whats-new-wrapper[_ngcontent-%COMP%]   .entry[_ngcontent-%COMP%]   .entry-headings-wrapper[_ngcontent-%COMP%]   .icon[_ngcontent-%COMP%] {\n  margin-right: 15px;\n  height: 14px;\n  margin-top: 3px;\n  color: var(--text-primary-color);\n}\n.whats-new-wrapper[_ngcontent-%COMP%]   .entry[_ngcontent-%COMP%]   .entry-headings-wrapper[_ngcontent-%COMP%]   .entry-header[_ngcontent-%COMP%] {\n  font-family: Inter;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 600;\n  line-height: 17px;\n  letter-spacing: 0em;\n  text-align: left;\n  margin-bottom: 5px;\n}\n.whats-new-wrapper[_ngcontent-%COMP%]   .entry[_ngcontent-%COMP%]   .entry-headings-wrapper[_ngcontent-%COMP%]   .entry-header-date[_ngcontent-%COMP%] {\n  font-family: Inter;\n  font-size: 12px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 16px;\n  letter-spacing: 0em;\n  text-align: left;\n  color: var(--gauzy-text-2);\n}\n.whats-new-wrapper[_ngcontent-%COMP%]   .entry[_ngcontent-%COMP%]   .paragraph[_ngcontent-%COMP%] {\n  font-family: Inter;\n  font-size: 12px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 16px;\n  letter-spacing: 0em;\n  text-align: left;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   i[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  width: 100%;\n  display: flex;\n}\n[dir=ltr]   [_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  justify-content: flex-end;\n}\n[dir=rtl]   [_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  justify-content: flex-start;\n}\n[_nghost-%COMP%]   .cancel[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  font-size: 11px;\n  color: var(--gauzy-text-color-1);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(245, 109, 88, 0.3);\n  border-width: 2px;\n  color: rgb(245, 109, 88);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(245, 109, 88);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(245, 109, 88, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   .title[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 16px;\n  letter-spacing: 0em;\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(126, 126, 143, 0.3);\n  border-width: 2px;\n  color: rgb(126, 126, 143);\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(126, 126, 143);\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(126, 126, 143, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(37, 184, 105, 0.3);\n  border-width: 2px;\n  color: rgb(37, 184, 105);\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(37, 184, 105);\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(37, 184, 105, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[disabled][_ngcontent-%COMP%], [_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic.btn-disabled[_ngcontent-%COMP%] {\n  background-color: var(--button-outline-basic-disabled-background-color);\n  border-color: var(--button-outline-basic-disabled-border-color);\n  color: var(--button-outline-basic-disabled-text-color);\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].primary.appearance-filled.status-primary[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  border: unset;\n  background-color: var(--color-primary-transparent-default);\n  box-shadow: var(--gauzy-shadow) 0, 0, 0, 0.15;\n}\n[dir=ltr]   [_nghost-%COMP%]     input, [dir=ltr]   [_nghost-%COMP%]     textarea {\n  text-align: start;\n}\n[dir=rtl]   [_nghost-%COMP%]     input, [dir=rtl]   [_nghost-%COMP%]     textarea {\n  text-align: end;\n}\n[_nghost-%COMP%]     input, [_nghost-%COMP%]     nb-select.appearance-outline.status-basic .select-button, [_nghost-%COMP%]     .ng-select .ng-select-container {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n  height: 42px !important;\n}\n[_nghost-%COMP%]     .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder, [_nghost-%COMP%]     .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input {\n  top: unset !important;\n}\n[_nghost-%COMP%]     label, [_nghost-%COMP%]     .label {\n  font-size: 11px;\n  font-weight: 600;\n  line-height: 13px;\n  letter-spacing: -0.01em;\n  color: var(--gauzy-text-color-2);\n}\n[_nghost-%COMP%]     textarea {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n}\n[_nghost-%COMP%]     .ng-select .ng-select-container input, [_nghost-%COMP%]     nb-tag-list input {\n  background-color: unset !important;\n}\n[_nghost-%COMP%]   nb-card[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-card-1);\n}\n\n .changelog-sidebar .main-container {\n  width: 33rem !important;\n}\n\ni[_ngcontent-%COMP%] {\n  position: absolute;\n  right: 0.75rem;\n  top: 0.75rem;\n}"]
    });
  }
};
ChangelogComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__/* .ChangelogService */ .m, _nebular_theme__WEBPACK_IMPORTED_MODULE_4__/* .NbSidebarService */ .OF4])], ChangelogComponent);

/***/ }),

/***/ 13420:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: () => (/* binding */ DEFAULT_SIDEBARS)
/* harmony export */ });
/* harmony import */ var _changelog_changelog_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50051);
/* harmony import */ var _theme_settings_theme_settings_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84355);


const DEFAULT_SIDEBARS = {
  changelog_sidebar: {
    loadComponent: () => _changelog_changelog_component__WEBPACK_IMPORTED_MODULE_0__/* .ChangelogComponent */ .q,
    class: 'changelog-sidebar',
    actionItem: {
      id: 'changelog_sidebar',
      label: 'changelog sidebar',
      icon: 'gift-outline',
      class: 'toggle-layout'
    }
  },
  settings_sidebar: {
    loadComponent: () => _theme_settings_theme_settings_component__WEBPACK_IMPORTED_MODULE_1__/* .ThemeSettingsComponent */ .W,
    class: 'settings-sidebar',
    actionItem: {
      id: 'settings_sidebar',
      label: 'settings sidebar',
      icon: 'settings-2-outline',
      class: 'toggle-layout'
    }
  }
};

/***/ }),

/***/ 26134:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: () => (/* binding */ LayoutSelectorComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(55598);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(58988);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(84076);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(42089);
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(91265);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(61198);













function LayoutSelectorComponent_nb_option_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "nb-option", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const componentLayout_r1 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("value", componentLayout_r1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 2, "SETTINGS_MENU." + componentLayout_r1), "");
  }
}
let LayoutSelectorComponent = class LayoutSelectorComponent {
  constructor(store, userService) {
    this.store = store;
    this.userService = userService;
    this.componentLayouts = Object.values(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.ComponentLayoutStyleEnum);
    this.preferredComponentLayout = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.ComponentLayoutStyleEnum.TABLE;
  }
  ngOnInit() {
    this.store.user$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(user => !!user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(user => this.user = user), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(({
      preferredComponentLayout
    }) => {
      if (preferredComponentLayout) {
        this.store.preferredComponentLayout = preferredComponentLayout;
      } else {
        this.store.preferredComponentLayout = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.ComponentLayoutStyleEnum.TABLE;
      }
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
    this.store.preferredComponentLayout$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(preferredLayout => !!preferredLayout), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(preferredLayout => this.preferredComponentLayout = preferredLayout), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  switchComponentLayout() {
    this.store.preferredComponentLayout = this.preferredComponentLayout;
    this.changePreferredComponentLayout({
      preferredComponentLayout: this.preferredComponentLayout
    });
  }
  resetLayoutForAllComponents() {
    this.store.componentLayout = [];
  }
  /**
   * Changed User Selected Preferred Component Layout
   *
   * @param payload
   * @returns
   */
  changePreferredComponentLayout(payload) {
    var _this = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(function* () {
      if (!_this.user) {
        return;
      }
      try {
        yield _this.userService.updatePreferredComponentLayout(payload);
      } catch (error) {
        console.error(`Failed to update user preferred component layout`);
      }
    })();
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function LayoutSelectorComponent_Factory(t) {
      return new (t || LayoutSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__/* .UsersService */ .g));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
      type: LayoutSelectorComponent,
      selectors: [["gauzy-layout-selector"]],
      decls: 15,
      vars: 18,
      consts: [[1, "theme-container"], [1, "preferred-layout"], ["icon", "question-mark-circle-outline", 3, "nbTooltip"], ["status", "basic", "size", "small", "outline", "", 3, "placeholder", "selected", "ngModel", "selectedChange", "ngModelChange"], [3, "value", 4, "ngFor", "ngForOf"], [1, "reset-button"], ["status", "danger", "nbButton", "", "size", "small", 3, "nbTooltip", "click"], [3, "value"]],
      template: function LayoutSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "div", 0)(1, "span", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(3, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelement"] */ .nrm(4, "nb-icon", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(5, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(6, "div")(7, "nb-select", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("selectedChange", function LayoutSelectorComponent_Template_nb_select_selectedChange_7_listener() {
            return ctx.switchComponentLayout();
          })("selectedChange", function LayoutSelectorComponent_Template_nb_select_selectedChange_7_listener($event) {
            return ctx.preferredComponentLayout = $event;
          })("ngModelChange", function LayoutSelectorComponent_Template_nb_select_ngModelChange_7_listener($event) {
            return ctx.preferredComponentLayout = $event;
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(8, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(9, LayoutSelectorComponent_nb_option_9_Template, 3, 4, "nb-option", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()()();
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(10, "div", 5)(11, "button", 6);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("click", function LayoutSelectorComponent_Template_button_click_11_listener() {
            return ctx.resetLayoutForAllComponents();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(12, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(13);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(14, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI("", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(3, 8, "SETTINGS_MENU.PREFERRED_LAYOUT"), " ");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(5, 10, "SETTINGS_MENU.PREFERRED_LAYOUT_TOOLTIP"));
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(8, 12, "SETTINGS_MENU.PREFERRED_LAYOUT"))("selected", ctx.preferredComponentLayout)("ngModel", ctx.preferredComponentLayout);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx.componentLayouts);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("nbTooltip", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(12, 14, "SETTINGS_MENU.RESET_LAYOUT_TOOLTIP"));
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(14, 16, "SETTINGS_MENU.RESET_LAYOUT"), " ");
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_8__/* .NgForOf */ .Sq, _angular_forms__WEBPACK_IMPORTED_MODULE_9__/* .NgControlStatus */ .BC, _angular_forms__WEBPACK_IMPORTED_MODULE_9__/* .NgModel */ .vS, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbButtonComponent */ .YP2, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbIconComponent */ .tHu, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbSelectComponent */ .S81, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbOptionComponent */ .ZJ2, _nebular_theme__WEBPACK_IMPORTED_MODULE_10__/* .NbTooltipDirective */ .BmQ, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_11__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.theme-container[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n.reset-button[_ngcontent-%COMP%] {\n  margin-top: 1rem;\n  display: flex;\n}\n\n[_nghost-%COMP%]     nb-select.appearance-outline .select-button {\n  color: #7e7e8f;\n  border-width: 2px;\n  border-color: rgba(126, 126, 143, 0.5);\n  width: 120px;\n}\n[_nghost-%COMP%]     nb-select.shape-rectangle .select-button {\n  border-radius: calc(var(--button-rectangle-border-radius) / 1.625);\n  box-shadow: var(--gauzy-shadow);\n  height: 2rem;\n  display: flex;\n  align-items: center;\n  border: none;\n}\n[_nghost-%COMP%]     nb-select.appearance-outline.size-medium .select-button {\n  border: none;\n}\n[_nghost-%COMP%]     nb-select button span {\n  display: block;\n  overflow-x: hidden;\n  text-overflow: ellipsis;\n}\n\n.preferred-layout[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  gap: 4px;\n}"]
    });
  }
};
LayoutSelectorComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_12__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_12__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__/* .UsersService */ .g])], LayoutSelectorComponent);

/***/ }),

/***/ 54585:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: () => (/* binding */ LayoutSelectorModule)
/* harmony export */ });
/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91265);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);






let LayoutSelectorModule = /*#__PURE__*/(() => {
  class LayoutSelectorModule {
    static {
      this.ɵfac = function LayoutSelectorModule_Factory(t) {
        return new (t || LayoutSelectorModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: LayoutSelectorModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _angular_forms__WEBPACK_IMPORTED_MODULE_2__/* .FormsModule */ .YN, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbIconModule */ .clu, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbSelectModule */ .VcP, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbTooltipModule */ .IB0, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateModule */ .h.forChild()]
      });
    }
  }
  return LayoutSelectorModule;
})();

/***/ }),

/***/ 38366:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   _: () => (/* binding */ ThemeLanguageSelectorComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77271);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(32869);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76447);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(93377);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(58988);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(70087);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(19993);
/* harmony import */ var _theme_language_selector_service__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(84226);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(61198);

















function ThemeLanguageSelectorComponent_ng_container_4_nb_option_3_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "nb-option", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "uppercase");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const lang_r2 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("value", lang_r2.value);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate2"] */ .Lme(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 3, lang_r2.value), " (", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(3, 5, lang_r2.name), ") ");
  }
}
function ThemeLanguageSelectorComponent_ng_container_4_Template(rf, ctx) {
  if (rf & 1) {
    const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerStart"] */ .qex(0);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(1, "nb-select", 2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵlistener"] */ .bIt("selectedChange", function ThemeLanguageSelectorComponent_ng_container_4_Template_nb_select_selectedChange_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r4);
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(ctx_r3.preferredLanguage = $event);
    })("ngModelChange", function ThemeLanguageSelectorComponent_ng_container_4_Template_nb_select_ngModelChange_1_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r4);
      const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(ctx_r5.preferredLanguage = $event);
    })("selectedChange", function ThemeLanguageSelectorComponent_ng_container_4_Template_nb_select_selectedChange_1_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵrestoreView"] */ .eBV(_r4);
      const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵresetView"] */ .Njj(ctx_r6.switchLanguage());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(3, ThemeLanguageSelectorComponent_ng_container_4_nb_option_3_Template, 4, 7, "nb-option", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementContainerEnd"] */ .bVm();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("selected", ctx_r0.preferredLanguage)("ngModel", ctx_r0.preferredLanguage)("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 4, "SETTINGS_MENU.ENGLISH"));
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx_r0.languages);
  }
}
let ThemeLanguageSelectorComponent = class ThemeLanguageSelectorComponent {
  constructor(_store, _userService, _languagesService, _cdr, _selectorService, _i18nService) {
    this._store = _store;
    this._userService = _userService;
    this._languagesService = _languagesService;
    this._cdr = _cdr;
    this._selectorService = _selectorService;
    this._i18nService = _i18nService;
    this.languages = [];
  }
  ngOnInit() {
    this._store.systemLanguages$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(systemLanguages => !!systemLanguages), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(systemLanguages => this.getSystemLanguages(systemLanguages)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
    this._store.user$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .debounceTime */ .B)(100), (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(user => !!user), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(user => this.user = user), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(({
      preferredLanguage
    }) => {
      if (!this._store.preferredLanguage) {
        this._store.preferredLanguage = preferredLanguage || this._i18nService.getBrowserLang();
      }
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  ngAfterViewInit() {
    const systemLanguages = this._store.systemLanguages;
    if (!systemLanguages) {
      (0,rxjs__WEBPACK_IMPORTED_MODULE_6__/* .from */ .H)(this._loadLanguages()).subscribe();
    }
    this._store.preferredLanguage$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .debounceTime */ .B)(100), (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(preferredLanguage => !!preferredLanguage), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(preferredLanguage => this.preferredLanguage = preferredLanguage), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(() => this._selectorService.setLanguage()), (0,rxjs__WEBPACK_IMPORTED_MODULE_7__/* .concatMap */ .H)(preferredLanguage => this.changePreferredLanguage({
      preferredLanguage
    })), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  /**
   * Load languages
   */
  _loadLanguages() {
    var _this = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(function* () {
      const {
        items = []
      } = yield _this._languagesService.getSystemLanguages();
      _this._store.systemLanguages = items.filter(item => item.is_system) || [];
      _this._cdr.detectChanges();
    })();
  }
  /**
   * Get system languages
   *
   * @param systemLanguages
   */
  getSystemLanguages(systemLanguages) {
    if (systemLanguages && systemLanguages.length > 0) {
      this.languages = systemLanguages.filter(item => !!item.is_system).map(item => {
        return {
          value: item.code,
          name: 'SETTINGS_MENU.' + item.name.toUpperCase()
        };
      });
    } else {
      const languages = [];
      for (const [name, code] of Object.entries(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.LanguagesEnum)) {
        languages.push({
          code,
          name,
          is_system: true
        });
      }
      this._store.systemLanguages = languages;
    }
  }
  /**
   * Switch language
   */
  switchLanguage() {
    this._store.preferredLanguage = this.preferredLanguage;
  }
  /**
   * Changed User Selected Preferred Language
   *
   * @param payload
   * @returns
   */
  changePreferredLanguage(payload) {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(function* () {
      if (!_this2.user || !_this2.user.tenantId) {
        return;
      }
      try {
        yield _this2._userService.updatePreferredLanguage(payload);
      } catch (error) {
        console.error(`Failed to update user preferred language`);
      }
    })();
  }
  /**
   * Get preferred language
   */
  get preferredLanguage() {
    return this._selectorService.preferredLanguage;
  }
  /**
   * Set preferred language
   */
  set preferredLanguage(value) {
    this._selectorService.preferredLanguage = value;
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function ThemeLanguageSelectorComponent_Factory(t) {
      return new (t || ThemeLanguageSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .UsersService */ .g), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .LanguagesService */ .D), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ChangeDetectorRef */ .gRc), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_theme_language_selector_service__WEBPACK_IMPORTED_MODULE_12__/* .ThemeLanguageSelectorService */ .s), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_13__/* .I18nService */ .W));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
      type: ThemeLanguageSelectorComponent,
      selectors: [["ngx-theme-language-selector"]],
      decls: 5,
      vars: 4,
      consts: [[1, "theme-container"], [4, "ngIf"], ["status", "basic", "size", "small", "outline", "", "optionsListClass", "fit-content", 3, "selected", "ngModel", "placeholder", "selectedChange", "ngModelChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]],
      template: function ThemeLanguageSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(0, "div", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtext"] */ .EFF(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipe"] */ .nI1(2, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementStart"] */ .j41(3, "div");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(4, ThemeLanguageSelectorComponent_ng_container_4_Template, 4, 6, "ng-container", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵelementEnd"] */ .k0s()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵpipeBind1"] */ .bMT(2, 2, "SETTINGS_MENU.LANGUAGE"), " ");
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.languages.length);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_14__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_14__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbSelectComponent */ .S81, _nebular_theme__WEBPACK_IMPORTED_MODULE_15__/* .NbOptionComponent */ .ZJ2, _angular_common__WEBPACK_IMPORTED_MODULE_14__/* .UpperCasePipe */ .Pc, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_16__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   h6[_ngcontent-%COMP%] {\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  font-size: 1rem;\n}\n[_nghost-%COMP%]   nb-select[_ngcontent-%COMP%] {\n  width: auto;\n}\n[_nghost-%COMP%]   nb-select.appearance-outline[_ngcontent-%COMP%]     .select-button {\n  text-overflow: inherit;\n  box-shadow: var(--gauzy-shadow);\n  border-width: 0;\n  border-radius: var(--button-rectangle-border-radius);\n  outline: none;\n  height: 2rem;\n  color: #7e7e8f;\n}\n[_nghost-%COMP%]   .settings-row[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  flex-wrap: wrap;\n  width: 100%;\n  margin: 0 0 1rem;\n}\n[_nghost-%COMP%]   .title-uppercase[_ngcontent-%COMP%] {\n  text-transform: uppercase;\n}\n[_nghost-%COMP%]   .title-uppercase[_ngcontent-%COMP%]   .settings-row[_ngcontent-%COMP%]   select[_ngcontent-%COMP%] {\n  max-height: 40px;\n  padding: 0;\n  padding-left: 10px;\n  font-size: 0.9rem;\n}\n\n.theme-container[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  flex-wrap: wrap;\n}"]
    });
  }
};
ThemeLanguageSelectorComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_17__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_17__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .UsersService */ .g, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .LanguagesService */ .D, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ChangeDetectorRef */ .gRc, _theme_language_selector_service__WEBPACK_IMPORTED_MODULE_12__/* .ThemeLanguageSelectorService */ .s, _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_13__/* .I18nService */ .W])], ThemeLanguageSelectorComponent);

/***/ }),

/***/ 5649:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: () => (/* binding */ ThemeLanguageSelectorModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61198);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);





let ThemeLanguageSelectorModule = /*#__PURE__*/(() => {
  class ThemeLanguageSelectorModule {
    static {
      this.ɵfac = function ThemeLanguageSelectorModule_Factory(t) {
        return new (t || ThemeLanguageSelectorModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: ThemeLanguageSelectorModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbSelectModule */ .VcP, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__/* .TranslateModule */ .h.forChild()]
      });
    }
  }
  return ThemeLanguageSelectorModule;
})();

/***/ }),

/***/ 84226:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: () => (/* binding */ ThemeLanguageSelectorService)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(55598);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7853);
/* harmony import */ var _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77271);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76447);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51170);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(13010);
/* harmony import */ var _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(19993);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(82817);












let ThemeLanguageSelectorService = class ThemeLanguageSelectorService {
  get preferredLanguage() {
    return this._preferredLanguage;
  }
  set preferredLanguage(value) {
    this._preferredLanguage = value;
  }
  constructor(_store, _electronService, _directionService, _i18nService) {
    this._store = _store;
    this._electronService = _electronService;
    this._directionService = _directionService;
    this._i18nService = _i18nService;
    this._preferredLanguage = _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.LanguagesEnum.ENGLISH;
  }
  initialize() {
    this._store.preferredLanguage$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_1__/* .distinctUntilChange */ .nI)(), (0,rxjs__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(preferredLanguage => !!preferredLanguage), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(preferredLanguage => this.preferredLanguage = preferredLanguage), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(() => this.setLanguage()), (0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(preferredLanguage => {
      if (this._electronService.isElectron) {
        this._electronService.ipcRenderer.send('preferred_language_change', preferredLanguage);
      }
    }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
    if (this._electronService.isElectron) {
      (0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .from */ .H)(this._electronService.ipcRenderer.invoke('PREFERRED_LANGUAGE')).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(language => {
        this._store.preferredLanguage = language;
      }), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
    }
  }
  /**
   * Sets the application language and layout direction based on the preferred language.
   */
  setLanguage() {
    const isRtl = [_gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.LanguagesEnum.HEBREW, _gauzy_contracts__WEBPACK_IMPORTED_MODULE_0__.LanguagesEnum.ARABIC].includes(this.preferredLanguage);
    // Set the layout direction
    this._directionService.setDirection(isRtl ? _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbLayoutDirection */ .UrH.RTL : _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbLayoutDirection */ .UrH.LTR);
    // Set the language
    this._i18nService.setLanguage(this.preferredLanguage);
  }
  static {
    this.ɵfac = function ThemeLanguageSelectorService_Factory(t) {
      return new (t || ThemeLanguageSelectorService)(_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .ElectronService */ .Y), _angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵinject"] */ .KVO(_nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbLayoutDirectionService */ .f81), _angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_10__/* .I18nService */ .W));
    };
  }
  static {
    this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__/* ["ɵɵdefineInjectable"] */ .jDH({
      token: ThemeLanguageSelectorService,
      factory: ThemeLanguageSelectorService.ɵfac,
      providedIn: 'root'
    });
  }
};
ThemeLanguageSelectorService = (0,tslib__WEBPACK_IMPORTED_MODULE_11__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_11__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .ElectronService */ .Y, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbLayoutDirectionService */ .f81, _gauzy_ui_core_i18n__WEBPACK_IMPORTED_MODULE_10__/* .I18nService */ .W])], ThemeLanguageSelectorService);

/***/ }),

/***/ 37648:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: () => (/* binding */ SwitchThemeComponent)
/* harmony export */ });
/* harmony import */ var _theme_selector_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49146);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65670);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77271);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _switch_theme_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44008);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51170);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(84076);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(76149);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(42089);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(61198);














function SwitchThemeComponent_span_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate2"] */ .Lme("", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 2, "SETTINGS_MENU.LIGHT"), "/", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 4, "SETTINGS_MENU.DARK"), "");
  }
}
let SwitchThemeComponent = /*#__PURE__*/(() => {
  class SwitchThemeComponent extends _theme_selector_component__WEBPACK_IMPORTED_MODULE_1__/* .ThemeSelectorComponent */ .k {
    /**
     *
     * @param switchService
     * @param themeService
     * @param store
     */
    constructor(switchService, themeService, store, activatedRoute) {
      super(themeService, store);
      this.switchService = switchService;
      this.themeService = themeService;
      this.store = store;
      this.activatedRoute = activatedRoute;
      this.DARK_OS_SCHEME = '(prefers-color-scheme: dark)';
      this.LIGHT_OS_SCHEME = '(prefers-color-scheme: light)';
      this.hasText = true;
      // Listerning event and switching to current OS color theme
      window.matchMedia(this.DARK_OS_SCHEME).addEventListener('change', event => {
        if (event.matches) {
          // If OS theme is dark and the current theme is light does switched, else don't.
          if (!this.isDark.state) this.switchTheme();
        } else {
          // If OS theme is light and the current theme is dark does switched, else don't.
          if (this.isDark.state) this.switchTheme();
        }
      });
      // This part of code should load only one time.
      if (!this.switchService.isAlreadyLoaded) {
        this.ngOnInit();
        // if there is a preferred theme in localStorage don't switch to OS theme
        if (!this.switchService.hasAlreadyPreferredTheme) this.getPreferColorOsScheme();
        // lockdown
        this.switchService.isAlreadyLoaded = true;
      }
      this.activatedRoute.queryParams.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .filter */ .p)(query => !!query.theme), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .tap */ .M)(({
        theme
      }) => this.handleThemeChange(theme)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_4__/* .untilDestroyed */ .s)(this)).subscribe();
    }
    /**
     * this method help to switch to opposite current theme
     */
    switchTheme() {
      this.reverseTheme();
    }
    /**
     * get current OS color and switching to it.
     */
    getPreferColorOsScheme() {
      // If OS theme is dark and the current theme is dark too don't switched, else does switched.
      if (window.matchMedia(this.DARK_OS_SCHEME).matches) {
        if (!this.isDark.state) this.switchTheme();
      }
      // If OS theme is light and the current theme is light too don't switched, else does switched.
      if (window.matchMedia(this.LIGHT_OS_SCHEME).matches) {
        if (this.isDark.state) this.switchTheme();
      }
    }
    // Handle theme on theme change
    handleThemeChange(theme) {
      const isDarkTheme = this.isDark.state;
      if (theme === 'dark' && !isDarkTheme || theme === 'light' && isDarkTheme) {
        this.switchTheme();
      }
    }
    static {
      this.ɵfac = function SwitchThemeComponent_Factory(t) {
        return new (t || SwitchThemeComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_switch_theme_service__WEBPACK_IMPORTED_MODULE_5__/* .SwitchThemeService */ .F), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbThemeService */ .NS1), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_router__WEBPACK_IMPORTED_MODULE_8__/* .ActivatedRoute */ .nX));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: SwitchThemeComponent,
        selectors: [["gauzy-switch-theme"]],
        inputs: {
          hasText: "hasText"
        },
        features: [_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
        decls: 5,
        vars: 7,
        consts: [[1, "switch-container"], [4, "ngIf"], ["size", "small", 1, "switch", 3, "checked", "ngClass", "checkedChange"]],
        template: function SwitchThemeComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, SwitchThemeComponent_span_1_Template, 4, 6, "span", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(2, "nb-toggle", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("checkedChange", function SwitchThemeComponent_Template_nb_toggle_checkedChange_2_listener() {
              return ctx.switchTheme();
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "async");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(4, "async");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          }
          if (rf & 2) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.hasText);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("checked", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 3, ctx.switch))("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(4, 5, ctx.switch) ? "dark" : "light");
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_9__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_9__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_6__/* .NbToggleComponent */ .YF2, _angular_common__WEBPACK_IMPORTED_MODULE_9__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_10__/* .TranslatePipe */ .D9],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  flex-wrap: wrap;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.switch[_ngcontent-%COMP%]     .toggle {\n  height: 1.5rem;\n  width: 3.375rem;\n  font-family: \"Font Awesome 6 Free\" !important;\n  font-size: 0.625rem;\n  display: flex;\n  align-items: center;\n  background-color: rgba(126, 126, 143, 0.5);\n  border-width: 0;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.switch[_ngcontent-%COMP%]     .toggle .toggle-switcher {\n  height: 1rem;\n  width: 1rem;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.switch[_ngcontent-%COMP%]     .toggle span {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  justify-self: flex-end;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.switch[_ngcontent-%COMP%]     .toggle nb-icon {\n  display: none;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.light[_ngcontent-%COMP%]     .toggle {\n  justify-content: end;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.light[_ngcontent-%COMP%]     .toggle:before {\n  content: \"\\f186\";\n  color: rgba(255, 255, 255, 0.25);\n}\n[dir=rtl]   [_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.light[_ngcontent-%COMP%]     .toggle:before {\n  margin-left: 0.275rem;\n}\n[dir=ltr]   [_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.light[_ngcontent-%COMP%]     .toggle:before {\n  margin-right: 0.275rem;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.light[_ngcontent-%COMP%]     .toggle span:before {\n  content: \"\\f185\";\n}\n[dir=ltr]   [_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.light[_ngcontent-%COMP%]     .toggle .toggle-switcher {\n  margin-left: 0.25rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.light[_ngcontent-%COMP%]     .toggle .toggle-switcher {\n  margin-right: 0.25rem;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.dark[_ngcontent-%COMP%]     .toggle {\n  justify-content: flex-start;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.dark[_ngcontent-%COMP%]     .toggle:before {\n  content: \"\\f185\";\n  color: rgba(255, 255, 255, 0.25);\n}\n[dir=ltr]   [_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.dark[_ngcontent-%COMP%]     .toggle:before {\n  margin-left: 0.325rem;\n}\n[dir=rtl]   [_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.dark[_ngcontent-%COMP%]     .toggle:before {\n  margin-right: 0.325rem;\n}\n[_nghost-%COMP%]   .switch-container[_ngcontent-%COMP%]   nb-toggle.dark[_ngcontent-%COMP%]     .toggle span:before {\n  content: \"\\f186\";\n}\n\n  [dir=ltr] nb-toggle.switch .toggle.checked .toggle-switcher {\n  left: calc(100% - 1.375rem);\n}\n\n  [dir=rtl] nb-toggle.switch .toggle.checked .toggle-switcher {\n  right: calc(100% - 1.375rem);\n}"]
      });
    }
  }
  return SwitchThemeComponent;
})();

/***/ }),

/***/ 44008:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: () => (/* binding */ SwitchThemeService)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84076);



let SwitchThemeService = /*#__PURE__*/(() => {
  class SwitchThemeService {
    constructor(store) {
      this.store = store;
      this._isAlreadyLoaded = false;
      this._hasAlreadyPreferredTheme = false;
      this._hasAlreadyPreferredTheme = this.store.currentTheme ? true : false;
    }
    get isAlreadyLoaded() {
      return this._isAlreadyLoaded;
    }
    set isAlreadyLoaded(value) {
      this._isAlreadyLoaded = value;
    }
    get hasAlreadyPreferredTheme() {
      return this._hasAlreadyPreferredTheme;
    }
    static {
      this.ɵfac = function SwitchThemeService_Factory(t) {
        return new (t || SwitchThemeService)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵinject"] */ .KVO(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_1__/* .Store */ .il));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: SwitchThemeService,
        factory: SwitchThemeService.ɵfac,
        providedIn: 'root'
      });
    }
  }
  return SwitchThemeService;
})();

/***/ }),

/***/ 54670:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   j: () => (/* binding */ ThemeSelectorImageComponent)
/* harmony export */ });
/* harmony import */ var _theme_selector_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49146);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84076);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42089);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(61198);








function ThemeSelectorImageComponent_div_7_div_1_Template(rf, ctx) {
  if (rf & 1) {
    const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function ThemeSelectorImageComponent_div_7_div_1_Template_div_click_0_listener() {
      const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r4);
      const theme_r2 = restoredCtx.$implicit;
      const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r3.onSelectedTheme(theme_r2.value));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(1, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(2, "span");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(5, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(6, "div", 8);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(7, "img", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const theme_r2 = ctx.$implicit;
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG(2);
    let tmp_0_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", ((tmp_0_0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(1, 3, ctx_r1.selected)) == null ? null : tmp_0_0.value) === theme_r2.value ? "card-container selected" : "card-container");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(4, 5, theme_r2.name), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("src", theme_r2.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
  }
}
function ThemeSelectorImageComponent_div_7_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, ThemeSelectorImageComponent_div_7_div_1_Template, 8, 7, "div", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx_r0.themes);
  }
}
let ThemeSelectorImageComponent = /*#__PURE__*/(() => {
  class ThemeSelectorImageComponent extends _theme_selector_component__WEBPACK_IMPORTED_MODULE_1__/* .ThemeSelectorComponent */ .k {
    constructor(themeService, store) {
      super(themeService, store);
      this.themeService = themeService;
      this.store = store;
      this.isOpen = false;
      this.ngOnInit();
    }
    static {
      this.ɵfac = function ThemeSelectorImageComponent_Factory(t) {
        return new (t || ThemeSelectorImageComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbThemeService */ .NS1), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_3__/* .Store */ .il));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: ThemeSelectorImageComponent,
        selectors: [["gauzy-theme-selector-image"]],
        features: [_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵInheritDefinitionFeature"] */ .Vt3],
        decls: 8,
        vars: 10,
        consts: [[1, "theme-card"], [1, "theme-container"], ["status", "basic", "size", "small", "outline", "", 3, "placeholder", "ngClass", "click"], ["class", "themes", 4, "ngIf"], [1, "themes"], [3, "ngClass", "click", 4, "ngFor", "ngForOf"], [3, "ngClass", "click"], [1, "check"], [1, "image-container"], [3, "src"]],
        template: function ThemeSelectorImageComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 0)(1, "div", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(4, "nb-select", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function ThemeSelectorImageComponent_Template_nb_select_click_4_listener() {
              return ctx.isOpen = !ctx.isOpen;
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(5, "translate");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(6, "async");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(7, ThemeSelectorImageComponent_div_7_Template, 2, 1, "div", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          }
          if (rf & 2) {
            let tmp_1_0;
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 4, "SETTINGS_MENU.THEMES"), " ");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(5, 6, (tmp_1_0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(6, 8, ctx.selected)) == null ? null : tmp_1_0.name));
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx.isOpen ? "open" : "");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.isOpen);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_4__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_4__/* .NgIf */ .bT, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbSelectComponent */ .S81, _angular_common__WEBPACK_IMPORTED_MODULE_4__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__/* .TranslatePipe */ .D9],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.theme-card[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n}\n\n.theme-container[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  flex-wrap: wrap;\n  width: 100%;\n}\n\n.themes[_ngcontent-%COMP%] {\n  max-height: calc(100vh - 25rem);\n  overflow-y: auto;\n}\n\n.card-container[_ngcontent-%COMP%] {\n  background: var(--gauzy-card-2);\n  margin-top: 10px;\n  border-radius: var(--border-radius);\n  display: flex;\n  flex-direction: column;\n}\n.card-container.selected[_ngcontent-%COMP%]   .check[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: var(--text-primary-color);\n  font-size: 8px;\n  font-weight: 900;\n}\n.card-container.selected[_ngcontent-%COMP%]   .check[_ngcontent-%COMP%]:before {\n  font-family: \"Font Awesome 5 Free\";\n  content: \"\\f00c\";\n}\n.card-container[_ngcontent-%COMP%]   .image-container[_ngcontent-%COMP%] {\n  object-fit: cover;\n  min-width: 200px;\n  width: 100%;\n  height: 100px;\n  overflow: hidden;\n  position: relative;\n}\n.card-container[_ngcontent-%COMP%]   .image-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  position: absolute;\n  left: 1rem;\n  top: 1rem;\n  height: 150px;\n  border-radius: calc(var(--border-radius) - 4px);\n}\n.card-container[_ngcontent-%COMP%]   span[_ngcontent-%COMP%] {\n  padding: 6px;\n  font-size: 13px;\n  width: 100%;\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n}\n.card-container[_ngcontent-%COMP%]   .check[_ngcontent-%COMP%] {\n  width: 1rem;\n  height: 1rem;\n  background-color: white;\n  border-radius: 50%;\n  box-shadow: var(--gauzy-shadow) inset;\n}\n\n[_nghost-%COMP%]   .theme-card[_ngcontent-%COMP%]     nb-select.appearance-outline .select-button {\n  border-width: 2px;\n  border-color: rgba(126, 126, 143, 0.5);\n}\n[_nghost-%COMP%]   .theme-card[_ngcontent-%COMP%]     nb-select.appearance-outline.status-basic .select-button.placeholder {\n  color: #7e7e8f;\n}\n[_nghost-%COMP%]   .theme-card[_ngcontent-%COMP%]     nb-select.size-small .select-button {\n  font-size: var(--select-small-text-font-size);\n  font-weight: var(--select-small-text-font-weight);\n  line-height: var(--select-small-text-line-height);\n}\n[_nghost-%COMP%]   .theme-card[_ngcontent-%COMP%]     nb-select.shape-rectangle .select-button {\n  border-radius: calc(var(--button-rectangle-border-radius) / 1.625);\n  box-shadow: var(--gauzy-shadow);\n  height: 2rem;\n  display: flex;\n  align-items: center;\n  border: none;\n}\n[_nghost-%COMP%]   .theme-card[_ngcontent-%COMP%]     nb-select.appearance-outline.size-medium .select-button {\n  border: none;\n}\n[_nghost-%COMP%]   .theme-card[_ngcontent-%COMP%]     nb-select button span {\n  display: block;\n  overflow-x: hidden;\n  text-overflow: ellipsis;\n}"]
      });
    }
  }
  return ThemeSelectorImageComponent;
})();

/***/ }),

/***/ 49146:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: () => (/* binding */ ThemeSelectorComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(55598);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(61412);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(66791);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(96641);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(51170);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(84076);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43385);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(72089);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(32530);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(899);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34868);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12213);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(60387);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80435);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);









function ThemeSelectorComponent_ng_template_1_Template(rf, ctx) {}
function ThemeSelectorComponent_ng_template_2_nb_option_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-option", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const theme_r6 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("value", theme_r6.value);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 2, theme_r6.name), "");
  }
}
function ThemeSelectorComponent_ng_template_2_Template(rf, ctx) {
  if (rf & 1) {
    const _r8 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "nb-select", 4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("selectedChange", function ThemeSelectorComponent_ng_template_2_Template_nb_select_selectedChange_3_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r8);
      const ctx_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r7.currentTheme = $event);
    })("selectedChange", function ThemeSelectorComponent_ng_template_2_Template_nb_select_selectedChange_3_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r8);
      const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r9.toggleTheme());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(4, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(5, ThemeSelectorComponent_ng_template_2_nb_option_5_Template, 3, 4, "nb-option", 5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 4, "SETTINGS_MENU.THEMES"), " ");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("placeholder", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(4, 6, ctx_r2.themes[0]));
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("selected", ctx_r2.currentTheme);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx_r2.themes);
  }
}
function ThemeSelectorComponent_ng_template_4_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(0, "gauzy-theme-selector-image");
  }
}
let ThemeSelectorComponent = class ThemeSelectorComponent {
  constructor(themeService, store) {
    this.themeService = themeService;
    this.store = store;
    this._themes = [{
      light: {
        value: _themes__WEBPACK_IMPORTED_MODULE_1__/* .GAUZY_LIGHT */ .i.name,
        name: 'SETTINGS_MENU.GAUZY_LIGHT',
        imageUrl: 'assets/images/themes/gauzy_light.png'
      },
      dark: {
        value: _themes__WEBPACK_IMPORTED_MODULE_2__/* .GAUZY_DARK */ .Y.name,
        name: 'SETTINGS_MENU.GAUZY_DARK',
        imageUrl: 'assets/images/themes/gauzy_dark.png'
      }
    }, {
      light: {
        value: _themes__WEBPACK_IMPORTED_MODULE_3__/* .DEFAULT_THEME */ .S.name,
        name: 'SETTINGS_MENU.LIGHT',
        imageUrl: 'assets/images/themes/light.png'
      },
      dark: {
        value: _themes__WEBPACK_IMPORTED_MODULE_4__/* .DARK_THEME */ .n.name,
        name: 'SETTINGS_MENU.DARK',
        imageUrl: 'assets/images/themes/dark.png'
      }
    }, {
      light: {
        value: _themes__WEBPACK_IMPORTED_MODULE_5__/* .CORPORATE_THEME */ .E.name,
        name: 'SETTINGS_MENU.CORPORATE',
        imageUrl: 'assets/images/themes/corporate.png'
      },
      dark: {
        value: _themes__WEBPACK_IMPORTED_MODULE_6__/* .COSMIC_THEME */ .D.name,
        name: 'SETTINGS_MENU.COSMIC',
        imageUrl: 'assets/images/themes/cosmic.png'
      }
    }, {
      light: {
        value: _themes__WEBPACK_IMPORTED_MODULE_7__/* .MATERIAL_LIGHT_THEME */ .l.name,
        name: 'SETTINGS_MENU.MATERIAL_LIGHT_THEME',
        imageUrl: 'assets/images/themes/material_light.png'
      },
      dark: {
        value: _themes__WEBPACK_IMPORTED_MODULE_8__/* .MATERIAL_DARK_THEME */ .L.name,
        name: 'SETTINGS_MENU.MATERIAL_DARK_THEME',
        imageUrl: 'assets/images/themes/material_dark.png'
      }
    }];
    this.switch = new rxjs__WEBPACK_IMPORTED_MODULE_9__/* .Observable */ .c();
    this.switch$ = new rxjs__WEBPACK_IMPORTED_MODULE_10__/* .BehaviorSubject */ .t(false);
    this.currentTheme = _themes__WEBPACK_IMPORTED_MODULE_1__/* .GAUZY_LIGHT */ .i.name;
    this.currentTheme$ = new rxjs__WEBPACK_IMPORTED_MODULE_10__/* .BehaviorSubject */ .t(null);
    this.selected = new rxjs__WEBPACK_IMPORTED_MODULE_9__/* .Observable */ .c();
    this.selected$ = new rxjs__WEBPACK_IMPORTED_MODULE_10__/* .BehaviorSubject */ .t(null);
    this.isClassic = true;
  }
  ngOnInit() {
    this.themeService.onThemeChange().pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_11__/* .map */ .T)(({
      name
    }) => name), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_12__/* .untilDestroyed */ .s)(this)).subscribe(themeName => {
      this.currentTheme = themeName;
      this.updateSwitch();
      this.updateCard();
    });
    this.currentTheme$.subscribe(theme => {
      theme = theme ? theme : this.store.currentTheme ? this.store.currentTheme : this.currentTheme;
      this.store.currentTheme = theme;
      this.themeService.changeTheme(theme);
    });
    this.switch$.subscribe();
    this.selected$.subscribe();
    this.switch = this.switch$.asObservable();
    this.selected = this.selected$.asObservable();
  }
  toggleTheme() {
    this.currentTheme$.next(this.currentTheme);
  }
  get themes() {
    const themes = [];
    this._themes.map(theme => {
      themes.push(theme.light);
      themes.push(theme.dark);
    });
    return themes;
  }
  updateSwitch() {
    this.switch$.next(this.isDark.state);
  }
  updateCard() {
    this.selected$.next(this.isDark.previous);
  }
  onSelectedTheme(theme) {
    this.currentTheme = theme;
    this.toggleTheme();
  }
  reverseTheme() {
    this.currentTheme = this.isDark.reverse;
    this.toggleTheme();
  }
  /**
   * Checks if the current theme is dark or light and provides information about the opposite theme.
   * @returns An object containing information about the current theme state and its opposite.
   */
  get isDark() {
    const res = {
      previous: null,
      reverse: this.currentTheme,
      state: false
    };
    this._themes.forEach(theme => {
      if (theme.light.value === this.currentTheme) {
        res.reverse = theme.dark.value;
        res.state = false;
        res.previous = theme.light;
      } else if (theme.dark.value === this.currentTheme) {
        res.reverse = theme.light.value;
        res.state = true;
        res.previous = theme.dark;
      }
    });
    return res;
  }
  ngOnDestroy() {}
  static {
    this.ɵfac = function ThemeSelectorComponent_Factory(t) {
      return new (t || ThemeSelectorComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_13__/* .NbThemeService */ .NS1), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .Store */ .il));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
      type: ThemeSelectorComponent,
      selectors: [["gauzy-theme-selector"]],
      inputs: {
        isClassic: "isClassic"
      },
      decls: 6,
      vars: 1,
      consts: [[3, "ngTemplateOutlet"], ["classic", ""], ["card", ""], [1, "theme-container"], ["status", "basic", "size", "small", "outline", "", 3, "selected", "placeholder", "selectedChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]],
      template: function ThemeSelectorComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerStart"] */ .qex(0);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, ThemeSelectorComponent_ng_template_1_Template, 0, 0, "ng-template", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementContainerEnd"] */ .bVm();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(2, ThemeSelectorComponent_ng_template_2_Template, 6, 8, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, ThemeSelectorComponent_ng_template_4_Template, 1, 0, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
        }
        if (rf & 2) {
          const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵreference"] */ .sdS(3);
          const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵreference"] */ .sdS(5);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngTemplateOutlet", ctx.isClassic ? _r1 : _r3);
        }
      },
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.theme-container[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  flex-wrap: wrap;\n}\n\n[_nghost-%COMP%]     nb-select.appearance-outline .select-button {\n  color: #7e7e8f;\n  border-width: 2px;\n  border-color: rgba(126, 126, 143, 0.5);\n  width: 129px;\n}\n[_nghost-%COMP%]     nb-select.shape-rectangle .select-button {\n  border-radius: calc(var(--button-rectangle-border-radius) / 1.625);\n  box-shadow: var(--gauzy-shadow);\n  height: 2rem;\n  display: flex;\n  align-items: center;\n  border: none;\n}\n[_nghost-%COMP%]     nb-select.appearance-outline.size-medium .select-button {\n  border: none;\n}\n[_nghost-%COMP%]     nb-select button span {\n  display: block;\n  overflow-x: hidden;\n  text-overflow: ellipsis;\n}"]
    });
  }
};
ThemeSelectorComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_15__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_12__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_15__/* .__metadata */ .Sn)("design:paramtypes", [_nebular_theme__WEBPACK_IMPORTED_MODULE_13__/* .NbThemeService */ .NS1, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_14__/* .Store */ .il])], ThemeSelectorComponent);

/***/ }),

/***/ 47405:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: () => (/* binding */ ThemeSelectorModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61198);
/* harmony import */ var _theme_selector_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49146);
/* harmony import */ var _theme_selector_image_theme_selector_image_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(54670);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);









let ThemeSelectorModule = /*#__PURE__*/(() => {
  class ThemeSelectorModule {
    static {
      this.ɵfac = function ThemeSelectorModule_Factory(t) {
        return new (t || ThemeSelectorModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: ThemeSelectorModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbSelectModule */ .VcP, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbToggleModule */ .jVr, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__/* .TranslateModule */ .h.forChild(), _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbButtonModule */ .P5N]
      });
    }
  }
  return ThemeSelectorModule;
})();
_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsetComponentScope"] */ .wjB(_theme_selector_component__WEBPACK_IMPORTED_MODULE_4__/* .ThemeSelectorComponent */ .k, function () {
  return [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_1__/* .NgTemplateOutlet */ .T3, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbSelectComponent */ .S81, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbOptionComponent */ .ZJ2, _theme_selector_image_theme_selector_image_component__WEBPACK_IMPORTED_MODULE_5__/* .ThemeSelectorImageComponent */ .j];
}, function () {
  return [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__/* .TranslatePipe */ .D9];
});

/***/ }),

/***/ 84355:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   W: () => (/* binding */ ThemeSettingsComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55598);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51170);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77271);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65670);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82817);
/* harmony import */ var _components_theme_language_selector_theme_language_selector_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(38366);
/* harmony import */ var _components_layout_selector_layout_selector_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26134);
/* harmony import */ var _components_theme_selector_theme_selector_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49146);
/* harmony import */ var _components_theme_selector_switch_theme_switch_theme_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(37648);
/* harmony import */ var _shared_src_lib_directives_outside_directive__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9906);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(61198);












let ThemeSettingsComponent = class ThemeSettingsComponent {
  constructor(sidebarService) {
    this.sidebarService = sidebarService;
  }
  ngAfterViewChecked() {
    this.sidebarService.getSidebarState('settings_sidebar').pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_0__/* .tap */ .M)(state => this.state = state === 'expanded' ? true : false), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  ngOnDestroy() {}
  /**
   *
   */
  closeSidebar() {
    this.sidebarService.toggle(false, 'settings_sidebar');
  }
  /**
   *
   * @param event
   */
  onClickOutside(event) {
    if (!event && this.state) this.closeSidebar();
  }
  static {
    this.ɵfac = function ThemeSettingsComponent_Factory(t) {
      return new (t || ThemeSettingsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbSidebarService */ .OF4));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵdefineComponent"] */ .VBU({
      type: ThemeSettingsComponent,
      selectors: [["ngx-theme-settings"]],
      decls: 16,
      vars: 4,
      consts: [["gauzyOutside", "", 3, "clickOutside"], [1, "header"], [1, "cancel"], [1, "fas", "fa-times", 3, "click"], [1, "theme"], [1, "theme", 3, "isClassic"]],
      template: function ThemeSettingsComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(0, "div", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("clickOutside", function ThemeSettingsComponent_Template_div_clickOutside_0_listener($event) {
            return ctx.onClickOutside($event);
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(1, "div", 1)(2, "span", 2)(3, "i", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵlistener"] */ .bIt("click", function ThemeSettingsComponent_Template_i_click_3_listener() {
            return ctx.closeSidebar();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(4, "p");
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtext"] */ .EFF(5);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipe"] */ .nI1(6, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(7, "nb-list")(8, "nb-list-item");
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(9, "gauzy-switch-theme", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(10, "nb-list-item");
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(11, "ngx-theme-language-selector", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(12, "nb-list-item");
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(13, "gauzy-theme-selector", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementStart"] */ .j41(14, "nb-list-item");
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelement"] */ .nrm(15, "gauzy-layout-selector", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵelementEnd"] */ .k0s()()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(5);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵpipeBind1"] */ .bMT(6, 2, "SETTINGS_MENU.QUICK_SETTINGS"));
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵadvance"] */ .R7$(8);
          _angular_core__WEBPACK_IMPORTED_MODULE_2__/* ["ɵɵproperty"] */ .Y8G("isClassic", false);
        }
      },
      dependencies: [_components_theme_language_selector_theme_language_selector_component__WEBPACK_IMPORTED_MODULE_4__/* .ThemeLanguageSelectorComponent */ ._, _components_layout_selector_layout_selector_component__WEBPACK_IMPORTED_MODULE_5__/* .LayoutSelectorComponent */ .d, _components_theme_selector_theme_selector_component__WEBPACK_IMPORTED_MODULE_6__/* .ThemeSelectorComponent */ .k, _components_theme_selector_switch_theme_switch_theme_component__WEBPACK_IMPORTED_MODULE_7__/* .SwitchThemeComponent */ .z, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbListComponent */ .krR, _nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbListItemComponent */ .TdD, _shared_src_lib_directives_outside_directive__WEBPACK_IMPORTED_MODULE_8__/* .OutsideDirective */ .H, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_9__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   i[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  width: 100%;\n  display: flex;\n}\n[dir=ltr]   [_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  justify-content: flex-end;\n}\n[dir=rtl]   [_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  justify-content: flex-start;\n}\n[_nghost-%COMP%]   .cancel[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  font-size: 11px;\n  color: var(--gauzy-text-color-1);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(245, 109, 88, 0.3);\n  border-width: 2px;\n  color: rgb(245, 109, 88);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(245, 109, 88);\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(245, 109, 88, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   .title[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 16px;\n  letter-spacing: 0em;\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(126, 126, 143, 0.3);\n  border-width: 2px;\n  color: rgb(126, 126, 143);\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(126, 126, 143);\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(126, 126, 143, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].gray.appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[_ngcontent-%COMP%] {\n  background-color: transparent;\n  border-color: rgba(37, 184, 105, 0.3);\n  border-width: 2px;\n  color: rgb(37, 184, 105);\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[_ngcontent-%COMP%]:hover {\n  border-color: rgb(37, 184, 105);\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline[_ngcontent-%COMP%]:hover {\n  box-shadow: 0 0 0 var(--button-outline-width) rgba(37, 184, 105, 0.05), inset var(--button-outline-focus-inset-shadow-length) transparent;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline[_ngcontent-%COMP%]:focus:not(:hover):not(:active) {\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic[disabled][_ngcontent-%COMP%], [_nghost-%COMP%]   [nbButton].green.appearance-outline.status-basic.btn-disabled[_ngcontent-%COMP%] {\n  background-color: var(--button-outline-basic-disabled-background-color);\n  border-color: var(--button-outline-basic-disabled-border-color);\n  color: var(--button-outline-basic-disabled-text-color);\n  box-shadow: unset;\n}\n[_nghost-%COMP%]   [nbButton].primary.appearance-filled.status-primary[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  border: unset;\n  background-color: var(--color-primary-transparent-default);\n  box-shadow: var(--gauzy-shadow) 0, 0, 0, 0.15;\n}\n[dir=ltr]   [_nghost-%COMP%]     input, [dir=ltr]   [_nghost-%COMP%]     textarea {\n  text-align: start;\n}\n[dir=rtl]   [_nghost-%COMP%]     input, [dir=rtl]   [_nghost-%COMP%]     textarea {\n  text-align: end;\n}\n[_nghost-%COMP%]     input, [_nghost-%COMP%]     nb-select.appearance-outline.status-basic .select-button, [_nghost-%COMP%]     .ng-select .ng-select-container {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n  height: 42px !important;\n}\n[_nghost-%COMP%]     .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder, [_nghost-%COMP%]     .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input {\n  top: unset !important;\n}\n[_nghost-%COMP%]     label, [_nghost-%COMP%]     .label {\n  font-size: 11px;\n  font-weight: 600;\n  line-height: 13px;\n  letter-spacing: -0.01em;\n  color: var(--gauzy-text-color-2);\n}\n[_nghost-%COMP%]     textarea {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n}\n[_nghost-%COMP%]     .ng-select .ng-select-container input, [_nghost-%COMP%]     nb-tag-list input {\n  background-color: unset !important;\n}\n[_nghost-%COMP%]   nb-card[_ngcontent-%COMP%] {\n  background-color: var(--gauzy-card-1);\n}\n\n[_nghost-%COMP%]   h6[_ngcontent-%COMP%] {\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  font-size: 1rem;\n}\n[_nghost-%COMP%]   nb-select[_ngcontent-%COMP%], [_nghost-%COMP%]   ngx-language-selector[_ngcontent-%COMP%] {\n  width: 12.5rem;\n}\n[_nghost-%COMP%]   nb-select[_ngcontent-%COMP%]     .select-button {\n  text-overflow: inherit;\n  padding-left: 0.5rem !important;\n}\n[_nghost-%COMP%]   nb-list[_ngcontent-%COMP%] {\n  overflow-y: overlay;\n}\n[_nghost-%COMP%]   p[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  font-size: 16px;\n  font-weight: 600;\n  line-height: 16px;\n  letter-spacing: 0em;\n  text-align: left;\n  padding: 0 1rem;\n}\n[_nghost-%COMP%]   .cancel[_ngcontent-%COMP%] {\n  align-self: flex-end;\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .header[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n}\n[_nghost-%COMP%]   nb-list-item[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  border-bottom: 1px solid rgba(50, 50, 50, 0.05);\n}\n[_nghost-%COMP%]   nb-list-item[_ngcontent-%COMP%]:last-child {\n  border-bottom: unset;\n}\n[_nghost-%COMP%]   nb-list-item[_ngcontent-%COMP%]   .theme[_ngcontent-%COMP%] {\n  width: 100%;\n}\n[_nghost-%COMP%]   .settings-row[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  flex-wrap: wrap;\n  width: 100%;\n  margin: 0 0 1rem;\n}\n[_nghost-%COMP%]   .settings-row[_ngcontent-%COMP%]   a[_ngcontent-%COMP%] {\n  text-decoration: none;\n  font-size: 2.25rem;\n  color: #a4abb3;\n}\n[_nghost-%COMP%]   .settings-row[_ngcontent-%COMP%]   a.selected[_ngcontent-%COMP%] {\n  color: #40dc7e;\n}\n[_nghost-%COMP%]   .settings[_ngcontent-%COMP%] {\n  margin-bottom: 1em;\n}\n[_nghost-%COMP%]   .switcher[_ngcontent-%COMP%] {\n  margin-bottom: 1rem;\n}\n[_nghost-%COMP%]   .switcher[_ngcontent-%COMP%]     ngx-switcher .switch-label span {\n  font-size: 1em;\n  font-weight: normal;\n}\n[_nghost-%COMP%]   .switcher[_ngcontent-%COMP%]     ngx-switcher .switch {\n  height: 1.5em;\n  width: 3em;\n}\n[_nghost-%COMP%]   .switcher[_ngcontent-%COMP%]     ngx-switcher .switch .slider::before {\n  height: 1.5em;\n  width: 1.5em;\n}\n[dir=ltr]   [_nghost-%COMP%]   .switcher[_ngcontent-%COMP%]     ngx-switcher .switch input:checked + .slider::before {\n  transform: translateX(1.5rem) !important;\n}\n[dir=rtl]   [_nghost-%COMP%]   .switcher[_ngcontent-%COMP%]     ngx-switcher .switch input:checked + .slider::before {\n  transform: translateX(-1.5rem) !important;\n}\n[_nghost-%COMP%]   .title-uppercase[_ngcontent-%COMP%] {\n  text-transform: uppercase;\n}\n[_nghost-%COMP%]   .title-uppercase[_ngcontent-%COMP%]   .settings-row[_ngcontent-%COMP%]   select[_ngcontent-%COMP%] {\n  max-height: 40px;\n  padding: 0;\n  padding-left: 10px;\n  font-size: 0.9rem;\n}\n[_nghost-%COMP%]   .language-select[_ngcontent-%COMP%] {\n  margin-right: 65px;\n}\n[_nghost-%COMP%]     input, [_nghost-%COMP%]     nb-select.appearance-outline.status-basic .select-button, [_nghost-%COMP%]     .ng-select .ng-select-container {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n  height: 2rem !important;\n}\n[_nghost-%COMP%]     .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder, [_nghost-%COMP%]     .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input {\n  top: unset !important;\n}\n[_nghost-%COMP%]     label, [_nghost-%COMP%]     .label {\n  font-size: 11px;\n  font-weight: 600;\n  line-height: 13px;\n  letter-spacing: -0.01em;\n  color: var(--gauzy-text-color-2);\n}\n[_nghost-%COMP%]     textarea {\n  background-color: var(--gauzy-sidebar-background-4) !important;\n  border: none;\n}\n[_nghost-%COMP%]     .ng-select .ng-select-container input, [_nghost-%COMP%]     nb-tag-list input {\n  background-color: unset !important;\n}"]
    });
  }
};
ThemeSettingsComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_1__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__metadata */ .Sn)("design:paramtypes", [_nebular_theme__WEBPACK_IMPORTED_MODULE_3__/* .NbSidebarService */ .OF4])], ThemeSettingsComponent);

/***/ }),

/***/ 97522:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   P: () => (/* binding */ ThemeSettingsModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61198);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(48154);
/* harmony import */ var _components_theme_language_selector_theme_language_selector_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5649);
/* harmony import */ var _components_theme_selector_theme_selector_module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(47405);
/* harmony import */ var _components_layout_selector_layout_selector_module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(54585);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);









let ThemeSettingsModule = /*#__PURE__*/(() => {
  class ThemeSettingsModule {
    static {
      this.ɵfac = function ThemeSettingsModule_Factory(t) {
        return new (t || ThemeSettingsModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: ThemeSettingsModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbSelectModule */ .VcP, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbIconModule */ .clu, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbTooltipModule */ .IB0, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__/* .TranslateModule */ .h.forChild(), _components_theme_language_selector_theme_language_selector_module__WEBPACK_IMPORTED_MODULE_4__/* .ThemeLanguageSelectorModule */ .L, _components_layout_selector_layout_selector_module__WEBPACK_IMPORTED_MODULE_5__/* .LayoutSelectorModule */ .s, _components_theme_selector_theme_selector_module__WEBPACK_IMPORTED_MODULE_6__/* .ThemeSelectorModule */ .r, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbCardModule */ .lVF, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbListModule */ .PD_, _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_7__/* .DirectivesModule */ .h]
      });
    }
  }
  return ThemeSettingsModule;
})();

/***/ }),

/***/ 40268:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: () => (/* binding */ ThemeSidebarComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26699);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);



const _c0 = ["container"];
function ThemeSidebarComponent_ng_template_0_Template(rf, ctx) {}
let ThemeSidebarComponent = /*#__PURE__*/(() => {
  class ThemeSidebarComponent {
    constructor(componentFactoryResolver, changeDetectorRef) {
      this.componentFactoryResolver = componentFactoryResolver;
      this.changeDetectorRef = changeDetectorRef;
    }
    ngAfterViewInit() {
      this.loadComponent();
      this.changeDetectorRef.detectChanges();
    }
    loadComponent() {
      var _this = this;
      return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(function* () {
        const renderComponent = _this.config.loadComponent();
        const component = renderComponent instanceof Promise ? yield renderComponent : renderComponent;
        const componentFactory = _this.componentFactoryResolver.resolveComponentFactory(component);
        _this.componentRef = _this.container.createComponent(componentFactory);
        _this.componentRef.changeDetectorRef.markForCheck();
      })();
    }
    ngOnDestroy() {
      if (this.componentRef) {
        this.componentRef.destroy();
      }
    }
    static {
      this.ɵfac = function ThemeSidebarComponent_Factory(t) {
        return new (t || ThemeSidebarComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ComponentFactoryResolver */ .OM3), _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ChangeDetectorRef */ .gRc));
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefineComponent"] */ .VBU({
        type: ThemeSidebarComponent,
        selectors: [["ngx-theme-sidebar"]],
        viewQuery: function ThemeSidebarComponent_Query(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵviewQuery"] */ .GBs(_c0, 5, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* .ViewContainerRef */ .c1b);
          }
          if (rf & 2) {
            let _t;
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.container = _t.first);
          }
        },
        inputs: {
          config: "config"
        },
        decls: 2,
        vars: 0,
        consts: [["container", ""]],
        template: function ThemeSidebarComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplate"] */ .DNE(0, ThemeSidebarComponent_ng_template_0_Template, 0, 0, "ng-template", null, 0, _angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵtemplateRefExtractor"] */ .C5r);
          }
        },
        styles: ["[_nghost-%COMP%] {\n  width: 100%;\n}"],
        changeDetection: 0
      });
    }
  }
  return ThemeSidebarComponent;
})();

/***/ }),

/***/ 12059:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: () => (/* binding */ ThemeSidebarModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42089);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51170);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61198);
/* harmony import */ var _theme_settings_theme_settings_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97522);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);






let ThemeSidebarModule = /*#__PURE__*/(() => {
  class ThemeSidebarModule {
    static {
      this.ɵfac = function ThemeSidebarModule_Factory(t) {
        return new (t || ThemeSidebarModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineNgModule"] */ .$C({
        type: ThemeSidebarModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineInjector"] */ .G2t({
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_1__/* .CommonModule */ .MD, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbSelectModule */ .VcP, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbIconModule */ .clu, _nebular_theme__WEBPACK_IMPORTED_MODULE_2__/* .NbTooltipModule */ .IB0, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_3__/* .TranslateModule */ .h.forChild(), _theme_settings_theme_settings_module__WEBPACK_IMPORTED_MODULE_4__/* .ThemeSettingsModule */ .P]
      });
    }
  }
  return ThemeSidebarModule;
})();

/***/ }),

/***/ 75148:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   e: () => (/* binding */ UserMenuComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57328);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4743);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(47516);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73600);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61412);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(66791);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51717);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65670);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(43038);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(42089);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(76149);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(51170);
/* harmony import */ var _theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(38366);
/* harmony import */ var _theme_sidebar_theme_settings_components_theme_selector_theme_selector_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(49146);
/* harmony import */ var _theme_sidebar_theme_settings_components_theme_selector_switch_theme_switch_theme_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(37648);
/* harmony import */ var _shared_src_lib_directives_outside_directive__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(9906);
/* harmony import */ var _shared_src_lib_directives_under_construction_directive__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(73215);
/* harmony import */ var _user_user_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(35700);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(61198);




















const _c0 = function (a0) {
  return {
    "disabled-table": a0
  };
};
function UserMenuComponent_p_4_Template(rf, ctx) {
  if (rf & 1) {
    const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "p", 17);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function UserMenuComponent_p_4_Template_p_click_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r3);
      const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r2.onChangeStatus());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(1, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "translate");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    let tmp_1_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction1"] */ .eq3(8, _c0, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(1, 2, ctx_r0.isSubmit$)))("innerHTML", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 4, ((tmp_1_0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 6, ctx_r0.employee$)) == null ? null : tmp_1_0.isAway) ? "USER_MENU.SET_YOURSELF_AS_ACTIVE" : "USER_MENU.SET_YOURSELF_AS_AWAY"), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeHtml"] */ .npT);
  }
}
function UserMenuComponent_a_21_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "a", 18);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "i");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const app_r4 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("href", app_r4.link, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH(app_r4.icon);
  }
}
let UserMenuComponent = class UserMenuComponent {
  constructor(_employeeService, _errorHandler) {
    this._employeeService = _employeeService;
    this._errorHandler = _errorHandler;
    this.close = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB(null);
    this.clicks = [];
    this.downloadApps = [{
      link: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.DESKTOP_APP_DOWNLOAD_LINK_APPLE,
      icon: 'fab fa-apple'
    }, {
      link: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.DESKTOP_APP_DOWNLOAD_LINK_WINDOWS,
      icon: 'fa-brands fa-windows'
    }, {
      link: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.DESKTOP_APP_DOWNLOAD_LINK_LINUX,
      icon: 'fa-brands fa-linux'
    }, {
      link: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.MOBILE_APP_DOWNLOAD_LINK,
      icon: 'fas fa-mobile'
    }, {
      link: _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.EXTENSION_DOWNLOAD_LINK,
      icon: 'fa-brands fa-chrome'
    }];
    this._user$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__/* .Observable */ .c();
    this._employee$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t(null);
    this._isSubmit$ = new rxjs__WEBPACK_IMPORTED_MODULE_3__/* .BehaviorSubject */ .t(false);
    this.platFormWebSiteUrl = _gauzy_ui_config__WEBPACK_IMPORTED_MODULE_1__/* .environment */ .c.PLATFORM_WEBSITE_URL;
  }
  ngOnInit() {
    var _this = this;
    this.user$.pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_4__/* .distinctUntilChange */ .nI)(), (0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .filter */ .p)(({
      employee
    }) => !!employee), (0,rxjs__WEBPACK_IMPORTED_MODULE_6__/* .tap */ .M)(/*#__PURE__*/function () {
      var _ref = (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function* (user) {
        _this._isSubmit$.next(true);
        const employee = yield (0,rxjs__WEBPACK_IMPORTED_MODULE_8__/* .firstValueFrom */ ._)(_this._employeeService.getEmployeeById(user?.employee?.id));
        _this._employee$.next(employee);
        _this._isSubmit$.next(false);
      });
      return function (_x) {
        return _ref.apply(this, arguments);
      };
    }()), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  onClick() {
    this.close.emit();
  }
  onClickOutside(event) {
    this.clicks.push(event);
    if (!event && this.clicks.length > 1) this.onClick();
  }
  onChangeStatus() {
    var _this2 = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function* () {
      try {
        if (!_this2.employee) {
          return;
        }
        _this2._isSubmit$.next(true);
        const {
          id,
          isAway,
          tenantId,
          organizationId
        } = _this2.employee;
        const payload = {
          isAway: !isAway,
          tenantId,
          organizationId
        };
        yield _this2._employeeService.updateProfile(id, payload);
        _this2._employee$.next({
          ..._this2.employee,
          ...payload
        });
      } catch (error) {
        _this2._errorHandler.handleError(error);
      }
      _this2._isSubmit$.next(false);
    })();
  }
  get employee() {
    return this._employee$.getValue();
  }
  get employee$() {
    return this._employee$.asObservable();
  }
  set user$(value) {
    if (value) {
      this._user$ = value;
    }
  }
  get user$() {
    return this._user$;
  }
  get isSubmit$() {
    return this._isSubmit$.asObservable();
  }
  static {
    this.ɵfac = function UserMenuComponent_Factory(t) {
      return new (t || UserMenuComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .EmployeesService */ .r), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .ErrorHandlingService */ .X));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
      type: UserMenuComponent,
      selectors: [["gauzy-user-menu"]],
      inputs: {
        user$: "user$"
      },
      outputs: {
        close: "close"
      },
      decls: 35,
      vars: 21,
      consts: [["gauzyOutside", "", 1, "main-menu", 3, "clickOutside"], [1, "left-menu", 3, "nbSpinner"], [1, "links"], ["class", "link", 3, "ngClass", "innerHTML", "click", 4, "ngIf"], ["routerLink", "/pages/auth/profile", 1, "link"], ["routerLink", "/auth/logout", 1, "link"], [1, "sub-user-menu"], ["showIdentity", "true", 3, "user$", "clicked"], [1, "right-menu"], [1, "fas", "fa-times", 3, "click"], [1, "download-apps-content"], [1, "download-apps-label"], [1, "download-apps-icons"], ["target", "_blank", "rel", "noopener", 3, "href", 4, "ngFor", "ngForOf"], ["target", "_blank", 3, "href"], ["underConstruction", "", 1, "link"], [1, "theme"], [1, "link", 3, "ngClass", "innerHTML", "click"], ["target", "_blank", "rel", "noopener", 3, "href"]],
      template: function UserMenuComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("clickOutside", function UserMenuComponent_Template_div_clickOutside_0_listener($event) {
            return ctx.onClickOutside($event);
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "div", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "div", 2);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(4, UserMenuComponent_p_4_Template, 4, 10, "p", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(5, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(6, "p", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(7);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(8, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(9, "p", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(10);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(11, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(12, "div", 6)(13, "gauzy-user", 7);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("clicked", function UserMenuComponent_Template_gauzy_user_clicked_13_listener() {
            return ctx.onClick();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(14, "div", 8)(15, "span")(16, "i", 9);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function UserMenuComponent_Template_i_click_16_listener() {
            return ctx.onClick();
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(17, "div", 10)(18, "span", 11);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(19, "Download Apps:");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(20, "span", 12);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(21, UserMenuComponent_a_21_Template, 2, 3, "a", 13);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(22, "p")(23, "a", 14);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(24);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(25, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(26, "p", 15);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(27);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(28, "translate");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(29, "p");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(30, "ngx-theme-language-selector", 16);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(31, "p");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(32, "gauzy-switch-theme", 16);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(33, "p");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(34, "gauzy-theme-selector", 16);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()();
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("nbSpinner", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 9, ctx.isSubmit$));
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(5, 11, ctx.employee$));
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(8, 13, "USER_MENU.PROFILE"), " ");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(11, 15, "USER_MENU.SIGN_OUT"), " ");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("user$", ctx.user$);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(8);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngForOf", ctx.downloadApps);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpropertyInterpolate"] */ .FS9("href", ctx.platFormWebSiteUrl, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(25, 17, "USER_MENU.HELP"));
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate1"] */ .SpI(" ", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(28, 19, "USER_MENU.HOTKEYS"), " ");
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_12__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_12__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_12__/* .NgIf */ .bT, _angular_router__WEBPACK_IMPORTED_MODULE_13__/* .RouterLink */ .Wk, _nebular_theme__WEBPACK_IMPORTED_MODULE_14__/* .NbSpinnerDirective */ .zwc, _theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_component__WEBPACK_IMPORTED_MODULE_15__/* .ThemeLanguageSelectorComponent */ ._, _theme_sidebar_theme_settings_components_theme_selector_theme_selector_component__WEBPACK_IMPORTED_MODULE_16__/* .ThemeSelectorComponent */ .k, _theme_sidebar_theme_settings_components_theme_selector_switch_theme_switch_theme_component__WEBPACK_IMPORTED_MODULE_17__/* .SwitchThemeComponent */ .z, _shared_src_lib_directives_outside_directive__WEBPACK_IMPORTED_MODULE_18__/* .OutsideDirective */ .H, _shared_src_lib_directives_under_construction_directive__WEBPACK_IMPORTED_MODULE_19__/* .UnderConstructionDirective */ .r, _user_user_component__WEBPACK_IMPORTED_MODULE_20__/* .UserComponent */ .z, _angular_common__WEBPACK_IMPORTED_MODULE_12__/* .AsyncPipe */ .Jj, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_21__/* .TranslatePipe */ .D9],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%] {\n  width: 36rem;\n  height: 18rem;\n  box-shadow: 0rem 0.25rem 1rem rgba(0, 0, 0, 0.25);\n  border-radius: var(--border-radius) var(--border-radius) var(--border-radius) 0rem;\n  background: var(--background-basic-color-1);\n  display: flex;\n}\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .right-menu[_ngcontent-%COMP%] {\n  background: var(--color-primary-transparent-default);\n  border-radius: 0px var(--border-radius) var(--border-radius) 0px;\n  width: 50%;\n  padding: 13.5px 15.5px 13.5px 26px;\n}\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .right-menu[_ngcontent-%COMP%]   span[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: flex-end;\n}\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .right-menu[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  position: relative;\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .right-menu[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]   .theme[_ngcontent-%COMP%] {\n  width: 100%;\n}\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .left-menu[_ngcontent-%COMP%] {\n  width: 50%;\n  border-radius: 0px var(--border-radius) var(--border-radius) 0px;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n}\n[dir=ltr]   [_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .left-menu[_ngcontent-%COMP%] {\n  padding: 19px 47px 10px 11px;\n}\n[dir=rtl]   [_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .left-menu[_ngcontent-%COMP%] {\n  padding: 19px 11px 10px 47px;\n}\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .left-menu[_ngcontent-%COMP%]   .sub-menu[_ngcontent-%COMP%] {\n  background: rgba(126, 126, 143, 0.05);\n  padding: 10px;\n  border-radius: var(--border-radius);\n  align-items: flex-start;\n  display: flex;\n  flex-direction: column;\n}\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .left-menu[_ngcontent-%COMP%]   .button[_ngcontent-%COMP%] {\n  padding: 10px;\n  background: var(--background-basic-color-1);\n  border-radius: var(--border-radius);\n  margin: 4px 3px 0px 0px;\n  width: fit-content;\n  font-size: 0.6875rem;\n}\n[_nghost-%COMP%]   .main-menu[_ngcontent-%COMP%]   .left-menu[_ngcontent-%COMP%]   .button.selected[_ngcontent-%COMP%] {\n  background: var(--background-primary-color-1);\n  color: var(--text-control-color);\n}\n[_nghost-%COMP%]   .notifications[_ngcontent-%COMP%], [_nghost-%COMP%]   .status[_ngcontent-%COMP%] {\n  display: flex;\n  flex-wrap: wrap;\n}\n[_nghost-%COMP%]   p.link[_ngcontent-%COMP%], [_nghost-%COMP%]   .button[_ngcontent-%COMP%], [_nghost-%COMP%]   i[_ngcontent-%COMP%], [_nghost-%COMP%]   a[_ngcontent-%COMP%] {\n  cursor: pointer;\n  text-decoration: none;\n  color: var(--text-basic-color);\n}\n[_nghost-%COMP%]   .links[_ngcontent-%COMP%] {\n  align-items: flex-start;\n  display: flex;\n  flex-direction: column;\n}\n[_nghost-%COMP%]   .right-menu[_ngcontent-%COMP%]   .download-apps-content[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  font-size: 12px;\n  font-weight: 500;\n  line-height: 15px;\n  letter-spacing: 0em;\n  text-align: left;\n  min-height: 20px;\n  margin-top: 0.5rem;\n  margin-bottom: 1rem;\n}\n[_nghost-%COMP%]   .right-menu[_ngcontent-%COMP%]   .download-apps-content[_ngcontent-%COMP%]   .download-apps-label[_ngcontent-%COMP%] {\n  color: #7e7e8f;\n}\n[_nghost-%COMP%]   .right-menu[_ngcontent-%COMP%]   .download-apps-content[_ngcontent-%COMP%]   .download-apps-icons[_ngcontent-%COMP%] {\n  margin-left: 0.3rem;\n}\n[_nghost-%COMP%]   .right-menu[_ngcontent-%COMP%]   .download-apps-content[_ngcontent-%COMP%]   .download-apps-icons[_ngcontent-%COMP%]   a[_ngcontent-%COMP%] {\n  margin: 0 0.2rem;\n  transition: 0.2s;\n  padding: 0.1rem 0.2rem;\n  border: 1px solid transparent;\n}\n[_nghost-%COMP%]   .right-menu[_ngcontent-%COMP%]   .download-apps-content[_ngcontent-%COMP%]   .download-apps-icons[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n  padding: 0;\n  margin: 0;\n  color: #7e7e8f;\n}\n[_nghost-%COMP%]   .right-menu[_ngcontent-%COMP%]   .download-apps-content[_ngcontent-%COMP%]   .download-apps-icons[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover {\n  color: var(--text-primary-color);\n  border: 1px solid var(--text-primary-color);\n  border-radius: calc(var(--border-radius) - 4px);\n  transform: scale(1.5);\n}\n[_nghost-%COMP%]   .disabled-table[_ngcontent-%COMP%] {\n  pointer-events: none;\n  opacity: 0.5;\n}"]
    });
  }
};
UserMenuComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_22__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_9__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_22__/* .__metadata */ .Sn)("design:paramtypes", [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_10__/* .EmployeesService */ .r, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_11__/* .ErrorHandlingService */ .X])], UserMenuComponent);

/***/ }),

/***/ 35700:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: () => (/* binding */ UserComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96641);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42089);
/* harmony import */ var _shared_src_lib_directives_img_directive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(46578);






function UserComponent_div_8_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 5)(1, "div", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(4, "div", 7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtext"] */ .EFF(5);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(6, "async");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    let tmp_0_0;
    let tmp_1_0;
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh((tmp_0_0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 2, ctx_r0.user$)) == null ? null : tmp_0_0.fullName);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtextInterpolate"] */ .JRh((tmp_1_0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(6, 4, ctx_r0.user$)) == null ? null : tmp_1_0.email);
  }
}
const _c0 = function (a0, a1) {
  return {
    "online": a0,
    "offline": a1
  };
};
let UserComponent = /*#__PURE__*/(() => {
  class UserComponent {
    constructor() {
      this.showIdentity = false;
      this.clicked = new _angular_core__WEBPACK_IMPORTED_MODULE_0__/* .EventEmitter */ .bkB();
    }
    ngOnInit() {
      this.online$ = this.user$.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__/* .filter */ .p)(user => !!user && !!user.employee), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .map */ .T)(user => user?.employee?.isOnline && !user?.employee?.isAway));
    }
    onClicked() {
      this.clicked.emit();
    }
    static {
      this.ɵfac = function UserComponent_Factory(t) {
        return new (t || UserComponent)();
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: UserComponent,
        selectors: [["gauzy-user"]],
        inputs: {
          showIdentity: "showIdentity",
          user$: "user$"
        },
        outputs: {
          clicked: "clicked"
        },
        decls: 9,
        vars: 15,
        consts: [[1, "user-container", 3, "click"], [1, "img-container"], [3, "src", "alt"], [3, "ngClass"], ["class", "identity-container", 4, "ngIf"], [1, "identity-container"], [1, "name"], [1, "email"]],
        template: function UserComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "div", 0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function UserComponent_Template_div_click_0_listener() {
              return ctx.onClicked();
            });
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "div", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(2, "img", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(3, "async");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(4, "async");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(5, "div", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(6, "async");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(7, "async");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(8, UserComponent_div_8_Template, 7, 6, "div", 4);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          }
          if (rf & 2) {
            let tmp_0_0;
            let tmp_1_0;
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("src", (tmp_0_0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(3, 4, ctx.user$)) == null ? null : tmp_0_0.imageUrl, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵsanitizeUrl"] */ .B4B)("alt", (tmp_1_0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(4, 6, ctx.user$)) == null ? null : tmp_1_0.name);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpureFunction2"] */ .l_i(12, _c0, _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(6, 8, ctx.online$), !_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(7, 10, ctx.online$)));
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.showIdentity);
          }
        },
        dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_3__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_3__/* .NgIf */ .bT, _shared_src_lib_directives_img_directive__WEBPACK_IMPORTED_MODULE_4__/* .ImgDirective */ .z, _angular_common__WEBPACK_IMPORTED_MODULE_3__/* .AsyncPipe */ .Jj],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.user-container[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  cursor: pointer;\n  gap: 10px;\n}\n.user-container[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%] {\n  border: 3px solid var(--text-primary-color);\n  border-radius: 32px;\n  position: relative;\n}\n.user-container[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%]   img[_ngcontent-%COMP%] {\n  width: 28px;\n  height: 28px;\n  border-radius: 32px;\n}\n.user-container[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%] {\n  position: absolute;\n  width: 10px;\n  height: 10px;\n  border-radius: 8px;\n  border: 2px solid #ebebeb;\n  right: 0;\n  top: 0;\n}\n.user-container[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%]   .online[_ngcontent-%COMP%] {\n  background-color: #00D060;\n}\n.user-container[_ngcontent-%COMP%]   .img-container[_ngcontent-%COMP%]   .offline[_ngcontent-%COMP%] {\n  background-color: #ff0000;\n}\n.user-container[_ngcontent-%COMP%]   .identity-container[_ngcontent-%COMP%] {\n  width: 100%;\n}\n.user-container[_ngcontent-%COMP%]   .identity-container[_ngcontent-%COMP%]   .email[_ngcontent-%COMP%] {\n  color: var(--text-primary-color);\n  width: 100%;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}"]
      });
    }
  }
  return UserComponent;
})();

/***/ }),

/***/ 3636:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: () => (/* binding */ OneColumnLayoutComponent)
/* harmony export */ });
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42089);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61412);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51170);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(36494);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8890);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(39323);
/* harmony import */ var _components_theme_sidebar_default_sidebars__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13420);
/* harmony import */ var _components_theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(84226);
/* harmony import */ var _components_theme_sidebar_theme_sidebar_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(40268);
/* harmony import */ var _shared_src_lib_workspaces_workspaces_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(14987);
/* harmony import */ var _shared_src_lib_directives_under_construction_directive__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(73215);
/* harmony import */ var _components_header_header_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(8936);
/* harmony import */ var _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(58436);
/* harmony import */ var _components_gauzy_logo_gauzy_logo_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(50870);
/* harmony import */ var _components_user_menu_user_menu_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(75148);
/* harmony import */ var _components_user_user_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(35700);
























function OneColumnLayoutComponent_nb_layout_header_1_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-layout-header", 6);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "ngx-header", 9);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("expanded", ctx_r0.isExpanded);
  }
}
function OneColumnLayoutComponent_nb_sidebar_7_button_5_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "button", 19);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "i", 20);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
}
function OneColumnLayoutComponent_nb_sidebar_7_Template(rf, ctx) {
  if (rf & 1) {
    const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-sidebar", 10);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("stateChange", function OneColumnLayoutComponent_nb_sidebar_7_Template_nb_sidebar_stateChange_0_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r7);
      const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r6.onStateChange($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(1, "div", 11)(2, "div", 12)(3, "div", 13)(4, "ngx-gauzy-logo", 14);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("onCollapsed", function OneColumnLayoutComponent_nb_sidebar_7_Template_ngx_gauzy_logo_onCollapsed_4_listener($event) {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r7);
      const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r8.onCollapse($event));
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(5, OneColumnLayoutComponent_nb_sidebar_7_button_5_Template, 2, 0, "button", 15);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(6, "div", 16);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojection"] */ .SdG(7);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(8, "div", 17)(9, "div", 13)(10, "button", 18);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function OneColumnLayoutComponent_nb_sidebar_7_Template_button_click_10_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r7);
      const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r9.toggle());
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(11, "i", 13);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()()()()();
  }
  if (rf & 2) {
    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx_r1.isExpanded ? ctx_r1.isCollapse ? "logo-container" : "logo-container not-collapsed" : "logo-container compacted");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("controlled", ctx_r1.trigger);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx_r1.isCollapse && ctx_r1.isExpanded);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(4);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx_r1.isExpanded ? "chevron" : "chevron collapsed");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngClass", ctx_r1.isExpanded ? "fas fa-angle-double-left" : "fas fa-angle-double-right");
  }
}
function OneColumnLayoutComponent_nb_layout_column_9_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-layout-column");
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojection"] */ .SdG(1, 1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
}
function OneColumnLayoutComponent_nb_sidebar_12_Template(rf, ctx) {
  if (rf & 1) {
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-sidebar", 21);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(1, "ngx-theme-sidebar", 22);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const sidebar_r10 = ctx.$implicit;
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵclassMap"] */ .HbH(sidebar_r10.class);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("tag", sidebar_r10.id)("end", true);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("config", sidebar_r10);
  }
}
function OneColumnLayoutComponent_gauzy_user_menu_14_Template(rf, ctx) {
  if (rf & 1) {
    const _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵgetCurrentView"] */ .RV6();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "gauzy-user-menu", 23);
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("close", function OneColumnLayoutComponent_gauzy_user_menu_14_Template_gauzy_user_menu_close_0_listener() {
      _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵrestoreView"] */ .eBV(_r12);
      const ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
      return _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵresetView"] */ .Njj(ctx_r11.isOpen = false);
    });
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
  }
  if (rf & 2) {
    const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵnextContext"] */ .XpG();
    _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("user$", ctx_r4.user$);
  }
}
const _c0 = [[["ga-main-nav-menu"]], [["router-outlet"]]];
const _c1 = ["ga-main-nav-menu", "router-outlet"];
let OneColumnLayoutComponent = class OneColumnLayoutComponent {
  get user$() {
    return this._user$;
  }
  set user$(value) {
    this._user$ = value;
  }
  constructor(platformId, windowModeBlockScrollService, store, navigationBuilderService, sidebarService, layoutService, languageSelectorService) {
    this.platformId = platformId;
    this.windowModeBlockScrollService = windowModeBlockScrollService;
    this.store = store;
    this.navigationBuilderService = navigationBuilderService;
    this.sidebarService = sidebarService;
    this.layoutService = layoutService;
    this.languageSelectorService = languageSelectorService;
    this.userMenu = [{
      title: 'Profile',
      link: '/pages/auth/profile'
    }, {
      title: 'Log out',
      link: '/auth/logout'
    }];
    this.isOpen = false;
    this.isExpanded = true;
    this.isCollapse = true;
    this.trigger = true;
    /**
     * User observable
     */
    this._user$ = new rxjs__WEBPACK_IMPORTED_MODULE_1__/* .Observable */ .c();
    Object.entries(_components_theme_sidebar_default_sidebars__WEBPACK_IMPORTED_MODULE_2__/* .DEFAULT_SIDEBARS */ .K).forEach(([id, config]) => {
      navigationBuilderService.registerSidebar(id, config);
      navigationBuilderService.addSidebarActionItem(config.actionItem);
    });
    navigationBuilderService.getSidebarWidgets();
  }
  ngOnInit() {
    this.loading = true;
    this.user$ = this.store.user$;
    this.loading = false;
    this.languageSelectorService.initialize();
  }
  ngAfterViewInit() {
    if ((0,_angular_common__WEBPACK_IMPORTED_MODULE_3__/* .isPlatformBrowser */ .UE)(this.platformId)) {
      this.windowModeBlockScrollService.register(this.layout);
    }
  }
  /**
   * Toggles the expansion state of the component and updates the sidebar accordingly.
   * If the component is expanded, it expands the 'menu-sidebar'.
   * If the component is collapsed, it triggers a sidebar toggle and changes the layout size.
   */
  toggle() {
    this.isExpanded = !this.isExpanded;
    if (this.isExpanded) {
      this.sidebarService.expand('menu-sidebar');
    } else {
      this.trigger = true;
      this.sidebarService.toggle(true, 'menu-sidebar');
      this.layoutService.changeLayoutSize();
    }
  }
  /**
   * Updates the state of the component based on the given event.
   *
   * @param {boolean} event - The event that triggered the collapse.
   */
  onCollapse(event) {
    this.isCollapse = event;
    if (!this.isCollapse && !this.isExpanded) this.toggle();
  }
  /**
   * Updates the state of the component based on the given event.
   *
   * @param {string} event - The event that triggered the state change.
   *
   */
  onStateChange(event) {
    this.isExpanded = event === 'expanded' ? true : false;
    this.trigger = event === 'compacted' ? true : this.isCollapse;
  }
  /**
   * Clears the sidebars and action bars on component destroy.
   */
  ngOnDestroy() {
    this.navigationBuilderService.clearSidebars();
    this.navigationBuilderService.clearActionBars();
  }
  static {
    this.ɵfac = function OneColumnLayoutComponent_Factory(t) {
      return new (t || OneColumnLayoutComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_0__/* .PLATFORM_ID */ .Agw), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_services__WEBPACK_IMPORTED_MODULE_4__/* .WindowModeBlockScrollService */ .x), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .NavigationBuilderService */ .v), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbSidebarService */ .OF4), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__/* .LayoutService */ .Y), _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdirectiveInject"] */ .rXU(_components_theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_service__WEBPACK_IMPORTED_MODULE_9__/* .ThemeLanguageSelectorService */ .s));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
      type: OneColumnLayoutComponent,
      selectors: [["ngx-one-column-layout"]],
      viewQuery: function OneColumnLayoutComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵviewQuery"] */ .GBs(_nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbLayoutComponent */ .EAZ, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.layout = _t.first);
        }
      },
      ngContentSelectors: _c1,
      decls: 15,
      vars: 12,
      consts: [["windowMode", ""], ["fixed", "", 4, "ngIf"], ["state", "compacted", "tag", "user-workspace", 1, "user-workspace"], [3, "user$", "click"], ["class", "menu-sidebar sidebar_class", "tag", "menu-sidebar", 3, "stateChange", 4, "ngIf"], [4, "ngIf"], ["fixed", ""], ["state", "collapsed", "fixed", "", 3, "class", "tag", "end", 4, "ngFor", "ngForOf"], [3, "user$", "close", 4, "ngIf"], [3, "expanded"], ["tag", "menu-sidebar", 1, "menu-sidebar", "sidebar_class", 3, "stateChange"], [1, "custom-box"], [1, "custom-row", "logo"], [3, "ngClass"], [3, "controlled", "onCollapsed"], ["class", "hidden-menu", "outline", "", "nbButton", "", "underConstruction", "", 4, "ngIf"], [1, "custom-row", "menu"], [1, "custom-row", "button"], ["nbButton", "", "outline", "", "size", "small", 3, "click"], ["outline", "", "nbButton", "", "underConstruction", "", 1, "hidden-menu"], [1, "fas", "fa-ellipsis-h"], ["state", "collapsed", "fixed", "", 3, "tag", "end"], [3, "config"], [3, "user$", "close"]],
      template: function OneColumnLayoutComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojectionDef"] */ .NAR(_c0);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-layout", 0);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(1, OneColumnLayoutComponent_nb_layout_header_1_Template, 2, 1, "nb-layout-header", 1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(2, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "nb-sidebar", 2)(4, "div");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(5, "ngx-gauzy-workspaces");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(6, "gauzy-user", 3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵlistener"] */ .bIt("click", function OneColumnLayoutComponent_Template_gauzy_user_click_6_listener() {
            return ctx.isOpen = !ctx.isOpen;
          });
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(7, OneColumnLayoutComponent_nb_sidebar_7_Template, 12, 5, "nb-sidebar", 4);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(8, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(9, OneColumnLayoutComponent_nb_layout_column_9_Template, 2, 0, "nb-layout-column", 5);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(10, "nb-layout-footer", 6);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(11, "ngx-footer");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(12, OneColumnLayoutComponent_nb_sidebar_12_Template, 2, 5, "nb-sidebar", 7);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipe"] */ .nI1(13, "async");
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵtemplate"] */ .DNE(14, OneColumnLayoutComponent_gauzy_user_menu_14_Template, 1, 1, "gauzy-user-menu", 8);
        }
        if (rf & 2) {
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(2, 6, ctx.user$));
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(5);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("user$", ctx.user$);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(1);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(8, 8, ctx.user$));
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", !ctx.loading);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(3);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵpipeBind1"] */ .bMT(13, 10, ctx.navigationBuilderService.sidebars$));
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵadvance"] */ .R7$(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵproperty"] */ .Y8G("ngIf", ctx.isOpen);
        }
      },
      dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_3__/* .NgClass */ .YU, _angular_common__WEBPACK_IMPORTED_MODULE_3__/* .NgForOf */ .Sq, _angular_common__WEBPACK_IMPORTED_MODULE_3__/* .NgIf */ .bT, _components_theme_sidebar_theme_sidebar_component__WEBPACK_IMPORTED_MODULE_10__/* .ThemeSidebarComponent */ .p, _nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbLayoutComponent */ .EAZ, _nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbLayoutColumnComponent */ .U9P, _nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbLayoutFooterComponent */ .faQ, _nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbLayoutHeaderComponent */ .NA7, _nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbSidebarComponent */ .qpV, _nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbButtonComponent */ .YP2, _shared_src_lib_workspaces_workspaces_component__WEBPACK_IMPORTED_MODULE_11__/* .WorkspacesComponent */ .e, _shared_src_lib_directives_under_construction_directive__WEBPACK_IMPORTED_MODULE_12__/* .UnderConstructionDirective */ .r, _components_header_header_component__WEBPACK_IMPORTED_MODULE_13__/* .HeaderComponent */ .l, _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_14__/* .FooterComponent */ .n, _components_gauzy_logo_gauzy_logo_component__WEBPACK_IMPORTED_MODULE_15__/* .GauzyLogoComponent */ .p, _components_user_menu_user_menu_component__WEBPACK_IMPORTED_MODULE_16__/* .UserMenuComponent */ .e, _components_user_user_component__WEBPACK_IMPORTED_MODULE_17__/* .UserComponent */ .z, _angular_common__WEBPACK_IMPORTED_MODULE_3__/* .AsyncPipe */ .Jj],
      styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   .menu-sidebar[_ngcontent-%COMP%]     .scrollable {\n  display: flex;\n  flex-direction: column;\n  padding-bottom: 0rem !important;\n  padding-top: 0.1rem !important;\n}\n[_nghost-%COMP%]   .settings-sidebar.expanded[_ngcontent-%COMP%] {\n  width: 22.5rem !important;\n  height: fit-content;\n  z-index: 1042;\n}\n[_nghost-%COMP%]   .changelog-sidebar.expanded[_ngcontent-%COMP%] {\n  width: 29.5rem !important;\n  height: fit-content;\n  z-index: 1042;\n}\n[_nghost-%COMP%]   nb-user[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n[_nghost-%COMP%]   .user-container[_ngcontent-%COMP%] {\n  margin-top: auto;\n  border-top: 1px solid var(--divider-color);\n  padding-top: 0.65rem;\n  padding-bottom: 0.65rem;\n  margin-left: -1.25rem;\n  margin-right: -1.25rem;\n  padding-left: 8px;\n  z-index: 2;\n}\n[_nghost-%COMP%]   .menu-sidebar-rtl[_ngcontent-%COMP%] {\n  order: 2 !important;\n}\n[_nghost-%COMP%]   .menu-sidebar[_ngcontent-%COMP%], [_nghost-%COMP%]   .user-workspace[_ngcontent-%COMP%] {\n  order: 0 !important;\n}\n[_nghost-%COMP%]   gauzy-user-menu[_ngcontent-%COMP%] {\n  position: absolute;\n  bottom: 0px;\n  z-index: 1041;\n}\n[dir=ltr]   [_nghost-%COMP%]   gauzy-user-menu[_ngcontent-%COMP%] {\n  left: 0px;\n}\n[dir=rtl]   [_nghost-%COMP%]   gauzy-user-menu[_ngcontent-%COMP%] {\n  right: 0px;\n}\n[_nghost-%COMP%]   div.chevron[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  width: 100%;\n  justify-content: flex-end;\n  margin-bottom: 0.625rem;\n}\n[_nghost-%COMP%]   div.chevron[_ngcontent-%COMP%]   button[_ngcontent-%COMP%] {\n  height: 1.625rem;\n  width: 1.625rem;\n  padding: 0;\n  margin: 0 0.5rem;\n}\n[_nghost-%COMP%]   div.chevron.collapsed[_ngcontent-%COMP%] {\n  justify-content: center;\n}\n\nnb-sidebar[tag=user-workspace][_ngcontent-%COMP%]     .scrollable {\n  background: var(--gauzy-sidebar-background-1);\n}\n\nnb-sidebar[tag=menu-sidebar][_ngcontent-%COMP%]     nb-menu {\n  margin: 0;\n  height: 100%;\n}\nnb-sidebar[tag=menu-sidebar][_ngcontent-%COMP%]     .scrollable {\n  background: var(--gauzy-sidebar-background-2);\n}\n\n.logo-container[_ngcontent-%COMP%] {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  max-width: var(--sidebar-width);\n  width: var(--sidebar-width);\n  padding: 0.75rem;\n}\n.logo-container[_ngcontent-%COMP%]   button.hidden-menu[_ngcontent-%COMP%] {\n  padding: 0 0.5rem;\n  height: 1.625rem;\n  width: 1.625rem;\n  margin: 0 0.625rem;\n}\n.logo-container[_ngcontent-%COMP%]   ngx-gauzy-logo[_ngcontent-%COMP%] {\n  width: 100%;\n  z-index: 2;\n}\n.logo-container.not-collapsed[_ngcontent-%COMP%] {\n  padding: 0.75rem 0;\n}\n.logo-container.compacted[_ngcontent-%COMP%] {\n  width: var(--sidebar-width-compact);\n  justify-content: center;\n  align-items: center;\n}\n.logo-container.compacted[_ngcontent-%COMP%]   button.hidden-menu[_ngcontent-%COMP%] {\n  margin-left: 0;\n}\n.logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace {\n  box-shadow: none;\n  width: 1.75rem;\n  height: auto;\n}\n.logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace .logo, .logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace .organization, .logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace nb-accordion-item-body {\n  display: none;\n}\n.logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace nb-accordion-item-header {\n  padding: 0.75rem 0;\n}\n.logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace nb-accordion-item-header.principal {\n  box-shadow: unset;\n}\n.logo-container.compacted[_ngcontent-%COMP%]     .accordion.workspace nb-accordion-item-header nb-icon {\n  left: 0rem;\n}\n\n  nb-layout .layout .layout-container nb-sidebar[tag=menu-sidebar] .main-container-fixed {\n  top: 0;\n  height: 100vh;\n  z-index: 1041;\n}\n  nb-layout .layout .layout-container nb-sidebar[tag=user-workspace] .main-container-fixed {\n  top: 0;\n  height: 100vh;\n  z-index: 1041;\n}\n  nb-layout .layout .layout-container nb-sidebar.settings-sidebar.expanded .main-container-fixed {\n  top: 10px;\n  height: fit-content;\n  max-height: 100vh;\n  width: 22.5rem !important;\n  box-shadow: 0px 6px 30px 0px rgba(0, 0, 0, 0.2);\n  z-index: 1041;\n  border-radius: var(--border-radius);\n}\n  nb-layout .layout .layout-container nb-sidebar.settings-sidebar.expanded .main-container-fixed .scrollable {\n  background-color: var(--background-basic-color-1);\n  border-radius: var(--border-radius);\n  overflow: unset;\n}\n  nb-layout .layout .layout-container nb-sidebar.changelog-sidebar.expanded .main-container-fixed {\n  top: calc(var(--header-height) - 27px);\n  height: fit-content;\n  max-height: 100vh;\n  width: 22.5rem !important;\n  box-shadow: 0px 6px 30px 0px rgba(0, 0, 0, 0.2);\n  z-index: 1041;\n  border-radius: var(--border-radius);\n}\n  nb-layout .layout .layout-container nb-sidebar.changelog-sidebar.expanded .main-container-fixed .scrollable {\n  background-color: var(--background-basic-color-1);\n  border-radius: var(--border-radius);\n  padding: 0;\n}\n@media screen and (min-width: 1940px) {\n    nb-layout.window-mode nb-layout-header.fixed ~ .layout-container nb-sidebar .main-container-fixed {\n    top: 0;\n    height: 100vh;\n    z-index: 1041;\n  }\n}\n\n  nb-layout .layout .layout-container nb-sidebar .main-container-fixed > .scrollable {\n  overflow-y: auto;\n}\n\n.custom-box[_ngcontent-%COMP%] {\n  display: flex;\n  flex-flow: column;\n  height: 100%;\n}\n\n.custom-box[_ngcontent-%COMP%]   .custom-row.logo[_ngcontent-%COMP%] {\n  flex: 0 1 auto;\n  align-self: center;\n}\n\n.custom-box[_ngcontent-%COMP%]   .custom-row.menu[_ngcontent-%COMP%] {\n  flex: 1 1 auto;\n  overflow-y: overlay;\n  padding: 0 0.75rem;\n}\n\n.custom-box[_ngcontent-%COMP%]   .custom-row.button[_ngcontent-%COMP%] {\n  flex: 0 1 auto;\n}\n\n[dir=ltr]   [_nghost-%COMP%]     nb-layout .layout .layout-container nb-sidebar.settings-sidebar.expanded .main-container-fixed {\n  right: 20px;\n}\n[dir=rtl]   [_nghost-%COMP%]     nb-layout .layout .layout-container nb-sidebar.settings-sidebar.expanded .main-container-fixed {\n  left: 20px;\n}"]
    });
  }
};
OneColumnLayoutComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_18__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_19__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_18__/* .__metadata */ .Sn)("design:paramtypes", [Object, _services__WEBPACK_IMPORTED_MODULE_4__/* .WindowModeBlockScrollService */ .x, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_5__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_6__/* .NavigationBuilderService */ .v, _nebular_theme__WEBPACK_IMPORTED_MODULE_7__/* .NbSidebarService */ .OF4, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__/* .LayoutService */ .Y, _components_theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_service__WEBPACK_IMPORTED_MODULE_9__/* .ThemeLanguageSelectorService */ .s])], OneColumnLayoutComponent);

/***/ }),

/***/ 98328:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: () => (/* binding */ PublicLayoutComponent)
/* harmony export */ });
/* harmony import */ var _srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26699);
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55598);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82817);
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42089);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65670);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(51170);
/* harmony import */ var _ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77271);
/* harmony import */ var _gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73600);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(84076);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(58988);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(39323);














const _c0 = [[["router-outlet"]]];
const _c1 = ["router-outlet"];
let PublicLayoutComponent = class PublicLayoutComponent {
  constructor(platformId, windowModeBlockScrollService, store, usersService, themeService) {
    this.platformId = platformId;
    this.windowModeBlockScrollService = windowModeBlockScrollService;
    this.store = store;
    this.usersService = usersService;
    this.themeService = themeService;
  }
  ngOnInit() {
    this.loadCurrentUserAndPermissions();
    this.themeService.getJsTheme().pipe((0,_gauzy_ui_core_common__WEBPACK_IMPORTED_MODULE_0__/* .distinctUntilChange */ .nI)(), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__/* .tap */ .M)(theme => this.themeService.changeTheme(this.store.currentTheme ? this.store.currentTheme : theme.name)), (0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__/* .untilDestroyed */ .s)(this)).subscribe();
  }
  ngAfterViewInit() {
    if ((0,_angular_common__WEBPACK_IMPORTED_MODULE_3__/* .isPlatformBrowser */ .UE)(this.platformId)) {
      this.windowModeBlockScrollService.register(this.layout);
    }
  }
  /**
   * Loads the current user's data and updates the store with user details and permissions.
   */
  loadCurrentUserAndPermissions() {
    var _this = this;
    return (0,_srv_gauzy_apps_gauzy_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(function* () {
      const id = _this.store.userId;
      // Return early if the user ID is not set
      if (!id) {
        console.warn('No user ID found in the store.');
        return;
      }
      try {
        // Fetch user details, including role permissions and tenant information
        _this.user = yield _this.usersService.getMe(['role', 'role.rolePermissions', 'tenant'], true);
        // Update the store with user details and role permissions
        _this.store.userRolePermissions = _this.user.role.rolePermissions;
        _this.store.user = _this.user;
      } catch (error) {
        console.error('Error loading current user data:', error);
        // Handle the error as appropriate (e.g., user feedback, retry logic, etc.)
      }
    })();
  }
  static {
    this.ɵfac = function PublicLayoutComponent_Factory(t) {
      return new (t || PublicLayoutComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_core__WEBPACK_IMPORTED_MODULE_5__/* .PLATFORM_ID */ .Agw), _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdirectiveInject"] */ .rXU(_services__WEBPACK_IMPORTED_MODULE_6__/* .WindowModeBlockScrollService */ .x), _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il), _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdirectiveInject"] */ .rXU(_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__/* .UsersService */ .g), _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdirectiveInject"] */ .rXU(_nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NbThemeService */ .NS1));
    };
  }
  static {
    this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵdefineComponent"] */ .VBU({
      type: PublicLayoutComponent,
      selectors: [["ngx-public-layout"]],
      viewQuery: function PublicLayoutComponent_Query(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵviewQuery"] */ .GBs(_nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NbLayoutComponent */ .EAZ, 5);
        }
        if (rf & 2) {
          let _t;
          _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵqueryRefresh"] */ .mGM(_t = _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵloadQuery"] */ .lsd()) && (ctx.layout = _t.first);
        }
      },
      ngContentSelectors: _c1,
      decls: 3,
      vars: 0,
      consts: [["windowMode", ""]],
      template: function PublicLayoutComponent_Template(rf, ctx) {
        if (rf & 1) {
          _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵprojectionDef"] */ .NAR(_c0);
          _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵelementStart"] */ .j41(0, "nb-layout", 0)(1, "nb-layout-column");
          _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵprojection"] */ .SdG(2);
          _angular_core__WEBPACK_IMPORTED_MODULE_5__/* ["ɵɵelementEnd"] */ .k0s()();
        }
      },
      dependencies: [_nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NbLayoutComponent */ .EAZ, _nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NbLayoutColumnComponent */ .U9P]
    });
  }
};
PublicLayoutComponent = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .Cg)([(0,_ngneat_until_destroy__WEBPACK_IMPORTED_MODULE_2__/* .UntilDestroy */ .d)({
  checkProperties: true
}), (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__metadata */ .Sn)("design:paramtypes", [Object, _services__WEBPACK_IMPORTED_MODULE_6__/* .WindowModeBlockScrollService */ .x, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_7__/* .Store */ .il, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_8__/* .UsersService */ .g, _nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NbThemeService */ .NS1])], PublicLayoutComponent);

/***/ }),

/***/ 81888:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: () => (/* binding */ ThreeColumnsLayoutComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51170);
/* harmony import */ var _components_header_header_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8936);
/* harmony import */ var _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58436);




const _c0 = [[["nb-menu"]], [["router-outlet"]]];
const _c1 = ["nb-menu", "router-outlet"];
let ThreeColumnsLayoutComponent = /*#__PURE__*/(() => {
  class ThreeColumnsLayoutComponent {
    static {
      this.ɵfac = function ThreeColumnsLayoutComponent_Factory(t) {
        return new (t || ThreeColumnsLayoutComponent)();
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: ThreeColumnsLayoutComponent,
        selectors: [["ngx-three-columns-layout"]],
        ngContentSelectors: _c1,
        decls: 11,
        vars: 0,
        consts: [["windowMode", ""], ["fixed", ""], ["tag", "menu-sidebar", "responsive", "", 1, "menu-sidebar"], [1, "small"]],
        template: function ThreeColumnsLayoutComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojectionDef"] */ .NAR(_c0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-layout", 0)(1, "nb-layout-header", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(2, "ngx-header");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "nb-sidebar", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojection"] */ .SdG(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(5, "nb-layout-column", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(6, "nb-layout-column");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojection"] */ .SdG(7, 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(8, "nb-layout-column", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(9, "nb-layout-footer", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(10, "ngx-footer");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          }
        },
        dependencies: [_nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbLayoutComponent */ .EAZ, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbLayoutColumnComponent */ .U9P, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbLayoutFooterComponent */ .faQ, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbLayoutHeaderComponent */ .NA7, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbSidebarComponent */ .qpV, _components_header_header_component__WEBPACK_IMPORTED_MODULE_2__/* .HeaderComponent */ .l, _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__/* .FooterComponent */ .n],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   .menu-sidebar[_ngcontent-%COMP%]     .scrollable {\n  padding-top: var(--layout-padding-top);\n}"]
      });
    }
  }
  return ThreeColumnsLayoutComponent;
})();

/***/ }),

/***/ 92848:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   t: () => (/* binding */ TwoColumnsLayoutComponent)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51170);
/* harmony import */ var _components_header_header_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8936);
/* harmony import */ var _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58436);




const _c0 = [[["nb-menu"]], [["router-outlet"]]];
const _c1 = ["nb-menu", "router-outlet"];
let TwoColumnsLayoutComponent = /*#__PURE__*/(() => {
  class TwoColumnsLayoutComponent {
    static {
      this.ɵfac = function TwoColumnsLayoutComponent_Factory(t) {
        return new (t || TwoColumnsLayoutComponent)();
      };
    }
    static {
      this.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefineComponent"] */ .VBU({
        type: TwoColumnsLayoutComponent,
        selectors: [["ngx-two-columns-layout"]],
        ngContentSelectors: _c1,
        decls: 10,
        vars: 0,
        consts: [["windowMode", ""], ["fixed", ""], ["tag", "menu-sidebar", "responsive", "", 1, "menu-sidebar"], [1, "small"]],
        template: function TwoColumnsLayoutComponent_Template(rf, ctx) {
          if (rf & 1) {
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojectionDef"] */ .NAR(_c0);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(0, "nb-layout", 0)(1, "nb-layout-header", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(2, "ngx-header");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(3, "nb-sidebar", 2);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojection"] */ .SdG(4);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(5, "nb-layout-column", 3);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(6, "nb-layout-column");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵprojection"] */ .SdG(7, 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s();
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementStart"] */ .j41(8, "nb-layout-footer", 1);
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelement"] */ .nrm(9, "ngx-footer");
            _angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵelementEnd"] */ .k0s()();
          }
        },
        dependencies: [_nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbLayoutComponent */ .EAZ, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbLayoutColumnComponent */ .U9P, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbLayoutFooterComponent */ .faQ, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbLayoutHeaderComponent */ .NA7, _nebular_theme__WEBPACK_IMPORTED_MODULE_1__/* .NbSidebarComponent */ .qpV, _components_header_header_component__WEBPACK_IMPORTED_MODULE_2__/* .HeaderComponent */ .l, _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_3__/* .FooterComponent */ .n],
        styles: ["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n[_nghost-%COMP%]   .menu-sidebar[_ngcontent-%COMP%]     .scrollable {\n  padding-top: var(--layout-padding-top);\n}"]
      });
    }
  }
  return TwoColumnsLayoutComponent;
})();

/***/ }),

/***/ 97083:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: () => (/* binding */ CapitalizePipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let CapitalizePipe = /*#__PURE__*/(() => {
  class CapitalizePipe {
    /**
     * Capitalize first letter of every word
     *
     * @param input String to capitalize
     * @return Capitalized string
     */
    transform(input) {
      return input && input.length ? input.charAt(0).toUpperCase() + input.slice(1).toLowerCase() : input;
    }
    static {
      this.ɵfac = function CapitalizePipe_Factory(t) {
        return new (t || CapitalizePipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "ngxCapitalize",
        type: CapitalizePipe,
        pure: true
      });
    }
  }
  return CapitalizePipe;
})();

/***/ }),

/***/ 12222:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: () => (/* binding */ EvaIconsPipe)
/* harmony export */ });
/* harmony import */ var eva_icons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58893);
/* harmony import */ var eva_icons__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(eva_icons__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82817);
/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(75601);
/**
 * @license
 * Copyright Akveo. All Rights Reserved.
 * Licensed under the MIT License. See License.txt in the project root for license information.
 */




let EvaIconsPipe = /*#__PURE__*/(() => {
  class EvaIconsPipe {
    constructor(sanitizer) {
      this.sanitizer = sanitizer;
      this.defaultOptions = {
        height: 24,
        width: 24,
        fill: 'inherit',
        animationHover: true,
        animationInfinity: false
      };
    }
    /**
     * Transforms an icon name into an SVG element
     *
     * @param icon Icon name
     * @param options Options to customize the SVG
     * @return SVG element
     */
    transform(icon, options) {
      // Merge default options with the provided options
      const mergedOptions = {
        ...this.defaultOptions,
        ...options
      };
      const {
        width,
        height,
        fill,
        animationType,
        animationHover,
        animationInfinity
      } = mergedOptions;
      const animation = animationType ? {
        type: animationType,
        hover: animationHover,
        infinite: animationInfinity
      } : null;
      // Sanitize the SVG to prevent XSS attacks
      return this.sanitizer.bypassSecurityTrustHtml(eva_icons__WEBPACK_IMPORTED_MODULE_0__.icons[icon].toSvg({
        width,
        height,
        fill,
        animation
      }));
    }
    static {
      this.ɵfac = function EvaIconsPipe_Factory(t) {
        return new (t || EvaIconsPipe)(_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdirectiveInject"] */ .rXU(_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__/* .DomSanitizer */ .up, 16));
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "eva",
        type: EvaIconsPipe,
        pure: true
      });
    }
  }
  return EvaIconsPipe;
})();

/***/ }),

/***/ 53119:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   MM: () => (/* binding */ Pipes)
/* harmony export */ });
/* harmony import */ var _capitalize_pipe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97083);
/* harmony import */ var _eva_icons_pipe__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12222);
/* harmony import */ var _number_with_commas_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(752);
/* harmony import */ var _plural_pipe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16139);
/* harmony import */ var _round_pipe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89081);
/* harmony import */ var _timing_pipe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(91379);












const Pipes = [_plural_pipe__WEBPACK_IMPORTED_MODULE_0__/* .PluralPipe */ .R, _round_pipe__WEBPACK_IMPORTED_MODULE_1__/* .RoundPipe */ .v, _timing_pipe__WEBPACK_IMPORTED_MODULE_2__/* .TimingPipe */ .$, _number_with_commas_pipe__WEBPACK_IMPORTED_MODULE_3__/* .NumberWithCommasPipe */ .a, _eva_icons_pipe__WEBPACK_IMPORTED_MODULE_4__/* .EvaIconsPipe */ .n, _capitalize_pipe__WEBPACK_IMPORTED_MODULE_5__/* .CapitalizePipe */ .F];

/***/ }),

/***/ 752:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: () => (/* binding */ NumberWithCommasPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let NumberWithCommasPipe = /*#__PURE__*/(() => {
  class NumberWithCommasPipe {
    /**
     * Formats a number with commas
     *
     * @param input Number to format
     * @return Formatted number
     */
    transform(input) {
      return new Intl.NumberFormat().format(input);
    }
    static {
      this.ɵfac = function NumberWithCommasPipe_Factory(t) {
        return new (t || NumberWithCommasPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "ngxNumberWithCommas",
        type: NumberWithCommasPipe,
        pure: true
      });
    }
  }
  return NumberWithCommasPipe;
})();

/***/ }),

/***/ 16139:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R: () => (/* binding */ PluralPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let PluralPipe = /*#__PURE__*/(() => {
  class PluralPipe {
    /**
     * Pluralizes a word based on a number
     *
     * @param input Number to pluralize
     * @param label Singular form of the word
     * @param pluralLabel Plural form of the word
     * @return Pluralized word
     */
    transform(input, label, pluralLabel = '') {
      input = input || 0;
      return input === 1 ? `${input} ${label}` : pluralLabel ? `${input} ${pluralLabel}` : `${input} ${label}s`;
    }
    static {
      this.ɵfac = function PluralPipe_Factory(t) {
        return new (t || PluralPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "ngxPlural",
        type: PluralPipe,
        pure: true
      });
    }
  }
  return PluralPipe;
})();

/***/ }),

/***/ 89081:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   v: () => (/* binding */ RoundPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let RoundPipe = /*#__PURE__*/(() => {
  class RoundPipe {
    /**
     * Rounds a number to the nearest integer
     *
     * @param input Number to round
     * @return Rounded number
     */
    transform(input) {
      return Math.round(input);
    }
    static {
      this.ɵfac = function RoundPipe_Factory(t) {
        return new (t || RoundPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "ngxRound",
        type: RoundPipe,
        pure: true
      });
    }
  }
  return RoundPipe;
})();

/***/ }),

/***/ 91379:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $: () => (/* binding */ TimingPipe)
/* harmony export */ });
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82817);

let TimingPipe = /*#__PURE__*/(() => {
  class TimingPipe {
    /**
     * Formats a time in seconds into minutes and seconds
     *
     * @param time Time in seconds
     * @return Formatted time
     */
    transform(time) {
      if (time) {
        const minutes = Math.floor(time / 60);
        const seconds = Math.floor(time % 60);
        return `${this.initZero(minutes)}${minutes}:${this.initZero(seconds)}${seconds}`;
      }
      return '00:00';
    }
    /**
     * Initializes a number with a leading zero
     *
     * @param time Number to initialize
     * @return Initialized number
     */
    initZero(time) {
      return time < 10 ? '0' : '';
    }
    static {
      this.ɵfac = function TimingPipe_Factory(t) {
        return new (t || TimingPipe)();
      };
    }
    static {
      this.ɵpipe = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__/* ["ɵɵdefinePipe"] */ .EJ8({
        name: "timing",
        type: TimingPipe,
        pure: true
      });
    }
  }
  return TimingPipe;
})();

/***/ }),

/***/ 39323:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   x: () => (/* binding */ WindowModeBlockScrollService)
/* harmony export */ });
/* harmony import */ var _angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11133);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(51170);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51717);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96641);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31310);
/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76104);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21397);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30263);
/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(34595);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(82817);






let WindowModeBlockScrollService = /*#__PURE__*/(() => {
  class WindowModeBlockScrollService {
    constructor(scrollService, viewportRuler, layout, window) {
      this.scrollService = scrollService;
      this.viewportRuler = viewportRuler;
      this.layout = layout;
      this.window = window;
      this.destroy$ = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .Subject */ .B();
      this.blockEnabled = false;
      this.unblock$ = new rxjs__WEBPACK_IMPORTED_MODULE_0__/* .Subject */ .B();
    }
    ngOnDestroy() {
      this.destroy$.next();
      this.destroy$.complete();
      this.unblock$.complete();
    }
    register(layout) {
      this.container = layout.scrollableContainerRef.nativeElement;
      this.content = this.container.children[0];
      this.scrollService.onScrollableChange().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__/* .filter */ .p)(() => layout.windowModeValue), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .map */ .T)(scrollable => !scrollable), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .takeUntil */ .Q)(this.destroy$)).subscribe(shouldBlock => {
        if (shouldBlock) {
          this.blockScroll();
        } else {
          this.unblockScroll();
        }
      });
    }
    blockScroll() {
      if (!this.canBeBlocked()) {
        return;
      }
      this.previousScrollPosition = this.viewportRuler.getViewportScrollPosition();
      this.backupStyles();
      this.container.style.overflowY = 'scroll';
      this.content.style.overflow = 'hidden';
      this.content.style.position = 'fixed';
      this.updateContentSizeAndPosition();
      (0,rxjs__WEBPACK_IMPORTED_MODULE_4__/* .fromEvent */ .R)(this.window, 'resize').pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__/* .takeUntil */ .Q)((0,rxjs__WEBPACK_IMPORTED_MODULE_5__/* .merge */ .h)(this.destroy$, this.unblock$).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .take */ .s)(1)))).subscribe(() => this.updateContentSizeAndPosition());
      this.blockEnabled = true;
    }
    unblockScroll() {
      if (this.blockEnabled) {
        this.restoreStyles();
        this.scrollService.scrollTo(this.previousScrollPosition.left, this.previousScrollPosition.top);
        this.unblock$.next();
        this.blockEnabled = false;
      }
    }
    canBeBlocked() {
      if (this.blockEnabled) {
        return false;
      }
      const {
        height: containerHeight
      } = this.viewportRuler.getViewportSize();
      return this.content.scrollHeight > containerHeight;
    }
    updateContentSizeAndPosition() {
      const {
        top,
        left
      } = this.container.getBoundingClientRect();
      this.content.style.left = (0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_7__/* .coerceCssPixelValue */ .a1)(-this.previousScrollPosition.left + left);
      this.content.style.top = (0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_7__/* .coerceCssPixelValue */ .a1)(-this.previousScrollPosition.top + top);
      this.layout.getDimensions().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__/* .map */ .T)(({
        clientWidth
      }) => (0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_7__/* .coerceCssPixelValue */ .a1)(clientWidth)), (0,rxjs_operators__WEBPACK_IMPORTED_MODULE_6__/* .take */ .s)(1)).subscribe(clientWidth => this.content.style.width = clientWidth);
    }
    backupStyles() {
      this.previousContainerStyles = {
        overflowY: this.container.style.overflowY
      };
      this.previousContentStyles = {
        overflow: this.content.style.overflow,
        position: this.content.style.position,
        left: this.content.style.left,
        top: this.content.style.top,
        width: this.content.style.width
      };
    }
    restoreStyles() {
      this.container.style.overflowY = this.previousContainerStyles.overflowY;
      this.content.style.overflow = this.previousContentStyles.overflow;
      this.content.style.position = this.previousContentStyles.position;
      this.content.style.left = this.previousContentStyles.left;
      this.content.style.top = this.previousContentStyles.top;
      this.content.style.width = this.previousContentStyles.width;
    }
    static {
      this.ɵfac = function WindowModeBlockScrollService_Factory(t) {
        return new (t || WindowModeBlockScrollService)(_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵinject"] */ .KVO(_nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NbLayoutScrollService */ .fvf), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵinject"] */ .KVO(_nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NbViewportRulerAdapter */ .gBj), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵinject"] */ .KVO(_nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NbLayoutRulerService */ ._Gd), _angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵinject"] */ .KVO(_nebular_theme__WEBPACK_IMPORTED_MODULE_9__/* .NB_WINDOW */ ._5Q));
      };
    }
    static {
      this.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_8__/* ["ɵɵdefineInjectable"] */ .jDH({
        token: WindowModeBlockScrollService,
        factory: WindowModeBlockScrollService.ɵfac
      });
    }
  }
  return WindowModeBlockScrollService;
})();

/***/ }),

/***/ 56436:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: () => (/* binding */ ThemeModule)
/* harmony export */ });
/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(42089);
/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(76149);
/* harmony import */ var _angular_material_core__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(92155);
/* harmony import */ var _nebular_theme__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51170);
/* harmony import */ var _nebular_eva_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62150);
/* harmony import */ var _nebular_security__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(77686);
/* harmony import */ var ngx_permissions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(58063);
/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61198);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(90639);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(58988);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(43752);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(43225);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(7160);
/* harmony import */ var _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(70087);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99448);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(22026);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(48154);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(22162);
/* harmony import */ var _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(6830);
/* harmony import */ var _layouts__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(3636);
/* harmony import */ var _layouts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(81888);
/* harmony import */ var _layouts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(92848);
/* harmony import */ var _layouts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(98328);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(43385);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(32530);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(12213);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(60387);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(80435);
/* harmony import */ var _themes__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(72089);
/* harmony import */ var _pipes__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(53119);
/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(39323);
/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(8936);
/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(58436);
/* harmony import */ var _components_theme_sidebar_theme_sidebar_module__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(12059);
/* harmony import */ var _components_gauzy_logo_gauzy_logo_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(50870);
/* harmony import */ var _components_user_menu_user_menu_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(75148);
/* harmony import */ var _components_user_user_component__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(35700);
/* harmony import */ var _components_theme_sidebar_theme_settings_components_theme_selector_theme_selector_module__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(47405);
/* harmony import */ var _components_theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5649);
/* harmony import */ var _components_theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_service__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(84226);
/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(82817);
































const NB_MODULES = [_nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbLayoutModule */ .llX, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbMenuModule */ .anj, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbUserModule */ .Mif, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbActionsModule */ ._A2, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbSearchModule */ .XX, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbSidebarModule */ .Rly, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbContextMenuModule */ .DkL, _nebular_security__WEBPACK_IMPORTED_MODULE_1__/* .NbSecurityModule */ .t5, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbButtonModule */ .P5N, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbSelectModule */ .VcP, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbIconModule */ .clu, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbTooltipModule */ .IB0, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbPopoverModule */ .Ofb, _nebular_eva_icons__WEBPACK_IMPORTED_MODULE_2__/* .NbEvaIconsModule */ .N, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbAccordionModule */ .LtP, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbToggleModule */ .jVr, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbCardModule */ .lVF, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbSpinnerModule */ .gYs];
const MODULES = [_gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_3__/* .SelectorsModule */ .b, _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__/* .TranslateModule */ .h.forChild(), ngx_permissions__WEBPACK_IMPORTED_MODULE_5__/* .NgxPermissionsModule */ .Ov.forChild(), _components_theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_module__WEBPACK_IMPORTED_MODULE_6__/* .ThemeLanguageSelectorModule */ .L, _components_theme_sidebar_theme_settings_components_theme_selector_theme_selector_module__WEBPACK_IMPORTED_MODULE_7__/* .ThemeSelectorModule */ .r, _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_8__/* .WorkspacesModule */ .L, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_9__/* .CommonNavModule */ .F, _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_10__/* .DirectivesModule */ .h, _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_11__/* .TimeTrackerModule */ .u, _gauzy_ui_core_shared__WEBPACK_IMPORTED_MODULE_12__/* .TimeTrackerStatusModule */ .O];
const COMPONENTS = [_components__WEBPACK_IMPORTED_MODULE_13__/* .HeaderComponent */ .l, _components__WEBPACK_IMPORTED_MODULE_14__/* .FooterComponent */ .n, _layouts__WEBPACK_IMPORTED_MODULE_15__/* .OneColumnLayoutComponent */ .i, _layouts__WEBPACK_IMPORTED_MODULE_16__/* .ThreeColumnsLayoutComponent */ .n, _layouts__WEBPACK_IMPORTED_MODULE_17__/* .TwoColumnsLayoutComponent */ .t, _layouts__WEBPACK_IMPORTED_MODULE_18__/* .PublicLayoutComponent */ .J, _components_gauzy_logo_gauzy_logo_component__WEBPACK_IMPORTED_MODULE_19__/* .GauzyLogoComponent */ .p, _components_user_menu_user_menu_component__WEBPACK_IMPORTED_MODULE_20__/* .UserMenuComponent */ .e, _components_user_user_component__WEBPACK_IMPORTED_MODULE_21__/* .UserComponent */ .z];
const PIPES = [..._pipes__WEBPACK_IMPORTED_MODULE_22__/* .Pipes */ .MM];
const EXPORT_IMPORT = [_components_theme_sidebar_theme_sidebar_module__WEBPACK_IMPORTED_MODULE_23__/* .ThemeSidebarModule */ .i, _angular_material_core__WEBPACK_IMPORTED_MODULE_24__/* .MatRippleModule */ .pZ];
let ThemeModule = /*#__PURE__*/(() => {
  class ThemeModule {
    /**
     * Returns a ModuleWithProviders object that can be used to configure the ThemeModule.
     *
     * @return {ModuleWithProviders<ThemeModule>} The ModuleWithProviders object containing the ThemeModule and an empty providers array.
     */
    static forRoot() {
      return {
        ngModule: ThemeModule,
        providers: [..._nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbThemeModule */ .ijo.forRoot({
          name: _themes__WEBPACK_IMPORTED_MODULE_25__/* .GAUZY_LIGHT */ .i.name
        }, [_themes__WEBPACK_IMPORTED_MODULE_26__/* .DEFAULT_THEME */ .S, _themes__WEBPACK_IMPORTED_MODULE_27__/* .COSMIC_THEME */ .D, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .CORPORATE_THEME */ .Eo6, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .DARK_THEME */ .n0m, _themes__WEBPACK_IMPORTED_MODULE_28__/* .MATERIAL_LIGHT_THEME */ .l, _themes__WEBPACK_IMPORTED_MODULE_29__/* .MATERIAL_DARK_THEME */ .L, _themes__WEBPACK_IMPORTED_MODULE_25__/* .GAUZY_LIGHT */ .i, _themes__WEBPACK_IMPORTED_MODULE_30__/* .GAUZY_DARK */ .Y]).providers, _services__WEBPACK_IMPORTED_MODULE_31__/* .WindowModeBlockScrollService */ .x]
      };
    }
    static {
      this.ɵfac = function ThemeModule_Factory(t) {
        return new (t || ThemeModule)();
      };
    }
    static {
      this.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_32__/* ["ɵɵdefineNgModule"] */ .$C({
        type: ThemeModule
      });
    }
    static {
      this.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_32__/* ["ɵɵdefineInjector"] */ .G2t({
        providers: [_gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_33__/* .UsersService */ .g, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_34__/* .SelectorService */ .v, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_35__/* .UsersOrganizationsService */ .K, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_36__/* .OrganizationsService */ .k, _nebular_theme__WEBPACK_IMPORTED_MODULE_0__/* .NbLayoutDirectionService */ .f81, _gauzy_ui_core_core__WEBPACK_IMPORTED_MODULE_37__/* .LanguagesService */ .D, _components_theme_sidebar_theme_settings_components_theme_language_selector_theme_language_selector_service__WEBPACK_IMPORTED_MODULE_38__/* .ThemeLanguageSelectorService */ .s],
        imports: [_angular_common__WEBPACK_IMPORTED_MODULE_39__/* .CommonModule */ .MD, _angular_router__WEBPACK_IMPORTED_MODULE_40__/* .RouterModule */ .iI, EXPORT_IMPORT, NB_MODULES, MODULES, _components_theme_sidebar_theme_sidebar_module__WEBPACK_IMPORTED_MODULE_23__/* .ThemeSidebarModule */ .i, _angular_material_core__WEBPACK_IMPORTED_MODULE_24__/* .MatRippleModule */ .pZ]
      });
    }
  }
  return ThemeModule;
})();

/***/ }),

/***/ 72089:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Y: () => (/* binding */ GAUZY_DARK)
/* harmony export */ });
const palette = {
  primary: '#6E49E8',
  success: '#25B869',
  info: '#0095ff',
  warning: '#ffaa00',
  danger: '#ff3d71'
};
const theme = {
  fontMain: 'Open Sans, sans-serif',
  fontSecondary: 'Raleway, sans-serif',
  bg: '#000000',
  bg2: '#1a2138',
  bg3: '#151a30',
  bg4: '#101426',
  border: '#222b45',
  border2: '#1a2138',
  border3: '#151a30',
  border4: '#101426',
  border5: '#101426',
  fg: '#8f9bb3',
  fgHeading: '#ffffff',
  fgText: '#ffffff',
  fgHighlight: palette.primary,
  layoutBg: '#1b1b38',
  separator: '#1b1b38',
  primary: palette.primary,
  success: palette.success,
  info: palette.info,
  warning: palette.warning,
  danger: palette.danger,
  primaryLight: '#598bff',
  successLight: '#2ce69b',
  infoLight: '#42aaff',
  warningLight: '#ffc94d',
  dangerLight: '#ff708d'
};
const GAUZY_DARK = {
  name: 'gauzy-dark',
  base: 'dark',
  variables: {
    ...theme,
    temperature: {
      arcFill: Array(5).fill(theme.primary),
      arcEmpty: theme.bg2,
      thumbBg: theme.bg2,
      thumbBorder: theme.primary
    },
    solar: {
      gradientLeft: theme.primary,
      gradientRight: theme.primary,
      shadowColor: 'rgba(0, 0, 0, 0)',
      secondSeriesFill: theme.bg2,
      radius: ['80%', '90%']
    },
    traffic: {
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      yAxisSplitLine: theme.separator,
      lineBg: theme.border4,
      lineShadowBlur: '1',
      itemColor: theme.border4,
      itemBorderColor: theme.border4,
      itemEmphasisBorderColor: theme.primary,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      shadowLineShadow: 'rgba(0, 0, 0, 0)',
      gradFrom: theme.bg2,
      gradTo: theme.bg2
    },
    electricity: {
      tooltipBg: theme.bg,
      tooltipLineColor: theme.fgText,
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      axisLineColor: theme.border3,
      xAxisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      lineGradFrom: theme.primary,
      lineGradTo: theme.primary,
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.bg2,
      areaGradTo: theme.bg2,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    bubbleMap: {
      titleColor: theme.fgText,
      areaColor: theme.bg4,
      areaHoverColor: theme.fgHighlight,
      areaBorderColor: theme.border5
    },
    profitBarAnimationEchart: {
      textColor: theme.fgText,
      firstAnimationBarColor: theme.primary,
      secondAnimationBarColor: theme.success,
      splitLineStyleOpacity: '1',
      splitLineStyleWidth: '1',
      splitLineStyleColor: theme.separator,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    },
    trafficBarEchart: {
      gradientFrom: theme.warningLight,
      gradientTo: theme.warning,
      shadow: theme.warningLight,
      shadowBlur: '0',
      axisTextColor: theme.fgText,
      axisFontSize: '12',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal'
    },
    countryOrders: {
      countryBorderColor: theme.border4,
      countryFillColor: theme.bg3,
      countryBorderWidth: '1',
      hoveredCountryBorderColor: theme.primary,
      hoveredCountryFillColor: theme.primaryLight,
      hoveredCountryBorderWidth: '1',
      chartAxisLineColor: theme.border4,
      chartAxisTextColor: theme.fg,
      chartAxisFontSize: '16',
      chartGradientTo: theme.primary,
      chartGradientFrom: theme.primaryLight,
      chartAxisSplitLine: theme.separator,
      chartShadowLineColor: theme.primaryLight,
      chartLineBottomShadowColor: theme.primary,
      chartInnerLineColor: theme.bg2
    },
    echarts: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.fgText,
      splitLineColor: theme.separator,
      itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',
      tooltipBackgroundColor: theme.primary,
      areaOpacity: '0.7'
    },
    chartjs: {
      axisLineColor: theme.separator,
      textColor: theme.fgText
    },
    orders: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      // first line
      firstAreaGradFrom: theme.bg3,
      firstAreaGradTo: theme.bg3,
      firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // second line
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',
      secondAreaGradTo: 'rgba(51, 102, 255, 0)',
      secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // third line
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',
      thirdAreaGradTo: 'rgba(0, 214, 143, 0)',
      thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    profit: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.border4,
      splitLineColor: theme.separator,
      areaOpacity: '1',
      axisFontSize: '16',
      axisTextColor: theme.fg,
      // first bar
      firstLineGradFrom: theme.bg3,
      firstLineGradTo: theme.bg3,
      firstLineShadow: 'rgba(0, 0, 0, 0)',
      // second bar
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondLineShadow: 'rgba(0, 0, 0, 0)',
      // third bar
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdLineShadow: 'rgba(0, 0, 0, 0)'
    },
    orderProfitLegend: {
      firstItem: theme.success,
      secondItem: theme.primary,
      thirdItem: theme.bg3
    },
    visitors: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: '#ffffff',
      lineGradTo: '#ffffff',
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.primary,
      areaGradTo: theme.primaryLight,
      innerLineStyle: 'solid',
      innerLineWidth: '1',
      innerAreaGradFrom: theme.success,
      innerAreaGradTo: theme.success
    },
    visitorsLegend: {
      firstIcon: theme.success,
      secondIcon: theme.primary
    },
    visitorsPie: {
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      firstPieRadius: ['70%', '90%'],
      secondPieGradientLeft: theme.warning,
      secondPieGradientRight: theme.warningLight,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieRadius: ['60%', '97%'],
      shadowOffsetX: '0',
      shadowOffsetY: '0'
    },
    visitorsPieLegend: {
      firstSection: theme.warning,
      secondSection: theme.success
    },
    earningPie: {
      radius: ['65%', '100%'],
      center: ['50%', '50%'],
      fontSize: '22',
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieGradientLeft: theme.primary,
      secondPieGradientRight: theme.primary,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      thirdPieGradientLeft: theme.warning,
      thirdPieGradientRight: theme.warning,
      thirdPieShadowColor: 'rgba(0, 0, 0, 0)'
    },
    earningLine: {
      gradFrom: theme.primary,
      gradTo: theme.primary,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    }
  }
};

/***/ }),

/***/ 43385:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: () => (/* binding */ GAUZY_LIGHT)
/* harmony export */ });
const palette = {
  primary: '#6E49E8',
  success: '#25B869',
  info: '#0095ff',
  warning: '#ffaa00',
  danger: '#ff3d71'
};
const theme = {
  fontMain: 'Open Sans, sans-serif',
  fontSecondary: 'Raleway, sans-serif',
  bg: '#ffffff',
  bg2: '#f7f9fc',
  bg3: '#edf1f7',
  bg4: '#e4e9f2',
  border: '#ffffff',
  border2: '#f7f9fc',
  border3: '#edf1f7',
  border4: '#e4e9f2',
  border5: '#c5cee0',
  fg: '#8f9bb3',
  fgHeading: '#1a2138',
  fgText: '#1a2138',
  fgHighlight: palette.primary,
  layoutBg: '#f7f9fc',
  separator: '#edf1f7',
  primary: palette.primary,
  success: palette.success,
  info: palette.info,
  warning: palette.warning,
  danger: palette.danger,
  primaryLight: '#598bff',
  successLight: '#2ce69b',
  infoLight: '#42aaff',
  warningLight: '#ffc94d',
  dangerLight: '#ff708d'
};
const GAUZY_LIGHT = {
  name: 'gauzy-light',
  base: 'default',
  variables: {
    ...theme,
    temperature: {
      arcFill: Array(5).fill(theme.primary),
      arcEmpty: theme.bg2,
      thumbBg: theme.bg2,
      thumbBorder: theme.primary
    },
    solar: {
      gradientLeft: theme.primary,
      gradientRight: theme.primary,
      shadowColor: 'rgba(0, 0, 0, 0)',
      secondSeriesFill: theme.bg2,
      radius: ['80%', '90%']
    },
    traffic: {
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      yAxisSplitLine: theme.separator,
      lineBg: theme.border4,
      lineShadowBlur: '1',
      itemColor: theme.border4,
      itemBorderColor: theme.border4,
      itemEmphasisBorderColor: theme.primary,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      shadowLineShadow: 'rgba(0, 0, 0, 0)',
      gradFrom: theme.bg2,
      gradTo: theme.bg2
    },
    electricity: {
      tooltipBg: theme.bg,
      tooltipLineColor: theme.fgText,
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      axisLineColor: theme.border3,
      xAxisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      lineGradFrom: theme.primary,
      lineGradTo: theme.primary,
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.bg2,
      areaGradTo: theme.bg2,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    bubbleMap: {
      titleColor: theme.fgText,
      areaColor: theme.bg4,
      areaHoverColor: theme.fgHighlight,
      areaBorderColor: theme.border5
    },
    profitBarAnimationEchart: {
      textColor: theme.fgText,
      firstAnimationBarColor: theme.primary,
      secondAnimationBarColor: theme.success,
      splitLineStyleOpacity: '1',
      splitLineStyleWidth: '1',
      splitLineStyleColor: theme.separator,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    },
    trafficBarEchart: {
      gradientFrom: theme.warningLight,
      gradientTo: theme.warning,
      shadow: theme.warningLight,
      shadowBlur: '0',
      axisTextColor: theme.fgText,
      axisFontSize: '12',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal'
    },
    countryOrders: {
      countryBorderColor: theme.border4,
      countryFillColor: theme.bg3,
      countryBorderWidth: '1',
      hoveredCountryBorderColor: theme.primary,
      hoveredCountryFillColor: theme.primaryLight,
      hoveredCountryBorderWidth: '1',
      chartAxisLineColor: theme.border4,
      chartAxisTextColor: theme.fg,
      chartAxisFontSize: '16',
      chartGradientTo: theme.primary,
      chartGradientFrom: theme.primaryLight,
      chartAxisSplitLine: theme.separator,
      chartShadowLineColor: theme.primaryLight,
      chartLineBottomShadowColor: theme.primary,
      chartInnerLineColor: theme.bg2
    },
    echarts: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.fgText,
      splitLineColor: theme.separator,
      itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',
      tooltipBackgroundColor: theme.primary,
      areaOpacity: '0.7'
    },
    chartjs: {
      axisLineColor: theme.separator,
      textColor: theme.fgText
    },
    orders: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      // first line
      firstAreaGradFrom: theme.bg3,
      firstAreaGradTo: theme.bg3,
      firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // second line
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',
      secondAreaGradTo: 'rgba(51, 102, 255, 0)',
      secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // third line
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',
      thirdAreaGradTo: 'rgba(0, 214, 143, 0)',
      thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    profit: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.border4,
      splitLineColor: theme.separator,
      areaOpacity: '1',
      axisFontSize: '16',
      axisTextColor: theme.fg,
      // first bar
      firstLineGradFrom: theme.bg3,
      firstLineGradTo: theme.bg3,
      firstLineShadow: 'rgba(0, 0, 0, 0)',
      // second bar
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondLineShadow: 'rgba(0, 0, 0, 0)',
      // third bar
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdLineShadow: 'rgba(0, 0, 0, 0)'
    },
    orderProfitLegend: {
      firstItem: theme.success,
      secondItem: theme.primary,
      thirdItem: theme.bg3
    },
    visitors: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '1',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: '#ffffff',
      lineGradTo: '#ffffff',
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.primary,
      areaGradTo: theme.primaryLight,
      innerLineStyle: 'solid',
      innerLineWidth: '1',
      innerAreaGradFrom: theme.success,
      innerAreaGradTo: theme.success
    },
    visitorsLegend: {
      firstIcon: theme.success,
      secondIcon: theme.primary
    },
    visitorsPie: {
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      firstPieRadius: ['70%', '90%'],
      secondPieGradientLeft: theme.warning,
      secondPieGradientRight: theme.warningLight,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieRadius: ['60%', '97%'],
      shadowOffsetX: '0',
      shadowOffsetY: '0'
    },
    visitorsPieLegend: {
      firstSection: theme.warning,
      secondSection: theme.success
    },
    earningPie: {
      radius: ['65%', '100%'],
      center: ['50%', '50%'],
      fontSize: '22',
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieGradientLeft: theme.primary,
      secondPieGradientRight: theme.primary,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      thirdPieGradientLeft: theme.warning,
      thirdPieGradientRight: theme.warning,
      thirdPieShadowColor: 'rgba(0, 0, 0, 0)'
    },
    earningLine: {
      gradFrom: theme.primary,
      gradTo: theme.primary,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    }
  }
};

/***/ }),

/***/ 80435:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: () => (/* binding */ MATERIAL_DARK_THEME)
/* harmony export */ });
/* unused harmony export baseDarkTheme */
const palette = {
  primary: '#e91d63',
  success: '#60af20',
  info: '#0495ee',
  warning: '#ff9f05',
  danger: '#b00020'
};
const baseDarkTheme = {
  name: 'material-dark',
  base: 'dark',
  variables: {
    fontMain: 'Roboto, sans-serif',
    fontSecondary: 'Roboto, sans-serif',
    bg: '#383838',
    bg2: '#292929',
    bg3: '#1f1f1f',
    bg4: '#141414',
    border: '#383838',
    border2: '#292929',
    border3: '#1f1f1f',
    border4: '#141414',
    border5: '#141414',
    fg: '#808080',
    fgHeading: '#ffffff',
    fgText: '#ffffff',
    fgHighlight: palette.primary,
    layoutBg: '#1f1f1f',
    separator: '#1f1f1f',
    primary: palette.primary,
    success: palette.success,
    info: palette.info,
    warning: palette.warning,
    danger: palette.danger,
    primaryLight: '#f24681',
    successLight: '#8fcf50',
    infoLight: '#40bbf4',
    warningLight: '#ffbe43',
    dangerLight: '#cf3341'
  }
};
const baseThemeVariables = baseDarkTheme.variables;
const MATERIAL_DARK_THEME = {
  name: 'material-dark',
  base: 'default',
  variables: {
    temperature: {
      arcFill: Array(5).fill(baseThemeVariables.primary),
      arcEmpty: baseThemeVariables.bg2,
      thumbBg: baseThemeVariables.bg2,
      thumbBorder: baseThemeVariables.primary
    },
    solar: {
      gradientLeft: baseThemeVariables.primary,
      gradientRight: baseThemeVariables.primary,
      shadowColor: 'rgba(0, 0, 0, 0)',
      secondSeriesFill: baseThemeVariables.bg2,
      radius: ['80%', '90%']
    },
    traffic: {
      tooltipBg: baseThemeVariables.bg,
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      yAxisSplitLine: baseThemeVariables.separator,
      lineBg: baseThemeVariables.border4,
      lineShadowBlur: '1',
      itemColor: baseThemeVariables.border4,
      itemBorderColor: baseThemeVariables.border4,
      itemEmphasisBorderColor: baseThemeVariables.primary,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      shadowLineShadow: 'rgba(0, 0, 0, 0)',
      gradFrom: baseThemeVariables.bg2,
      gradTo: baseThemeVariables.bg2
    },
    electricity: {
      tooltipBg: baseThemeVariables.bg,
      tooltipLineColor: baseThemeVariables.fgText,
      tooltipLineWidth: '0',
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      axisLineColor: baseThemeVariables.border3,
      xAxisTextColor: baseThemeVariables.fg,
      yAxisSplitLine: baseThemeVariables.separator,
      itemBorderColor: baseThemeVariables.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      lineGradFrom: baseThemeVariables.primary,
      lineGradTo: baseThemeVariables.primary,
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: baseThemeVariables.bg2,
      areaGradTo: baseThemeVariables.bg2,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    bubbleMap: {
      titleColor: baseThemeVariables.fgText,
      areaColor: baseThemeVariables.bg4,
      areaHoverColor: baseThemeVariables.fgHighlight,
      areaBorderColor: baseThemeVariables.border5
    },
    profitBarAnimationEchart: {
      textColor: baseThemeVariables.fgText,
      firstAnimationBarColor: baseThemeVariables.primary,
      secondAnimationBarColor: baseThemeVariables.success,
      splitLineStyleOpacity: '1',
      splitLineStyleWidth: '1',
      splitLineStyleColor: baseThemeVariables.separator,
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: baseThemeVariables.bg,
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    },
    trafficBarEchart: {
      gradientFrom: baseThemeVariables.warningLight,
      gradientTo: baseThemeVariables.warning,
      shadow: baseThemeVariables.warningLight,
      shadowBlur: '0',
      axisTextColor: baseThemeVariables.fgText,
      axisFontSize: '12',
      tooltipBg: baseThemeVariables.bg,
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal'
    },
    countryOrders: {
      countryBorderColor: baseThemeVariables.border4,
      countryFillColor: baseThemeVariables.bg3,
      countryBorderWidth: '1',
      hoveredCountryBorderColor: baseThemeVariables.primary,
      hoveredCountryFillColor: baseThemeVariables.primaryLight,
      hoveredCountryBorderWidth: '1',
      chartAxisLineColor: baseThemeVariables.border4,
      chartAxisTextColor: baseThemeVariables.fg,
      chartAxisFontSize: '16',
      chartGradientTo: baseThemeVariables.primary,
      chartGradientFrom: baseThemeVariables.primaryLight,
      chartAxisSplitLine: baseThemeVariables.separator,
      chartShadowLineColor: baseThemeVariables.primaryLight,
      chartLineBottomShadowColor: baseThemeVariables.primary,
      chartInnerLineColor: baseThemeVariables.bg2
    },
    echarts: {
      bg: baseThemeVariables.bg,
      textColor: baseThemeVariables.fgText,
      axisLineColor: baseThemeVariables.fgText,
      splitLineColor: baseThemeVariables.separator,
      itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',
      tooltipBackgroundColor: baseThemeVariables.primary,
      areaOpacity: '0.7'
    },
    chartjs: {
      axisLineColor: baseThemeVariables.separator,
      textColor: baseThemeVariables.fgText
    },
    orders: {
      tooltipBg: baseThemeVariables.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: baseThemeVariables.border4,
      axisFontSize: '16',
      axisTextColor: baseThemeVariables.fg,
      yAxisSplitLine: baseThemeVariables.separator,
      itemBorderColor: baseThemeVariables.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      // first line
      firstAreaGradFrom: baseThemeVariables.bg3,
      firstAreaGradTo: baseThemeVariables.bg3,
      firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // second line
      secondLineGradFrom: baseThemeVariables.primary,
      secondLineGradTo: baseThemeVariables.primary,
      secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',
      secondAreaGradTo: 'rgba(51, 102, 255, 0)',
      secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // third line
      thirdLineGradFrom: baseThemeVariables.success,
      thirdLineGradTo: baseThemeVariables.successLight,
      thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',
      thirdAreaGradTo: 'rgba(0, 214, 143, 0)',
      thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    profit: {
      bg: baseThemeVariables.bg,
      textColor: baseThemeVariables.fgText,
      axisLineColor: baseThemeVariables.border4,
      splitLineColor: baseThemeVariables.separator,
      areaOpacity: '1',
      axisFontSize: '16',
      axisTextColor: baseThemeVariables.fg,
      // first bar
      firstLineGradFrom: baseThemeVariables.bg3,
      firstLineGradTo: baseThemeVariables.bg3,
      firstLineShadow: 'rgba(0, 0, 0, 0)',
      // second bar
      secondLineGradFrom: baseThemeVariables.primary,
      secondLineGradTo: baseThemeVariables.primary,
      secondLineShadow: 'rgba(0, 0, 0, 0)',
      // third bar
      thirdLineGradFrom: baseThemeVariables.success,
      thirdLineGradTo: baseThemeVariables.successLight,
      thirdLineShadow: 'rgba(0, 0, 0, 0)'
    },
    orderProfitLegend: {
      firstItem: baseThemeVariables.success,
      secondItem: baseThemeVariables.primary,
      thirdItem: baseThemeVariables.bg3
    },
    visitors: {
      tooltipBg: baseThemeVariables.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '1',
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: baseThemeVariables.border4,
      axisFontSize: '16',
      axisTextColor: baseThemeVariables.fg,
      yAxisSplitLine: baseThemeVariables.separator,
      itemBorderColor: baseThemeVariables.primary,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: '#ffffff',
      lineGradTo: '#ffffff',
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: baseThemeVariables.primary,
      areaGradTo: baseThemeVariables.primaryLight,
      innerLineStyle: 'solid',
      innerLineWidth: '1',
      innerAreaGradFrom: baseThemeVariables.success,
      innerAreaGradTo: baseThemeVariables.success
    },
    visitorsLegend: {
      firstIcon: baseThemeVariables.success,
      secondIcon: baseThemeVariables.primary
    },
    visitorsPie: {
      firstPieGradientLeft: baseThemeVariables.success,
      firstPieGradientRight: baseThemeVariables.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      firstPieRadius: ['70%', '90%'],
      secondPieGradientLeft: baseThemeVariables.warning,
      secondPieGradientRight: baseThemeVariables.warningLight,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieRadius: ['60%', '97%'],
      shadowOffsetX: '0',
      shadowOffsetY: '0'
    },
    visitorsPieLegend: {
      firstSection: baseThemeVariables.warning,
      secondSection: baseThemeVariables.success
    },
    earningPie: {
      radius: ['65%', '100%'],
      center: ['50%', '50%'],
      fontSize: '22',
      firstPieGradientLeft: baseThemeVariables.success,
      firstPieGradientRight: baseThemeVariables.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieGradientLeft: baseThemeVariables.primary,
      secondPieGradientRight: baseThemeVariables.primary,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      thirdPieGradientLeft: baseThemeVariables.warning,
      thirdPieGradientRight: baseThemeVariables.warning,
      thirdPieShadowColor: 'rgba(0, 0, 0, 0)'
    },
    earningLine: {
      gradFrom: baseThemeVariables.primary,
      gradTo: baseThemeVariables.primary,
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: baseThemeVariables.bg,
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    }
  }
};

/***/ }),

/***/ 60387:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   l: () => (/* binding */ MATERIAL_LIGHT_THEME)
/* harmony export */ });
/* unused harmony export baseLightTheme */
const palette = {
  primary: '#6200ee',
  success: '#60af20',
  info: '#0495ee',
  warning: '#ff9f05',
  danger: '#b00020'
};
const baseLightTheme = {
  name: 'material-light',
  base: 'default',
  variables: {
    fontMain: 'Roboto, sans-serif',
    fontSecondary: 'Roboto, sans-serif',
    bg: '#ffffff',
    bg2: '#f5f5f5',
    bg3: '#ebebeb',
    bg4: '#e0e0e0',
    border: '#ffffff',
    border2: '#f5f5f5',
    border3: '#ebebeb',
    border4: '#e0e0e0',
    border5: '#b3b3b3',
    fg: '#838383',
    fgHeading: '#1a2138',
    fgText: '#1a2138',
    fgHighlight: palette.primary,
    layoutBg: '#ebebeb',
    separator: '#ebebeb',
    primary: palette.primary,
    success: palette.success,
    info: palette.info,
    warning: palette.warning,
    danger: palette.danger,
    primaryLight: '#903df4',
    successLight: '#8fcf50',
    infoLight: '#40bbf4',
    warningLight: '#ffbe43',
    dangerLight: '#cf3341'
  }
};
const baseThemeVariables = baseLightTheme.variables;
const MATERIAL_LIGHT_THEME = {
  name: 'material-light',
  base: 'default',
  variables: {
    temperature: {
      arcFill: Array(5).fill(baseThemeVariables.primary),
      arcEmpty: baseThemeVariables.bg2,
      thumbBg: baseThemeVariables.bg2,
      thumbBorder: baseThemeVariables.primary
    },
    solar: {
      gradientLeft: baseThemeVariables.primary,
      gradientRight: baseThemeVariables.primary,
      shadowColor: 'rgba(0, 0, 0, 0)',
      secondSeriesFill: baseThemeVariables.bg2,
      radius: ['80%', '90%']
    },
    traffic: {
      tooltipBg: baseThemeVariables.bg,
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      yAxisSplitLine: baseThemeVariables.separator,
      lineBg: baseThemeVariables.border4,
      lineShadowBlur: '1',
      itemColor: baseThemeVariables.border4,
      itemBorderColor: baseThemeVariables.border4,
      itemEmphasisBorderColor: baseThemeVariables.primary,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      shadowLineShadow: 'rgba(0, 0, 0, 0)',
      gradFrom: baseThemeVariables.bg2,
      gradTo: baseThemeVariables.bg2
    },
    electricity: {
      tooltipBg: baseThemeVariables.bg,
      tooltipLineColor: baseThemeVariables.fgText,
      tooltipLineWidth: '0',
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      axisLineColor: baseThemeVariables.border3,
      xAxisTextColor: baseThemeVariables.fg,
      yAxisSplitLine: baseThemeVariables.separator,
      itemBorderColor: baseThemeVariables.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      lineGradFrom: baseThemeVariables.primary,
      lineGradTo: baseThemeVariables.primary,
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: baseThemeVariables.bg2,
      areaGradTo: baseThemeVariables.bg2,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    bubbleMap: {
      titleColor: baseThemeVariables.fgText,
      areaColor: baseThemeVariables.bg4,
      areaHoverColor: baseThemeVariables.fgHighlight,
      areaBorderColor: baseThemeVariables.border5
    },
    profitBarAnimationEchart: {
      textColor: baseThemeVariables.fgText,
      firstAnimationBarColor: baseThemeVariables.primary,
      secondAnimationBarColor: baseThemeVariables.success,
      splitLineStyleOpacity: '1',
      splitLineStyleWidth: '1',
      splitLineStyleColor: baseThemeVariables.separator,
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: baseThemeVariables.bg,
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    },
    trafficBarEchart: {
      gradientFrom: baseThemeVariables.warningLight,
      gradientTo: baseThemeVariables.warning,
      shadow: baseThemeVariables.warningLight,
      shadowBlur: '0',
      axisTextColor: baseThemeVariables.fgText,
      axisFontSize: '12',
      tooltipBg: baseThemeVariables.bg,
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal'
    },
    countryOrders: {
      countryBorderColor: baseThemeVariables.border4,
      countryFillColor: baseThemeVariables.bg3,
      countryBorderWidth: '1',
      hoveredCountryBorderColor: baseThemeVariables.primary,
      hoveredCountryFillColor: baseThemeVariables.primaryLight,
      hoveredCountryBorderWidth: '1',
      chartAxisLineColor: baseThemeVariables.border4,
      chartAxisTextColor: baseThemeVariables.fg,
      chartAxisFontSize: '16',
      chartGradientTo: baseThemeVariables.primary,
      chartGradientFrom: baseThemeVariables.primaryLight,
      chartAxisSplitLine: baseThemeVariables.separator,
      chartShadowLineColor: baseThemeVariables.primaryLight,
      chartLineBottomShadowColor: baseThemeVariables.primary,
      chartInnerLineColor: baseThemeVariables.bg2
    },
    echarts: {
      bg: baseThemeVariables.bg,
      textColor: baseThemeVariables.fgText,
      axisLineColor: baseThemeVariables.fgText,
      splitLineColor: baseThemeVariables.separator,
      itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',
      tooltipBackgroundColor: baseThemeVariables.primary,
      areaOpacity: '0.7'
    },
    chartjs: {
      axisLineColor: baseThemeVariables.separator,
      textColor: baseThemeVariables.fgText
    },
    orders: {
      tooltipBg: baseThemeVariables.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: baseThemeVariables.border4,
      axisFontSize: '16',
      axisTextColor: baseThemeVariables.fg,
      yAxisSplitLine: baseThemeVariables.separator,
      itemBorderColor: baseThemeVariables.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      // first line
      firstAreaGradFrom: baseThemeVariables.bg3,
      firstAreaGradTo: baseThemeVariables.bg3,
      firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // second line
      secondLineGradFrom: baseThemeVariables.primary,
      secondLineGradTo: baseThemeVariables.primary,
      secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',
      secondAreaGradTo: 'rgba(51, 102, 255, 0)',
      secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // third line
      thirdLineGradFrom: baseThemeVariables.success,
      thirdLineGradTo: baseThemeVariables.successLight,
      thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',
      thirdAreaGradTo: 'rgba(0, 214, 143, 0)',
      thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    profit: {
      bg: baseThemeVariables.bg,
      textColor: baseThemeVariables.fgText,
      axisLineColor: baseThemeVariables.border4,
      splitLineColor: baseThemeVariables.separator,
      areaOpacity: '1',
      axisFontSize: '16',
      axisTextColor: baseThemeVariables.fg,
      // first bar
      firstLineGradFrom: baseThemeVariables.bg3,
      firstLineGradTo: baseThemeVariables.bg3,
      firstLineShadow: 'rgba(0, 0, 0, 0)',
      // second bar
      secondLineGradFrom: baseThemeVariables.primary,
      secondLineGradTo: baseThemeVariables.primary,
      secondLineShadow: 'rgba(0, 0, 0, 0)',
      // third bar
      thirdLineGradFrom: baseThemeVariables.success,
      thirdLineGradTo: baseThemeVariables.successLight,
      thirdLineShadow: 'rgba(0, 0, 0, 0)'
    },
    orderProfitLegend: {
      firstItem: baseThemeVariables.success,
      secondItem: baseThemeVariables.primary,
      thirdItem: baseThemeVariables.bg3
    },
    visitors: {
      tooltipBg: baseThemeVariables.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '1',
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: baseThemeVariables.border4,
      axisFontSize: '16',
      axisTextColor: baseThemeVariables.fg,
      yAxisSplitLine: baseThemeVariables.separator,
      itemBorderColor: baseThemeVariables.primary,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: '#ffffff',
      lineGradTo: '#ffffff',
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: baseThemeVariables.primary,
      areaGradTo: baseThemeVariables.primaryLight,
      innerLineStyle: 'solid',
      innerLineWidth: '1',
      innerAreaGradFrom: baseThemeVariables.success,
      innerAreaGradTo: baseThemeVariables.success
    },
    visitorsLegend: {
      firstIcon: baseThemeVariables.success,
      secondIcon: baseThemeVariables.primary
    },
    visitorsPie: {
      firstPieGradientLeft: baseThemeVariables.success,
      firstPieGradientRight: baseThemeVariables.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      firstPieRadius: ['70%', '90%'],
      secondPieGradientLeft: baseThemeVariables.warning,
      secondPieGradientRight: baseThemeVariables.warningLight,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieRadius: ['60%', '97%'],
      shadowOffsetX: '0',
      shadowOffsetY: '0'
    },
    visitorsPieLegend: {
      firstSection: baseThemeVariables.warning,
      secondSection: baseThemeVariables.success
    },
    earningPie: {
      radius: ['65%', '100%'],
      center: ['50%', '50%'],
      fontSize: '22',
      firstPieGradientLeft: baseThemeVariables.success,
      firstPieGradientRight: baseThemeVariables.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieGradientLeft: baseThemeVariables.primary,
      secondPieGradientRight: baseThemeVariables.primary,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      thirdPieGradientLeft: baseThemeVariables.warning,
      thirdPieGradientRight: baseThemeVariables.warning,
      thirdPieShadowColor: 'rgba(0, 0, 0, 0)'
    },
    earningLine: {
      gradFrom: baseThemeVariables.primary,
      gradTo: baseThemeVariables.primary,
      tooltipTextColor: baseThemeVariables.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: baseThemeVariables.bg,
      tooltipBorderColor: baseThemeVariables.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    }
  }
};

/***/ }),

/***/ 34868:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   E: () => (/* binding */ CORPORATE_THEME)
/* harmony export */ });
const palette = {
  primary: '#73a1ff',
  success: '#5dcfe3',
  info: '#ba7fec',
  warning: '#ffa36b',
  danger: '#ff6b83'
};
const theme = {
  fontMain: 'Open Sans, sans-serif',
  fontSecondary: 'Raleway, sans-serif',
  bg: '#ffffff',
  bg2: '#f7f9fc',
  bg3: '#edf1f7',
  bg4: '#e4e9f2',
  border: '#ffffff',
  border2: '#f7f9fc',
  border3: '#edf1f7',
  border4: '#e4e9f2',
  border5: '#c5cee0',
  fg: '#8f9bb3',
  fgHeading: '#1a2138',
  fgText: '#1a2138',
  fgHighlight: palette.primary,
  layoutBg: '#f7f9fc',
  separator: '#edf1f7',
  primary: palette.primary,
  success: palette.success,
  info: palette.info,
  warning: palette.warning,
  danger: palette.danger,
  primaryLight: '#598bff',
  successLight: '#2ce69b',
  infoLight: '#42aaff',
  warningLight: '#ffc94d',
  dangerLight: '#ff708d'
};
const CORPORATE_THEME = {
  name: 'corporate',
  variables: {
    ...theme,
    temperature: {
      arcFill: ['#ffa36b', '#ffa36b', '#ff9e7a', '#ff9888', '#ff8ea0'],
      arcEmpty: theme.bg2,
      thumbBg: theme.bg2,
      thumbBorder: '#ffa36b'
    },
    solar: {
      gradientLeft: theme.primary,
      gradientRight: theme.primary,
      shadowColor: 'rgba(0, 0, 0, 0)',
      secondSeriesFill: theme.bg2,
      radius: ['80%', '90%']
    },
    traffic: {
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      yAxisSplitLine: 'rgba(0, 0, 0, 0)',
      lineBg: theme.primary,
      lineShadowBlur: '0',
      itemColor: theme.border4,
      itemBorderColor: theme.border4,
      itemEmphasisBorderColor: theme.primaryLight,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      shadowLineShadow: 'rgba(0, 0, 0, 0)',
      gradFrom: theme.bg,
      gradTo: theme.bg
    },
    electricity: {
      tooltipBg: theme.bg,
      tooltipLineColor: theme.fgText,
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      axisLineColor: theme.border3,
      xAxisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      lineGradFrom: theme.primary,
      lineGradTo: theme.primary,
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: 'rgba(0, 0, 0, 0)',
      areaGradTo: 'rgba(0, 0, 0, 0)',
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    bubbleMap: {
      titleColor: theme.fgText,
      areaColor: theme.bg4,
      areaHoverColor: theme.fgHighlight,
      areaBorderColor: theme.border5
    },
    profitBarAnimationEchart: {
      textColor: theme.fgText,
      firstAnimationBarColor: theme.primary,
      secondAnimationBarColor: theme.success,
      splitLineStyleOpacity: '1',
      splitLineStyleWidth: '1',
      splitLineStyleColor: theme.separator,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    },
    trafficBarEchart: {
      gradientFrom: theme.warningLight,
      gradientTo: theme.warning,
      shadow: theme.warningLight,
      shadowBlur: '0',
      axisTextColor: theme.fgText,
      axisFontSize: '12',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal'
    },
    countryOrders: {
      countryBorderColor: theme.border4,
      countryFillColor: theme.bg4,
      countryBorderWidth: '1',
      hoveredCountryBorderColor: theme.primary,
      hoveredCountryFillColor: theme.primaryLight,
      hoveredCountryBorderWidth: '1',
      chartAxisLineColor: theme.border4,
      chartAxisTextColor: theme.fg,
      chartAxisFontSize: '16',
      chartGradientTo: theme.primary,
      chartGradientFrom: theme.primaryLight,
      chartAxisSplitLine: theme.separator,
      chartShadowLineColor: theme.primaryLight,
      chartLineBottomShadowColor: theme.primary,
      chartInnerLineColor: theme.bg2
    },
    echarts: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.fgText,
      splitLineColor: theme.separator,
      itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',
      tooltipBackgroundColor: theme.primary,
      areaOpacity: '0.7'
    },
    chartjs: {
      axisLineColor: theme.separator,
      textColor: theme.fgText
    },
    orders: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      // first line
      firstAreaGradFrom: theme.bg3,
      firstAreaGradTo: theme.bg3,
      firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // second line
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondAreaGradFrom: 'rgba(0, 0, 0, 0)',
      secondAreaGradTo: 'rgba(0, 0, 0, 0)',
      secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // third line
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdAreaGradFrom: 'rgba(0, 0, 0, 0)',
      thirdAreaGradTo: 'rgba(0, 0, 0, 0)',
      thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    profit: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.border4,
      splitLineColor: theme.separator,
      areaOpacity: '1',
      axisFontSize: '16',
      axisTextColor: theme.fg,
      // first bar
      firstLineGradFrom: theme.bg3,
      firstLineGradTo: theme.bg3,
      firstLineShadow: 'rgba(0, 0, 0, 0)',
      // second bar
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondLineShadow: 'rgba(0, 0, 0, 0)',
      // third bar
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.success,
      thirdLineShadow: 'rgba(0, 0, 0, 0)'
    },
    orderProfitLegend: {
      firstItem: theme.success,
      secondItem: theme.primary,
      thirdItem: theme.bg3
    },
    visitors: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '1',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: '#ffffff',
      lineGradTo: '#ffffff',
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.primary,
      areaGradTo: theme.primaryLight,
      innerLineStyle: 'solid',
      innerLineWidth: '1',
      innerAreaGradFrom: theme.success,
      innerAreaGradTo: theme.success
    },
    visitorsLegend: {
      firstIcon: theme.success,
      secondIcon: theme.primary
    },
    visitorsPie: {
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      firstPieRadius: ['65%', '90%'],
      secondPieGradientLeft: theme.warning,
      secondPieGradientRight: theme.warningLight,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieRadius: ['63%', '92%'],
      shadowOffsetX: '-4',
      shadowOffsetY: '-4'
    },
    visitorsPieLegend: {
      firstSection: theme.warning,
      secondSection: theme.success
    },
    earningPie: {
      radius: ['65%', '100%'],
      center: ['50%', '50%'],
      fontSize: '22',
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieGradientLeft: theme.primary,
      secondPieGradientRight: theme.primary,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      thirdPieGradientLeft: theme.warning,
      thirdPieGradientRight: theme.warning,
      thirdPieShadowColor: 'rgba(0, 0, 0, 0)'
    },
    earningLine: {
      gradFrom: theme.primary,
      gradTo: theme.primary,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    }
  }
};

/***/ }),

/***/ 12213:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: () => (/* binding */ COSMIC_THEME)
/* harmony export */ });
const palette = {
  primary: '#a16eff',
  success: '#00d68f',
  info: '#0095ff',
  warning: '#ffaa00',
  danger: '#ff3d71'
};
const theme = {
  fontMain: 'Open Sans, sans-serif',
  fontSecondary: 'Raleway, sans-serif',
  bg: '#323259',
  bg2: '#252547',
  bg3: '#1b1b38',
  bg4: '#13132b',
  border: '#323259',
  border2: '#252547',
  border3: '#1b1b38',
  border4: '#13132b',
  border5: '#13132b',
  fg: '#b4b4db',
  fgHeading: '#ffffff',
  fgText: '#ffffff',
  fgHighlight: palette.primary,
  layoutBg: '#151a30',
  separator: '#151a30',
  primary: palette.primary,
  success: palette.success,
  info: palette.info,
  warning: palette.warning,
  danger: palette.danger,
  primaryLight: '#b18aff',
  successLight: '#2ce69b',
  infoLight: '#42aaff',
  warningLight: '#ffc94d',
  dangerLight: '#ff708d'
};
const COSMIC_THEME = {
  name: 'cosmic',
  variables: {
    ...theme,
    temperature: {
      arcFill: ['#2ec7fe', '#31ffad', '#7bff24', '#fff024', '#f7bd59'],
      arcEmpty: theme.bg2,
      thumbBg: '#ffffff',
      thumbBorder: '#ffffff'
    },
    solar: {
      gradientLeft: theme.primary,
      gradientRight: theme.primary,
      shadowColor: 'rgba(0, 0, 0, 0)',
      secondSeriesFill: theme.bg2,
      radius: ['70%', '90%']
    },
    traffic: {
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(50, 50, 89); border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      yAxisSplitLine: theme.separator,
      lineBg: theme.border2,
      lineShadowBlur: '14',
      itemColor: theme.border2,
      itemBorderColor: theme.border2,
      itemEmphasisBorderColor: theme.primary,
      shadowLineDarkBg: theme.border3,
      shadowLineShadow: theme.border3,
      gradFrom: theme.bg,
      gradTo: theme.bg2
    },
    electricity: {
      tooltipBg: theme.bg,
      tooltipLineColor: theme.fgText,
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(0, 255, 170, 0.35); border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      axisLineColor: theme.border3,
      xAxisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.border2,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: theme.success,
      lineGradTo: theme.warning,
      lineShadow: theme.bg4,
      areaGradFrom: theme.bg2,
      areaGradTo: theme.bg3,
      shadowLineDarkBg: theme.bg3
    },
    bubbleMap: {
      titleColor: theme.fgText,
      areaColor: theme.bg4,
      areaHoverColor: theme.fgHighlight,
      areaBorderColor: theme.border5
    },
    profitBarAnimationEchart: {
      textColor: theme.fgText,
      firstAnimationBarColor: theme.primary,
      secondAnimationBarColor: theme.success,
      splitLineStyleOpacity: '1',
      splitLineStyleWidth: '1',
      splitLineStyleColor: theme.border2,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    },
    trafficBarEchart: {
      gradientFrom: theme.warningLight,
      gradientTo: theme.warning,
      shadow: theme.warningLight,
      shadowBlur: '5',
      axisTextColor: theme.fgText,
      axisFontSize: '12',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal'
    },
    countryOrders: {
      countryBorderColor: theme.border4,
      countryFillColor: theme.bg3,
      countryBorderWidth: '1',
      hoveredCountryBorderColor: theme.primary,
      hoveredCountryFillColor: theme.primaryLight,
      hoveredCountryBorderWidth: '1',
      chartAxisLineColor: theme.border4,
      chartAxisTextColor: theme.fg,
      chartAxisFontSize: '16',
      chartGradientTo: theme.primary,
      chartGradientFrom: theme.primaryLight,
      chartAxisSplitLine: theme.separator,
      chartShadowLineColor: theme.primaryLight,
      chartLineBottomShadowColor: theme.primary,
      chartInnerLineColor: theme.bg2
    },
    echarts: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.fgText,
      splitLineColor: theme.separator,
      itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',
      tooltipBackgroundColor: theme.primary,
      areaOpacity: '1'
    },
    chartjs: {
      axisLineColor: theme.separator,
      textColor: theme.fgText
    },
    orders: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      // first line
      firstAreaGradFrom: theme.bg2,
      firstAreaGradTo: theme.bg2,
      firstShadowLineDarkBg: theme.bg2,
      // second line
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondAreaGradFrom: 'rgba(161, 110, 255, 0.8)',
      secondAreaGradTo: 'rgba(161, 110, 255, 0.5)',
      secondShadowLineDarkBg: theme.primary,
      // third line
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdAreaGradFrom: 'rgba(0, 214, 143, 0.7)',
      thirdAreaGradTo: 'rgba(0, 214, 143, 0.4)',
      thirdShadowLineDarkBg: theme.success
    },
    profit: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.border4,
      splitLineColor: theme.separator,
      areaOpacity: '1',
      axisFontSize: '16',
      axisTextColor: theme.fg,
      // first bar
      firstLineGradFrom: theme.bg2,
      firstLineGradTo: theme.bg2,
      firstLineShadow: 'rgba(0, 0, 0, 0)',
      // second bar
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondLineShadow: 'rgba(0, 0, 0, 0)',
      // third bar
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdLineShadow: 'rgba(0, 0, 0, 0)'
    },
    orderProfitLegend: {
      firstItem: theme.success,
      secondItem: theme.primary,
      thirdItem: theme.bg2
    },
    visitors: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '1',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: '#ffffff',
      lineGradTo: '#ffffff',
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.primary,
      areaGradTo: theme.primaryLight,
      innerLineStyle: 'solid',
      innerLineWidth: '1',
      innerAreaGradFrom: theme.success,
      innerAreaGradTo: theme.success
    },
    visitorsLegend: {
      firstIcon: theme.success,
      secondIcon: theme.primary
    },
    visitorsPie: {
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.successLight,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      firstPieRadius: ['70%', '90%'],
      secondPieGradientLeft: theme.warning,
      secondPieGradientRight: theme.warningLight,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieRadius: ['60%', '95%'],
      shadowOffsetX: '0',
      shadowOffsetY: '3'
    },
    visitorsPieLegend: {
      firstSection: theme.warning,
      secondSection: theme.success
    },
    earningPie: {
      radius: ['65%', '100%'],
      center: ['50%', '50%'],
      fontSize: '22',
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieGradientLeft: theme.primary,
      secondPieGradientRight: theme.primary,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      thirdPieGradientLeft: theme.warning,
      thirdPieGradientRight: theme.warning,
      thirdPieShadowColor: 'rgba(0, 0, 0, 0)'
    },
    earningLine: {
      gradFrom: theme.primary,
      gradTo: theme.primary,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    }
  }
};

/***/ }),

/***/ 899:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: () => (/* binding */ DARK_THEME)
/* harmony export */ });
const palette = {
  primary: '#3366ff',
  success: '#00d68f',
  info: '#0095ff',
  warning: '#ffaa00',
  danger: '#ff3d71'
};
const theme = {
  fontMain: 'Open Sans, sans-serif',
  fontSecondary: 'Raleway, sans-serif',
  bg: '#000000',
  bg2: '#1a2138',
  bg3: '#151a30',
  bg4: '#101426',
  border: '#222b45',
  border2: '#1a2138',
  border3: '#151a30',
  border4: '#101426',
  border5: '#101426',
  fg: '#8f9bb3',
  fgHeading: '#ffffff',
  fgText: '#ffffff',
  fgHighlight: palette.primary,
  layoutBg: '#1b1b38',
  separator: '#1b1b38',
  primary: palette.primary,
  success: palette.success,
  info: palette.info,
  warning: palette.warning,
  danger: palette.danger,
  primaryLight: '#598bff',
  successLight: '#2ce69b',
  infoLight: '#42aaff',
  warningLight: '#ffc94d',
  dangerLight: '#ff708d'
};
const DARK_THEME = {
  name: 'dark',
  variables: {
    ...theme,
    temperature: {
      arcFill: Array(5).fill(theme.primary),
      arcEmpty: theme.bg2,
      thumbBg: theme.bg2,
      thumbBorder: theme.primary
    },
    solar: {
      gradientLeft: theme.primary,
      gradientRight: theme.primary,
      shadowColor: 'rgba(0, 0, 0, 0)',
      secondSeriesFill: theme.bg2,
      radius: ['80%', '90%']
    },
    traffic: {
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      yAxisSplitLine: theme.separator,
      lineBg: theme.border4,
      lineShadowBlur: '1',
      itemColor: theme.border4,
      itemBorderColor: theme.border4,
      itemEmphasisBorderColor: theme.primary,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      shadowLineShadow: 'rgba(0, 0, 0, 0)',
      gradFrom: theme.bg2,
      gradTo: theme.bg2
    },
    electricity: {
      tooltipBg: theme.bg,
      tooltipLineColor: theme.fgText,
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      axisLineColor: theme.border3,
      xAxisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      lineGradFrom: theme.primary,
      lineGradTo: theme.primary,
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.bg2,
      areaGradTo: theme.bg2,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    bubbleMap: {
      titleColor: theme.fgText,
      areaColor: theme.bg4,
      areaHoverColor: theme.fgHighlight,
      areaBorderColor: theme.border5
    },
    profitBarAnimationEchart: {
      textColor: theme.fgText,
      firstAnimationBarColor: theme.primary,
      secondAnimationBarColor: theme.success,
      splitLineStyleOpacity: '1',
      splitLineStyleWidth: '1',
      splitLineStyleColor: theme.separator,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    },
    trafficBarEchart: {
      gradientFrom: theme.warningLight,
      gradientTo: theme.warning,
      shadow: theme.warningLight,
      shadowBlur: '0',
      axisTextColor: theme.fgText,
      axisFontSize: '12',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal'
    },
    countryOrders: {
      countryBorderColor: theme.border4,
      countryFillColor: theme.bg3,
      countryBorderWidth: '1',
      hoveredCountryBorderColor: theme.primary,
      hoveredCountryFillColor: theme.primaryLight,
      hoveredCountryBorderWidth: '1',
      chartAxisLineColor: theme.border4,
      chartAxisTextColor: theme.fg,
      chartAxisFontSize: '16',
      chartGradientTo: theme.primary,
      chartGradientFrom: theme.primaryLight,
      chartAxisSplitLine: theme.separator,
      chartShadowLineColor: theme.primaryLight,
      chartLineBottomShadowColor: theme.primary,
      chartInnerLineColor: theme.bg2
    },
    echarts: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.fgText,
      splitLineColor: theme.separator,
      itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',
      tooltipBackgroundColor: theme.primary,
      areaOpacity: '0.7'
    },
    chartjs: {
      axisLineColor: theme.separator,
      textColor: theme.fgText
    },
    orders: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      // first line
      firstAreaGradFrom: theme.bg3,
      firstAreaGradTo: theme.bg3,
      firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // second line
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',
      secondAreaGradTo: 'rgba(51, 102, 255, 0)',
      secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // third line
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',
      thirdAreaGradTo: 'rgba(0, 214, 143, 0)',
      thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    profit: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.border4,
      splitLineColor: theme.separator,
      areaOpacity: '1',
      axisFontSize: '16',
      axisTextColor: theme.fg,
      // first bar
      firstLineGradFrom: theme.bg3,
      firstLineGradTo: theme.bg3,
      firstLineShadow: 'rgba(0, 0, 0, 0)',
      // second bar
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondLineShadow: 'rgba(0, 0, 0, 0)',
      // third bar
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdLineShadow: 'rgba(0, 0, 0, 0)'
    },
    orderProfitLegend: {
      firstItem: theme.success,
      secondItem: theme.primary,
      thirdItem: theme.bg3
    },
    visitors: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: '#ffffff',
      lineGradTo: '#ffffff',
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.primary,
      areaGradTo: theme.primaryLight,
      innerLineStyle: 'solid',
      innerLineWidth: '1',
      innerAreaGradFrom: theme.success,
      innerAreaGradTo: theme.success
    },
    visitorsLegend: {
      firstIcon: theme.success,
      secondIcon: theme.primary
    },
    visitorsPie: {
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      firstPieRadius: ['70%', '90%'],
      secondPieGradientLeft: theme.warning,
      secondPieGradientRight: theme.warningLight,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieRadius: ['60%', '97%'],
      shadowOffsetX: '0',
      shadowOffsetY: '0'
    },
    visitorsPieLegend: {
      firstSection: theme.warning,
      secondSection: theme.success
    },
    earningPie: {
      radius: ['65%', '100%'],
      center: ['50%', '50%'],
      fontSize: '22',
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieGradientLeft: theme.primary,
      secondPieGradientRight: theme.primary,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      thirdPieGradientLeft: theme.warning,
      thirdPieGradientRight: theme.warning,
      thirdPieShadowColor: 'rgba(0, 0, 0, 0)'
    },
    earningLine: {
      gradFrom: theme.primary,
      gradTo: theme.primary,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    }
  }
};

/***/ }),

/***/ 32530:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   S: () => (/* binding */ DEFAULT_THEME)
/* harmony export */ });
const palette = {
  primary: '#3366ff',
  success: '#00d68f',
  info: '#0095ff',
  warning: '#ffaa00',
  danger: '#ff3d71'
};
const theme = {
  fontMain: 'Open Sans, sans-serif',
  fontSecondary: 'Raleway, sans-serif',
  bg: '#ffffff',
  bg2: '#f7f9fc',
  bg3: '#edf1f7',
  bg4: '#e4e9f2',
  border: '#ffffff',
  border2: '#f7f9fc',
  border3: '#edf1f7',
  border4: '#e4e9f2',
  border5: '#c5cee0',
  fg: '#8f9bb3',
  fgHeading: '#1a2138',
  fgText: '#1a2138',
  fgHighlight: palette.primary,
  layoutBg: '#f7f9fc',
  separator: '#edf1f7',
  primary: palette.primary,
  success: palette.success,
  info: palette.info,
  warning: palette.warning,
  danger: palette.danger,
  primaryLight: '#598bff',
  successLight: '#2ce69b',
  infoLight: '#42aaff',
  warningLight: '#ffc94d',
  dangerLight: '#ff708d'
};
const DEFAULT_THEME = {
  name: 'default',
  variables: {
    ...theme,
    temperature: {
      arcFill: Array(5).fill(theme.primary),
      arcEmpty: theme.bg2,
      thumbBg: theme.bg2,
      thumbBorder: theme.primary
    },
    solar: {
      gradientLeft: theme.primary,
      gradientRight: theme.primary,
      shadowColor: 'rgba(0, 0, 0, 0)',
      secondSeriesFill: theme.bg2,
      radius: ['80%', '90%']
    },
    traffic: {
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      yAxisSplitLine: theme.separator,
      lineBg: theme.border4,
      lineShadowBlur: '1',
      itemColor: theme.border4,
      itemBorderColor: theme.border4,
      itemEmphasisBorderColor: theme.primary,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      shadowLineShadow: 'rgba(0, 0, 0, 0)',
      gradFrom: theme.bg2,
      gradTo: theme.bg2
    },
    electricity: {
      tooltipBg: theme.bg,
      tooltipLineColor: theme.fgText,
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      axisLineColor: theme.border3,
      xAxisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      lineGradFrom: theme.primary,
      lineGradTo: theme.primary,
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.bg2,
      areaGradTo: theme.bg2,
      shadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    bubbleMap: {
      titleColor: theme.fgText,
      areaColor: theme.bg4,
      areaHoverColor: theme.fgHighlight,
      areaBorderColor: theme.border5
    },
    profitBarAnimationEchart: {
      textColor: theme.fgText,
      firstAnimationBarColor: theme.primary,
      secondAnimationBarColor: theme.success,
      splitLineStyleOpacity: '1',
      splitLineStyleWidth: '1',
      splitLineStyleColor: theme.separator,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    },
    trafficBarEchart: {
      gradientFrom: theme.warningLight,
      gradientTo: theme.warning,
      shadow: theme.warningLight,
      shadowBlur: '0',
      axisTextColor: theme.fgText,
      axisFontSize: '12',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal'
    },
    countryOrders: {
      countryBorderColor: theme.border4,
      countryFillColor: theme.bg3,
      countryBorderWidth: '1',
      hoveredCountryBorderColor: theme.primary,
      hoveredCountryFillColor: theme.primaryLight,
      hoveredCountryBorderWidth: '1',
      chartAxisLineColor: theme.border4,
      chartAxisTextColor: theme.fg,
      chartAxisFontSize: '16',
      chartGradientTo: theme.primary,
      chartGradientFrom: theme.primaryLight,
      chartAxisSplitLine: theme.separator,
      chartShadowLineColor: theme.primaryLight,
      chartLineBottomShadowColor: theme.primary,
      chartInnerLineColor: theme.bg2
    },
    echarts: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.fgText,
      splitLineColor: theme.separator,
      itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',
      tooltipBackgroundColor: theme.primary,
      areaOpacity: '0.7'
    },
    chartjs: {
      axisLineColor: theme.separator,
      textColor: theme.fgText
    },
    orders: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '0',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'solid',
      lineWidth: '4',
      // first line
      firstAreaGradFrom: theme.bg3,
      firstAreaGradTo: theme.bg3,
      firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // second line
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',
      secondAreaGradTo: 'rgba(51, 102, 255, 0)',
      secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',
      // third line
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',
      thirdAreaGradTo: 'rgba(0, 214, 143, 0)',
      thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)'
    },
    profit: {
      bg: theme.bg,
      textColor: theme.fgText,
      axisLineColor: theme.border4,
      splitLineColor: theme.separator,
      areaOpacity: '1',
      axisFontSize: '16',
      axisTextColor: theme.fg,
      // first bar
      firstLineGradFrom: theme.bg3,
      firstLineGradTo: theme.bg3,
      firstLineShadow: 'rgba(0, 0, 0, 0)',
      // second bar
      secondLineGradFrom: theme.primary,
      secondLineGradTo: theme.primary,
      secondLineShadow: 'rgba(0, 0, 0, 0)',
      // third bar
      thirdLineGradFrom: theme.success,
      thirdLineGradTo: theme.successLight,
      thirdLineShadow: 'rgba(0, 0, 0, 0)'
    },
    orderProfitLegend: {
      firstItem: theme.success,
      secondItem: theme.primary,
      thirdItem: theme.bg3
    },
    visitors: {
      tooltipBg: theme.bg,
      tooltipLineColor: 'rgba(0, 0, 0, 0)',
      tooltipLineWidth: '1',
      tooltipBorderColor: theme.border2,
      tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '20',
      axisLineColor: theme.border4,
      axisFontSize: '16',
      axisTextColor: theme.fg,
      yAxisSplitLine: theme.separator,
      itemBorderColor: theme.primary,
      lineStyle: 'dotted',
      lineWidth: '6',
      lineGradFrom: '#ffffff',
      lineGradTo: '#ffffff',
      lineShadow: 'rgba(0, 0, 0, 0)',
      areaGradFrom: theme.primary,
      areaGradTo: theme.primaryLight,
      innerLineStyle: 'solid',
      innerLineWidth: '1',
      innerAreaGradFrom: theme.success,
      innerAreaGradTo: theme.success
    },
    visitorsLegend: {
      firstIcon: theme.success,
      secondIcon: theme.primary
    },
    visitorsPie: {
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      firstPieRadius: ['70%', '90%'],
      secondPieGradientLeft: theme.warning,
      secondPieGradientRight: theme.warningLight,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieRadius: ['60%', '97%'],
      shadowOffsetX: '0',
      shadowOffsetY: '0'
    },
    visitorsPieLegend: {
      firstSection: theme.warning,
      secondSection: theme.success
    },
    earningPie: {
      radius: ['65%', '100%'],
      center: ['50%', '50%'],
      fontSize: '22',
      firstPieGradientLeft: theme.success,
      firstPieGradientRight: theme.success,
      firstPieShadowColor: 'rgba(0, 0, 0, 0)',
      secondPieGradientLeft: theme.primary,
      secondPieGradientRight: theme.primary,
      secondPieShadowColor: 'rgba(0, 0, 0, 0)',
      thirdPieGradientLeft: theme.warning,
      thirdPieGradientRight: theme.warning,
      thirdPieShadowColor: 'rgba(0, 0, 0, 0)'
    },
    earningLine: {
      gradFrom: theme.primary,
      gradTo: theme.primary,
      tooltipTextColor: theme.fgText,
      tooltipFontWeight: 'normal',
      tooltipFontSize: '16',
      tooltipBg: theme.bg,
      tooltipBorderColor: theme.border2,
      tooltipBorderWidth: '1',
      tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;'
    }
  }
};

/***/ }),

/***/ 35358:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

var map = {
	"./af": 9838,
	"./af.js": 9838,
	"./ar": 85298,
	"./ar-dz": 30425,
	"./ar-dz.js": 30425,
	"./ar-kw": 68713,
	"./ar-kw.js": 68713,
	"./ar-ly": 61512,
	"./ar-ly.js": 61512,
	"./ar-ma": 43257,
	"./ar-ma.js": 43257,
	"./ar-ps": 52310,
	"./ar-ps.js": 52310,
	"./ar-sa": 60587,
	"./ar-sa.js": 60587,
	"./ar-tn": 67029,
	"./ar-tn.js": 67029,
	"./ar.js": 85298,
	"./az": 52714,
	"./az.js": 52714,
	"./be": 9852,
	"./be.js": 9852,
	"./bg": 86086,
	"./bg.js": 86086,
	"./bm": 2948,
	"./bm.js": 2948,
	"./bn": 50829,
	"./bn-bd": 89456,
	"./bn-bd.js": 89456,
	"./bn.js": 50829,
	"./bo": 17870,
	"./bo.js": 17870,
	"./br": 54297,
	"./br.js": 54297,
	"./bs": 61661,
	"./bs.js": 61661,
	"./ca": 68089,
	"./ca.js": 68089,
	"./cs": 44967,
	"./cs.js": 44967,
	"./cv": 63292,
	"./cv.js": 63292,
	"./cy": 77233,
	"./cy.js": 77233,
	"./da": 1026,
	"./da.js": 1026,
	"./de": 59598,
	"./de-at": 57726,
	"./de-at.js": 57726,
	"./de-ch": 63704,
	"./de-ch.js": 63704,
	"./de.js": 59598,
	"./dv": 75131,
	"./dv.js": 75131,
	"./el": 70792,
	"./el.js": 70792,
	"./en-au": 14777,
	"./en-au.js": 14777,
	"./en-ca": 55387,
	"./en-ca.js": 55387,
	"./en-gb": 35914,
	"./en-gb.js": 35914,
	"./en-ie": 13377,
	"./en-ie.js": 13377,
	"./en-il": 45226,
	"./en-il.js": 45226,
	"./en-in": 56960,
	"./en-in.js": 56960,
	"./en-nz": 43459,
	"./en-nz.js": 43459,
	"./en-sg": 52465,
	"./en-sg.js": 52465,
	"./eo": 929,
	"./eo.js": 929,
	"./es": 63557,
	"./es-do": 62995,
	"./es-do.js": 62995,
	"./es-mx": 24383,
	"./es-mx.js": 24383,
	"./es-us": 13794,
	"./es-us.js": 13794,
	"./es.js": 63557,
	"./et": 80880,
	"./et.js": 80880,
	"./eu": 4103,
	"./eu.js": 4103,
	"./fa": 50276,
	"./fa.js": 50276,
	"./fi": 33884,
	"./fi.js": 33884,
	"./fil": 41634,
	"./fil.js": 41634,
	"./fo": 35130,
	"./fo.js": 35130,
	"./fr": 2109,
	"./fr-ca": 63330,
	"./fr-ca.js": 63330,
	"./fr-ch": 82633,
	"./fr-ch.js": 82633,
	"./fr.js": 2109,
	"./fy": 61132,
	"./fy.js": 61132,
	"./ga": 85789,
	"./ga.js": 85789,
	"./gd": 75026,
	"./gd.js": 75026,
	"./gl": 90858,
	"./gl.js": 90858,
	"./gom-deva": 60947,
	"./gom-deva.js": 60947,
	"./gom-latn": 46100,
	"./gom-latn.js": 46100,
	"./gu": 15665,
	"./gu.js": 15665,
	"./he": 9466,
	"./he.js": 9466,
	"./hi": 97006,
	"./hi.js": 97006,
	"./hr": 43571,
	"./hr.js": 43571,
	"./hu": 39882,
	"./hu.js": 39882,
	"./hy-am": 67477,
	"./hy-am.js": 67477,
	"./id": 19148,
	"./id.js": 19148,
	"./is": 89833,
	"./is.js": 89833,
	"./it": 33532,
	"./it-ch": 79206,
	"./it-ch.js": 79206,
	"./it.js": 33532,
	"./ja": 84760,
	"./ja.js": 84760,
	"./jv": 18173,
	"./jv.js": 18173,
	"./ka": 56769,
	"./ka.js": 56769,
	"./kk": 87191,
	"./kk.js": 87191,
	"./km": 88917,
	"./km.js": 88917,
	"./kn": 82220,
	"./kn.js": 82220,
	"./ko": 90323,
	"./ko.js": 90323,
	"./ku": 53421,
	"./ku-kmr": 91494,
	"./ku-kmr.js": 91494,
	"./ku.js": 53421,
	"./ky": 3433,
	"./ky.js": 3433,
	"./lb": 95223,
	"./lb.js": 95223,
	"./lo": 74228,
	"./lo.js": 74228,
	"./lt": 50725,
	"./lt.js": 50725,
	"./lv": 25411,
	"./lv.js": 25411,
	"./me": 80191,
	"./me.js": 80191,
	"./mi": 66739,
	"./mi.js": 66739,
	"./mk": 24757,
	"./mk.js": 24757,
	"./ml": 65376,
	"./ml.js": 65376,
	"./mn": 12522,
	"./mn.js": 12522,
	"./mr": 11662,
	"./mr.js": 11662,
	"./ms": 72365,
	"./ms-my": 67024,
	"./ms-my.js": 67024,
	"./ms.js": 72365,
	"./mt": 15160,
	"./mt.js": 15160,
	"./my": 36323,
	"./my.js": 36323,
	"./nb": 13557,
	"./nb.js": 13557,
	"./ne": 73408,
	"./ne.js": 73408,
	"./nl": 68991,
	"./nl-be": 57569,
	"./nl-be.js": 57569,
	"./nl.js": 68991,
	"./nn": 29825,
	"./nn.js": 29825,
	"./oc-lnc": 27169,
	"./oc-lnc.js": 27169,
	"./pa-in": 79204,
	"./pa-in.js": 79204,
	"./pl": 26505,
	"./pl.js": 26505,
	"./pt": 79841,
	"./pt-br": 2986,
	"./pt-br.js": 2986,
	"./pt.js": 79841,
	"./ro": 54782,
	"./ro.js": 54782,
	"./ru": 54460,
	"./ru.js": 54460,
	"./sd": 35526,
	"./sd.js": 35526,
	"./se": 53797,
	"./se.js": 53797,
	"./si": 64177,
	"./si.js": 64177,
	"./sk": 42191,
	"./sk.js": 42191,
	"./sl": 38510,
	"./sl.js": 38510,
	"./sq": 52153,
	"./sq.js": 52153,
	"./sr": 34752,
	"./sr-cyrl": 60767,
	"./sr-cyrl.js": 60767,
	"./sr.js": 34752,
	"./ss": 24471,
	"./ss.js": 24471,
	"./sv": 76972,
	"./sv.js": 76972,
	"./sw": 43059,
	"./sw.js": 43059,
	"./ta": 23794,
	"./ta.js": 23794,
	"./te": 94558,
	"./te.js": 94558,
	"./tet": 10112,
	"./tet.js": 10112,
	"./tg": 6356,
	"./tg.js": 6356,
	"./th": 87641,
	"./th.js": 87641,
	"./tk": 92992,
	"./tk.js": 92992,
	"./tl-ph": 55886,
	"./tl-ph.js": 55886,
	"./tlh": 26705,
	"./tlh.js": 26705,
	"./tr": 28719,
	"./tr.js": 28719,
	"./tzl": 95971,
	"./tzl.js": 95971,
	"./tzm": 14332,
	"./tzm-latn": 78084,
	"./tzm-latn.js": 78084,
	"./tzm.js": 14332,
	"./ug-cn": 67447,
	"./ug-cn.js": 67447,
	"./uk": 27597,
	"./uk.js": 27597,
	"./ur": 28502,
	"./ur.js": 28502,
	"./uz": 47806,
	"./uz-latn": 43238,
	"./uz-latn.js": 43238,
	"./uz.js": 47806,
	"./vi": 71052,
	"./vi.js": 71052,
	"./x-pseudo": 20624,
	"./x-pseudo.js": 20624,
	"./yo": 20877,
	"./yo.js": 20877,
	"./zh-cn": 27409,
	"./zh-cn.js": 27409,
	"./zh-hk": 98861,
	"./zh-hk.js": 98861,
	"./zh-mo": 47408,
	"./zh-mo.js": 47408,
	"./zh-tw": 50885,
	"./zh-tw.js": 50885
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 35358;

/***/ }),

/***/ 45900:
/***/ ((module) => {

"use strict";
module.exports = {"rE":"0.1.0"};

/***/ })

},
/******/ __webpack_require__ => { // webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
/******/ __webpack_require__.O(0, [4121], () => (__webpack_exec__(22909)));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);