uni-component-tw 1.0.0
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 +25 -0
- package/esm2022/index.mjs +5 -0
- package/esm2022/uni-article/index.mjs +2 -0
- package/esm2022/uni-article/src/uni-article.component.mjs +109 -0
- package/esm2022/uni-article/uni-component-tw-uni-article.mjs +5 -0
- package/esm2022/uni-component-tw.mjs +5 -0
- package/esm2022/uni-header/index.mjs +2 -0
- package/esm2022/uni-header/src/uni-header.component.mjs +66 -0
- package/esm2022/uni-header/uni-component-tw-uni-header.mjs +5 -0
- package/esm2022/uni-login-modal/index.mjs +2 -0
- package/esm2022/uni-login-modal/src/uni-login-modal.component.mjs +146 -0
- package/esm2022/uni-login-modal/uni-component-tw-uni-login-modal.mjs +5 -0
- package/esm2022/uni-pie-chart/index.mjs +2 -0
- package/esm2022/uni-pie-chart/src/uni-pie-chart.component.mjs +159 -0
- package/esm2022/uni-pie-chart/uni-component-tw-uni-pie-chart.mjs +5 -0
- package/esm2022/uni-side-menu/index.mjs +2 -0
- package/esm2022/uni-side-menu/src/uni-side-menu.component.mjs +249 -0
- package/esm2022/uni-side-menu/uni-component-tw-uni-side-menu.mjs +5 -0
- package/esm2022/uni-wrapper-chart/index.mjs +2 -0
- package/esm2022/uni-wrapper-chart/src/uni-wrapper-chart.component.mjs +36 -0
- package/esm2022/uni-wrapper-chart/uni-component-tw-uni-wrapper-chart.mjs +5 -0
- package/fesm2022/uni-component-tw-uni-article.mjs +116 -0
- package/fesm2022/uni-component-tw-uni-article.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-header.mjs +73 -0
- package/fesm2022/uni-component-tw-uni-header.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-login-modal.mjs +152 -0
- package/fesm2022/uni-component-tw-uni-login-modal.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-pie-chart.mjs +166 -0
- package/fesm2022/uni-component-tw-uni-pie-chart.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-side-menu.mjs +256 -0
- package/fesm2022/uni-component-tw-uni-side-menu.mjs.map +1 -0
- package/fesm2022/uni-component-tw-uni-wrapper-chart.mjs +43 -0
- package/fesm2022/uni-component-tw-uni-wrapper-chart.mjs.map +1 -0
- package/fesm2022/uni-component-tw.mjs +11 -0
- package/fesm2022/uni-component-tw.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +63 -0
- package/uni-article/index.d.ts +1 -0
- package/uni-article/src/uni-article.component.d.ts +16 -0
- package/uni-header/index.d.ts +1 -0
- package/uni-header/src/uni-header.component.d.ts +11 -0
- package/uni-login-modal/index.d.ts +1 -0
- package/uni-login-modal/src/uni-login-modal.component.d.ts +30 -0
- package/uni-pie-chart/index.d.ts +1 -0
- package/uni-pie-chart/src/uni-pie-chart.component.d.ts +32 -0
- package/uni-side-menu/index.d.ts +1 -0
- package/uni-side-menu/src/uni-side-menu.component.d.ts +49 -0
- package/uni-wrapper-chart/index.d.ts +1 -0
- package/uni-wrapper-chart/src/uni-wrapper-chart.component.d.ts +13 -0
package/README.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# UniComponent
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.0.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project uni-component-tw` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project uni-component-tw`.
|
|
8
|
+
|
|
9
|
+
> Note: Don't forget to add `--project uni-component-tw` or else it will be added to the default project in your `angular.json` file.
|
|
10
|
+
|
|
11
|
+
## Build
|
|
12
|
+
|
|
13
|
+
Run `ng build uni-component-tw` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
14
|
+
|
|
15
|
+
## Publishing
|
|
16
|
+
|
|
17
|
+
After building your library with `ng build uni-component-tw`, go to the dist folder `cd dist/uni-component-tw` and run `npm publish`.
|
|
18
|
+
|
|
19
|
+
## Running unit tests
|
|
20
|
+
|
|
21
|
+
Run `ng test uni-component-tw` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
22
|
+
|
|
23
|
+
## Further help
|
|
24
|
+
|
|
25
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of component
|
|
3
|
+
*/
|
|
4
|
+
export const UNI_COMPONENT = 'uni-component-tw';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvbXBvbmVudFxyXG4gKi9cclxuXHJcbmV4cG9ydCBjb25zdCBVTklfQ09NUE9ORU5UID0gJ3VuaS1jb21wb25lbnQtdHcnO1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/uni-article.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1hcnRpY2xlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy91bmktYXJ0aWNsZS5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, input, signal, } from '@angular/core';
|
|
3
|
+
import { DxButtonModule } from 'devextreme-angular/ui/button';
|
|
4
|
+
import { FaIconComponent } from '@fortawesome/angular-fontawesome';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "devextreme-angular/ui/button";
|
|
7
|
+
export class UniArticleComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
/* Inputs */
|
|
10
|
+
this.color = input.required(); // Colore di base dell'articolo
|
|
11
|
+
this.title = input(); // Titolo opzionale dell'articolo
|
|
12
|
+
this.icon = input(); // Icona opzionale per l'intestazione
|
|
13
|
+
this.setIsOpen = input(); // Stato iniziale di apertura
|
|
14
|
+
this.headerCloseButton = input(false); // Se mostrare il button per chiudere article
|
|
15
|
+
/* Variables */
|
|
16
|
+
this.isOpen = signal(true);
|
|
17
|
+
this.isHeader = computed(() => this.icon() || this.title() || this.headerCloseButton());
|
|
18
|
+
}
|
|
19
|
+
/* ----------------------- Lifecycle Hook --------------------------- */
|
|
20
|
+
ngOnChanges(changes) {
|
|
21
|
+
const { setIsOpen } = changes;
|
|
22
|
+
// Verifica se 'setIsOpen' è cambiato e non è il primo cambiamento
|
|
23
|
+
if (setIsOpen && !setIsOpen.firstChange && setIsOpen.currentValue !== undefined) {
|
|
24
|
+
this.isOpen.set(setIsOpen.currentValue);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/* ----------------------- Metodi --------------------------- */
|
|
28
|
+
toggleIsOpen() {
|
|
29
|
+
// Inverte lo stato di apertura/chiusura
|
|
30
|
+
this.isOpen.update((val) => !val);
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniArticleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
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
|
+
<article
|
|
35
|
+
class="uni_article flex flex-col p-4 border-2 rounded"
|
|
36
|
+
[style.height]="isOpen() ? '100%' : 'auto'"
|
|
37
|
+
[style.backgroundColor]="color() + '26'"
|
|
38
|
+
[style.borderColor]="color() + '33'">
|
|
39
|
+
<!-- Title -->
|
|
40
|
+
@if (isHeader()) {
|
|
41
|
+
<div class="uni_article_header flex items-center gap-4 mb-4">
|
|
42
|
+
<!-- Icona nella testata, se presente -->
|
|
43
|
+
@if (icon(); as icon) {
|
|
44
|
+
<fa-icon class="uni-article-header-icon" [icon]="icon"></fa-icon>
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
<!-- Titolo nella testata, se presente -->
|
|
48
|
+
@if (title(); as title) {
|
|
49
|
+
<h5 class="uni_article_header_title uppercase truncate">{{ title }}</h5>
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
<!-- Bottone per aprire/chiudere l'articolo, se presente -->
|
|
53
|
+
@if (headerCloseButton()) {
|
|
54
|
+
<dx-button
|
|
55
|
+
class="uni_article_header_button ml-auto"
|
|
56
|
+
[icon]="isOpen() ? 'close' : 'expandform'"
|
|
57
|
+
(onClick)="toggleIsOpen()">
|
|
58
|
+
</dx-button>
|
|
59
|
+
}
|
|
60
|
+
</div>
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
<!-- Contenuto dell'articolo, visibile solo se aperto -->
|
|
64
|
+
@if (isOpen()) {
|
|
65
|
+
<ng-content></ng-content>
|
|
66
|
+
}
|
|
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 }); }
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniArticleComponent, decorators: [{
|
|
71
|
+
type: Component,
|
|
72
|
+
args: [{ selector: 'uni-article', standalone: true, imports: [CommonModule, DxButtonModule, FaIconComponent], template: `
|
|
73
|
+
<article
|
|
74
|
+
class="uni_article flex flex-col p-4 border-2 rounded"
|
|
75
|
+
[style.height]="isOpen() ? '100%' : 'auto'"
|
|
76
|
+
[style.backgroundColor]="color() + '26'"
|
|
77
|
+
[style.borderColor]="color() + '33'">
|
|
78
|
+
<!-- Title -->
|
|
79
|
+
@if (isHeader()) {
|
|
80
|
+
<div class="uni_article_header flex items-center gap-4 mb-4">
|
|
81
|
+
<!-- Icona nella testata, se presente -->
|
|
82
|
+
@if (icon(); as icon) {
|
|
83
|
+
<fa-icon class="uni-article-header-icon" [icon]="icon"></fa-icon>
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
<!-- Titolo nella testata, se presente -->
|
|
87
|
+
@if (title(); as title) {
|
|
88
|
+
<h5 class="uni_article_header_title uppercase truncate">{{ title }}</h5>
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
<!-- Bottone per aprire/chiudere l'articolo, se presente -->
|
|
92
|
+
@if (headerCloseButton()) {
|
|
93
|
+
<dx-button
|
|
94
|
+
class="uni_article_header_button ml-auto"
|
|
95
|
+
[icon]="isOpen() ? 'close' : 'expandform'"
|
|
96
|
+
(onClick)="toggleIsOpen()">
|
|
97
|
+
</dx-button>
|
|
98
|
+
}
|
|
99
|
+
</div>
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
<!-- Contenuto dell'articolo, visibile solo se aperto -->
|
|
103
|
+
@if (isOpen()) {
|
|
104
|
+
<ng-content></ng-content>
|
|
105
|
+
}
|
|
106
|
+
</article>
|
|
107
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{height:100%;display:block;overflow:hidden}\n"] }]
|
|
108
|
+
}] });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWFydGljbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktYXJ0aWNsZS9zcmMvdW5pLWFydGljbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFzRG5FLE1BQU0sT0FBTyxtQkFBbUI7SUFuRGhDO1FBb0RFLFlBQVk7UUFDSCxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDLENBQUMsK0JBQStCO1FBQ2pFLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQyxDQUFDLGlDQUFpQztRQUMxRCxTQUFJLEdBQUcsS0FBSyxFQUFrQixDQUFDLENBQUMscUNBQXFDO1FBQ3JFLGNBQVMsR0FBRyxLQUFLLEVBQXVCLENBQUMsQ0FBQyw2QkFBNkI7UUFDdkUsc0JBQWlCLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDLENBQUMsNkNBQTZDO1FBRWpHLGVBQWU7UUFDZixXQUFNLEdBQUcsTUFBTSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQy9CLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0tBZ0JwRjtJQWRDLHdFQUF3RTtJQUN4RSxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM5QixrRUFBa0U7UUFDbEUsSUFBSSxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxJQUFJLFNBQVMsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0VBQWdFO0lBQ3RELFlBQVk7UUFDcEIsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OEdBekJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDR1QkEvQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCwySEFwQ1MsWUFBWSw4QkFBRSxjQUFjLHMwQkFBRSxlQUFlOzsyRkFnRDVDLG1CQUFtQjtrQkFuRC9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLFlBQzlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCxtQkFVZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIGNvbXB1dGVkLFxyXG4gIGlucHV0LFxyXG4gIHNpZ25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhCdXR0b25Nb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRmFJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5pbXBvcnQgeyBJY29uRGVmaW5pdGlvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VuaS1hcnRpY2xlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIER4QnV0dG9uTW9kdWxlLCBGYUljb25Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8YXJ0aWNsZVxyXG4gICAgICBjbGFzcz1cInVuaV9hcnRpY2xlIGZsZXggZmxleC1jb2wgcC00IGJvcmRlci0yIHJvdW5kZWRcIlxyXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cImlzT3BlbigpID8gJzEwMCUnIDogJ2F1dG8nXCJcclxuICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJjb2xvcigpICsgJzI2J1wiXHJcbiAgICAgIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJjb2xvcigpICsgJzMzJ1wiPlxyXG4gICAgICA8IS0tIFRpdGxlIC0tPlxyXG4gICAgICBAaWYgKGlzSGVhZGVyKCkpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidW5pX2FydGljbGVfaGVhZGVyIGZsZXggaXRlbXMtY2VudGVyIGdhcC00IG1iLTRcIj5cclxuICAgICAgICAgIDwhLS0gSWNvbmEgbmVsbGEgdGVzdGF0YSwgc2UgcHJlc2VudGUgLS0+XHJcbiAgICAgICAgICBAaWYgKGljb24oKTsgYXMgaWNvbikge1xyXG4gICAgICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cInVuaS1hcnRpY2xlLWhlYWRlci1pY29uXCIgW2ljb25dPVwiaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICA8IS0tIFRpdG9sbyBuZWxsYSB0ZXN0YXRhLCBzZSBwcmVzZW50ZSAtLT5cclxuICAgICAgICAgIEBpZiAodGl0bGUoKTsgYXMgdGl0bGUpIHtcclxuICAgICAgICAgICAgPGg1IGNsYXNzPVwidW5pX2FydGljbGVfaGVhZGVyX3RpdGxlIHVwcGVyY2FzZSB0cnVuY2F0ZVwiPnt7IHRpdGxlIH19PC9oNT5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICA8IS0tIEJvdHRvbmUgcGVyIGFwcmlyZS9jaGl1ZGVyZSBsJ2FydGljb2xvLCBzZSBwcmVzZW50ZSAtLT5cclxuICAgICAgICAgIEBpZiAoaGVhZGVyQ2xvc2VCdXR0b24oKSkge1xyXG4gICAgICAgICAgICA8ZHgtYnV0dG9uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmlfYXJ0aWNsZV9oZWFkZXJfYnV0dG9uIG1sLWF1dG9cIlxyXG4gICAgICAgICAgICAgIFtpY29uXT1cImlzT3BlbigpID8gJ2Nsb3NlJyA6ICdleHBhbmRmb3JtJ1wiXHJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlSXNPcGVuKClcIj5cclxuICAgICAgICAgICAgPC9keC1idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDwhLS0gQ29udGVudXRvIGRlbGwnYXJ0aWNvbG8sIHZpc2liaWxlIHNvbG8gc2UgYXBlcnRvIC0tPlxyXG4gICAgICBAaWYgKGlzT3BlbigpKSB7XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICB9XHJcbiAgICA8L2FydGljbGU+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgOmhvc3Qge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlBcnRpY2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAvKiBJbnB1dHMgKi9cclxuICByZWFkb25seSBjb2xvciA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTsgLy8gQ29sb3JlIGRpIGJhc2UgZGVsbCdhcnRpY29sb1xyXG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQ8c3RyaW5nPigpOyAvLyBUaXRvbG8gb3B6aW9uYWxlIGRlbGwnYXJ0aWNvbG9cclxuICByZWFkb25seSBpY29uID0gaW5wdXQ8SWNvbkRlZmluaXRpb24+KCk7IC8vIEljb25hIG9wemlvbmFsZSBwZXIgbCdpbnRlc3RhemlvbmVcclxuICByZWFkb25seSBzZXRJc09wZW4gPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPigpOyAvLyBTdGF0byBpbml6aWFsZSBkaSBhcGVydHVyYVxyXG4gIHJlYWRvbmx5IGhlYWRlckNsb3NlQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpOyAvLyBTZSBtb3N0cmFyZSBpbCBidXR0b24gcGVyIGNoaXVkZXJlIGFydGljbGVcclxuXHJcbiAgLyogVmFyaWFibGVzICovXHJcbiAgaXNPcGVuID0gc2lnbmFsPGJvb2xlYW4+KHRydWUpO1xyXG4gIGlzSGVhZGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pY29uKCkgfHwgdGhpcy50aXRsZSgpIHx8IHRoaXMuaGVhZGVyQ2xvc2VCdXR0b24oKSk7XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIExpZmVjeWNsZSBIb29rIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgc2V0SXNPcGVuIH0gPSBjaGFuZ2VzO1xyXG4gICAgLy8gVmVyaWZpY2Egc2UgJ3NldElzT3Blbicgw6ggY2FtYmlhdG8gZSBub24gw6ggaWwgcHJpbW8gY2FtYmlhbWVudG9cclxuICAgIGlmIChzZXRJc09wZW4gJiYgIXNldElzT3Blbi5maXJzdENoYW5nZSAmJiBzZXRJc09wZW4uY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5pc09wZW4uc2V0KHNldElzT3Blbi5jdXJyZW50VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTWV0b2RpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4gIHByb3RlY3RlZCB0b2dnbGVJc09wZW4oKTogdm9pZCB7XHJcbiAgICAvLyBJbnZlcnRlIGxvIHN0YXRvIGRpIGFwZXJ0dXJhL2NoaXVzdXJhXHJcbiAgICB0aGlzLmlzT3Blbi51cGRhdGUoKHZhbCkgPT4gIXZhbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaS1jb21wb25lbnQtdHcvdW5pLWFydGljbGUvdW5pLWNvbXBvbmVudC10dy11bmktYXJ0aWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VuaS1jb21wb25lbnQtdHcvdW5pLWNvbXBvbmVudC10dy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/uni-header.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1oZWFkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3VuaS1oZWFkZXIuY29tcG9uZW50JztcclxuIl19
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';
|
|
3
|
+
import { DxButtonModule } from 'devextreme-angular/ui/button';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "devextreme-angular/ui/button";
|
|
6
|
+
export class UniHeaderComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
/* Input */
|
|
9
|
+
this.title = input.required();
|
|
10
|
+
this.version = input.required();
|
|
11
|
+
this.pathBrandLogo = input.required();
|
|
12
|
+
this.pathAppLogo = input(undefined);
|
|
13
|
+
this.sideMenu = input(false);
|
|
14
|
+
/* Output */
|
|
15
|
+
this.evtToggleMenu = output();
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniHeaderComponent, isStandalone: true, selector: "uni-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, version: { classPropertyName: "version", publicName: "version", isSignal: true, isRequired: true, transformFunction: null }, pathBrandLogo: { classPropertyName: "pathBrandLogo", publicName: "pathBrandLogo", isSignal: true, isRequired: true, transformFunction: null }, pathAppLogo: { classPropertyName: "pathAppLogo", publicName: "pathAppLogo", isSignal: true, isRequired: false, transformFunction: null }, sideMenu: { classPropertyName: "sideMenu", publicName: "sideMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { evtToggleMenu: "evtToggleMenu" }, ngImport: i0, template: `<header id="uni-header">
|
|
19
|
+
<div>
|
|
20
|
+
<!-- app logo -->
|
|
21
|
+
@if (pathAppLogo(); as pathAppLogo) {
|
|
22
|
+
<img id="header-img-app" [src]="pathAppLogo" alt="App logo" />
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
<!-- info -->
|
|
26
|
+
<div id="header-info">
|
|
27
|
+
<p>{{ title() }}</p>
|
|
28
|
+
<p>{{ version() }}</p>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<!-- brand logo -->
|
|
32
|
+
<img id="header-img-brand" [src]="pathBrandLogo()" alt="Brand logo" />
|
|
33
|
+
|
|
34
|
+
<!-- button menu -->
|
|
35
|
+
@if (sideMenu()) {
|
|
36
|
+
<dx-button [icon]="'menu'" (onClick)="evtToggleMenu.emit(true)"></dx-button>
|
|
37
|
+
}
|
|
38
|
+
</div>
|
|
39
|
+
</header>`, isInline: true, styles: [":host{display:block}#uni-header{position:fixed;top:0;left:0;height:calc(60px + var(--padding-m));width:100%;padding:var(--padding-m);background-color:#36363f;overflow:hidden;z-index:999}#uni-header>div{display:grid;grid-template-rows:1fr;grid-template-columns:40px 1fr auto min-content;align-items:center;gap:1rem;padding:calc(var(--padding-m) / 2);background-color:#52525b99;border-radius:.25rem;box-shadow:#00000059 0 5px 5px}#uni-header>div #header-info{display:flex;flex-direction:column;justify-content:center;text-wrap:nowrap}#uni-header>div #header-info p:first-child{font-size:20px;line-height:28px;font-weight:500;text-transform:uppercase}#uni-header>div #header-info p:last-child{font-size:12px;line-height:12px;opacity:.65}#uni-header>div #header-img-app,#uni-header>div #header-img-brand{height:40px;object-fit:contain}@media (max-resolution: 1dppx){#uni-header>div{grid-template-columns:30px 1fr auto min-content}#uni-header>div #header-img-app,#uni-header>div #header-img-brand{height:31px}#uni-header>div #header-info p:first-child{font-size:16px;line-height:21px}#uni-header>div #header-info p:last-child{font-size:10px;line-height:10px}}::ng-deep .theme-light #uni-header{background-color:#0284c70d}::ng-deep .theme-light #uni-header>div{background-color:#0284c799!important;box-shadow:#0284c759 0 5px 5px!important}::ng-deep .theme-light #uni-header>div,::ng-deep .theme-light #uni-header>div i:before{color:#fff}:host ::ng-deep .dx-button{height:23px;min-width:23px;background-color:transparent}:host ::ng-deep .dx-button .dx-icon{font-size:23px}\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniHeaderComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{ selector: 'uni-header', standalone: true, imports: [CommonModule, DxButtonModule], template: `<header id="uni-header">
|
|
44
|
+
<div>
|
|
45
|
+
<!-- app logo -->
|
|
46
|
+
@if (pathAppLogo(); as pathAppLogo) {
|
|
47
|
+
<img id="header-img-app" [src]="pathAppLogo" alt="App logo" />
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
<!-- info -->
|
|
51
|
+
<div id="header-info">
|
|
52
|
+
<p>{{ title() }}</p>
|
|
53
|
+
<p>{{ version() }}</p>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<!-- brand logo -->
|
|
57
|
+
<img id="header-img-brand" [src]="pathBrandLogo()" alt="Brand logo" />
|
|
58
|
+
|
|
59
|
+
<!-- button menu -->
|
|
60
|
+
@if (sideMenu()) {
|
|
61
|
+
<dx-button [icon]="'menu'" (onClick)="evtToggleMenu.emit(true)"></dx-button>
|
|
62
|
+
}
|
|
63
|
+
</div>
|
|
64
|
+
</header>`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}#uni-header{position:fixed;top:0;left:0;height:calc(60px + var(--padding-m));width:100%;padding:var(--padding-m);background-color:#36363f;overflow:hidden;z-index:999}#uni-header>div{display:grid;grid-template-rows:1fr;grid-template-columns:40px 1fr auto min-content;align-items:center;gap:1rem;padding:calc(var(--padding-m) / 2);background-color:#52525b99;border-radius:.25rem;box-shadow:#00000059 0 5px 5px}#uni-header>div #header-info{display:flex;flex-direction:column;justify-content:center;text-wrap:nowrap}#uni-header>div #header-info p:first-child{font-size:20px;line-height:28px;font-weight:500;text-transform:uppercase}#uni-header>div #header-info p:last-child{font-size:12px;line-height:12px;opacity:.65}#uni-header>div #header-img-app,#uni-header>div #header-img-brand{height:40px;object-fit:contain}@media (max-resolution: 1dppx){#uni-header>div{grid-template-columns:30px 1fr auto min-content}#uni-header>div #header-img-app,#uni-header>div #header-img-brand{height:31px}#uni-header>div #header-info p:first-child{font-size:16px;line-height:21px}#uni-header>div #header-info p:last-child{font-size:10px;line-height:10px}}::ng-deep .theme-light #uni-header{background-color:#0284c70d}::ng-deep .theme-light #uni-header>div{background-color:#0284c799!important;box-shadow:#0284c759 0 5px 5px!important}::ng-deep .theme-light #uni-header>div,::ng-deep .theme-light #uni-header>div i:before{color:#fff}:host ::ng-deep .dx-button{height:23px;min-width:23px;background-color:transparent}:host ::ng-deep .dx-button .dx-icon{font-size:23px}\n"] }]
|
|
65
|
+
}] });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1oZWFkZXIvc3JjL3VuaS1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUErQjlELE1BQU0sT0FBTyxrQkFBa0I7SUE3Qi9CO1FBOEJFLFdBQVc7UUFDWCxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFakMsWUFBWTtRQUNaLGtCQUFhLEdBQUcsTUFBTSxFQUFRLENBQUM7S0FDaEM7OEdBVlksa0JBQWtCO2tHQUFsQixrQkFBa0IsNndCQXpCbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQXFCQSx3bURBdEJBLFlBQVksOEJBQUUsY0FBYzs7MkZBMEIzQixrQkFBa0I7a0JBN0I5QixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLFlBQzdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7WUFxQkEsbUJBRU8sdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhCdXR0b25Nb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvYnV0dG9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndW5pLWhlYWRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEeEJ1dHRvbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGU6IGA8aGVhZGVyIGlkPVwidW5pLWhlYWRlclwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPCEtLSBhcHAgbG9nbyAgLS0+XHJcbiAgICAgIEBpZiAocGF0aEFwcExvZ28oKTsgYXMgcGF0aEFwcExvZ28pIHtcclxuICAgICAgICA8aW1nIGlkPVwiaGVhZGVyLWltZy1hcHBcIiBbc3JjXT1cInBhdGhBcHBMb2dvXCIgYWx0PVwiQXBwIGxvZ29cIiAvPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8IS0tIGluZm8gIC0tPlxyXG4gICAgICA8ZGl2IGlkPVwiaGVhZGVyLWluZm9cIj5cclxuICAgICAgICA8cD57eyB0aXRsZSgpIH19PC9wPlxyXG4gICAgICAgIDxwPnt7IHZlcnNpb24oKSB9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tIGJyYW5kIGxvZ28gIC0tPlxyXG4gICAgICA8aW1nIGlkPVwiaGVhZGVyLWltZy1icmFuZFwiIFtzcmNdPVwicGF0aEJyYW5kTG9nbygpXCIgYWx0PVwiQnJhbmQgbG9nb1wiIC8+XHJcblxyXG4gICAgICA8IS0tIGJ1dHRvbiBtZW51ICAtLT5cclxuICAgICAgQGlmIChzaWRlTWVudSgpKSB7XHJcbiAgICAgICAgPGR4LWJ1dHRvbiBbaWNvbl09XCInbWVudSdcIiAob25DbGljayk9XCJldnRUb2dnbGVNZW51LmVtaXQodHJ1ZSlcIj48L2R4LWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9oZWFkZXI+YCxcclxuICBzdHlsZVVybDogJy4vdW5pLWhlYWRlci5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlIZWFkZXJDb21wb25lbnQge1xyXG4gIC8qIElucHV0ICovXHJcbiAgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgdmVyc2lvbiA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcclxuICBwYXRoQnJhbmRMb2dvID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gIHBhdGhBcHBMb2dvID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIHNpZGVNZW51ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKiBPdXRwdXQgKi9cclxuICBldnRUb2dnbGVNZW51ID0gb3V0cHV0PHRydWU+KCk7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktaGVhZGVyL3VuaS1jb21wb25lbnQtdHctdW5pLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/uni-login-modal.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1sb2dpbi1tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvdW5pLWxvZ2luLW1vZGFsLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';
|
|
3
|
+
import { Router } from '@angular/router';
|
|
4
|
+
import { Location } from '@angular/common';
|
|
5
|
+
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
6
|
+
import { DxButtonModule, DxPopupModule, DxTextBoxModule } from 'devextreme-angular';
|
|
7
|
+
import { UNIAuthService } from 'uni-service/auth';
|
|
8
|
+
import { UNIToastService } from 'uni-service/toast';
|
|
9
|
+
import { UNITranslateService } from 'uni-service/translate';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "devextreme-angular";
|
|
12
|
+
import * as i2 from "@angular/forms";
|
|
13
|
+
export class UNILoginModalComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
/* Service */
|
|
16
|
+
this.router = inject(Router);
|
|
17
|
+
this.location = inject(Location);
|
|
18
|
+
this.authService = inject(UNIAuthService);
|
|
19
|
+
this.toastService = inject(UNIToastService);
|
|
20
|
+
this.translateService = inject(UNITranslateService);
|
|
21
|
+
/* Input & output */
|
|
22
|
+
this.visibile = input(true);
|
|
23
|
+
this.routeHome = input();
|
|
24
|
+
this.enableGoBack = input.required();
|
|
25
|
+
/* Form */
|
|
26
|
+
this.loginForm = new FormGroup({
|
|
27
|
+
username: new FormControl('', { nonNullable: true, validators: Validators.required }),
|
|
28
|
+
password: new FormControl('', { nonNullable: true, validators: Validators.required }),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/* ------------------------ Methods ------------------------ */
|
|
32
|
+
login() {
|
|
33
|
+
this.authService.login$(this.loginForm.getRawValue()).subscribe(() => {
|
|
34
|
+
if (this.routeHome())
|
|
35
|
+
this.router.navigate([this.routeHome]);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
logout() {
|
|
39
|
+
this.authService.logout$().subscribe();
|
|
40
|
+
}
|
|
41
|
+
onHiding() {
|
|
42
|
+
if (this.enableGoBack())
|
|
43
|
+
this.location.back();
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UNILoginModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UNILoginModalComponent, isStandalone: true, selector: "uni-login-modal", inputs: { visibile: { classPropertyName: "visibile", publicName: "visibile", isSignal: true, isRequired: false, transformFunction: null }, routeHome: { classPropertyName: "routeHome", publicName: "routeHome", isSignal: true, isRequired: false, transformFunction: null }, enableGoBack: { classPropertyName: "enableGoBack", publicName: "enableGoBack", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
47
|
+
<dx-popup
|
|
48
|
+
[wrapperAttr]="{ id: 'loginPopup' }"
|
|
49
|
+
[width]="'40%'"
|
|
50
|
+
[minWidth]="400"
|
|
51
|
+
[maxWidth]="700"
|
|
52
|
+
[height]="500"
|
|
53
|
+
[visible]="visibile()"
|
|
54
|
+
[showTitle]="true"
|
|
55
|
+
[title]="'Login'"
|
|
56
|
+
[dragEnabled]="false"
|
|
57
|
+
[showCloseButton]="true"
|
|
58
|
+
[hideOnOutsideClick]="false"
|
|
59
|
+
(onHiding)="onHiding()">
|
|
60
|
+
<section>
|
|
61
|
+
<img src="../../../assets/images/logo/logo_trasparente.png" alt="Logo" />
|
|
62
|
+
<p>UNITEC</p>
|
|
63
|
+
@if (authService.user(); as user) {
|
|
64
|
+
<div>Utente: {{ user.username }}</div>
|
|
65
|
+
<dx-button
|
|
66
|
+
id="logoutButton"
|
|
67
|
+
stylingMode="contained"
|
|
68
|
+
[text]="'Logout'"
|
|
69
|
+
(onClick)="logout()"></dx-button>
|
|
70
|
+
} @else {
|
|
71
|
+
<form [formGroup]="loginForm" (ngSubmit)="login()">
|
|
72
|
+
<dx-text-box
|
|
73
|
+
[placeholder]="'User'"
|
|
74
|
+
stylingMode="outlined"
|
|
75
|
+
formControlName="username"
|
|
76
|
+
[inputAttr]="{ 'aria-label': 'User' }"></dx-text-box>
|
|
77
|
+
<dx-text-box
|
|
78
|
+
[placeholder]="'Password'"
|
|
79
|
+
mode="password"
|
|
80
|
+
stylingMode="outlined"
|
|
81
|
+
formControlName="password"
|
|
82
|
+
[inputAttr]="{ 'aria-label': 'Password' }"></dx-text-box>
|
|
83
|
+
<dx-button
|
|
84
|
+
id="loginSubmitButton"
|
|
85
|
+
stylingMode="contained"
|
|
86
|
+
[text]="'Login'"
|
|
87
|
+
[useSubmitBehavior]="true"
|
|
88
|
+
[disabled]="loginForm.invalid"></dx-button>
|
|
89
|
+
</form>
|
|
90
|
+
}
|
|
91
|
+
</section>
|
|
92
|
+
</dx-popup>
|
|
93
|
+
`, isInline: true, styles: [":host{display:block}::ng-deep #loginPopup .dx-popup-content{display:flex;justify-content:center;align-items:center}section{width:60%;display:flex;align-items:center;flex-direction:column;gap:1.5rem}img{height:8rem}form{width:100%;display:flex;flex-direction:column;gap:1rem}form dx-button{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DxPopupModule }, { kind: "component", type: i1.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: DxTextBoxModule }, { kind: "component", type: i1.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UNILoginModalComponent, decorators: [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{ selector: 'uni-login-modal', standalone: true, imports: [CommonModule, DxPopupModule, ReactiveFormsModule, DxTextBoxModule, DxButtonModule], template: `
|
|
98
|
+
<dx-popup
|
|
99
|
+
[wrapperAttr]="{ id: 'loginPopup' }"
|
|
100
|
+
[width]="'40%'"
|
|
101
|
+
[minWidth]="400"
|
|
102
|
+
[maxWidth]="700"
|
|
103
|
+
[height]="500"
|
|
104
|
+
[visible]="visibile()"
|
|
105
|
+
[showTitle]="true"
|
|
106
|
+
[title]="'Login'"
|
|
107
|
+
[dragEnabled]="false"
|
|
108
|
+
[showCloseButton]="true"
|
|
109
|
+
[hideOnOutsideClick]="false"
|
|
110
|
+
(onHiding)="onHiding()">
|
|
111
|
+
<section>
|
|
112
|
+
<img src="../../../assets/images/logo/logo_trasparente.png" alt="Logo" />
|
|
113
|
+
<p>UNITEC</p>
|
|
114
|
+
@if (authService.user(); as user) {
|
|
115
|
+
<div>Utente: {{ user.username }}</div>
|
|
116
|
+
<dx-button
|
|
117
|
+
id="logoutButton"
|
|
118
|
+
stylingMode="contained"
|
|
119
|
+
[text]="'Logout'"
|
|
120
|
+
(onClick)="logout()"></dx-button>
|
|
121
|
+
} @else {
|
|
122
|
+
<form [formGroup]="loginForm" (ngSubmit)="login()">
|
|
123
|
+
<dx-text-box
|
|
124
|
+
[placeholder]="'User'"
|
|
125
|
+
stylingMode="outlined"
|
|
126
|
+
formControlName="username"
|
|
127
|
+
[inputAttr]="{ 'aria-label': 'User' }"></dx-text-box>
|
|
128
|
+
<dx-text-box
|
|
129
|
+
[placeholder]="'Password'"
|
|
130
|
+
mode="password"
|
|
131
|
+
stylingMode="outlined"
|
|
132
|
+
formControlName="password"
|
|
133
|
+
[inputAttr]="{ 'aria-label': 'Password' }"></dx-text-box>
|
|
134
|
+
<dx-button
|
|
135
|
+
id="loginSubmitButton"
|
|
136
|
+
stylingMode="contained"
|
|
137
|
+
[text]="'Login'"
|
|
138
|
+
[useSubmitBehavior]="true"
|
|
139
|
+
[disabled]="loginForm.invalid"></dx-button>
|
|
140
|
+
</form>
|
|
141
|
+
}
|
|
142
|
+
</section>
|
|
143
|
+
</dx-popup>
|
|
144
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}::ng-deep #loginPopup .dx-popup-content{display:flex;justify-content:center;align-items:center}section{width:60%;display:flex;align-items:center;flex-direction:column;gap:1.5rem}img{height:8rem}form{width:100%;display:flex;flex-direction:column;gap:1rem}form dx-button{width:100%}\n"] }]
|
|
145
|
+
}] });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWxvZ2luLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaS1jb21wb25lbnQtdHcvdW5pLWxvZ2luLW1vZGFsL3NyYy91bmktbG9naW4tbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBOEQ1RCxNQUFNLE9BQU8sc0JBQXNCO0lBdkRuQztRQXdERSxhQUFhO1FBQ0osV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXhELG9CQUFvQjtRQUNwQixhQUFRLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM1QixpQkFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVcsQ0FBQztRQUV6QyxVQUFVO1FBQ00sY0FBUyxHQUFHLElBQUksU0FBUyxDQUF3RDtZQUMvRixRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JGLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdEYsQ0FBQyxDQUFDO0tBZ0JKO0lBZEMsK0RBQStEO0lBQ3hELEtBQUs7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNuRSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQzs4R0FoQ1Usc0JBQXNCO2tHQUF0QixzQkFBc0Isd2VBbkR2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1QsdVhBaERTLFlBQVksOEJBQUUsYUFBYSw2bkRBQUUsbUJBQW1CLDRyQkFBRSxlQUFlLDZzREFBRSxjQUFjOzsyRkFvRGhGLHNCQUFzQjtrQkF2RGxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLFlBQ2xGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEeEJ1dHRvbk1vZHVsZSwgRHhQb3B1cE1vZHVsZSwgRHhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgVU5JQXV0aFNlcnZpY2UgfSBmcm9tICd1bmktc2VydmljZS9hdXRoJztcclxuaW1wb3J0IHsgVU5JVG9hc3RTZXJ2aWNlIH0gZnJvbSAndW5pLXNlcnZpY2UvdG9hc3QnO1xyXG5pbXBvcnQgeyBVTklUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAndW5pLXNlcnZpY2UvdHJhbnNsYXRlJztcclxuXHJcbmV4cG9ydCB0eXBlIExvZ2luRm9ybSA9IHtcclxuICB1c2VybmFtZTogc3RyaW5nO1xyXG4gIHBhc3N3b3JkOiBzdHJpbmc7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VuaS1sb2dpbi1tb2RhbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEeFBvcHVwTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBEeFRleHRCb3hNb2R1bGUsIER4QnV0dG9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGR4LXBvcHVwXHJcbiAgICAgIFt3cmFwcGVyQXR0cl09XCJ7IGlkOiAnbG9naW5Qb3B1cCcgfVwiXHJcbiAgICAgIFt3aWR0aF09XCInNDAlJ1wiXHJcbiAgICAgIFttaW5XaWR0aF09XCI0MDBcIlxyXG4gICAgICBbbWF4V2lkdGhdPVwiNzAwXCJcclxuICAgICAgW2hlaWdodF09XCI1MDBcIlxyXG4gICAgICBbdmlzaWJsZV09XCJ2aXNpYmlsZSgpXCJcclxuICAgICAgW3Nob3dUaXRsZV09XCJ0cnVlXCJcclxuICAgICAgW3RpdGxlXT1cIidMb2dpbidcIlxyXG4gICAgICBbZHJhZ0VuYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICBbc2hvd0Nsb3NlQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICBbaGlkZU9uT3V0c2lkZUNsaWNrXT1cImZhbHNlXCJcclxuICAgICAgKG9uSGlkaW5nKT1cIm9uSGlkaW5nKClcIj5cclxuICAgICAgPHNlY3Rpb24+XHJcbiAgICAgICAgPGltZyBzcmM9XCIuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2xvZ28vbG9nb190cmFzcGFyZW50ZS5wbmdcIiBhbHQ9XCJMb2dvXCIgLz5cclxuICAgICAgICA8cD5VTklURUM8L3A+XHJcbiAgICAgICAgQGlmIChhdXRoU2VydmljZS51c2VyKCk7IGFzIHVzZXIpIHtcclxuICAgICAgICAgIDxkaXY+VXRlbnRlOiB7eyB1c2VyLnVzZXJuYW1lIH19PC9kaXY+XHJcbiAgICAgICAgICA8ZHgtYnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwibG9nb3V0QnV0dG9uXCJcclxuICAgICAgICAgICAgc3R5bGluZ01vZGU9XCJjb250YWluZWRcIlxyXG4gICAgICAgICAgICBbdGV4dF09XCInTG9nb3V0J1wiXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImxvZ291dCgpXCI+PC9keC1idXR0b24+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybVwiIChuZ1N1Ym1pdCk9XCJsb2dpbigpXCI+XHJcbiAgICAgICAgICAgIDxkeC10ZXh0LWJveFxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVXNlcidcIlxyXG4gICAgICAgICAgICAgIHN0eWxpbmdNb2RlPVwib3V0bGluZWRcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcclxuICAgICAgICAgICAgICBbaW5wdXRBdHRyXT1cInsgJ2FyaWEtbGFiZWwnOiAnVXNlcicgfVwiPjwvZHgtdGV4dC1ib3g+XHJcbiAgICAgICAgICAgIDxkeC10ZXh0LWJveFxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUGFzc3dvcmQnXCJcclxuICAgICAgICAgICAgICBtb2RlPVwicGFzc3dvcmRcIlxyXG4gICAgICAgICAgICAgIHN0eWxpbmdNb2RlPVwib3V0bGluZWRcIlxyXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcclxuICAgICAgICAgICAgICBbaW5wdXRBdHRyXT1cInsgJ2FyaWEtbGFiZWwnOiAnUGFzc3dvcmQnIH1cIj48L2R4LXRleHQtYm94PlxyXG4gICAgICAgICAgICA8ZHgtYnV0dG9uXHJcbiAgICAgICAgICAgICAgaWQ9XCJsb2dpblN1Ym1pdEJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgc3R5bGluZ01vZGU9XCJjb250YWluZWRcIlxyXG4gICAgICAgICAgICAgIFt0ZXh0XT1cIidMb2dpbidcIlxyXG4gICAgICAgICAgICAgIFt1c2VTdWJtaXRCZWhhdmlvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9naW5Gb3JtLmludmFsaWRcIj48L2R4LWJ1dHRvbj5cclxuICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuICAgIDwvZHgtcG9wdXA+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi91bmktbG9naW4tbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVOSUxvZ2luTW9kYWxDb21wb25lbnQge1xyXG4gIC8qIFNlcnZpY2UgKi9cclxuICByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICByZWFkb25seSBsb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XHJcbiAgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBpbmplY3QoVU5JQXV0aFNlcnZpY2UpO1xyXG4gIHJlYWRvbmx5IHRvYXN0U2VydmljZSA9IGluamVjdChVTklUb2FzdFNlcnZpY2UpO1xyXG4gIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVU5JVHJhbnNsYXRlU2VydmljZSk7XHJcblxyXG4gIC8qIElucHV0ICYgb3V0cHV0ICovXHJcbiAgdmlzaWJpbGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICByb3V0ZUhvbWUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgZW5hYmxlR29CYWNrID0gaW5wdXQucmVxdWlyZWQ8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyogRm9ybSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBsb2dpbkZvcm0gPSBuZXcgRm9ybUdyb3VwPHsgW0sgaW4ga2V5b2YgTG9naW5Gb3JtXTogRm9ybUNvbnRyb2w8TG9naW5Gb3JtW0tdPiB9Pih7XHJcbiAgICB1c2VybmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlLCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JzLnJlcXVpcmVkIH0pLFxyXG4gICAgcGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSwgdmFsaWRhdG9yczogVmFsaWRhdG9ycy5yZXF1aXJlZCB9KSxcclxuICB9KTtcclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiAgcHVibGljIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dpbiQodGhpcy5sb2dpbkZvcm0uZ2V0UmF3VmFsdWUoKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMucm91dGVIb21lKCkpIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnJvdXRlSG9tZV0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQkKCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25IaWRpbmcoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5lbmFibGVHb0JhY2soKSkgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktbG9naW4tbW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1sb2dpbi1tb2RhbC91bmktY29tcG9uZW50LXR3LXVuaS1sb2dpbi1tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/uni-pie-chart.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1waWUtY2hhcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3VuaS1waWUtY2hhcnQuY29tcG9uZW50JztcclxuIl19
|