uni-component-tw 1.0.0 → 1.0.1

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.
@@ -3,7 +3,8 @@ import { ChangeDetectionStrategy, Component, computed, input, signal, } from '@a
3
3
  import { DxButtonModule } from 'devextreme-angular/ui/button';
4
4
  import { FaIconComponent } from '@fortawesome/angular-fontawesome';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "devextreme-angular/ui/button";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "devextreme-angular/ui/button";
7
8
  export class UniArticleComponent {
8
9
  constructor() {
9
10
  /* Inputs */
@@ -32,13 +33,12 @@ export class UniArticleComponent {
32
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniArticleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
34
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniArticleComponent, isStandalone: true, selector: "uni-article", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, setIsOpen: { classPropertyName: "setIsOpen", publicName: "setIsOpen", isSignal: true, isRequired: false, transformFunction: null }, headerCloseButton: { classPropertyName: "headerCloseButton", publicName: "headerCloseButton", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: `
34
35
  <article
35
- class="uni_article flex flex-col p-4 border-2 rounded"
36
- [style.height]="isOpen() ? '100%' : 'auto'"
36
+ class="uni_article flex h-full flex-col rounded border-2 p-4"
37
37
  [style.backgroundColor]="color() + '26'"
38
38
  [style.borderColor]="color() + '33'">
39
39
  <!-- Title -->
40
40
  @if (isHeader()) {
41
- <div class="uni_article_header flex items-center gap-4 mb-4">
41
+ <div class="uni_article_header flex items-center gap-4" [ngClass]="{ 'mb-4': isOpen() }">
42
42
  <!-- Icona nella testata, se presente -->
43
43
  @if (icon(); as icon) {
44
44
  <fa-icon class="uni-article-header-icon" [icon]="icon"></fa-icon>
@@ -46,7 +46,7 @@ export class UniArticleComponent {
46
46
 
47
47
  <!-- Titolo nella testata, se presente -->
48
48
  @if (title(); as title) {
49
- <h5 class="uni_article_header_title uppercase truncate">{{ title }}</h5>
49
+ <h5 class="uni_article_header_title truncate uppercase">{{ title }}</h5>
50
50
  }
51
51
 
52
52
  <!-- Bottone per aprire/chiudere l'articolo, se presente -->
@@ -65,19 +65,18 @@ export class UniArticleComponent {
65
65
  <ng-content></ng-content>
66
66
  }
67
67
  </article>
68
- `, isInline: true, styles: [":host{height:100%;display:block;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DxButtonModule }, { kind: "component", type: i1.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
+ `, isInline: true, styles: [":host{display:block;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: DxButtonModule }, { kind: "component", type: i2.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
69
  }
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniArticleComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: 'uni-article', standalone: true, imports: [CommonModule, DxButtonModule, FaIconComponent], template: `
73
73
  <article
74
- class="uni_article flex flex-col p-4 border-2 rounded"
75
- [style.height]="isOpen() ? '100%' : 'auto'"
74
+ class="uni_article flex h-full flex-col rounded border-2 p-4"
76
75
  [style.backgroundColor]="color() + '26'"
77
76
  [style.borderColor]="color() + '33'">
78
77
  <!-- Title -->
79
78
  @if (isHeader()) {
80
- <div class="uni_article_header flex items-center gap-4 mb-4">
79
+ <div class="uni_article_header flex items-center gap-4" [ngClass]="{ 'mb-4': isOpen() }">
81
80
  <!-- Icona nella testata, se presente -->
82
81
  @if (icon(); as icon) {
83
82
  <fa-icon class="uni-article-header-icon" [icon]="icon"></fa-icon>
@@ -85,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
85
84
 
86
85
  <!-- Titolo nella testata, se presente -->
87
86
  @if (title(); as title) {
88
- <h5 class="uni_article_header_title uppercase truncate">{{ title }}</h5>
87
+ <h5 class="uni_article_header_title truncate uppercase">{{ title }}</h5>
89
88
  }
90
89
 
91
90
  <!-- Bottone per aprire/chiudere l'articolo, se presente -->
@@ -104,6 +103,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
104
103
  <ng-content></ng-content>
105
104
  }
106
105
  </article>
107
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{height:100%;display:block;overflow:hidden}\n"] }]
106
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;overflow:hidden}\n"] }]
108
107
  }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWFydGljbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktYXJ0aWNsZS9zcmMvdW5pLWFydGljbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFzRG5FLE1BQU0sT0FBTyxtQkFBbUI7SUFuRGhDO1FBb0RFLFlBQVk7UUFDSCxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDLENBQUMsK0JBQStCO1FBQ2pFLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQyxDQUFDLGlDQUFpQztRQUMxRCxTQUFJLEdBQUcsS0FBSyxFQUFrQixDQUFDLENBQUMscUNBQXFDO1FBQ3JFLGNBQVMsR0FBRyxLQUFLLEVBQXVCLENBQUMsQ0FBQyw2QkFBNkI7UUFDdkUsc0JBQWlCLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDLENBQUMsNkNBQTZDO1FBRWpHLGVBQWU7UUFDZixXQUFNLEdBQUcsTUFBTSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQy9CLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0tBZ0JwRjtJQWRDLHdFQUF3RTtJQUN4RSxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM5QixrRUFBa0U7UUFDbEUsSUFBSSxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLFNBQVMsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0VBQWdFO0lBQ3RELFlBQVk7UUFDcEIsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OEdBekJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDR1QkEvQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCwySEFwQ1MsWUFBWSw4QkFBRSxjQUFjLHMwQkFBRSxlQUFlOzsyRkFnRDVDLG1CQUFtQjtrQkFuRC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLFlBQzlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCxtQkFVZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIGNvbXB1dGVkLFxyXG4gIGlucHV0LFxyXG4gIHNpZ25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhCdXR0b25Nb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRmFJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5pbXBvcnQgeyBJY29uRGVmaW5pdGlvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VuaS1hcnRpY2xlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIER4QnV0dG9uTW9kdWxlLCBGYUljb25Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8YXJ0aWNsZVxyXG4gICAgICBjbGFzcz1cInVuaV9hcnRpY2xlIGZsZXggZmxleC1jb2wgcC00IGJvcmRlci0yIHJvdW5kZWRcIlxyXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cImlzT3BlbigpID8gJzEwMCUnIDogJ2F1dG8nXCJcclxuICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJjb2xvcigpICsgJzI2J1wiXHJcbiAgICAgIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJjb2xvcigpICsgJzMzJ1wiPlxyXG4gICAgICA8IS0tIFRpdGxlIC0tPlxyXG4gICAgICBAaWYgKGlzSGVhZGVyKCkpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidW5pX2FydGljbGVfaGVhZGVyIGZsZXggaXRlbXMtY2VudGVyIGdhcC00IG1iLTRcIj5cclxuICAgICAgICAgIDwhLS0gSWNvbmEgbmVsbGEgdGVzdGF0YSwgc2UgcHJlc2VudGUgLS0+XHJcbiAgICAgICAgICBAaWYgKGljb24oKTsgYXMgaWNvbikge1xyXG4gICAgICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cInVuaS1hcnRpY2xlLWhlYWRlci1pY29uXCIgW2ljb25dPVwiaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICA8IS0tIFRpdG9sbyBuZWxsYSB0ZXN0YXRhLCBzZSBwcmVzZW50ZSAtLT5cclxuICAgICAgICAgIEBpZiAodGl0bGUoKTsgYXMgdGl0bGUpIHtcclxuICAgICAgICAgICAgPGg1IGNsYXNzPVwidW5pX2FydGljbGVfaGVhZGVyX3RpdGxlIHVwcGVyY2FzZSB0cnVuY2F0ZVwiPnt7IHRpdGxlIH19PC9oNT5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICA8IS0tIEJvdHRvbmUgcGVyIGFwcmlyZS9jaGl1ZGVyZSBsJ2FydGljb2xvLCBzZSBwcmVzZW50ZSAtLT5cclxuICAgICAgICAgIEBpZiAoaGVhZGVyQ2xvc2VCdXR0b24oKSkge1xyXG4gICAgICAgICAgICA8ZHgtYnV0dG9uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmlfYXJ0aWNsZV9oZWFkZXJfYnV0dG9uIG1sLWF1dG9cIlxyXG4gICAgICAgICAgICAgIFtpY29uXT1cImlzT3BlbigpID8gJ2Nsb3NlJyA6ICdleHBhbmRmb3JtJ1wiXHJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlSXNPcGVuKClcIj5cclxuICAgICAgICAgICAgPC9keC1idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDwhLS0gQ29udGVudXRvIGRlbGwnYXJ0aWNvbG8sIHZpc2liaWxlIHNvbG8gc2UgYXBlcnRvIC0tPlxyXG4gICAgICBAaWYgKGlzT3BlbigpKSB7XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICB9XHJcbiAgICA8L2FydGljbGU+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgOmhvc3Qge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlBcnRpY2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAvKiBJbnB1dHMgKi9cclxuICByZWFkb25seSBjb2xvciA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTsgLy8gQ29sb3JlIGRpIGJhc2UgZGVsbCdhcnRpY29sb1xyXG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQ8c3RyaW5nPigpOyAvLyBUaXRvbG8gb3B6aW9uYWxlIGRlbGwnYXJ0aWNvbG9cclxuICByZWFkb25seSBpY29uID0gaW5wdXQ8SWNvbkRlZmluaXRpb24+KCk7IC8vIEljb25hIG9wemlvbmFsZSBwZXIgbCdpbnRlc3RhemlvbmVcclxuICByZWFkb25seSBzZXRJc09wZW4gPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPigpOyAvLyBTdGF0byBpbml6aWFsZSBkaSBhcGVydHVyYVxyXG4gIHJlYWRvbmx5IGhlYWRlckNsb3NlQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpOyAvLyBTZSBtb3N0cmFyZSBpbCBidXR0b24gcGVyIGNoaXVkZXJlIGFydGljbGVcclxuXHJcbiAgLyogVmFyaWFibGVzICovXHJcbiAgaXNPcGVuID0gc2lnbmFsPGJvb2xlYW4+KHRydWUpO1xyXG4gIGlzSGVhZGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pY29uKCkgfHwgdGhpcy50aXRsZSgpIHx8IHRoaXMuaGVhZGVyQ2xvc2VCdXR0b24oKSk7XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIExpZmVjeWNsZSBIb29rIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgc2V0SXNPcGVuIH0gPSBjaGFuZ2VzO1xyXG4gICAgLy8gVmVyaWZpY2Egc2UgJ3NldElzT3Blbicgw6ggY2FtYmlhdG8gZSBub24gw6ggaWwgcHJpbW8gY2FtYmlhbWVudG9cclxuICAgIGlmIChzZXRJc09wZW4gJiYgIXNldElzT3Blbi5maXJzdENoYW5nZSAmJiBzZXRJc09wZW4uY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5pc09wZW4uc2V0KHNldElzT3Blbi5jdXJyZW50VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTWV0b2RpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4gIHByb3RlY3RlZCB0b2dnbGVJc09wZW4oKTogdm9pZCB7XHJcbiAgICAvLyBJbnZlcnRlIGxvIHN0YXRvIGRpIGFwZXJ0dXJhL2NoaXVzdXJhXHJcbiAgICB0aGlzLmlzT3Blbi51cGRhdGUoKHZhbCkgPT4gIXZhbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWFydGljbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktYXJ0aWNsZS9zcmMvdW5pLWFydGljbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBb0RuRSxNQUFNLE9BQU8sbUJBQW1CO0lBakRoQztRQWtERSxZQUFZO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQyxDQUFDLCtCQUErQjtRQUNqRSxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUMsQ0FBQyxpQ0FBaUM7UUFDMUQsU0FBSSxHQUFHLEtBQUssRUFBa0IsQ0FBQyxDQUFDLHFDQUFxQztRQUNyRSxjQUFTLEdBQUcsS0FBSyxFQUF1QixDQUFDLENBQUMsNkJBQTZCO1FBQ3ZFLHNCQUFpQixHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztRQUVqRyxlQUFlO1FBQ2YsV0FBTSxHQUFHLE1BQU0sQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvQixhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztLQWdCcEY7SUFkQyx3RUFBd0U7SUFDeEUsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDOUIsa0VBQWtFO1FBQ2xFLElBQUksU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hGLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGdFQUFnRTtJQUN0RCxZQUFZO1FBQ3BCLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDOzhHQXpCVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw0dUJBN0NwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVCwrR0FuQ1MsWUFBWSw0SEFBRSxjQUFjLHMwQkFBRSxlQUFlOzsyRkE4QzVDLG1CQUFtQjtrQkFqRC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLFlBQzlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NULG1CQVNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgaW5wdXQsXHJcbiAgc2lnbmFsLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeEJ1dHRvbk1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7IEljb25EZWZpbml0aW9uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndW5pLWFydGljbGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHhCdXR0b25Nb2R1bGUsIEZhSWNvbkNvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhcnRpY2xlXHJcbiAgICAgIGNsYXNzPVwidW5pX2FydGljbGUgZmxleCBoLWZ1bGwgZmxleC1jb2wgcm91bmRlZCBib3JkZXItMiBwLTRcIlxyXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImNvbG9yKCkgKyAnMjYnXCJcclxuICAgICAgW3N0eWxlLmJvcmRlckNvbG9yXT1cImNvbG9yKCkgKyAnMzMnXCI+XHJcbiAgICAgIDwhLS0gVGl0bGUgLS0+XHJcbiAgICAgIEBpZiAoaXNIZWFkZXIoKSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1bmlfYXJ0aWNsZV9oZWFkZXIgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIiBbbmdDbGFzc109XCJ7ICdtYi00JzogaXNPcGVuKCkgfVwiPlxyXG4gICAgICAgICAgPCEtLSBJY29uYSBuZWxsYSB0ZXN0YXRhLCBzZSBwcmVzZW50ZSAtLT5cclxuICAgICAgICAgIEBpZiAoaWNvbigpOyBhcyBpY29uKSB7XHJcbiAgICAgICAgICAgIDxmYS1pY29uIGNsYXNzPVwidW5pLWFydGljbGUtaGVhZGVyLWljb25cIiBbaWNvbl09XCJpY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIDwhLS0gVGl0b2xvIG5lbGxhIHRlc3RhdGEsIHNlIHByZXNlbnRlIC0tPlxyXG4gICAgICAgICAgQGlmICh0aXRsZSgpOyBhcyB0aXRsZSkge1xyXG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJ1bmlfYXJ0aWNsZV9oZWFkZXJfdGl0bGUgdHJ1bmNhdGUgdXBwZXJjYXNlXCI+e3sgdGl0bGUgfX08L2g1PlxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIDwhLS0gQm90dG9uZSBwZXIgYXByaXJlL2NoaXVkZXJlIGwnYXJ0aWNvbG8sIHNlIHByZXNlbnRlIC0tPlxyXG4gICAgICAgICAgQGlmIChoZWFkZXJDbG9zZUJ1dHRvbigpKSB7XHJcbiAgICAgICAgICAgIDxkeC1idXR0b25cclxuICAgICAgICAgICAgICBjbGFzcz1cInVuaV9hcnRpY2xlX2hlYWRlcl9idXR0b24gbWwtYXV0b1wiXHJcbiAgICAgICAgICAgICAgW2ljb25dPVwiaXNPcGVuKCkgPyAnY2xvc2UnIDogJ2V4cGFuZGZvcm0nXCJcclxuICAgICAgICAgICAgICAob25DbGljayk9XCJ0b2dnbGVJc09wZW4oKVwiPlxyXG4gICAgICAgICAgICA8L2R4LWJ1dHRvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG5cclxuICAgICAgPCEtLSBDb250ZW51dG8gZGVsbCdhcnRpY29sbywgdmlzaWJpbGUgc29sbyBzZSBhcGVydG8gLS0+XHJcbiAgICAgIEBpZiAoaXNPcGVuKCkpIHtcclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIH1cclxuICAgIDwvYXJ0aWNsZT5cclxuICBgLFxyXG4gIHN0eWxlczogW1xyXG4gICAgYFxyXG4gICAgICA6aG9zdCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgYCxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5pQXJ0aWNsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgLyogSW5wdXRzICovXHJcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7IC8vIENvbG9yZSBkaSBiYXNlIGRlbGwnYXJ0aWNvbG9cclxuICByZWFkb25seSB0aXRsZSA9IGlucHV0PHN0cmluZz4oKTsgLy8gVGl0b2xvIG9wemlvbmFsZSBkZWxsJ2FydGljb2xvXHJcbiAgcmVhZG9ubHkgaWNvbiA9IGlucHV0PEljb25EZWZpbml0aW9uPigpOyAvLyBJY29uYSBvcHppb25hbGUgcGVyIGwnaW50ZXN0YXppb25lXHJcbiAgcmVhZG9ubHkgc2V0SXNPcGVuID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oKTsgLy8gU3RhdG8gaW5pemlhbGUgZGkgYXBlcnR1cmFcclxuICByZWFkb25seSBoZWFkZXJDbG9zZUJ1dHRvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTsgLy8gU2UgbW9zdHJhcmUgaWwgYnV0dG9uIHBlciBjaGl1ZGVyZSBhcnRpY2xlXHJcblxyXG4gIC8qIFZhcmlhYmxlcyAqL1xyXG4gIGlzT3BlbiA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcclxuICBpc0hlYWRlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaWNvbigpIHx8IHRoaXMudGl0bGUoKSB8fCB0aGlzLmhlYWRlckNsb3NlQnV0dG9uKCkpO1xyXG5cclxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBMaWZlY3ljbGUgSG9vayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHNldElzT3BlbiB9ID0gY2hhbmdlcztcclxuICAgIC8vIFZlcmlmaWNhIHNlICdzZXRJc09wZW4nIMOoIGNhbWJpYXRvIGUgbm9uIMOoIGlsIHByaW1vIGNhbWJpYW1lbnRvXHJcbiAgICBpZiAoc2V0SXNPcGVuICYmICFzZXRJc09wZW4uZmlyc3RDaGFuZ2UgJiYgc2V0SXNPcGVuLmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaXNPcGVuLnNldChzZXRJc09wZW4uY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1ldG9kaSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuICBwcm90ZWN0ZWQgdG9nZ2xlSXNPcGVuKCk6IHZvaWQge1xyXG4gICAgLy8gSW52ZXJ0ZSBsbyBzdGF0byBkaSBhcGVydHVyYS9jaGl1c3VyYVxyXG4gICAgdGhpcy5pc09wZW4udXBkYXRlKCh2YWwpID0+ICF2YWwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,7 +1,8 @@
1
+ import * as i1 from '@angular/common';
1
2
  import { CommonModule } from '@angular/common';
2
3
  import * as i0 from '@angular/core';
3
4
  import { input, signal, computed, Component, ChangeDetectionStrategy } from '@angular/core';
4
- import * as i1 from 'devextreme-angular/ui/button';
5
+ import * as i2 from 'devextreme-angular/ui/button';
5
6
  import { DxButtonModule } from 'devextreme-angular/ui/button';
6
7
  import { FaIconComponent } from '@fortawesome/angular-fontawesome';
7
8
 
@@ -33,13 +34,12 @@ class UniArticleComponent {
33
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniArticleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
35
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniArticleComponent, isStandalone: true, selector: "uni-article", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, setIsOpen: { classPropertyName: "setIsOpen", publicName: "setIsOpen", isSignal: true, isRequired: false, transformFunction: null }, headerCloseButton: { classPropertyName: "headerCloseButton", publicName: "headerCloseButton", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: `
35
36
  <article
36
- class="uni_article flex flex-col p-4 border-2 rounded"
37
- [style.height]="isOpen() ? '100%' : 'auto'"
37
+ class="uni_article flex h-full flex-col rounded border-2 p-4"
38
38
  [style.backgroundColor]="color() + '26'"
39
39
  [style.borderColor]="color() + '33'">
40
40
  <!-- Title -->
41
41
  @if (isHeader()) {
42
- <div class="uni_article_header flex items-center gap-4 mb-4">
42
+ <div class="uni_article_header flex items-center gap-4" [ngClass]="{ 'mb-4': isOpen() }">
43
43
  <!-- Icona nella testata, se presente -->
44
44
  @if (icon(); as icon) {
45
45
  <fa-icon class="uni-article-header-icon" [icon]="icon"></fa-icon>
@@ -47,7 +47,7 @@ class UniArticleComponent {
47
47
 
48
48
  <!-- Titolo nella testata, se presente -->
49
49
  @if (title(); as title) {
50
- <h5 class="uni_article_header_title uppercase truncate">{{ title }}</h5>
50
+ <h5 class="uni_article_header_title truncate uppercase">{{ title }}</h5>
51
51
  }
52
52
 
53
53
  <!-- Bottone per aprire/chiudere l'articolo, se presente -->
@@ -66,19 +66,18 @@ class UniArticleComponent {
66
66
  <ng-content></ng-content>
67
67
  }
68
68
  </article>
69
- `, isInline: true, styles: [":host{height:100%;display:block;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DxButtonModule }, { kind: "component", type: i1.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
+ `, isInline: true, styles: [":host{display:block;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: DxButtonModule }, { kind: "component", type: i2.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniArticleComponent, decorators: [{
72
72
  type: Component,
73
73
  args: [{ selector: 'uni-article', standalone: true, imports: [CommonModule, DxButtonModule, FaIconComponent], template: `
74
74
  <article
75
- class="uni_article flex flex-col p-4 border-2 rounded"
76
- [style.height]="isOpen() ? '100%' : 'auto'"
75
+ class="uni_article flex h-full flex-col rounded border-2 p-4"
77
76
  [style.backgroundColor]="color() + '26'"
78
77
  [style.borderColor]="color() + '33'">
79
78
  <!-- Title -->
80
79
  @if (isHeader()) {
81
- <div class="uni_article_header flex items-center gap-4 mb-4">
80
+ <div class="uni_article_header flex items-center gap-4" [ngClass]="{ 'mb-4': isOpen() }">
82
81
  <!-- Icona nella testata, se presente -->
83
82
  @if (icon(); as icon) {
84
83
  <fa-icon class="uni-article-header-icon" [icon]="icon"></fa-icon>
@@ -86,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
86
85
 
87
86
  <!-- Titolo nella testata, se presente -->
88
87
  @if (title(); as title) {
89
- <h5 class="uni_article_header_title uppercase truncate">{{ title }}</h5>
88
+ <h5 class="uni_article_header_title truncate uppercase">{{ title }}</h5>
90
89
  }
91
90
 
92
91
  <!-- Bottone per aprire/chiudere l'articolo, se presente -->
@@ -105,7 +104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
105
104
  <ng-content></ng-content>
106
105
  }
107
106
  </article>
108
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{height:100%;display:block;overflow:hidden}\n"] }]
107
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;overflow:hidden}\n"] }]
109
108
  }] });
110
109
 
111
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"uni-component-tw-uni-article.mjs","sources":["../../../projects/uni-component-tw/uni-article/src/uni-article.component.ts","../../../projects/uni-component-tw/uni-article/uni-component-tw-uni-article.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n input,\r\n signal,\r\n SimpleChanges,\r\n OnChanges,\r\n} from '@angular/core';\r\nimport { DxButtonModule } from 'devextreme-angular/ui/button';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'uni-article',\r\n standalone: true,\r\n imports: [CommonModule, DxButtonModule, FaIconComponent],\r\n template: `\r\n <article\r\n class=\"uni_article flex flex-col p-4 border-2 rounded\"\r\n [style.height]=\"isOpen() ? '100%' : 'auto'\"\r\n [style.backgroundColor]=\"color() + '26'\"\r\n [style.borderColor]=\"color() + '33'\">\r\n <!-- Title -->\r\n @if (isHeader()) {\r\n <div class=\"uni_article_header flex items-center gap-4 mb-4\">\r\n <!-- Icona nella testata, se presente -->\r\n @if (icon(); as icon) {\r\n <fa-icon class=\"uni-article-header-icon\" [icon]=\"icon\"></fa-icon>\r\n }\r\n\r\n <!-- Titolo nella testata, se presente -->\r\n @if (title(); as title) {\r\n <h5 class=\"uni_article_header_title uppercase truncate\">{{ title }}</h5>\r\n }\r\n\r\n <!-- Bottone per aprire/chiudere l'articolo, se presente -->\r\n @if (headerCloseButton()) {\r\n <dx-button\r\n class=\"uni_article_header_button ml-auto\"\r\n [icon]=\"isOpen() ? 'close' : 'expandform'\"\r\n (onClick)=\"toggleIsOpen()\">\r\n </dx-button>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- Contenuto dell'articolo, visibile solo se aperto -->\r\n @if (isOpen()) {\r\n <ng-content></ng-content>\r\n }\r\n </article>\r\n `,\r\n styles: [\r\n `\r\n :host {\r\n height: 100%;\r\n display: block;\r\n overflow: hidden;\r\n }\r\n `,\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UniArticleComponent implements OnChanges {\r\n /* Inputs */\r\n readonly color = input.required<string>(); // Colore di base dell'articolo\r\n readonly title = input<string>(); // Titolo opzionale dell'articolo\r\n readonly icon = input<IconDefinition>(); // Icona opzionale per l'intestazione\r\n readonly setIsOpen = input<boolean | undefined>(); // Stato iniziale di apertura\r\n readonly headerCloseButton = input<boolean>(false); // Se mostrare il button per chiudere article\r\n\r\n /* Variables */\r\n isOpen = signal<boolean>(true);\r\n isHeader = computed(() => this.icon() || this.title() || this.headerCloseButton());\r\n\r\n /* ----------------------- Lifecycle Hook --------------------------- */\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { setIsOpen } = changes;\r\n // Verifica se 'setIsOpen' è cambiato e non è il primo cambiamento\r\n if (setIsOpen && !setIsOpen.firstChange && setIsOpen.currentValue !== undefined) {\r\n this.isOpen.set(setIsOpen.currentValue);\r\n }\r\n }\r\n\r\n /* ----------------------- Metodi --------------------------- */\r\n protected toggleIsOpen(): void {\r\n // Inverte lo stato di apertura/chiusura\r\n this.isOpen.update((val) => !val);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uni-component-tw-uni-article.mjs","sources":["../../../projects/uni-component-tw/uni-article/src/uni-article.component.ts","../../../projects/uni-component-tw/uni-article/uni-component-tw-uni-article.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n input,\r\n signal,\r\n SimpleChanges,\r\n OnChanges,\r\n} from '@angular/core';\r\nimport { DxButtonModule } from 'devextreme-angular/ui/button';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'uni-article',\r\n standalone: true,\r\n imports: [CommonModule, DxButtonModule, FaIconComponent],\r\n template: `\r\n <article\r\n class=\"uni_article flex h-full flex-col rounded border-2 p-4\"\r\n [style.backgroundColor]=\"color() + '26'\"\r\n [style.borderColor]=\"color() + '33'\">\r\n <!-- Title -->\r\n @if (isHeader()) {\r\n <div class=\"uni_article_header flex items-center gap-4\" [ngClass]=\"{ 'mb-4': isOpen() }\">\r\n <!-- Icona nella testata, se presente -->\r\n @if (icon(); as icon) {\r\n <fa-icon class=\"uni-article-header-icon\" [icon]=\"icon\"></fa-icon>\r\n }\r\n\r\n <!-- Titolo nella testata, se presente -->\r\n @if (title(); as title) {\r\n <h5 class=\"uni_article_header_title truncate uppercase\">{{ title }}</h5>\r\n }\r\n\r\n <!-- Bottone per aprire/chiudere l'articolo, se presente -->\r\n @if (headerCloseButton()) {\r\n <dx-button\r\n class=\"uni_article_header_button ml-auto\"\r\n [icon]=\"isOpen() ? 'close' : 'expandform'\"\r\n (onClick)=\"toggleIsOpen()\">\r\n </dx-button>\r\n }\r\n </div>\r\n }\r\n\r\n <!-- Contenuto dell'articolo, visibile solo se aperto -->\r\n @if (isOpen()) {\r\n <ng-content></ng-content>\r\n }\r\n </article>\r\n `,\r\n styles: [\r\n `\r\n :host {\r\n display: block;\r\n overflow: hidden;\r\n }\r\n `,\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UniArticleComponent implements OnChanges {\r\n /* Inputs */\r\n readonly color = input.required<string>(); // Colore di base dell'articolo\r\n readonly title = input<string>(); // Titolo opzionale dell'articolo\r\n readonly icon = input<IconDefinition>(); // Icona opzionale per l'intestazione\r\n readonly setIsOpen = input<boolean | undefined>(); // Stato iniziale di apertura\r\n readonly headerCloseButton = input<boolean>(false); // Se mostrare il button per chiudere article\r\n\r\n /* Variables */\r\n isOpen = signal<boolean>(true);\r\n isHeader = computed(() => this.icon() || this.title() || this.headerCloseButton());\r\n\r\n /* ----------------------- Lifecycle Hook --------------------------- */\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { setIsOpen } = changes;\r\n // Verifica se 'setIsOpen' è cambiato e non è il primo cambiamento\r\n if (setIsOpen && !setIsOpen.firstChange && setIsOpen.currentValue !== undefined) {\r\n this.isOpen.set(setIsOpen.currentValue);\r\n }\r\n }\r\n\r\n /* ----------------------- Metodi --------------------------- */\r\n protected toggleIsOpen(): void {\r\n // Inverte lo stato di apertura/chiusura\r\n this.isOpen.update((val) => !val);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uni-component-tw",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Components angular base",
5
5
  "license": "ISC",
6
6
  "peerDependencies": {
@@ -23,12 +23,6 @@
23
23
  "esm": "./esm2022/uni-component-tw.mjs",
24
24
  "default": "./fesm2022/uni-component-tw.mjs"
25
25
  },
26
- "./uni-header": {
27
- "types": "./uni-header/index.d.ts",
28
- "esm2022": "./esm2022/uni-header/uni-component-tw-uni-header.mjs",
29
- "esm": "./esm2022/uni-header/uni-component-tw-uni-header.mjs",
30
- "default": "./fesm2022/uni-component-tw-uni-header.mjs"
31
- },
32
26
  "./uni-article": {
33
27
  "types": "./uni-article/index.d.ts",
34
28
  "esm2022": "./esm2022/uni-article/uni-component-tw-uni-article.mjs",
@@ -41,6 +35,12 @@
41
35
  "esm": "./esm2022/uni-login-modal/uni-component-tw-uni-login-modal.mjs",
42
36
  "default": "./fesm2022/uni-component-tw-uni-login-modal.mjs"
43
37
  },
38
+ "./uni-header": {
39
+ "types": "./uni-header/index.d.ts",
40
+ "esm2022": "./esm2022/uni-header/uni-component-tw-uni-header.mjs",
41
+ "esm": "./esm2022/uni-header/uni-component-tw-uni-header.mjs",
42
+ "default": "./fesm2022/uni-component-tw-uni-header.mjs"
43
+ },
44
44
  "./uni-pie-chart": {
45
45
  "types": "./uni-pie-chart/index.d.ts",
46
46
  "esm2022": "./esm2022/uni-pie-chart/uni-component-tw-uni-pie-chart.mjs",
@@ -12,7 +12,7 @@ export declare class UniPieChartComponent {
12
12
  chartDiameter: import("@angular/core").InputSignal<number>;
13
13
  chartInnerRadius: import("@angular/core").InputSignal<number>;
14
14
  tooltipIsEnabled: import("@angular/core").InputSignal<boolean>;
15
- legendPosition: import("@angular/core").InputSignal<"none" | "bottom" | "left" | "right" | "top">;
15
+ legendPosition: import("@angular/core").InputSignal<"right" | "left" | "top" | "bottom" | "none">;
16
16
  legendWithValue: import("@angular/core").InputSignal<boolean>;
17
17
  legendGap: import("@angular/core").InputSignal<string>;
18
18
  uom: import("@angular/core").InputSignal<string>;