{"version":3,"file":"shared-general-components.mjs","sources":["../../../projects/shared-general-components/src/lib/primary-colors.ts","../../../projects/shared-general-components/src/lib/ng-chip/ng-chip.model.ts","../../../projects/shared-general-components/src/lib/custom-theme.ts","../../../projects/shared-general-components/src/lib/models/enum-option.model.ts","../../../projects/shared-general-components/src/lib/services/enum-helper-base.service.ts","../../../projects/shared-general-components/src/lib/models/enum-helper-base.ts","../../../projects/shared-general-components/src/lib/ng-chip/ng-chip.component.ts","../../../projects/shared-general-components/src/lib/ng-chip/ng-chip.component.html","../../../projects/shared-general-components/src/lib/card-category/card-category.component.ts","../../../projects/shared-general-components/src/lib/card-category/card-category.component.html","../../../projects/shared-general-components/src/lib/circle-boolean-icon/circle-boolean-icon.component.ts","../../../projects/shared-general-components/src/lib/circle-boolean-icon/circle-boolean-icon.component.html","../../../projects/shared-general-components/src/lib/description-card/description-card-content/description-card-content.component.ts","../../../projects/shared-general-components/src/lib/description-card/description-card-content/description-card-content.component.html","../../../projects/shared-general-components/src/lib/description-card/description-card/description-card.component.ts","../../../projects/shared-general-components/src/lib/description-card/description-card/description-card.component.html","../../../projects/shared-general-components/src/lib/models/toggle-list-grid-view-type.model.ts","../../../projects/shared-general-components/src/lib/toggle-list-grid-view/toggle-list-grid-view.component.ts","../../../projects/shared-general-components/src/lib/toggle-list-grid-view/toggle-list-grid-view.component.html","../../../projects/shared-general-components/src/lib/models/list-type.enum.ts","../../../projects/shared-general-components/src/lib/back-click-directive.ts","../../../projects/shared-general-components/src/lib/jooler-paginator/jooler-paginator.component.ts","../../../projects/shared-general-components/src/lib/jooler-paginator/jooler-paginator.component.html","../../../projects/shared-general-components/src/lib/shared-general-components.module.ts","../../../projects/shared-general-components/src/lib/models/ng-chip.model.ts","../../../projects/shared-general-components/src/lib/models/enum-custom-color-mapping.ts","../../../projects/shared-general-components/src/lib/models/enum-custom-label-mapping.ts","../../../projects/shared-general-components/src/public-api.ts","../../../projects/shared-general-components/src/shared-general-components.ts"],"sourcesContent":["export class PrimaryColors {\r\n  static $primaryBlueColor = '#155ED4';\r\n  static $primaryPinkColor = '#F0509C';\r\n  static $primaryTealColor = '#12957E';\r\n  static $primaryCarbonColor = '#32353B';\r\n  static $primaryPurpleColor = '#E3B1EB';\r\n  static $primaryRedColor = '#A80002';\r\n  static $primaryLightRedColor = '#FFDBDB';\r\n  static $primaryLightGrayBlueColor = '#f7f8f9';\r\n  static $primaryLightGrayColor = '#f0f0f0';\r\n  static $primaryLightBlueColor = '#b9cff2';\r\n}","export class NgChip {\r\n    label: string;\r\n    color: string;\r\n}\r\n\r\nexport enum ChipInputType {\r\n    CUSTOM = 0,\r\n    ENUM = 1\r\n}\r\n\r\nexport enum ChipSize {\r\n    SMALL = 0,\r\n    MEDIUM = 1,\r\n    LARGE = 2\r\n}","export class CustomTheme {\r\n  static $joolerBlue = [\r\n    '#e3ecfa',\r\n    '#b9cff2',\r\n    '#8aafea',\r\n    '#5b8ee1',\r\n    '#3876da',\r\n    '#155ed4',\r\n    '#1256cf',\r\n    '#0f4cc9',\r\n    '#0c42c3',\r\n    '#0631b9',\r\n    '#e3e8ff',\r\n    '#b0bfff',\r\n    '#7d95ff',\r\n    '#6481ff',\r\n  ];\r\n  static $joolerTeal = [\r\n    '#b8dfd8',\r\n    '#89cabf',\r\n    '#59b5a5',\r\n    '#36a591',\r\n    '#12957e',\r\n    '#108d76',\r\n    '#0d826b',\r\n    '#0a7861',\r\n    '#05674e',\r\n    '#97ffe1',\r\n    '#64ffd2',\r\n    '#31ffc3',\r\n    '#18ffbc',\r\n  ];\r\n  static $joolerRed = [\r\n    '#f5e0e1',\r\n    '#e5b3b3',\r\n    '#d48081',\r\n    '#c24d4e',\r\n    '#b52628',\r\n    '#a80002',\r\n    '#a00002',\r\n    '#970001',\r\n    '#8d0001',\r\n    '#7d0001',\r\n    '#ffaaaa',\r\n    '#ff7777',\r\n    '#ff4444',\r\n    '#ff2a2a',\r\n  ];\r\n  static $joolerPink = [\r\n    '#fdeaf3',\r\n    '#fbcbe1',\r\n    '#f8a8ce',\r\n    '#f585ba',\r\n    '#f26aab',\r\n    '#f0509c',\r\n    '#ee4994',\r\n    '#ec408a',\r\n    '#e93780',\r\n    '#e5276e',\r\n    '#ffffff',\r\n    '#ffeef4',\r\n    '#ffbbd3',\r\n    '#ffa1c2',\r\n  ];\r\n  static $joolerPurple = [\r\n    '#fcf6fd',\r\n    '#f7e8f9',\r\n    '#f1d8f5',\r\n    '#ebc8f1',\r\n    '#e7bdee',\r\n    '#e3b1eb',\r\n    '#e0aae9',\r\n    '#dca1e5',\r\n    '#d898e2',\r\n    '#d088dd',\r\n    '#ffffff',\r\n    '#ffffff',\r\n    '#ffffff',\r\n    '#fcecff',\r\n  ];\r\n  static $joolerCombo = [\r\n    '#b9cff2',\r\n    '#b8dfd8',\r\n    '#ffaaaa',\r\n    '#fbcbe1',\r\n    '#f1d8f5',\r\n    '#8aafea',\r\n    '#97ffe1',\r\n    '#ff7777',\r\n    '#f585ba',\r\n    '#e7bdee',\r\n    '#6481ff',\r\n    '#18ffbc',\r\n    '#ff4444',\r\n    '#ffa1c2',\r\n    '#e0aae9',\r\n    '#1256cf',\r\n    '#108d76',\r\n    '#df0000',\r\n    '#ec408a',\r\n    '#d088dd',\r\n  ];\r\n}\r\n","export class EnumOption {\r\n  value: number;\r\n  label: string;\r\n  color: string;\r\n  description?: string;\r\n  disabled?: boolean;\r\n\r\n\r\n  constructor(value: number, label: string, color: string, disabled: boolean = false) {\r\n    this.value = value;\r\n    this.label = label;\r\n    this.color = color;\r\n    this.disabled = disabled;\r\n  }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { IEnumCustomColorMapping } from '../models/enum-custom-color-mapping';\r\nimport { IEnumCustomLabelMapping } from '../models/enum-custom-label-mapping';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class EnumHelperBaseService {\r\n  constructor(\r\n    @Inject('customColorMappings') private customColorMappings?: IEnumCustomColorMapping[], \r\n    @Inject('customLabelMappings') private customLabelMappings?: IEnumCustomLabelMapping[]\r\n  ) { }\r\n\r\n  getInjectedCustomColors() {\r\n    return this.customColorMappings;\r\n  }\r\n\r\n  getInjectedCustomLabels() {\r\n    return this.customLabelMappings;\r\n  }\r\n}\r\n","import { CustomTheme } from \"../custom-theme\";\r\nimport { EnumOption } from \"./enum-option.model\";\r\nimport { EnumHelperBaseService } from \"../services/enum-helper-base.service\";\r\nimport { IEnumCustomColorMapping } from \"./enum-custom-color-mapping\";\r\nimport { IEnumCustomLabelMapping } from \"./enum-custom-label-mapping\";\r\nimport { AppInjector } from \"../shared-general-components.module\";\r\n\r\nexport class EnumHelperBaseClass {\r\n  private enumHelperBaseService: EnumHelperBaseService;\r\n  constructor() {\r\n    this.enumHelperBaseService = AppInjector.get(EnumHelperBaseService);\r\n  }\r\n\r\n  getEnumOptionsFromEnumClass(\r\n    enumClass: any,\r\n    customColors?: string[],\r\n    isAllCaps: boolean = false\r\n  ) {\r\n    let enumOption: EnumOption;\r\n    let enumOptions: EnumOption[] = [];\r\n\r\n    let stringValues: string[] = this.getStringValuesForEnumClass(\r\n      enumClass,\r\n      isAllCaps\r\n    );\r\n    let colors: string[] = this.getColorsForEnumClass(\r\n      enumClass,\r\n      stringValues,\r\n      customColors\r\n    );\r\n    let i = 0;\r\n    for (let label of stringValues) {\r\n      enumOption = new EnumOption(Object.keys(enumClass).map(Number)[i], label, colors[i]);\r\n      enumOptions.push(enumOption);\r\n      i++;\r\n    }\r\n    return enumOptions;\r\n  }\r\n\r\n  getColorsForEnumClass(\r\n    enumClass: any,\r\n    stringValues: string[],\r\n    customColors?: string[]\r\n  ): string[] {\r\n    let colors: string[] = CustomTheme.$joolerCombo;\r\n    let enumSpecificColors: IEnumCustomColorMapping = this.enumHelperBaseService.getInjectedCustomColors().find(\r\n      item => Object.keys(item.enumClass).toString() == Object.keys(enumClass).toString()\r\n    );\r\n\r\n    if (enumSpecificColors) {\r\n      colors = enumSpecificColors.colors;\r\n    }\r\n    if (customColors && customColors.length > 0) {\r\n      colors = customColors;\r\n    }\r\n    // in case the array of colors is smaller than the stringValues array, we repeat the the colors so that they are enough\r\n    if (stringValues.length > colors.length) {\r\n      for (let label of stringValues) {\r\n        colors.push(colors[stringValues.indexOf(label) % colors.length]);\r\n      }\r\n    }\r\n    return colors;\r\n  }\r\n\r\n  getStringValuesForEnumClass(enumClass: any, isAllCaps?: boolean): string[] {\r\n    let stringValues: string[] = [];\r\n    let enumCustomLabels: IEnumCustomLabelMapping = this.enumHelperBaseService.getInjectedCustomLabels().find(\r\n      item => Object.keys(item.enumClass).toString() == Object.keys(enumClass).toString()\r\n    );\r\n\r\n    if (enumCustomLabels) {\r\n      stringValues = enumCustomLabels.labels;\r\n    } else {\r\n      for (let item in enumClass) {\r\n        if (isNaN(Number(item))) {\r\n          let joinedString: string;\r\n          stringValues.push(item);\r\n          let splitStr = item.toLowerCase().split('_');\r\n          if (!isAllCaps) {\r\n            for (let i = 0; i < splitStr.length; i++) {\r\n              splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);\r\n            }\r\n          } else {\r\n            for (let i = 0; i < splitStr.length; i++) {\r\n              splitStr[i] = splitStr[i].toUpperCase();\r\n            }\r\n          }\r\n          joinedString = splitStr.join(' ');\r\n          stringValues.splice(stringValues.indexOf(item), 1, joinedString);\r\n        }\r\n      }\r\n    }\r\n    return stringValues;\r\n  }\r\n\r\n  getLabelAndColorFromEnumValue(\r\n    enumClass: any,\r\n    enumValue: number,\r\n    customColors?: string[]\r\n  ): EnumOption {\r\n    let enumOptions: EnumOption[] = this.getEnumOptionsFromEnumClass(\r\n      enumClass,\r\n      customColors\r\n    );\r\n    let enumOption: EnumOption;\r\n    for (let item of enumOptions) {\r\n      if (enumValue == item.value) {\r\n        enumOption = enumOptions[enumOptions.indexOf(item)];\r\n      }\r\n    }\r\n    return enumOption;\r\n  }\r\n}","import { ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { Color } from '@angular-material-components/color-picker';\r\nimport { PrimaryColors } from '../primary-colors';\r\nimport { ChipInputType, ChipSize } from './ng-chip.model';\r\nimport { EnumHelperBaseClass } from '../models/enum-helper-base';\r\nimport { EnumOption } from '../models/enum-option.model';\r\nimport { EnumHelperBaseService } from '../services/enum-helper-base.service';\r\n\r\n@Component({\r\n  selector: 'ng-chip',\r\n  templateUrl: './ng-chip.component.html',\r\n  styleUrls: ['./ng-chip.component.scss'],\r\n})\r\nexport class NgChipComponent implements OnInit {\r\n  chipSizes = ChipSize;\r\n  generatedId: string;\r\n  styles: any = {};\r\n  @Input() backgroundColor: string = PrimaryColors.$primaryLightBlueColor;\r\n  @Input() size: ChipSize = ChipSize.MEDIUM;\r\n  @Input() clear: any;\r\n  @Input() customColors: string[];\r\n  @Input() enumClass: any;\r\n  @Input() enumValue: number;\r\n  @Input() inputType: ChipInputType = ChipInputType.ENUM;\r\n  @Input() item: any;\r\n  @Input() isClickable: boolean;\r\n  @Input() label: string;\r\n  @Input() width: number;\r\n  @Input() withCross: boolean = false;\r\n\r\n  constructor(private _EnumHelperBaseService: EnumHelperBaseService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.validateChipInputs();\r\n    this.setupChip();\r\n    this.setChipStyles();\r\n  }\r\n\r\n  ngOnChanges() {\r\n    this.setupChip();\r\n  }\r\n\r\n  validateChipInputs() {\r\n    if (this.inputType == ChipInputType.ENUM) {\r\n      if (this.enumValue == null || this.enumValue == undefined) {\r\n        throw Error('An enum value is required for chip input type: ENUM');\r\n      }\r\n      if (this.enumClass == null || this.enumClass == undefined) {\r\n        throw Error('An enum class is required for chip input type: ENUM');\r\n      }\r\n    } else if (this.inputType == ChipInputType.CUSTOM) {\r\n      if (this.label == null || this.label == undefined || this.label == '') {\r\n        throw Error('A label is required for chip input type: CUSTOM');\r\n      }\r\n    } else {\r\n      throw Error('ChipInputType is not recognized');\r\n    }\r\n  }\r\n\r\n  setupChip() {\r\n    if (this.inputType == ChipInputType.ENUM) {\r\n      this.setupEnumBasedChip();\r\n    } else if (this.inputType == ChipInputType.CUSTOM) {\r\n    } else {\r\n      throw Error('ChipInputType is not recognized');\r\n    }\r\n  }\r\n\r\n  setupEnumBasedChip() {\r\n    let enumOption: EnumOption =\r\n      new EnumHelperBaseClass().getLabelAndColorFromEnumValue(\r\n        this.enumClass,\r\n        this.enumValue,\r\n        this.customColors\r\n      );\r\n    this.label = enumOption.label;\r\n\r\n    this.backgroundColor = enumOption.color;\r\n    this.setChipStyles();\r\n  }\r\n\r\n  determinePadding() {\r\n    let padding: number;\r\n    if (this.size == ChipSize.SMALL) {\r\n      padding = 0.8;\r\n    } else if (this.size == ChipSize.MEDIUM) {\r\n      padding = 1.0;\r\n    } else if (this.size == ChipSize.LARGE) {\r\n      padding = 1.4;\r\n    } else {\r\n      throw Error('ChipSize is not recognized.');\r\n    }\r\n\r\n    return padding;\r\n  }\r\n\r\n  setChipStyles() {\r\n    let padding: number = this.determinePadding();\r\n    this.styles = {\r\n      color: this.setChipTextColor(),\r\n      backgroundColor: this.backgroundColor,\r\n      padding: '0 ' + padding + 'rem',\r\n    };\r\n  }\r\n\r\n  setChipTextColor() {\r\n    if (this.backgroundColor && Array.isArray(this.backgroundColor) == false) {\r\n      let r = parseInt(this.backgroundColor.substring(1, 3), 16);\r\n      let g = parseInt(this.backgroundColor.substring(3, 5), 16);\r\n      let b = parseInt(this.backgroundColor.substring(5, 7), 16);\r\n      let yiq = (r * 299 + g * 587 + b * 114) / 1000;\r\n      return yiq >= 128 ? 'black' : 'white';\r\n    } else if (this.backgroundColor && Array.isArray(this.backgroundColor)) {\r\n      let color = new Color(\r\n        this.backgroundColor[0],\r\n        this.backgroundColor[1],\r\n        this.backgroundColor[2],\r\n        this.backgroundColor[3]\r\n      );\r\n      this.backgroundColor = '#' + color.hex;\r\n      let yiq = (color.r * 299 + color.g * 587 + color.b * 114) / 1000;\r\n      return yiq >= 128 ? 'black' : 'white';\r\n    }\r\n  }\r\n}","<div class=\"chip\" [style]=\"styles\"\r\n  [ngClass]=\"{'clickable': isClickable,'small-chip': size == chipSizes.SMALL,'medium-chip': size == chipSizes.MEDIUM,'large-chip': size == chipSizes.LARGE}\">\r\n  <span>\r\n    <span class=\"label\">{{ label }}</span>\r\n    <span *ngIf=\"withCross\" class=\"icon\" (click)=\"clear(item)\">×</span>\r\n  </span>\r\n</div>","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n  selector: 'card-category',\r\n  templateUrl: './card-category.component.html',\r\n  styleUrls: ['./card-category.component.scss'],\r\n  // encapsulation: ViewEncapsulation.Emulated\r\n\r\n})\r\nexport class CardCategoryComponent implements OnInit {\r\n  @Input() title: string;\r\n  @Input() imageSource: string;\r\n  @Input() route: string;\r\n  @Input() canRoute: boolean = false;\r\n  @Input() size: number = 180;\r\n  cardStyle: any;\r\n\r\n  constructor(private _Router: Router) { }\r\n\r\n  ngOnInit() {\r\n    if (this.route) {\r\n      this.canRoute = true;\r\n    }\r\n    this.setStyle();\r\n  }\r\n\r\n  onClick() {\r\n    if (this.canRoute) {\r\n      this._Router.navigate([this.route]);\r\n    }\r\n  }\r\n\r\n  setStyle() {\r\n    let style = {\r\n      \"height\": this.size + \"px\",\r\n      \"width\": this.size + \"px\"\r\n    }\r\n    this.cardStyle = style;\r\n  }\r\n}\r\n","<mat-card class=\"mat-elevation-z15 card card-press\" (click)=\"onClick()\" [ngStyle]=\"cardStyle\">\r\n  <mat-card-content fxLayout=\"column\" fxLayoutAlign=\"space-between\" fxFlex class=\"content-container\">\r\n    <div class=\"title\">{{title}}</div>\r\n  </mat-card-content>\r\n</mat-card>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'circle-boolean-icon',\r\n  templateUrl: './circle-boolean-icon.component.html',\r\n  styleUrls: ['./circle-boolean-icon.component.scss']\r\n})\r\nexport class CircleBooleanIconComponent implements OnInit {\r\n  @Input() booleanValue: boolean;\r\n  @Input() iconColor: string = \"black\";\r\n  @Input() iconSize: number = 1;\r\n  @Input() fontColor: string = \"black\";\r\n  @Input() fontSize: number = 1;\r\n  @Input() name: string;\r\n  @Input() showName: boolean = false;\r\n  @Input() marginLeft: number = 0;\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  setFontStyles() {\r\n    let style;\r\n    if (this.fontSize && this.fontColor) {\r\n      style = {\r\n        'color': this.fontColor,\r\n        'font-size': (this.fontSize.toString() + 'em'),\r\n      }\r\n      return style;\r\n    }\r\n  }\r\n\r\n  setIconStyles() {\r\n    let style;\r\n    if (this.iconSize && this.iconColor) {\r\n      style = {\r\n        'color': this.iconColor,\r\n        'font-size': (this.iconSize.toString() + 'em'),\r\n        'margin-left': (this.marginLeft.toString() + 'px'),\r\n      }\r\n      return style;\r\n    }\r\n  }\r\n}","<div class=\"general-icon\">\r\n    <span [ngStyle]=\"setFontStyles()\" *ngIf=\"showName\"> {{name}}: </span>\r\n    <fa-icon [ngStyle]=\"setIconStyles()\" *ngIf=\"booleanValue==true\" [icon]=\"['fas', 'circle']\"></fa-icon>\r\n    <fa-icon [ngStyle]=\"setIconStyles()\" *ngIf=\"booleanValue==false\" [icon]=\"['far', 'circle']\"></fa-icon>\r\n</div>","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'description-card-content',\r\n  templateUrl: './description-card-content.component.html',\r\n  styleUrls: ['./description-card-content.component.scss']\r\n})\r\nexport class DescriptionCardContentComponent implements OnInit {\r\n  @Input() isDisabled: boolean = false;\r\n  @Input() defaultContentValue: string = \"Add a short description here...\";\r\n  @Input() addContentLabel: string = \"Add Content\";\r\n  @Input() textboxPlaceholder: string = \"Enter Description here...\";\r\n  @Input() isAddContentClickedOn: boolean = false;\r\n  @Input() height: string; // Must accept pixel.\r\n  contentValue: string = \"\";\r\n  rows: number = 1;\r\n  isContentUpdated: boolean = false;\r\n  @Output() wasContentUpdated = new EventEmitter(this.isContentUpdated);\r\n  @Output() wasAddContentClickedOn = new EventEmitter(this.isAddContentClickedOn);\r\n  @Output() contentWasUpdated = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n    this.calculateRows();\r\n  }\r\n\r\n  calculateRows() {\r\n    let heightValueString: string = this.height.substr(0, this.height.length - 2);\r\n    let heightValueNum: number = parseFloat(heightValueString);\r\n    this.rows = Math.floor((((heightValueNum * 0.9) - 100) / 22.0));\r\n  }\r\n\r\n  showContent() {\r\n    if (this.isDisabled && this.contentValue == \"\") {\r\n      return false;\r\n    }\r\n    else {\r\n      return true;\r\n    }\r\n  }\r\n\r\n  onClickAddContent() {\r\n    this.isAddContentClickedOn = true;\r\n    this.wasAddContentClickedOn.emit(this.isAddContentClickedOn);\r\n  }\r\n\r\n  onClickCancel() {\r\n    this.isAddContentClickedOn = false;\r\n    this.wasAddContentClickedOn.emit(this.isAddContentClickedOn);\r\n  }\r\n\r\n  onClickSave(contentInput) {\r\n    this.isAddContentClickedOn = false;\r\n    this.wasAddContentClickedOn.emit(this.isAddContentClickedOn);\r\n\r\n    let value = contentInput.value;\r\n    if (value.trim().length == 0) {\r\n      this.isContentUpdated = false;\r\n      this.wasContentUpdated.emit(this.isContentUpdated);\r\n    }\r\n    else {\r\n      this.contentValue = value;\r\n      this.isContentUpdated = true;\r\n      this.wasContentUpdated.emit(this.isContentUpdated);\r\n      this.contentWasUpdated.emit(this.contentValue);\r\n    }\r\n  }\r\n\r\n  onClickEdit() {\r\n    this.isAddContentClickedOn = true;\r\n\r\n  }\r\n}\r\n","<div class=\"content\" *ngIf=\"showContent()\">\r\n  <div class=\"default-content\" *ngIf=\"!isAddContentClickedOn && !isContentUpdated\">\r\n    <div class=\"content-icon-container\">\r\n      <fa-icon [icon]=\"['far', 'comment-alt']\"></fa-icon>\r\n    </div>\r\n    <div class=\"content-label\">\r\n      {{defaultContentValue}}\r\n    </div>\r\n    <div class=\"add-content\" (click)=\"onClickAddContent()\">\r\n      {{addContentLabel}} </div>\r\n  </div>\r\n  <div class=\"edit-content\" *ngIf=\"isAddContentClickedOn\">\r\n    <textarea [disabled]=\"isDisabled\" [value]=\"contentValue\" #contentInput class=\"form-control\" [rows]=\"rows\"\r\n      [placeholder]=\"textboxPlaceholder\">\r\n        </textarea>\r\n    <button type=\"button\" class=\"btn\" (click)=\"onClickCancel()\" mat-raised-button>Cancel</button>\r\n    <button mat-raised-button type=\"button\" (click)=\"onClickSave(contentInput)\" color=\"primary\">Save</button>\r\n  </div>\r\n  <div class=\"updated-content\" *ngIf=\"!isAddContentClickedOn && isContentUpdated\">\r\n    <div class=\"content-updated\">\r\n      {{contentValue}}\r\n    </div>\r\n  </div>\r\n</div>","import { Component, OnInit, Input, forwardRef, Output, EventEmitter, ViewChild } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { DescriptionCardContentComponent } from '../description-card-content/description-card-content.component';\r\n\r\n@Component({\r\n  selector: 'description-card',\r\n  templateUrl: './description-card.component.html',\r\n  styleUrls: ['./description-card.component.scss'],\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => DescriptionCardComponent),\r\n      multi: true\r\n    }\r\n  ]\r\n})\r\nexport class DescriptionCardComponent implements OnInit, ControlValueAccessor {\r\n  @Input() width: string = '50%';\r\n  @Input() height: string = '200px';\r\n  @Input() contentCardTitle: string;\r\n  @Input() defaultContentValue: string;\r\n  @Input() addContentLabel: string;\r\n  @Input() textboxPlaceholder: string;\r\n  @Input() isDisabled: boolean = false;\r\n  @Input() textData: string;\r\n  @Output() contentWasUpdated = new EventEmitter();\r\n  @ViewChild(DescriptionCardContentComponent) cardContent: DescriptionCardContentComponent;\r\n  isAddContentClickedOn: boolean = false;\r\n  isUpdated: boolean = false;\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n    if (this.textData) {\r\n      this.isUpdated = true;\r\n      this.cardContent.contentValue = this.textData;\r\n      this.cardContent.isContentUpdated = true;\r\n    }\r\n  }\r\n\r\n  writeValue(textData: string) {\r\n    this.checkIfDataLoaded().then(() => {\r\n      if (textData) {\r\n        this.textData = textData;\r\n        this.isUpdated = true;\r\n        this.cardContent.contentValue = textData;\r\n        this.cardContent.isContentUpdated = true;\r\n      }\r\n      this.propagateChange(textData);\r\n    });\r\n  }\r\n\r\n  propagateChange = (_: any) => { };\r\n  onTouched = () => { };\r\n\r\n  registerOnChange(fn) {\r\n    this.propagateChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: () => void): void {\r\n    this.onTouched = fn;\r\n  }\r\n\r\n  onClickEdit() {\r\n    this.isAddContentClickedOn = true;\r\n  }\r\n\r\n  updateContent($event) {\r\n    this.textData = $event;\r\n    this.propagateChange(this.textData);\r\n    this.onTouched();\r\n    this.contentWasUpdated.emit(this.textData);\r\n  }\r\n\r\n  changeWasContentUpdated($event) {\r\n    this.isUpdated = $event;\r\n  }\r\n\r\n  changeWasAddContentClickedOn($event) {\r\n    this.isAddContentClickedOn = $event;\r\n  }\r\n\r\n  setContentStyle() {\r\n    let height: string = this.height.substring(0, this.height.length - 2);\r\n    let heightValue: number = +height;\r\n    let newHeight: string = (heightValue * 0.7) + 'px';\r\n    let styles = {\r\n      'height': newHeight\r\n    };\r\n    return styles;\r\n  }\r\n\r\n  checkIfDataLoaded() {\r\n    return new Promise((resolve, reject) => {\r\n      if (this.cardContent) {\r\n        resolve(true);\r\n      } else {\r\n        resolve(false);\r\n      }\r\n    });\r\n  }\r\n}\r\n","<mat-card class=\"desc\" [ngStyle]=\"{'width': width, 'height' : height}\">\r\n  <mat-card-title align=\"center\">\r\n    {{contentCardTitle}}\r\n    <div *ngIf=\"isUpdated && !isDisabled\" class=\"edit-icon-container\" (click)=\"onClickEdit()\">\r\n      <fa-icon [icon]=\"['fas', 'pencil-alt']\"></fa-icon>\r\n    </div>\r\n  </mat-card-title>\r\n  <mat-card-content [ngStyle]=\"setContentStyle()\">\r\n    <description-card-content [height]=\"height\" class=\"description-card-content\" [isDisabled]=\"isDisabled\"\r\n      [addContentLabel]=\"addContentLabel\" [defaultContentValue]=\"defaultContentValue\"\r\n      [textboxPlaceholder]=\"textboxPlaceholder\" (contentWasUpdated)=\"updateContent($event)\"\r\n      [isAddContentClickedOn]=\"isAddContentClickedOn\" (wasAddContentClickedOn)=\"changeWasAddContentClickedOn($event)\"\r\n      (wasContentUpdated)=\"changeWasContentUpdated($event)\">\r\n    </description-card-content>\r\n  </mat-card-content>\r\n</mat-card>","export enum ToggleListGridViewType {\r\n    GRID = 0,\r\n    LIST = 1\r\n}","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ToggleListGridViewType } from '../models/toggle-list-grid-view-type.model';\r\n\r\n@Component({\r\n  selector: 'toggle-list-grid-view',\r\n  templateUrl: './toggle-list-grid-view.component.html',\r\n  styleUrls: ['./toggle-list-grid-view.component.scss']\r\n})\r\nexport class ToggleListGridViewComponent {\r\n  toggleListGridViewType = ToggleListGridViewType;\r\n  @Input() gridLabel: string = \"Grid View\";\r\n  @Input() listLabel: string = \"List View\";\r\n  @Input() showLabels: boolean;\r\n  @Input() value: ToggleListGridViewType;\r\n  @Output() change = new EventEmitter();\r\n\r\n  onChanged($event) {\r\n    this.change.emit($event.value);\r\n  }\r\n}\r\n","<div class=\"toggle\">\r\n  <mat-button-toggle-group (change)=\"onChanged($event)\" [(ngModel)]=\"value\" #group=\"matButtonToggleGroup\">\r\n    <mat-button-toggle [value]=\"toggleListGridViewType.GRID\" [title]=\"showLabels ? '' : gridLabel\" class=\"toggle\"\r\n      [ngClass]=\"{'selected-toggle': value == toggleListGridViewType.GRID }\">\r\n      <mat-icon>grid_on</mat-icon>\r\n      <span *ngIf=\"showLabels\">\r\n        {{gridLabel}}\r\n      </span>\r\n    </mat-button-toggle>\r\n    <mat-button-toggle [value]=\"toggleListGridViewType.LIST\" [title]=\"showLabels ? '' : listLabel\" class=\"toggle\"\r\n      [ngClass]=\"{ 'selected-toggle': value == toggleListGridViewType.LIST}\">\r\n      <mat-icon>list</mat-icon>\r\n      <span *ngIf=\"showLabels\">\r\n        {{listLabel}}\r\n      </span>\r\n    </mat-button-toggle>\r\n  </mat-button-toggle-group>\r\n</div>\r\n","export enum ListActionType {\r\n    GENERAL_LIST_ACTION = 0,\r\n    DIALOG_LIST_ACTION = 1,\r\n    CUSTOM_LIST_ACTION = 2,\r\n    NO_LIST_ACTION = 3\r\n}","import { Location } from '@angular/common';\r\nimport { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\n\r\n@Directive({\r\n    selector: '[backClick]',\r\n})\r\nexport class BackClickDirective implements OnInit {\r\n    @Input() applyMargin = false;\r\n    @Input() applyLeftMargin = false;\r\n    @Input() isDialog: boolean = false;\r\n    @Input() dialogRef: MatDialogRef<any>;\r\n    @Input() route: string;\r\n\r\n    constructor(\r\n        private location: Location,\r\n        private renderer: Renderer2,\r\n        private el: ElementRef,\r\n        private Router: Router\r\n    ) { }\r\n\r\n    ngOnInit() {\r\n        this.applyStyling();\r\n    }\r\n\r\n    validateInputs() {\r\n        if (this.isDialog && this.route) {\r\n            throw Error(\r\n                \"You cannot route when working with a dialog. A 'route' cannot be defined if 'isDialog' is 'True' \"\r\n            );\r\n        }\r\n    }\r\n\r\n    @HostListener('click')\r\n    onClickBack() {\r\n        if (this.isDialog) {\r\n            if (this.dialogRef) {\r\n                this.dialogRef.close();\r\n            } else {\r\n                throw Error('dialogRef must not be null');\r\n            }\r\n        } else {\r\n            if (this.route) {\r\n                this.Router.navigate([this.route]);\r\n            } else {\r\n                this.location.back();\r\n            }\r\n        }\r\n    }\r\n    private applyStyling() {\r\n        if (this.applyMargin) {\r\n            this.renderer.setStyle(this.el.nativeElement, 'margin', '1rem');\r\n        } else {\r\n            this.renderer.removeStyle(this.el.nativeElement, 'margin-top');\r\n        }\r\n    }\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { ListActionType } from '../models/list-type.enum';\r\n\r\n@Component({\r\n  selector: 'jooler-paginator',\r\n  templateUrl: './jooler-paginator.component.html',\r\n  styleUrls: ['./jooler-paginator.component.scss'],\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\nexport class JoolerPaginatorComponent {\r\n  listActionTypes = ListActionType;\r\n  @Input() length: number;\r\n  @Input() itemsToLoad: number;\r\n  @Input() pageSizeOptions: number[] = [2, 5, 8, 10, 25, 50, 100];\r\n  @Input() listActionType: ListActionType = ListActionType.GENERAL_LIST_ACTION;\r\n  @Input() backRoute: string;\r\n  @ViewChild('paginator') paginator: MatPaginator;\r\n  @Output() pageChange = new EventEmitter();\r\n  @Output() closeClick = new EventEmitter();\r\n\r\n  onPageChange($event: PageEvent) {\r\n    this.pageChange.emit($event);\r\n  }\r\n\r\n  onClickClose() {\r\n    this.closeClick.emit();\r\n  }\r\n}\r\n\r\n","<div id=\"jooler-pagination\">\r\n  <div [ngSwitch]=\"listActionType\" class=\"button-section\">\r\n    <div *ngSwitchCase=\"listActionTypes.GENERAL_LIST_ACTION\">\r\n      <button [route]=\"backRoute\" backClick mat-raised-button type=\"button\">Back</button>\r\n    </div>\r\n    <div *ngSwitchCase=\"listActionTypes.DIALOG_LIST_ACTION\">\r\n      <button (click)=\"onClickClose()\" mat-raised-button type=\"button\">Close</button>\r\n    </div>\r\n    <div *ngSwitchCase=\"listActionTypes.CUSTOM_LIST_ACTION\">\r\n      <ng-content select=\".custom-buttons\"></ng-content>\r\n    </div>\r\n    <div *ngSwitchCase=\"listActionTypes.NO_LIST_ACTION\"></div>\r\n  </div>\r\n  <mat-paginator\r\n    (page)=\"onPageChange($event)\"\r\n    #paginator\r\n    [length]=\"length\"\r\n    [pageSize]=\"itemsToLoad\"\r\n    [pageSizeOptions]=\"pageSizeOptions\"\r\n    aria-label=\"Select page\">\r\n  </mat-paginator>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Injector, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { AppMaterialModule } from '@jooler/app-material';\r\nimport { FontAwesomeSharedModule } from '@jooler/font-awesome-shared';\r\nimport { NgChipComponent } from './ng-chip/ng-chip.component';\r\nimport { CardCategoryComponent } from './card-category/card-category.component';\r\nimport { CircleBooleanIconComponent } from './circle-boolean-icon/circle-boolean-icon.component';\r\nimport { DescriptionCardContentComponent } from './description-card/description-card-content/description-card-content.component';\r\nimport { DescriptionCardComponent } from './description-card/description-card/description-card.component';\r\nimport { ToggleListGridViewComponent } from './toggle-list-grid-view/toggle-list-grid-view.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { JoolerPaginatorComponent } from './jooler-paginator/jooler-paginator.component';\r\nimport { BackClickDirective } from './back-click-directive';\r\nimport { EnumHelperBaseService } from './services/enum-helper-base.service';\r\nimport { IEnumCustomColorMapping } from './models/enum-custom-color-mapping';\r\nimport { IEnumCustomLabelMapping } from './models/enum-custom-label-mapping';\r\n\r\nexport let AppInjector: Injector;\r\n\r\n@NgModule({\r\n  declarations: [\r\n    CardCategoryComponent,\r\n    CircleBooleanIconComponent,\r\n    DescriptionCardComponent,\r\n    DescriptionCardContentComponent,\r\n    NgChipComponent,\r\n    ToggleListGridViewComponent,\r\n    JoolerPaginatorComponent,\r\n    BackClickDirective,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AppMaterialModule,\r\n    FontAwesomeSharedModule,\r\n    FormsModule,\r\n\r\n  ],\r\n  exports: [\r\n    CardCategoryComponent,\r\n    CircleBooleanIconComponent,\r\n    DescriptionCardComponent,\r\n    DescriptionCardContentComponent,\r\n    NgChipComponent,\r\n    ToggleListGridViewComponent,\r\n    JoolerPaginatorComponent\r\n  ]\r\n})\r\nexport class SharedGeneralComponentsModule {\r\n\r\n  constructor(private injector: Injector) {\r\n    AppInjector = this.injector;\r\n  }\r\n\r\n  public static forRoot(\r\n    customColorMappings: IEnumCustomColorMapping[] = [], customLabelMappings: IEnumCustomLabelMapping[] = []): ModuleWithProviders<SharedGeneralComponentsModule> {\r\n    return {\r\n      ngModule: SharedGeneralComponentsModule,\r\n      providers: [\r\n        EnumHelperBaseService,\r\n        {\r\n          provide: 'customColorMappings',\r\n          useValue: customColorMappings,\r\n        },\r\n        {\r\n          provide: 'customLabelMappings',\r\n          useValue: customLabelMappings\r\n        }\r\n      ]\r\n    };\r\n  }\r\n}\r\n","export class NgChip {\r\n    label: string;\r\n    color: string;\r\n}\r\n\r\nexport enum ChipInputType {\r\n    CUSTOM = 0,\r\n    ENUM = 1\r\n}\r\n\r\nexport enum ChipSize {\r\n    SMALL = 0,\r\n    MEDIUM = 1,\r\n    LARGE = 2\r\n}","export interface IEnumCustomColorMapping {\r\n  enumClass: any;\r\n  colors: string[];\r\n}\r\n\r\nexport class EnumCustomColorMapping {\r\n  enumClass: any;\r\n  colors: string[];\r\n\r\n  constructor(enumClass: any, colors: string[]) {\r\n    this.enumClass = enumClass;\r\n    if (this.validateColors(enumClass, colors)) {\r\n      this.colors = colors;\r\n    } else {\r\n      throw new Error(\r\n        `The length of your custom colors list does not match the enum class provided.`\r\n      );\r\n    }\r\n  }\r\n\r\n  private validateColors(enumClass: any, colors: string[]): boolean {\r\n    // Get the total number of enum values by counting keys\r\n    const enumValuesLength = Object.keys(enumClass).filter(key => isNaN(Number(key))).length;\r\n    return colors.length === enumValuesLength;\r\n  }\r\n}\r\n","export interface IEnumCustomLabelMapping {\r\n  enumClass: any;\r\n  labels: string[];\r\n}\r\n\r\nexport class EnumCustomLabelMapping {\r\n  enumClass: any;\r\n  labels: string[];\r\n\r\n  constructor(enumClass: any, labels: string[]) {\r\n    this.enumClass = enumClass;\r\n    if (this.validateLabels(enumClass, labels)) {\r\n      this.labels = labels;\r\n    } else {\r\n      throw new Error(\r\n        'The length of your custom labels list does not match the enum class provided.'\r\n      );\r\n    }\r\n  }\r\n\r\n  private validateLabels(enumClass: any, labels: string[]): boolean {\r\n    // Get the total number of enum values by counting keys\r\n    const enumValuesLength = Object.keys(enumClass).filter(key => isNaN(Number(key))).length;\r\n    return labels.length === enumValuesLength;\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of shared-general-components\r\n*/\r\n\r\nexport * from './lib/shared-general-components.module';\r\nexport * from './lib/card-category/card-category.component';\r\nexport * from './lib/circle-boolean-icon/circle-boolean-icon.component';\r\nexport * from './lib/description-card/description-card/description-card.component';\r\nexport * from './lib/description-card/description-card-content/description-card-content.component';\r\nexport * from './lib/ng-chip/ng-chip.component';\r\nexport * from './lib/models/check-before-action-button.model';\r\nexport * from './lib/models/dialog-buttons-properties.model';\r\nexport * from './lib/models/ng-chip.model';\r\nexport * from './lib/models/ng-chip.model';\r\nexport * from './lib/models/enum-helper-base';\r\nexport * from './lib/models/enum-custom-color-mapping';\r\nexport * from './lib/models/enum-custom-label-mapping';\r\nexport * from './lib/models/enum-option.model';\r\nexport * from './lib/primary-colors';\r\nexport * from './lib/toggle-list-grid-view/toggle-list-grid-view.component';\r\nexport * from './lib/models/toggle-list-grid-view-type.model';\r\nexport * from './lib/services/enum-helper-base.service';\r\nexport * from './lib/jooler-paginator/jooler-paginator.component';\r\nexport * from './lib/models/list-type.enum';\r\nexport * from './lib/back-click-directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChipInputType","ChipSize","i1.EnumHelperBaseService","i2","i1","i3","i4.DescriptionCardContentComponent","i4.BackClickDirective"],"mappings":"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"}