@libs-ui/components-card 0.2.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/card.component.d.ts +23 -0
- package/esm2022/card.component.mjs +53 -0
- package/esm2022/index.mjs +4 -0
- package/esm2022/interfaces/card.interface.mjs +2 -0
- package/esm2022/libs-ui-components-card.mjs +5 -0
- package/esm2022/wrapper/wrapper.component.mjs +21 -0
- package/fesm2022/libs-ui-components-card.mjs +76 -0
- package/fesm2022/libs-ui-components-card.mjs.map +1 -0
- package/index.d.ts +3 -0
- package/interfaces/card.interface.d.ts +14 -0
- package/package.json +25 -0
- package/wrapper/wrapper.component.d.ts +12 -0
package/README.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { OnInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import { ILabel } from '@libs-ui/components-label';
|
|
3
|
+
import { IConfigCard, IFunctionControlCard } from './interfaces/card.interface';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LibsUiComponentsCardComponent implements OnInit {
|
|
6
|
+
protected isHidden: import("@angular/core").WritableSignal<boolean>;
|
|
7
|
+
readonly label: import("@angular/core").InputSignal<ILabel | undefined>;
|
|
8
|
+
readonly ignoreTitle: import("@angular/core").InputSignal<boolean | undefined>;
|
|
9
|
+
readonly hasCollapseBtn: import("@angular/core").InputSignal<boolean | undefined>;
|
|
10
|
+
readonly clickExactly: import("@angular/core").InputSignal<boolean | undefined>;
|
|
11
|
+
readonly configCard: import("@angular/core").InputSignal<IConfigCard | undefined>;
|
|
12
|
+
readonly templateHeader: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
|
|
13
|
+
readonly classIncludeBody: import("@angular/core").InputSignal<string | undefined>;
|
|
14
|
+
readonly classIncludeHeader: import("@angular/core").InputSignal<string | undefined>;
|
|
15
|
+
readonly classIncludeHeaderWhenHiddenContent: import("@angular/core").InputSignal<string | undefined>;
|
|
16
|
+
readonly outChangeStateShowContent: import("@angular/core").OutputEmitterRef<boolean>;
|
|
17
|
+
readonly outFunctionsControl: import("@angular/core").OutputEmitterRef<IFunctionControlCard>;
|
|
18
|
+
ngOnInit(): void;
|
|
19
|
+
protected handlerHiddenOrShowContent(event: Event, clickExactly: boolean): Promise<void>;
|
|
20
|
+
private handlerHiddenOrShowByTemplateHeader;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsCardComponent, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsCardComponent, "libs_ui-components-card", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "ignoreTitle": { "alias": "ignoreTitle"; "required": false; "isSignal": true; }; "hasCollapseBtn": { "alias": "hasCollapseBtn"; "required": false; "isSignal": true; }; "clickExactly": { "alias": "clickExactly"; "required": false; "isSignal": true; }; "configCard": { "alias": "configCard"; "required": false; "isSignal": true; }; "templateHeader": { "alias": "templateHeader"; "required": false; "isSignal": true; }; "classIncludeBody": { "alias": "classIncludeBody"; "required": false; "isSignal": true; }; "classIncludeHeader": { "alias": "classIncludeHeader"; "required": false; "isSignal": true; }; "classIncludeHeaderWhenHiddenContent": { "alias": "classIncludeHeaderWhenHiddenContent"; "required": false; "isSignal": true; }; }, { "outChangeStateShowContent": "outChangeStateShowContent"; "outFunctionsControl": "outFunctionsControl"; }, never, ["*"], true, never>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, output, signal } from '@angular/core';
|
|
2
|
+
import { LibsUiComponentsLabelComponent } from '@libs-ui/components-label';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class LibsUiComponentsCardComponent {
|
|
7
|
+
/* PROPERTY */
|
|
8
|
+
isHidden = signal(false);
|
|
9
|
+
/* INPUT */
|
|
10
|
+
label = input();
|
|
11
|
+
ignoreTitle = input();
|
|
12
|
+
hasCollapseBtn = input();
|
|
13
|
+
clickExactly = input();
|
|
14
|
+
configCard = input();
|
|
15
|
+
templateHeader = input(undefined);
|
|
16
|
+
classIncludeBody = input();
|
|
17
|
+
classIncludeHeader = input();
|
|
18
|
+
classIncludeHeaderWhenHiddenContent = input();
|
|
19
|
+
/* OUTPUT */
|
|
20
|
+
outChangeStateShowContent = output();
|
|
21
|
+
outFunctionsControl = output();
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
this.outFunctionsControl.emit({
|
|
24
|
+
changeHidden: this.handlerHiddenOrShowByTemplateHeader.bind(this)
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/* FUNCTIONS */
|
|
28
|
+
async handlerHiddenOrShowContent(event, clickExactly) {
|
|
29
|
+
event.stopPropagation();
|
|
30
|
+
if (!this.hasCollapseBtn() || this.clickExactly() && !clickExactly) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.isHidden.update(value => !value);
|
|
34
|
+
this.outChangeStateShowContent.emit(this.isHidden());
|
|
35
|
+
}
|
|
36
|
+
async handlerHiddenOrShowByTemplateHeader() {
|
|
37
|
+
if (!this.hasCollapseBtn) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.isHidden.update(value => !value);
|
|
41
|
+
this.outChangeStateShowContent.emit(this.isHidden());
|
|
42
|
+
}
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsCardComponent, isStandalone: true, selector: "libs_ui-components-card", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ignoreTitle: { classPropertyName: "ignoreTitle", publicName: "ignoreTitle", isSignal: true, isRequired: false, transformFunction: null }, hasCollapseBtn: { classPropertyName: "hasCollapseBtn", publicName: "hasCollapseBtn", isSignal: true, isRequired: false, transformFunction: null }, clickExactly: { classPropertyName: "clickExactly", publicName: "clickExactly", isSignal: true, isRequired: false, transformFunction: null }, configCard: { classPropertyName: "configCard", publicName: "configCard", isSignal: true, isRequired: false, transformFunction: null }, templateHeader: { classPropertyName: "templateHeader", publicName: "templateHeader", isSignal: true, isRequired: false, transformFunction: null }, classIncludeBody: { classPropertyName: "classIncludeBody", publicName: "classIncludeBody", isSignal: true, isRequired: false, transformFunction: null }, classIncludeHeader: { classPropertyName: "classIncludeHeader", publicName: "classIncludeHeader", isSignal: true, isRequired: false, transformFunction: null }, classIncludeHeaderWhenHiddenContent: { classPropertyName: "classIncludeHeaderWhenHiddenContent", publicName: "classIncludeHeaderWhenHiddenContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outChangeStateShowContent: "outChangeStateShowContent", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "@if (!ignoreTitle()) {\n <div 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 (click)=\"handlerHiddenOrShowContent($event,true)\"\n [class]=\"'cursor-pointer mr-[8px] ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right' : 'rotate-[90deg] libs-ui-icon-chevron-right')\">\n </span>\n }\n @if (!templateHeader()) {\n <div [style.width]=\"configCard()?.width ||''\">\n <libs_ui-components-label [popover]=\"label()?.popover\"\n [labelLeft]=\"label()?.labelLeft\"\n [labelLeftClass]=\"configCard()?.classIncludeLabel || 'libs-ui-font-h3si 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 [class]=\"'cursor-pointer text-[10px] ml-auto ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right rotate-[90deg]' : 'libs-ui-icon-chevron-right -rotate-[90deg]')\"\n (click)=\"handlerHiddenOrShowContent($event,true)\">\n </span>\n }\n @if (templateHeader(); as templateHeader) {\n <ng-container *ngTemplateOutlet=\"templateHeader\" />\n }\n </div>\n}\n\n@if (!isHidden()) {\n <div class=\"libs-ui-card-body {{ classIncludeBody() }}\"\n [class.libs-ui-border-general]=\"!configCard()?.ignoreBorderBody\">\n <ng-content />\n </div>\n}", styles: [".libs-ui-card-header{padding:6px 16px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.libs-ui-card-body{background-color:#fff;padding:16px 0;overflow-x:hidden;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsLabelComponent, selector: "libs_ui-components-label", inputs: ["iconPopoverClass", "classInclude", "labelLeft", "labelLeftClass", "labelLeftBehindToggleButton", "popover", "required", "buttonsLeft", "disableButtonsLeft", "buttonsRight", "disableButtonsRight", "labelRight", "labelRightClass", "labelRightRequired", "hasToggle", "toggleSize", "toggleActive", "toggleDisable", "description", "descriptionClass", "buttonsDescription", "disableButtonsDescription", "buttonsDescriptionContainerClass", "onlyShowCount", "zIndexPopover", "timerDestroyPopover", "count", "limitLength"], outputs: ["outClickButton", "outSwitchEvent", "outLabelRightClick", "outLabelLeftClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCardComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ selector: 'libs_ui-components-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
49
|
+
TranslateModule, NgTemplateOutlet,
|
|
50
|
+
LibsUiComponentsLabelComponent
|
|
51
|
+
], template: "@if (!ignoreTitle()) {\n <div 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 (click)=\"handlerHiddenOrShowContent($event,true)\"\n [class]=\"'cursor-pointer mr-[8px] ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right' : 'rotate-[90deg] libs-ui-icon-chevron-right')\">\n </span>\n }\n @if (!templateHeader()) {\n <div [style.width]=\"configCard()?.width ||''\">\n <libs_ui-components-label [popover]=\"label()?.popover\"\n [labelLeft]=\"label()?.labelLeft\"\n [labelLeftClass]=\"configCard()?.classIncludeLabel || 'libs-ui-font-h3si 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 [class]=\"'cursor-pointer text-[10px] ml-auto ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right rotate-[90deg]' : 'libs-ui-icon-chevron-right -rotate-[90deg]')\"\n (click)=\"handlerHiddenOrShowContent($event,true)\">\n </span>\n }\n @if (templateHeader(); as templateHeader) {\n <ng-container *ngTemplateOutlet=\"templateHeader\" />\n }\n </div>\n}\n\n@if (!isHidden()) {\n <div class=\"libs-ui-card-body {{ classIncludeBody() }}\"\n [class.libs-ui-border-general]=\"!configCard()?.ignoreBorderBody\">\n <ng-content />\n </div>\n}", styles: [".libs-ui-card-header{padding:6px 16px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.libs-ui-card-body{background-color:#fff;padding:16px 0;overflow-x:hidden;overflow-y:auto}\n"] }]
|
|
52
|
+
}] });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2FyZC9zcmMvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2FyZC9zcmMvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBVSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFjbkQsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxjQUFjO0lBQ0osUUFBUSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUU1QyxXQUFXO0lBQ0YsS0FBSyxHQUFHLEtBQUssRUFBVSxDQUFDO0lBQ3hCLFdBQVcsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUMvQixjQUFjLEdBQUcsS0FBSyxFQUFXLENBQUM7SUFDbEMsWUFBWSxHQUFHLEtBQUssRUFBVyxDQUFDO0lBQ2hDLFVBQVUsR0FBRyxLQUFLLEVBQTJCLENBQUM7SUFFOUMsY0FBYyxHQUFHLEtBQUssQ0FBNkMsU0FBUyxDQUFDLENBQUM7SUFHOUUsZ0JBQWdCLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDbkMsa0JBQWtCLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDckMsbUNBQW1DLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFFL0QsWUFBWTtJQUNILHlCQUF5QixHQUFHLE1BQU0sRUFBVyxDQUFDO0lBQzlDLG1CQUFtQixHQUFHLE1BQU0sRUFBd0IsQ0FBQztJQUU5RCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztZQUM1QixZQUFZLEVBQUUsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7SUFDTCxLQUFLLENBQUMsMEJBQTBCLENBQUMsS0FBWSxFQUFFLFlBQXFCO1FBQzVFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ25FLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLEtBQUssQ0FBQyxtQ0FBbUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7d0dBOUNVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLHNoRENwQjFDLDh1RUEwQ0MscVFEMUJHLGVBQWUsK0JBQUUsZ0JBQWdCLG9KQUNqQyw4QkFBOEI7OzRGQUdyQiw2QkFBNkI7a0JBWnpDLFNBQVM7K0JBRUUseUJBQXlCLGNBR3ZCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxlQUFlLEVBQUUsZ0JBQWdCO3dCQUNqQyw4QkFBOEI7cUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIE9uSW5pdCwgb3V0cHV0LCBzaWduYWwsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTGFiZWwsIExpYnNVaUNvbXBvbmVudHNMYWJlbENvbXBvbmVudCB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtbGFiZWwnO1xuaW1wb3J0IHsgVFlQRV9URU1QTEFURV9SRUYgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJQ29uZmlnQ2FyZCwgSUZ1bmN0aW9uQ29udHJvbENhcmQgfSBmcm9tICcuL2ludGVyZmFjZXMvY2FyZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIExpYnNVaUNvbXBvbmVudHNMYWJlbENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKiBQUk9QRVJUWSAqL1xuICBwcm90ZWN0ZWQgaXNIaWRkZW4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qIElOUFVUICovXG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8SUxhYmVsPigpO1xuICByZWFkb25seSBpZ25vcmVUaXRsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGhhc0NvbGxhcHNlQnRuID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgY2xpY2tFeGFjdGx5ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgY29uZmlnQ2FyZCA9IGlucHV0PElDb25maWdDYXJkIHwgdW5kZWZpbmVkPigpO1xuXG4gIHJlYWRvbmx5IHRlbXBsYXRlSGVhZGVyID0gaW5wdXQ8VGVtcGxhdGVSZWY8VFlQRV9URU1QTEFURV9SRUY+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuIFxuXG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZUJvZHkgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGNsYXNzSW5jbHVkZUhlYWRlciA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlSGVhZGVyV2hlbkhpZGRlbkNvbnRlbnQgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgLyogT1VUUFVUICovXG4gIHJlYWRvbmx5IG91dENoYW5nZVN0YXRlU2hvd0NvbnRlbnQgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgb3V0RnVuY3Rpb25zQ29udHJvbCA9IG91dHB1dDxJRnVuY3Rpb25Db250cm9sQ2FyZD4oKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm91dEZ1bmN0aW9uc0NvbnRyb2wuZW1pdCh7XG4gICAgICBjaGFuZ2VIaWRkZW46IHRoaXMuaGFuZGxlckhpZGRlbk9yU2hvd0J5VGVtcGxhdGVIZWFkZXIuYmluZCh0aGlzKVxuICAgIH0pO1xuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVySGlkZGVuT3JTaG93Q29udGVudChldmVudDogRXZlbnQsIGNsaWNrRXhhY3RseTogYm9vbGVhbikge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICghdGhpcy5oYXNDb2xsYXBzZUJ0bigpIHx8IHRoaXMuY2xpY2tFeGFjdGx5KCkgJiYgIWNsaWNrRXhhY3RseSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzSGlkZGVuLnVwZGF0ZSh2YWx1ZSA9PiAhdmFsdWUpO1xuXG4gICAgdGhpcy5vdXRDaGFuZ2VTdGF0ZVNob3dDb250ZW50LmVtaXQodGhpcy5pc0hpZGRlbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlckhpZGRlbk9yU2hvd0J5VGVtcGxhdGVIZWFkZXIoKSB7XG4gICAgaWYgKCF0aGlzLmhhc0NvbGxhcHNlQnRuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNIaWRkZW4udXBkYXRlKHZhbHVlID0+ICF2YWx1ZSk7XG4gICAgdGhpcy5vdXRDaGFuZ2VTdGF0ZVNob3dDb250ZW50LmVtaXQodGhpcy5pc0hpZGRlbigpKTtcbiAgfVxuXG59IiwiQGlmICghaWdub3JlVGl0bGUoKSkge1xuICA8ZGl2IGNsYXNzPVwibGlicy11aS1jYXJkLWhlYWRlciB7eyBjbGFzc0luY2x1ZGVIZWFkZXIoKSB9fSB7eyBpc0hpZGRlbigpID8gY2xhc3NJbmNsdWRlSGVhZGVyV2hlbkhpZGRlbkNvbnRlbnQoKSA6ICcnIH19XCJcbiAgICBbY2xhc3MucGwtMF09XCJjb25maWdDYXJkKCk/Lmlnbm9yZVBhZGRpbmdMZWZ0XCJcbiAgICBbY2xhc3MuYmctWyNlOWYxZmVdXT1cIiFjb25maWdDYXJkKCk/Lmlnbm9yZUJhY2tncm91bmRIZWFkZXJcIlxuICAgIFtjbGFzcy5saWJzLXVpLWJvcmRlci10b3AtZ2VuZXJhbF09XCIhY29uZmlnQ2FyZCgpPy5pZ25vcmVCb3JkZXJIZWFkZXJcIlxuICAgIFtjbGFzcy5saWJzLXVpLWJvcmRlci1sZWZ0LWdlbmVyYWxdPVwiIWNvbmZpZ0NhcmQoKT8uaWdub3JlQm9yZGVySGVhZGVyXCJcbiAgICBbY2xhc3MubGlicy11aS1ib3JkZXItcmlnaHQtZ2VuZXJhbF09XCIhY29uZmlnQ2FyZCgpPy5pZ25vcmVCb3JkZXJIZWFkZXJcIlxuICAgIFtjbGFzcy5saWJzLXVpLWJvcmRlci1ib3R0b20tZ2VuZXJhbF09XCIhY29uZmlnQ2FyZCgpPy5pZ25vcmVCb3JkZXJIZWFkZXIgJiYgaXNIaWRkZW4oKVwiXG4gICAgW2NsYXNzLnJvdW5kZWQtWzRweF1dPVwiIWNvbmZpZ0NhcmQoKT8uaWdub3JlQm9yZGVyUmFkaXVzSGVhZGVyXCJcbiAgICBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwiIWNsaWNrRXhhY3RseSgpXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlckhpZGRlbk9yU2hvd0NvbnRlbnQoJGV2ZW50LGZhbHNlKVwiPlxuICAgIEBpZiAoaGFzQ29sbGFwc2VCdG4oKSAmJiAhY29uZmlnQ2FyZCgpPy5pY29uQ29uUmlnaHQpIHtcbiAgICAgIDxzcGFuIChjbGljayk9XCJoYW5kbGVySGlkZGVuT3JTaG93Q29udGVudCgkZXZlbnQsdHJ1ZSlcIlxuICAgICAgICBbY2xhc3NdPVwiJ2N1cnNvci1wb2ludGVyIG1yLVs4cHhdICcgKyAoY29uZmlnQ2FyZCgpPy5jbGFzc0luY2x1ZGVJY29uID8/ICcnKSArIChpc0hpZGRlbigpID8gJ2xpYnMtdWktaWNvbi1jaGV2cm9uLXJpZ2h0JyA6ICdyb3RhdGUtWzkwZGVnXSBsaWJzLXVpLWljb24tY2hldnJvbi1yaWdodCcpXCI+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuICAgIEBpZiAoIXRlbXBsYXRlSGVhZGVyKCkpIHtcbiAgICAgIDxkaXYgW3N0eWxlLndpZHRoXT1cImNvbmZpZ0NhcmQoKT8ud2lkdGggfHwnJ1wiPlxuICAgICAgICA8bGlic191aS1jb21wb25lbnRzLWxhYmVsIFtwb3BvdmVyXT1cImxhYmVsKCk/LnBvcG92ZXJcIlxuICAgICAgICAgIFtsYWJlbExlZnRdPVwibGFiZWwoKT8ubGFiZWxMZWZ0XCJcbiAgICAgICAgICBbbGFiZWxMZWZ0Q2xhc3NdPVwiY29uZmlnQ2FyZCgpPy5jbGFzc0luY2x1ZGVMYWJlbCB8fCAnbGlicy11aS1mb250LWgzc2kgY3Vyc29yLXBvaW50ZXInXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwibGFiZWwoKT8ucmVxdWlyZWRcIlxuICAgICAgICAgIFtjbGFzc0luY2x1ZGVdPVwiJ2N1cnNvci1wb2ludGVyICFtYi0wJ1wiXG4gICAgICAgICAgKG91dExhYmVsTGVmdENsaWNrKT1cImhhbmRsZXJIaWRkZW5PclNob3dDb250ZW50KCRldmVudCx0cnVlKVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChoYXNDb2xsYXBzZUJ0bigpICYmIGNvbmZpZ0NhcmQoKT8uaWNvbkNvblJpZ2h0KSB7XG4gICAgICA8c3BhbiBbY2xhc3NdPVwiJ2N1cnNvci1wb2ludGVyIHRleHQtWzEwcHhdIG1sLWF1dG8gJyArIChjb25maWdDYXJkKCk/LmNsYXNzSW5jbHVkZUljb24gPz8gJycpICsgKGlzSGlkZGVuKCkgPyAnbGlicy11aS1pY29uLWNoZXZyb24tcmlnaHQgcm90YXRlLVs5MGRlZ10nIDogJ2xpYnMtdWktaWNvbi1jaGV2cm9uLXJpZ2h0IC1yb3RhdGUtWzkwZGVnXScpXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZXJIaWRkZW5PclNob3dDb250ZW50KCRldmVudCx0cnVlKVwiPlxuICAgICAgPC9zcGFuPlxuICAgIH1cbiAgICBAaWYgKHRlbXBsYXRlSGVhZGVyKCk7IGFzIHRlbXBsYXRlSGVhZGVyKSB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVIZWFkZXJcIiAvPlxuICAgIH1cbiAgPC9kaXY+XG59XG5cbkBpZiAoIWlzSGlkZGVuKCkpIHtcbiAgPGRpdiBjbGFzcz1cImxpYnMtdWktY2FyZC1ib2R5IHt7IGNsYXNzSW5jbHVkZUJvZHkoKSB9fVwiXG4gICAgW2NsYXNzLmxpYnMtdWktYm9yZGVyLWdlbmVyYWxdPVwiIWNvbmZpZ0NhcmQoKT8uaWdub3JlQm9yZGVyQm9keVwiPlxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvZGl2PlxufSJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './card.component';
|
|
2
|
+
export * from './interfaces/card.interface';
|
|
3
|
+
export * from './wrapper/wrapper.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2FyZC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jYXJkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3dyYXBwZXIvd3JhcHBlci5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2FyZC9zcmMvaW50ZXJmYWNlcy9jYXJkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnQ2FyZCB7XG4gIGlnbm9yZVBhZGRpbmdMZWZ0PzogYm9vbGVhbjtcbiAgaWdub3JlQm9yZGVySGVhZGVyPzogYm9vbGVhbjtcbiAgaWdub3JlQmFja2dyb3VuZEhlYWRlcj86IGJvb2xlYW47XG4gIGljb25Db25SaWdodD86IGJvb2xlYW47XG4gIHdpZHRoPzogc3RyaW5nO1xuICBjbGFzc0luY2x1ZGVMYWJlbD86IHN0cmluZztcbiAgY2xhc3NJbmNsdWRlSWNvbj86IHN0cmluZztcbiAgaWdub3JlQm9yZGVyUmFkaXVzSGVhZGVyPzogYm9vbGVhbjtcbiAgaWdub3JlQm9yZGVyQm9keT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZ1bmN0aW9uQ29udHJvbENhcmQge1xuICBjaGFuZ2VIaWRkZW46ICgpID0+IFByb21pc2U8dm9pZD47XG59Il19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLWNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2FyZC9zcmMvbGlicy11aS1jb21wb25lbnRzLWNhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { UpperCasePipe } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { LibsUiComponentsCardComponent } from '../card.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ngx-translate/core";
|
|
7
|
+
export class LibsUiComponentsCardWrapperComponent {
|
|
8
|
+
/* INPUT */
|
|
9
|
+
labelConfig = input();
|
|
10
|
+
borderError = input(false);
|
|
11
|
+
templateHeader = input();
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCardWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsCardWrapperComponent, isStandalone: true, selector: "libs_ui-components-card-wrapper", inputs: { labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, borderError: { classPropertyName: "borderError", publicName: "borderError", isSignal: true, isRequired: false, transformFunction: null }, templateHeader: { classPropertyName: "templateHeader", publicName: "templateHeader", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"bg-[#ffffff] p-[16px] rounded-[8px] libs-ui-components-card-wrapper-node-shadow\"\n [class.libs-ui-border-error-general]=\"borderError()\">\n <libs_ui-components-card [label]=\"labelConfig()? {labelLeft: (labelConfig()?.labelLeft || '') | translate | uppercase, required: labelConfig()?.required}: {}\"\n [ignoreTitle]=\"templateHeader() || labelConfig() ? false : true\"\n [configCard]=\"{\n ignoreBorderHeader: true, \n ignoreBackgroundHeader: true,\n classIncludeLabel: 'libs-ui-font-h4s !text-[#071631]',\n ignoreBorderBody: true\n }\"\n [classIncludeHeader]=\"'!p-0'\"\n [classIncludeBody]=\"'!pb-0 ' + ((labelConfig() || templateHeader()) ? '' : '!p-0')\"\n [templateHeader]=\"templateHeader()\">\n <ng-content />\n </libs_ui-components-card>\n</div>\n", styles: [".libs-ui-components-card-wrapper-node-shadow{box-shadow:0 4px 8px #0014330a,0 1px 1px #00143305}\n"], dependencies: [{ kind: "component", type: LibsUiComponentsCardComponent, selector: "libs_ui-components-card", inputs: ["label", "ignoreTitle", "hasCollapseBtn", "clickExactly", "configCard", "templateHeader", "classIncludeBody", "classIncludeHeader", "classIncludeHeaderWhenHiddenContent"], outputs: ["outChangeStateShowContent", "outFunctionsControl"] }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCardWrapperComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'libs_ui-components-card-wrapper', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
18
|
+
LibsUiComponentsCardComponent, UpperCasePipe, TranslateModule
|
|
19
|
+
], template: "<div class=\"bg-[#ffffff] p-[16px] rounded-[8px] libs-ui-components-card-wrapper-node-shadow\"\n [class.libs-ui-border-error-general]=\"borderError()\">\n <libs_ui-components-card [label]=\"labelConfig()? {labelLeft: (labelConfig()?.labelLeft || '') | translate | uppercase, required: labelConfig()?.required}: {}\"\n [ignoreTitle]=\"templateHeader() || labelConfig() ? false : true\"\n [configCard]=\"{\n ignoreBorderHeader: true, \n ignoreBackgroundHeader: true,\n classIncludeLabel: 'libs-ui-font-h4s !text-[#071631]',\n ignoreBorderBody: true\n }\"\n [classIncludeHeader]=\"'!p-0'\"\n [classIncludeBody]=\"'!pb-0 ' + ((labelConfig() || templateHeader()) ? '' : '!p-0')\"\n [templateHeader]=\"templateHeader()\">\n <ng-content />\n </libs_ui-components-card>\n</div>\n", styles: [".libs-ui-components-card-wrapper-node-shadow{box-shadow:0 4px 8px #0014330a,0 1px 1px #00143305}\n"] }]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvY2FyZC9zcmMvd3JhcHBlci93cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9jYXJkL3NyYy93cmFwcGVyL3dyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBZWxFLE1BQU0sT0FBTyxvQ0FBb0M7SUFFL0MsV0FBVztJQUVGLFdBQVcsR0FBRyxLQUFLLEVBQTZDLENBQUM7SUFDakUsV0FBVyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNwQyxjQUFjLEdBQUcsS0FBSyxFQUFrQyxDQUFDO3dHQU52RCxvQ0FBb0M7NEZBQXBDLG9DQUFvQyw4Z0JDbkJqRCwyekJBZ0JBLDRKREFJLDZCQUE2QixtVEFBRSxhQUFhLGlEQUFFLGVBQWU7OzRGQUdwRCxvQ0FBb0M7a0JBYmhELFNBQVM7K0JBRUUsaUNBQWlDLGNBSy9CLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCw2QkFBNkIsRUFBRSxhQUFhLEVBQUUsZUFBZTtxQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcHBlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVFlQRV9URU1QTEFURV9SRUYgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c0NhcmRDb21wb25lbnQgfSBmcm9tICcuLi9jYXJkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1jYXJkLXdyYXBwZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW1xuICAgICcubGlicy11aS1jb21wb25lbnRzLWNhcmQtd3JhcHBlci1ub2RlLXNoYWRvdyB7IGJveC1zaGFkb3c6IDBweCA0cHggOHB4IDBweCByZ2JhKDAsIDIwLCA1MSwgMC4wNCksIDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDIwLCA1MSwgMC4wMikgfSdcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBMaWJzVWlDb21wb25lbnRzQ2FyZENvbXBvbmVudCwgVXBwZXJDYXNlUGlwZSwgVHJhbnNsYXRlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0NhcmRXcmFwcGVyQ29tcG9uZW50IHtcblxuICAvKiBJTlBVVCAqL1xuXG4gIHJlYWRvbmx5IGxhYmVsQ29uZmlnID0gaW5wdXQ8eyBsYWJlbExlZnQ6IHN0cmluZywgcmVxdWlyZWQ/OiBib29sZWFuIH0+KCk7XG4gIHJlYWRvbmx5IGJvcmRlckVycm9yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSB0ZW1wbGF0ZUhlYWRlciA9IGlucHV0PFRlbXBsYXRlUmVmPFRZUEVfVEVNUExBVEVfUkVGPj4oKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJiZy1bI2ZmZmZmZl0gcC1bMTZweF0gcm91bmRlZC1bOHB4XSBsaWJzLXVpLWNvbXBvbmVudHMtY2FyZC13cmFwcGVyLW5vZGUtc2hhZG93XCJcbiAgW2NsYXNzLmxpYnMtdWktYm9yZGVyLWVycm9yLWdlbmVyYWxdPVwiYm9yZGVyRXJyb3IoKVwiPlxuICA8bGlic191aS1jb21wb25lbnRzLWNhcmQgW2xhYmVsXT1cImxhYmVsQ29uZmlnKCk/IHtsYWJlbExlZnQ6IChsYWJlbENvbmZpZygpPy5sYWJlbExlZnQgfHwgJycpIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlLCByZXF1aXJlZDogbGFiZWxDb25maWcoKT8ucmVxdWlyZWR9OiB7fVwiXG4gICAgW2lnbm9yZVRpdGxlXT1cInRlbXBsYXRlSGVhZGVyKCkgfHwgbGFiZWxDb25maWcoKSA/IGZhbHNlIDogdHJ1ZVwiXG4gICAgW2NvbmZpZ0NhcmRdPVwie1xuICAgICAgICBpZ25vcmVCb3JkZXJIZWFkZXI6IHRydWUsIFxuICAgICAgICBpZ25vcmVCYWNrZ3JvdW5kSGVhZGVyOiB0cnVlLFxuICAgICAgICBjbGFzc0luY2x1ZGVMYWJlbDogJ2xpYnMtdWktZm9udC1oNHMgIXRleHQtWyMwNzE2MzFdJyxcbiAgICAgICAgaWdub3JlQm9yZGVyQm9keTogdHJ1ZVxuICAgICAgfVwiXG4gICAgW2NsYXNzSW5jbHVkZUhlYWRlcl09XCInIXAtMCdcIlxuICAgIFtjbGFzc0luY2x1ZGVCb2R5XT1cIichcGItMCAnICsgKChsYWJlbENvbmZpZygpIHx8IHRlbXBsYXRlSGVhZGVyKCkpID8gJycgOiAnIXAtMCcpXCJcbiAgICBbdGVtcGxhdGVIZWFkZXJdPVwidGVtcGxhdGVIZWFkZXIoKVwiPlxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvbGlic191aS1jb21wb25lbnRzLWNhcmQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { signal, input, output, Component, ChangeDetectionStrategy } from '@angular/core';
|
|
3
|
+
import { LibsUiComponentsLabelComponent } from '@libs-ui/components-label';
|
|
4
|
+
import * as i1 from '@ngx-translate/core';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import { NgTemplateOutlet, UpperCasePipe } from '@angular/common';
|
|
7
|
+
|
|
8
|
+
class LibsUiComponentsCardComponent {
|
|
9
|
+
/* PROPERTY */
|
|
10
|
+
isHidden = signal(false);
|
|
11
|
+
/* INPUT */
|
|
12
|
+
label = input();
|
|
13
|
+
ignoreTitle = input();
|
|
14
|
+
hasCollapseBtn = input();
|
|
15
|
+
clickExactly = input();
|
|
16
|
+
configCard = input();
|
|
17
|
+
templateHeader = input(undefined);
|
|
18
|
+
classIncludeBody = input();
|
|
19
|
+
classIncludeHeader = input();
|
|
20
|
+
classIncludeHeaderWhenHiddenContent = input();
|
|
21
|
+
/* OUTPUT */
|
|
22
|
+
outChangeStateShowContent = output();
|
|
23
|
+
outFunctionsControl = output();
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.outFunctionsControl.emit({
|
|
26
|
+
changeHidden: this.handlerHiddenOrShowByTemplateHeader.bind(this)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/* FUNCTIONS */
|
|
30
|
+
async handlerHiddenOrShowContent(event, clickExactly) {
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
if (!this.hasCollapseBtn() || this.clickExactly() && !clickExactly) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.isHidden.update(value => !value);
|
|
36
|
+
this.outChangeStateShowContent.emit(this.isHidden());
|
|
37
|
+
}
|
|
38
|
+
async handlerHiddenOrShowByTemplateHeader() {
|
|
39
|
+
if (!this.hasCollapseBtn) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.isHidden.update(value => !value);
|
|
43
|
+
this.outChangeStateShowContent.emit(this.isHidden());
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsCardComponent, isStandalone: true, selector: "libs_ui-components-card", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ignoreTitle: { classPropertyName: "ignoreTitle", publicName: "ignoreTitle", isSignal: true, isRequired: false, transformFunction: null }, hasCollapseBtn: { classPropertyName: "hasCollapseBtn", publicName: "hasCollapseBtn", isSignal: true, isRequired: false, transformFunction: null }, clickExactly: { classPropertyName: "clickExactly", publicName: "clickExactly", isSignal: true, isRequired: false, transformFunction: null }, configCard: { classPropertyName: "configCard", publicName: "configCard", isSignal: true, isRequired: false, transformFunction: null }, templateHeader: { classPropertyName: "templateHeader", publicName: "templateHeader", isSignal: true, isRequired: false, transformFunction: null }, classIncludeBody: { classPropertyName: "classIncludeBody", publicName: "classIncludeBody", isSignal: true, isRequired: false, transformFunction: null }, classIncludeHeader: { classPropertyName: "classIncludeHeader", publicName: "classIncludeHeader", isSignal: true, isRequired: false, transformFunction: null }, classIncludeHeaderWhenHiddenContent: { classPropertyName: "classIncludeHeaderWhenHiddenContent", publicName: "classIncludeHeaderWhenHiddenContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { outChangeStateShowContent: "outChangeStateShowContent", outFunctionsControl: "outFunctionsControl" }, ngImport: i0, template: "@if (!ignoreTitle()) {\n <div 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 (click)=\"handlerHiddenOrShowContent($event,true)\"\n [class]=\"'cursor-pointer mr-[8px] ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right' : 'rotate-[90deg] libs-ui-icon-chevron-right')\">\n </span>\n }\n @if (!templateHeader()) {\n <div [style.width]=\"configCard()?.width ||''\">\n <libs_ui-components-label [popover]=\"label()?.popover\"\n [labelLeft]=\"label()?.labelLeft\"\n [labelLeftClass]=\"configCard()?.classIncludeLabel || 'libs-ui-font-h3si 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 [class]=\"'cursor-pointer text-[10px] ml-auto ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right rotate-[90deg]' : 'libs-ui-icon-chevron-right -rotate-[90deg]')\"\n (click)=\"handlerHiddenOrShowContent($event,true)\">\n </span>\n }\n @if (templateHeader(); as templateHeader) {\n <ng-container *ngTemplateOutlet=\"templateHeader\" />\n }\n </div>\n}\n\n@if (!isHidden()) {\n <div class=\"libs-ui-card-body {{ classIncludeBody() }}\"\n [class.libs-ui-border-general]=\"!configCard()?.ignoreBorderBody\">\n <ng-content />\n </div>\n}", styles: [".libs-ui-card-header{padding:6px 16px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.libs-ui-card-body{background-color:#fff;padding:16px 0;overflow-x:hidden;overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LibsUiComponentsLabelComponent, selector: "libs_ui-components-label", inputs: ["iconPopoverClass", "classInclude", "labelLeft", "labelLeftClass", "labelLeftBehindToggleButton", "popover", "required", "buttonsLeft", "disableButtonsLeft", "buttonsRight", "disableButtonsRight", "labelRight", "labelRightClass", "labelRightRequired", "hasToggle", "toggleSize", "toggleActive", "toggleDisable", "description", "descriptionClass", "buttonsDescription", "disableButtonsDescription", "buttonsDescriptionContainerClass", "onlyShowCount", "zIndexPopover", "timerDestroyPopover", "count", "limitLength"], outputs: ["outClickButton", "outSwitchEvent", "outLabelRightClick", "outLabelLeftClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCardComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{ selector: 'libs_ui-components-card', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
51
|
+
TranslateModule, NgTemplateOutlet,
|
|
52
|
+
LibsUiComponentsLabelComponent
|
|
53
|
+
], template: "@if (!ignoreTitle()) {\n <div 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 (click)=\"handlerHiddenOrShowContent($event,true)\"\n [class]=\"'cursor-pointer mr-[8px] ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right' : 'rotate-[90deg] libs-ui-icon-chevron-right')\">\n </span>\n }\n @if (!templateHeader()) {\n <div [style.width]=\"configCard()?.width ||''\">\n <libs_ui-components-label [popover]=\"label()?.popover\"\n [labelLeft]=\"label()?.labelLeft\"\n [labelLeftClass]=\"configCard()?.classIncludeLabel || 'libs-ui-font-h3si 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 [class]=\"'cursor-pointer text-[10px] ml-auto ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right rotate-[90deg]' : 'libs-ui-icon-chevron-right -rotate-[90deg]')\"\n (click)=\"handlerHiddenOrShowContent($event,true)\">\n </span>\n }\n @if (templateHeader(); as templateHeader) {\n <ng-container *ngTemplateOutlet=\"templateHeader\" />\n }\n </div>\n}\n\n@if (!isHidden()) {\n <div class=\"libs-ui-card-body {{ classIncludeBody() }}\"\n [class.libs-ui-border-general]=\"!configCard()?.ignoreBorderBody\">\n <ng-content />\n </div>\n}", styles: [".libs-ui-card-header{padding:6px 16px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.libs-ui-card-body{background-color:#fff;padding:16px 0;overflow-x:hidden;overflow-y:auto}\n"] }]
|
|
54
|
+
}] });
|
|
55
|
+
|
|
56
|
+
class LibsUiComponentsCardWrapperComponent {
|
|
57
|
+
/* INPUT */
|
|
58
|
+
labelConfig = input();
|
|
59
|
+
borderError = input(false);
|
|
60
|
+
templateHeader = input();
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCardWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: LibsUiComponentsCardWrapperComponent, isStandalone: true, selector: "libs_ui-components-card-wrapper", inputs: { labelConfig: { classPropertyName: "labelConfig", publicName: "labelConfig", isSignal: true, isRequired: false, transformFunction: null }, borderError: { classPropertyName: "borderError", publicName: "borderError", isSignal: true, isRequired: false, transformFunction: null }, templateHeader: { classPropertyName: "templateHeader", publicName: "templateHeader", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"bg-[#ffffff] p-[16px] rounded-[8px] libs-ui-components-card-wrapper-node-shadow\"\n [class.libs-ui-border-error-general]=\"borderError()\">\n <libs_ui-components-card [label]=\"labelConfig()? {labelLeft: (labelConfig()?.labelLeft || '') | translate | uppercase, required: labelConfig()?.required}: {}\"\n [ignoreTitle]=\"templateHeader() || labelConfig() ? false : true\"\n [configCard]=\"{\n ignoreBorderHeader: true, \n ignoreBackgroundHeader: true,\n classIncludeLabel: 'libs-ui-font-h4s !text-[#071631]',\n ignoreBorderBody: true\n }\"\n [classIncludeHeader]=\"'!p-0'\"\n [classIncludeBody]=\"'!pb-0 ' + ((labelConfig() || templateHeader()) ? '' : '!p-0')\"\n [templateHeader]=\"templateHeader()\">\n <ng-content />\n </libs_ui-components-card>\n</div>\n", styles: [".libs-ui-components-card-wrapper-node-shadow{box-shadow:0 4px 8px #0014330a,0 1px 1px #00143305}\n"], dependencies: [{ kind: "component", type: LibsUiComponentsCardComponent, selector: "libs_ui-components-card", inputs: ["label", "ignoreTitle", "hasCollapseBtn", "clickExactly", "configCard", "templateHeader", "classIncludeBody", "classIncludeHeader", "classIncludeHeaderWhenHiddenContent"], outputs: ["outChangeStateShowContent", "outFunctionsControl"] }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsCardWrapperComponent, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{ selector: 'libs_ui-components-card-wrapper', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
67
|
+
LibsUiComponentsCardComponent, UpperCasePipe, TranslateModule
|
|
68
|
+
], template: "<div class=\"bg-[#ffffff] p-[16px] rounded-[8px] libs-ui-components-card-wrapper-node-shadow\"\n [class.libs-ui-border-error-general]=\"borderError()\">\n <libs_ui-components-card [label]=\"labelConfig()? {labelLeft: (labelConfig()?.labelLeft || '') | translate | uppercase, required: labelConfig()?.required}: {}\"\n [ignoreTitle]=\"templateHeader() || labelConfig() ? false : true\"\n [configCard]=\"{\n ignoreBorderHeader: true, \n ignoreBackgroundHeader: true,\n classIncludeLabel: 'libs-ui-font-h4s !text-[#071631]',\n ignoreBorderBody: true\n }\"\n [classIncludeHeader]=\"'!p-0'\"\n [classIncludeBody]=\"'!pb-0 ' + ((labelConfig() || templateHeader()) ? '' : '!p-0')\"\n [templateHeader]=\"templateHeader()\">\n <ng-content />\n </libs_ui-components-card>\n</div>\n", styles: [".libs-ui-components-card-wrapper-node-shadow{box-shadow:0 4px 8px #0014330a,0 1px 1px #00143305}\n"] }]
|
|
69
|
+
}] });
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Generated bundle index. Do not edit.
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
export { LibsUiComponentsCardComponent, LibsUiComponentsCardWrapperComponent };
|
|
76
|
+
//# sourceMappingURL=libs-ui-components-card.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"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, OnInit, output, signal, TemplateRef } from '@angular/core';\nimport { ILabel, LibsUiComponentsLabelComponent } from '@libs-ui/components-label';\nimport { TYPE_TEMPLATE_REF } from '@libs-ui/interfaces-types';\n\nimport { TranslateModule } from '@ngx-translate/core';\nimport { IConfigCard, IFunctionControlCard } from './interfaces/card.interface';\nimport { NgTemplateOutlet } from '@angular/common';\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: [\n TranslateModule, NgTemplateOutlet,\n LibsUiComponentsLabelComponent\n ]\n})\nexport class LibsUiComponentsCardComponent implements OnInit {\n\n /* PROPERTY */\n protected isHidden = signal<boolean>(false);\n\n /* INPUT */\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\n readonly templateHeader = input<TemplateRef<TYPE_TEMPLATE_REF> | undefined>(undefined);\n \n\n readonly classIncludeBody = input<string>();\n readonly classIncludeHeader = input<string>();\n readonly classIncludeHeaderWhenHiddenContent = input<string>();\n\n /* OUTPUT */\n readonly outChangeStateShowContent = output<boolean>();\n readonly outFunctionsControl = output<IFunctionControlCard>();\n\n ngOnInit(): void {\n this.outFunctionsControl.emit({\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 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 (click)=\"handlerHiddenOrShowContent($event,true)\"\n [class]=\"'cursor-pointer mr-[8px] ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right' : 'rotate-[90deg] libs-ui-icon-chevron-right')\">\n </span>\n }\n @if (!templateHeader()) {\n <div [style.width]=\"configCard()?.width ||''\">\n <libs_ui-components-label [popover]=\"label()?.popover\"\n [labelLeft]=\"label()?.labelLeft\"\n [labelLeftClass]=\"configCard()?.classIncludeLabel || 'libs-ui-font-h3si 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 [class]=\"'cursor-pointer text-[10px] ml-auto ' + (configCard()?.classIncludeIcon ?? '') + (isHidden() ? 'libs-ui-icon-chevron-right rotate-[90deg]' : 'libs-ui-icon-chevron-right -rotate-[90deg]')\"\n (click)=\"handlerHiddenOrShowContent($event,true)\">\n </span>\n }\n @if (templateHeader(); as templateHeader) {\n <ng-container *ngTemplateOutlet=\"templateHeader\" />\n }\n </div>\n}\n\n@if (!isHidden()) {\n <div class=\"libs-ui-card-body {{ classIncludeBody() }}\"\n [class.libs-ui-border-general]=\"!configCard()?.ignoreBorderBody\">\n <ng-content />\n </div>\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: [\n '.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 ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n LibsUiComponentsCardComponent, UpperCasePipe, TranslateModule\n ]\n})\nexport class LibsUiComponentsCardWrapperComponent {\n\n /* 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}\n","<div class=\"bg-[#ffffff] p-[16px] rounded-[8px] libs-ui-components-card-wrapper-node-shadow\"\n [class.libs-ui-border-error-general]=\"borderError()\">\n <libs_ui-components-card [label]=\"labelConfig()? {labelLeft: (labelConfig()?.labelLeft || '') | translate | uppercase, required: labelConfig()?.required}: {}\"\n [ignoreTitle]=\"templateHeader() || labelConfig() ? false : true\"\n [configCard]=\"{\n ignoreBorderHeader: true, \n ignoreBackgroundHeader: true,\n classIncludeLabel: 'libs-ui-font-h4s !text-[#071631]',\n ignoreBorderBody: true\n }\"\n [classIncludeHeader]=\"'!p-0'\"\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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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface IConfigCard {
|
|
2
|
+
ignorePaddingLeft?: boolean;
|
|
3
|
+
ignoreBorderHeader?: boolean;
|
|
4
|
+
ignoreBackgroundHeader?: boolean;
|
|
5
|
+
iconConRight?: boolean;
|
|
6
|
+
width?: string;
|
|
7
|
+
classIncludeLabel?: string;
|
|
8
|
+
classIncludeIcon?: string;
|
|
9
|
+
ignoreBorderRadiusHeader?: boolean;
|
|
10
|
+
ignoreBorderBody?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface IFunctionControlCard {
|
|
13
|
+
changeHidden: () => Promise<void>;
|
|
14
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@libs-ui/components-card",
|
|
3
|
+
"version": "0.2.26",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^18.2.0",
|
|
6
|
+
"@angular/core": "^18.2.0"
|
|
7
|
+
},
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"module": "fesm2022/libs-ui-components-card.mjs",
|
|
10
|
+
"typings": "index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
"./package.json": {
|
|
13
|
+
"default": "./package.json"
|
|
14
|
+
},
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./index.d.ts",
|
|
17
|
+
"esm2022": "./esm2022/libs-ui-components-card.mjs",
|
|
18
|
+
"esm": "./esm2022/libs-ui-components-card.mjs",
|
|
19
|
+
"default": "./fesm2022/libs-ui-components-card.mjs"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"tslib": "^2.3.0"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class LibsUiComponentsCardWrapperComponent {
|
|
4
|
+
readonly labelConfig: import("@angular/core").InputSignal<{
|
|
5
|
+
labelLeft: string;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
} | undefined>;
|
|
8
|
+
readonly borderError: import("@angular/core").InputSignal<boolean>;
|
|
9
|
+
readonly templateHeader: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsCardWrapperComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsCardWrapperComponent, "libs_ui-components-card-wrapper", never, { "labelConfig": { "alias": "labelConfig"; "required": false; "isSignal": true; }; "borderError": { "alias": "borderError"; "required": false; "isSignal": true; }; "templateHeader": { "alias": "templateHeader"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
12
|
+
}
|