{"version":3,"file":"libs-ui-components-card.mjs","sources":["../../../../../libs-ui/components/card/src/card.component.ts","../../../../../libs-ui/components/card/src/card.component.html","../../../../../libs-ui/components/card/src/wrapper/wrapper.component.ts","../../../../../libs-ui/components/card/src/wrapper/wrapper.component.html","../../../../../libs-ui/components/card/src/libs-ui-components-card.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, model, OnInit, output, TemplateRef } from '@angular/core';\nimport { ILabel, LibsUiComponentsLabelComponent } from '@libs-ui/components-label';\nimport { TYPE_TEMPLATE_REF } from '@libs-ui/interfaces-types';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { IConfigCard, IFunctionControlCard } from './interfaces/card.interface';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'libs_ui-components-card',\n  templateUrl: './card.component.html',\n  styleUrls: ['./card.component.scss'],\n  standalone: true,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [TranslateModule, NgTemplateOutlet, LibsUiComponentsLabelComponent],\n})\nexport class LibsUiComponentsCardComponent implements OnInit {\n  // #region INPUT\n  readonly isHidden = model<boolean>(false);\n  readonly label = input<ILabel>();\n  readonly ignoreTitle = input<boolean>();\n  readonly hasCollapseBtn = input<boolean>();\n  readonly clickExactly = input<boolean>();\n  readonly configCard = input<IConfigCard | undefined>();\n  readonly templateHeader = input<TemplateRef<TYPE_TEMPLATE_REF> | undefined>(undefined);\n  readonly classIncludeBody = input<string>();\n  readonly classIncludeHeader = input<string>();\n  readonly classIncludeHeaderWhenHiddenContent = input<string>();\n\n  // #region OUTPUT\n  readonly outChangeStateShowContent = output<boolean>();\n  readonly outFunctionsControl = output<IFunctionControlCard>();\n\n  ngOnInit(): void {\n    this.outFunctionsControl.emit(this.FunctionsControl);\n  }\n\n  public get FunctionsControl(): IFunctionControlCard {\n    return {\n      changeHidden: this.handlerHiddenOrShowByTemplateHeader.bind(this),\n    };\n  }\n\n  /* FUNCTIONS */\n  protected async handlerHiddenOrShowContent(event: Event, clickExactly: boolean) {\n    event.stopPropagation();\n    if (!this.hasCollapseBtn() || (this.clickExactly() && !clickExactly)) {\n      return;\n    }\n    this.isHidden.update((value) => !value);\n\n    this.outChangeStateShowContent.emit(this.isHidden());\n  }\n\n  private async handlerHiddenOrShowByTemplateHeader() {\n    if (!this.hasCollapseBtn) {\n      return;\n    }\n    this.isHidden.update((value) => !value);\n    this.outChangeStateShowContent.emit(this.isHidden());\n  }\n}\n","@if (!ignoreTitle()) {\n  <div\n    class=\"libs-ui-card-header {{ classIncludeHeader() }} {{ isHidden() ? classIncludeHeaderWhenHiddenContent() : '' }}\"\n    [class.pl-0]=\"configCard()?.ignorePaddingLeft\"\n    [class.bg-[#e9f1fe]]=\"!configCard()?.ignoreBackgroundHeader\"\n    [class.libs-ui-border-top-general]=\"!configCard()?.ignoreBorderHeader\"\n    [class.libs-ui-border-left-general]=\"!configCard()?.ignoreBorderHeader\"\n    [class.libs-ui-border-right-general]=\"!configCard()?.ignoreBorderHeader\"\n    [class.libs-ui-border-bottom-general]=\"!configCard()?.ignoreBorderHeader && isHidden()\"\n    [class.rounded-[4px]]=\"!configCard()?.ignoreBorderRadiusHeader\"\n    [class.cursor-pointer]=\"!clickExactly()\"\n    (click)=\"handlerHiddenOrShowContent($event, false)\">\n    @if (hasCollapseBtn() && !configCard()?.iconConRight) {\n      <span\n        (click)=\"handlerHiddenOrShowContent($event, true)\"\n        [class]=\"\n          'cursor-pointer mr-[8px] ' +\n          (configCard()?.classIconInclude ?? 'before:!text-[#6a7383] ') +\n          (isHidden() ? configCard()?.classIconWhenHiddenContent || ' libs-ui-icon-chevron-right' : configCard()?.classIconWhenShowContent || ' rotate-[90deg] libs-ui-icon-chevron-right')\n        \"></span>\n    }\n    @if (!templateHeader()) {\n      <div [style.width]=\"configCard()?.width || ''\">\n        <libs_ui-components-label\n          [popover]=\"label()?.popover\"\n          [labelLeft]=\"label()?.labelLeft\"\n          [labelLeftClass]=\"configCard()?.classIncludeLabel || 'libs-ui-font-h3s cursor-pointer'\"\n          [required]=\"label()?.required\"\n          [classInclude]=\"'cursor-pointer !mb-0'\"\n          (outLabelLeftClick)=\"handlerHiddenOrShowContent($event, true)\" />\n      </div>\n    }\n    @if (hasCollapseBtn() && configCard()?.iconConRight) {\n      <span\n        [class]=\"\n          'cursor-pointer ml-auto ' +\n          (configCard()?.classIconInclude ?? 'before:!text-[#6a7383] ') +\n          (isHidden() ? configCard()?.classIconWhenHiddenContent || ' libs-ui-icon-chevron-right rotate-[90deg]' : configCard()?.classIconWhenShowContent || ' libs-ui-icon-chevron-right -rotate-[90deg]')\n        \"\n        (click)=\"handlerHiddenOrShowContent($event, true)\"></span>\n    }\n    @if (templateHeader(); as templateHeader) {\n      <ng-container *ngTemplateOutlet=\"templateHeader\" />\n    }\n  </div>\n}\n\n@if (!isHidden()) {\n  <div\n    class=\"libs-ui-card-body {{ classIncludeBody() }}\"\n    [class.libs-ui-border-general]=\"!configCard()?.ignoreBorderBody\">\n    <ng-content />\n  </div>\n}\n","import { UpperCasePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\nimport { TYPE_TEMPLATE_REF } from '@libs-ui/interfaces-types';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LibsUiComponentsCardComponent } from '../card.component';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'libs_ui-components-card-wrapper',\n  templateUrl: './wrapper.component.html',\n  styles: ['.libs-ui-components-card-wrapper-node-shadow { box-shadow: 0px 4px 8px 0px rgba(0, 20, 51, 0.04), 0px 1px 1px 0px rgba(0, 20, 51, 0.02) }'],\n  standalone: true,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [LibsUiComponentsCardComponent, UpperCasePipe, TranslateModule],\n})\nexport class LibsUiComponentsCardWrapperComponent {\n  // #region INPUT\n\n  readonly labelConfig = input<{ labelLeft: string; required?: boolean }>();\n  readonly borderError = input<boolean>(false);\n  readonly templateHeader = input<TemplateRef<TYPE_TEMPLATE_REF>>();\n  readonly hasCollapseBtn = input<boolean>(true);\n}\n","<div\n  class=\"bg-[#ffffff] p-[16px] rounded-[8px] libs-ui-components-card-wrapper-node-shadow\"\n  [class.libs-ui-border-error-general]=\"borderError()\">\n  @let constHtmlLabel = labelConfig()?.labelLeft || ' ';\n  <libs_ui-components-card\n    [label]=\"labelConfig() ? { labelLeft: constHtmlLabel | translate | uppercase, required: labelConfig()?.required } : {}\"\n    [ignoreTitle]=\"templateHeader() || labelConfig() ? false : true\"\n    [configCard]=\"{\n      ignoreBorderHeader: true,\n      ignoreBackgroundHeader: true,\n      classIncludeLabel: 'libs-ui-font-h4si !text-[#071631]',\n      ignoreBorderBody: true,\n      classIconInclude: '!text-[#071631] before:!text-[16px]',\n    }\"\n    [classIncludeHeader]=\"'!p-0'\"\n    [hasCollapseBtn]=\"hasCollapseBtn()\"\n    [classIncludeBody]=\"'!pb-0 ' + (labelConfig() || templateHeader() ? '' : '!p-0')\"\n    [templateHeader]=\"templateHeader()\">\n    <ng-content />\n  </libs_ui-components-card>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}