pantheon-libraries 0.1.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 +27 -0
- package/dist/pantheon-ui/README.md +63 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-Cards/card.component.mjs +32 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-Cards/card.module.mjs +32 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-Panels/grid-panel/grid-panel.component.mjs +48 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-Panels/grid-panel/grid-panel.module.mjs +36 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-Panels/grid-panel/grid-pannel-header/grid-panel-header.component.mjs +34 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-Panels/grid-panel/grid-pannel-header/grid-panel-header.module.mjs +25 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-ui.mjs +19 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-windows/SideActionPanel/interface.mjs +2 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-windows/SideActionPanel/side-action-panel.component.mjs +65 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-windows/SideActionPanel/side-action-panel.module.mjs +28 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-windows/window/constants.mjs +9 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-windows/window/window.component.mjs +44 -0
- package/dist/pantheon-ui/esm2022/lib/pantheon-windows/window/window.module.mjs +28 -0
- package/dist/pantheon-ui/esm2022/pantheon-ui.mjs +5 -0
- package/dist/pantheon-ui/esm2022/public-api.mjs +15 -0
- package/dist/pantheon-ui/fesm2022/pantheon-ui.mjs +369 -0
- package/dist/pantheon-ui/fesm2022/pantheon-ui.mjs.map +1 -0
- package/dist/pantheon-ui/index.d.ts +5 -0
- package/dist/pantheon-ui/lib/pantheon-Cards/card.component.d.ts +11 -0
- package/dist/pantheon-ui/lib/pantheon-Cards/card.module.d.ts +10 -0
- package/dist/pantheon-ui/lib/pantheon-Panels/grid-panel/grid-panel.component.d.ts +21 -0
- package/dist/pantheon-ui/lib/pantheon-Panels/grid-panel/grid-panel.module.d.ts +11 -0
- package/dist/pantheon-ui/lib/pantheon-Panels/grid-panel/grid-pannel-header/grid-panel-header.component.d.ts +17 -0
- package/dist/pantheon-ui/lib/pantheon-Panels/grid-panel/grid-pannel-header/grid-panel-header.module.d.ts +8 -0
- package/dist/pantheon-ui/lib/pantheon-ui.d.ts +5 -0
- package/dist/pantheon-ui/lib/pantheon-windows/SideActionPanel/interface.d.ts +6 -0
- package/dist/pantheon-ui/lib/pantheon-windows/SideActionPanel/side-action-panel.component.d.ts +12 -0
- package/dist/pantheon-ui/lib/pantheon-windows/SideActionPanel/side-action-panel.module.d.ts +9 -0
- package/dist/pantheon-ui/lib/pantheon-windows/window/constants.d.ts +5 -0
- package/dist/pantheon-ui/lib/pantheon-windows/window/window.component.d.ts +16 -0
- package/dist/pantheon-ui/lib/pantheon-windows/window/window.module.d.ts +9 -0
- package/dist/pantheon-ui/package.json +25 -0
- package/dist/pantheon-ui/public-api.d.ts +11 -0
- package/package.json +49 -0
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#
|
|
2
|
+
|
|
3
|
+
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.16.
|
|
4
|
+
|
|
5
|
+
## Development server
|
|
6
|
+
|
|
7
|
+
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
|
|
8
|
+
|
|
9
|
+
## Code scaffolding
|
|
10
|
+
|
|
11
|
+
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
|
|
12
|
+
|
|
13
|
+
## Build
|
|
14
|
+
|
|
15
|
+
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
16
|
+
|
|
17
|
+
## Running unit tests
|
|
18
|
+
|
|
19
|
+
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
20
|
+
|
|
21
|
+
## Running end-to-end tests
|
|
22
|
+
|
|
23
|
+
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
|
|
24
|
+
|
|
25
|
+
## Further help
|
|
26
|
+
|
|
27
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# PantheonUi
|
|
2
|
+
|
|
3
|
+
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.0.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
ng generate component component-name
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
ng generate --help
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Building
|
|
20
|
+
|
|
21
|
+
To build the library, run:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
ng build pantheon-ui
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
|
|
28
|
+
|
|
29
|
+
### Publishing the Library
|
|
30
|
+
|
|
31
|
+
Once the project is built, you can publish your library by following these steps:
|
|
32
|
+
|
|
33
|
+
1. Navigate to the `dist` directory:
|
|
34
|
+
```bash
|
|
35
|
+
cd dist/pantheon-ui
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
2. Run the `npm publish` command to publish your library to the npm registry:
|
|
39
|
+
```bash
|
|
40
|
+
npm publish
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Running unit tests
|
|
44
|
+
|
|
45
|
+
To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
ng test
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Running end-to-end tests
|
|
52
|
+
|
|
53
|
+
For end-to-end (e2e) testing, run:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
ng e2e
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
|
|
60
|
+
|
|
61
|
+
## Additional Resources
|
|
62
|
+
|
|
63
|
+
For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/icon";
|
|
5
|
+
export class CardComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.isCompleted = false;
|
|
8
|
+
this.cardClass = '';
|
|
9
|
+
}
|
|
10
|
+
get title() {
|
|
11
|
+
return this.data?.title || '';
|
|
12
|
+
}
|
|
13
|
+
get description() {
|
|
14
|
+
return this.data?.description || '';
|
|
15
|
+
}
|
|
16
|
+
get createdAt() {
|
|
17
|
+
return this.data?.createdAt || '';
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardComponent, selector: "pantehon-card", inputs: { data: "data", isCompleted: "isCompleted", cardClass: "cardClass" }, ngImport: i0, template: "<div class=\"container-card\">\n <div class=\"card\" [ngClass]=\"[cardClass, isCompleted ? 'is-completed' : '']\">\n <div class=\"date-container\">\n <mat-icon>calendar_today</mat-icon>\n {{ createdAt }}\n </div>\n <h3>{{ title }}</h3>\n <p>{{ description }}</p>\n <div class=\"card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <ng-content select=\"[extra]\"></ng-content>\n </div>\n</div>\n", styles: [".card{display:flex;flex-direction:column;background:#fff;padding:16px;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 10px 4px #0625d11a;transition:all .3s ease;cursor:grab}.card-footer{margin-top:12px;border-top:1px solid #e0e0e0;padding-top:8px;font-size:12px;color:#666}.card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card:active{cursor:grabbing}.date-container{display:flex;align-items:center;gap:4px;align-self:flex-end;color:#666}.is-completed{text-decoration:line-through;color:#888}.mat-icon{font-size:16px;margin-left:14%;margin-top:4%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'pantehon-card', template: "<div class=\"container-card\">\n <div class=\"card\" [ngClass]=\"[cardClass, isCompleted ? 'is-completed' : '']\">\n <div class=\"date-container\">\n <mat-icon>calendar_today</mat-icon>\n {{ createdAt }}\n </div>\n <h3>{{ title }}</h3>\n <p>{{ description }}</p>\n <div class=\"card-footer\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n <ng-content select=\"[extra]\"></ng-content>\n </div>\n</div>\n", styles: [".card{display:flex;flex-direction:column;background:#fff;padding:16px;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 10px 4px #0625d11a;transition:all .3s ease;cursor:grab}.card-footer{margin-top:12px;border-top:1px solid #e0e0e0;padding-top:8px;font-size:12px;color:#666}.card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card:active{cursor:grabbing}.date-container{display:flex;align-items:center;gap:4px;align-self:flex-end;color:#666}.is-completed{text-decoration:line-through;color:#888}.mat-icon{font-size:16px;margin-left:14%;margin-top:4%}\n"] }]
|
|
25
|
+
}], propDecorators: { data: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], isCompleted: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], cardClass: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYW50aGVvbi11aS9zcmMvbGliL3BhbnRoZW9uLUNhcmRzL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi1DYXJkcy9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT2pELE1BQU0sT0FBTyxhQUFhO0lBTDFCO1FBT1csZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztLQWF6QjtJQVhDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQzsrR0FmVSxhQUFhO21HQUFiLGFBQWEsbUlDUDFCLHVjQWNBOzs0RkRQYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLGVBQWU7OEJBS2hCLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BhbnRlaG9uLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YSE6IGFueTtcbiAgQElucHV0KCkgaXNDb21wbGV0ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgY2FyZENsYXNzID0gJyc7XG5cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YT8udGl0bGUgfHwgJyc7XG4gIH1cblxuICBnZXQgZGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5kZXNjcmlwdGlvbiB8fCAnJztcbiAgfVxuXG4gIGdldCBjcmVhdGVkQXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhPy5jcmVhdGVkQXQgfHwgJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItY2FyZFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZFwiIFtuZ0NsYXNzXT1cIltjYXJkQ2xhc3MsIGlzQ29tcGxldGVkID8gJ2lzLWNvbXBsZXRlZCcgOiAnJ11cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1jb250YWluZXJcIj5cbiAgICAgIDxtYXQtaWNvbj5jYWxlbmRhcl90b2RheTwvbWF0LWljb24+XG4gICAgICB7eyBjcmVhdGVkQXQgfX1cbiAgICA8L2Rpdj5cbiAgICA8aDM+e3sgdGl0bGUgfX08L2gzPlxuICAgIDxwPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlclwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V4dHJhXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { CardComponent } from './card.component';
|
|
4
|
+
import { WindowModule } from '../pantheon-windows/window/window.module';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class CardModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CardModule, declarations: [CardComponent], imports: [CommonModule,
|
|
10
|
+
MatIconModule,
|
|
11
|
+
WindowModule], exports: [CardComponent] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardModule, imports: [CommonModule,
|
|
13
|
+
MatIconModule,
|
|
14
|
+
WindowModule] }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
declarations: [
|
|
20
|
+
CardComponent,
|
|
21
|
+
],
|
|
22
|
+
imports: [
|
|
23
|
+
CommonModule,
|
|
24
|
+
MatIconModule,
|
|
25
|
+
WindowModule
|
|
26
|
+
],
|
|
27
|
+
exports: [
|
|
28
|
+
CardComponent,
|
|
29
|
+
]
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYW50aGVvbi11aS9zcmMvbGliL3BhbnRoZW9uLUNhcmRzL2NhcmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWV2RCxNQUFNLE9BQU8sVUFBVTsrR0FBVixVQUFVO2dIQUFWLFVBQVUsaUJBWG5CLGFBQWEsYUFHYixZQUFZO1lBQ1osYUFBYTtZQUNiLFlBQVksYUFHWixhQUFhO2dIQUdKLFVBQVUsWUFSbkIsWUFBWTtZQUNaLGFBQWE7WUFDYixZQUFZOzs0RkFNSCxVQUFVO2tCQWJ0QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2luZG93TW9kdWxlIH0gZnJvbSAnLi4vcGFudGhlb24td2luZG93cy93aW5kb3cvd2luZG93Lm1vZHVsZSc7IFxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDYXJkQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgV2luZG93TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDYXJkQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENhcmRNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/cdk/drag-drop";
|
|
6
|
+
export class GridPanelComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.dataColumns = [];
|
|
9
|
+
this.gridTemplateColumns = 'repeat(4, 1fr)';
|
|
10
|
+
this.taskMoved = new EventEmitter();
|
|
11
|
+
this.crossOutEnabled = false;
|
|
12
|
+
}
|
|
13
|
+
get connectedDropLists() {
|
|
14
|
+
return this.dataColumns.map((_, index) => `column-${index}`);
|
|
15
|
+
}
|
|
16
|
+
onTaskDrop(event, targetColumnIndex) {
|
|
17
|
+
let movedTask;
|
|
18
|
+
if (event.previousContainer === event.container) {
|
|
19
|
+
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
|
20
|
+
movedTask = event.container.data[event.currentIndex];
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
movedTask = event.previousContainer.data[event.previousIndex];
|
|
24
|
+
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
|
|
25
|
+
}
|
|
26
|
+
this.dataColumns = [...this.dataColumns];
|
|
27
|
+
this.taskMoved.emit({
|
|
28
|
+
task: movedTask,
|
|
29
|
+
fromIndex: Number(event.previousContainer.id.split('-')[1]),
|
|
30
|
+
toIndex: targetColumnIndex
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridPanelComponent, selector: "pantehon-grid-panel", inputs: { dataColumns: "dataColumns", gridTemplateColumns: "gridTemplateColumns", itemTemplate: "itemTemplate" }, outputs: { taskMoved: "taskMoved" }, ngImport: i0, template: "<div class=\"grid-panel\" [ngStyle]=\"{'grid-template-columns': gridTemplateColumns}\">\n <div class=\"grid-column\" *ngFor=\"let column of dataColumns; let columnIndex = index\"\n cdkDropList\n [id]=\"'column-' + columnIndex\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"connectedDropLists\"\n (cdkDropListDropped)=\"onTaskDrop($event, columnIndex)\">\n \n <div class=\"column-content\">\n <div *ngFor=\"let item of column.items\" cdkDrag>\n <ng-container\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, columnIndex: columnIndex }\">\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".grid-panel{width:100%;height:95vh;padding:16px;box-sizing:border-box;background:#f5f5f5}.grid-panel{display:grid;grid-template-columns:repeat(4,1fr);column-gap:16px;row-gap:16px}.grid-column{padding:16px;border:2px solid #0645f1;border-radius:8px;background:#fff;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.grid-column:hover{box-shadow:0 4px 12px #0645f14d;transform:translateY(-2px)}.column-content{min-height:200px;display:flex;flex-direction:column;gap:8px}.cdk-drop-list-dragging .task-card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder{display:none!important}.cdk-drag-preview{padding:16px;border-radius:8px;background:#fff;box-shadow:0 5px 15px #0645f166;opacity:.95;border:2px solid #0645f1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .cdk-drag:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }] }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'pantehon-grid-panel', template: "<div class=\"grid-panel\" [ngStyle]=\"{'grid-template-columns': gridTemplateColumns}\">\n <div class=\"grid-column\" *ngFor=\"let column of dataColumns; let columnIndex = index\"\n cdkDropList\n [id]=\"'column-' + columnIndex\"\n [cdkDropListData]=\"column.items\"\n [cdkDropListConnectedTo]=\"connectedDropLists\"\n (cdkDropListDropped)=\"onTaskDrop($event, columnIndex)\">\n \n <div class=\"column-content\">\n <div *ngFor=\"let item of column.items\" cdkDrag>\n <ng-container\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, columnIndex: columnIndex }\">\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".grid-panel{width:100%;height:95vh;padding:16px;box-sizing:border-box;background:#f5f5f5}.grid-panel{display:grid;grid-template-columns:repeat(4,1fr);column-gap:16px;row-gap:16px}.grid-column{padding:16px;border:2px solid #0645f1;border-radius:8px;background:#fff;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.grid-column:hover{box-shadow:0 4px 12px #0645f14d;transform:translateY(-2px)}.column-content{min-height:200px;display:flex;flex-direction:column;gap:8px}.cdk-drop-list-dragging .task-card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder{display:none!important}.cdk-drag-preview{padding:16px;border-radius:8px;background:#fff;box-shadow:0 5px 15px #0645f166;opacity:.95;border:2px solid #0645f1}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .cdk-drag:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
39
|
+
}], propDecorators: { dataColumns: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], gridTemplateColumns: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], itemTemplate: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], taskMoved: [{
|
|
46
|
+
type: Output
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYW50aGVvbi11aS9zcmMvbGliL3BhbnRoZW9uLVBhbmVscy9ncmlkLXBhbmVsL2dyaWQtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi1QYW5lbHMvZ3JpZC1wYW5lbC9ncmlkLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFlLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBT3pGLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFPVyxnQkFBVyxHQUEwQyxFQUFFLENBQUM7UUFDeEQsd0JBQW1CLEdBQUcsZ0JBQWdCLENBQUM7UUFFdEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFxRCxDQUFDO1FBRTVGLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0tBK0J6QjtJQTdCQyxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBeUIsRUFBRSxpQkFBeUI7UUFDN0QsSUFBSSxTQUFTLENBQUM7UUFFZCxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQy9DLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3REO2FBQU07WUFDTCxTQUFTLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDOUQsaUJBQWlCLENBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFDNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQ3BCLEtBQUssQ0FBQyxhQUFhLEVBQ25CLEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixJQUFJLEVBQUUsU0FBUztZQUNmLFNBQVMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsT0FBTyxFQUFFLGlCQUFpQjtTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXBDVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrTkNSL0IsK3JCQWlCQTs7NEZEVGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLHFCQUFxQjs4QkFNdEIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYW50ZWhvbi1ncmlkLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLXBhbmVsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3JpZFBhbmVsQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBkYXRhQ29sdW1uczogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IGl0ZW1zOiBhbnlbXSB9PiA9IFtdO1xuICBASW5wdXQoKSBncmlkVGVtcGxhdGVDb2x1bW5zID0gJ3JlcGVhdCg0LCAxZnIpJztcbiAgQElucHV0KCkgaXRlbVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQE91dHB1dCgpIHRhc2tNb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0YXNrOiBhbnk7IGZyb21JbmRleDogbnVtYmVyOyB0b0luZGV4OiBudW1iZXIgfT4oKTtcblxuICBjcm9zc091dEVuYWJsZWQgPSBmYWxzZTtcblxuICBnZXQgY29ubmVjdGVkRHJvcExpc3RzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29sdW1ucy5tYXAoKF8sIGluZGV4KSA9PiBgY29sdW1uLSR7aW5kZXh9YCk7XG4gIH1cblxuICBvblRhc2tEcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnlbXT4sIHRhcmdldENvbHVtbkluZGV4OiBudW1iZXIpIHtcbiAgICBsZXQgbW92ZWRUYXNrO1xuXG4gICAgaWYgKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyID09PSBldmVudC5jb250YWluZXIpIHtcbiAgICAgIG1vdmVJdGVtSW5BcnJheShldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgIG1vdmVkVGFzayA9IGV2ZW50LmNvbnRhaW5lci5kYXRhW2V2ZW50LmN1cnJlbnRJbmRleF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vdmVkVGFzayA9IGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGFbZXZlbnQucHJldmlvdXNJbmRleF07XG4gICAgICB0cmFuc2ZlckFycmF5SXRlbShcbiAgICAgICAgZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSxcbiAgICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGEsXG4gICAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICAgIGV2ZW50LmN1cnJlbnRJbmRleFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFDb2x1bW5zID0gWy4uLnRoaXMuZGF0YUNvbHVtbnNdO1xuXG4gICAgdGhpcy50YXNrTW92ZWQuZW1pdCh7XG4gICAgICB0YXNrOiBtb3ZlZFRhc2ssXG4gICAgICBmcm9tSW5kZXg6IE51bWJlcihldmVudC5wcmV2aW91c0NvbnRhaW5lci5pZC5zcGxpdCgnLScpWzFdKSxcbiAgICAgIHRvSW5kZXg6IHRhcmdldENvbHVtbkluZGV4XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQtcGFuZWxcIiBbbmdTdHlsZV09XCJ7J2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6IGdyaWRUZW1wbGF0ZUNvbHVtbnN9XCI+XG4gIDxkaXYgY2xhc3M9XCJncmlkLWNvbHVtblwiICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgZGF0YUNvbHVtbnM7IGxldCBjb2x1bW5JbmRleCA9IGluZGV4XCJcbiAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgIFtpZF09XCInY29sdW1uLScgKyBjb2x1bW5JbmRleFwiXG4gICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJjb2x1bW4uaXRlbXNcIlxuICAgICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cImNvbm5lY3RlZERyb3BMaXN0c1wiXG4gICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvblRhc2tEcm9wKCRldmVudCwgY29sdW1uSW5kZXgpXCI+XG4gICAgXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbi1jb250ZW50XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbHVtbi5pdGVtc1wiIGNka0RyYWc+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIGNvbHVtbkluZGV4OiBjb2x1bW5JbmRleCB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
4
|
+
import { GridPanelComponent } from './grid-panel.component';
|
|
5
|
+
import { CardModule } from '../../pantheon-Cards/card.module';
|
|
6
|
+
import { GridPanelHeaderModule } from './grid-pannel-header/grid-panel-header.module';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class GridPanelModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridPanelModule, declarations: [GridPanelComponent], imports: [CommonModule,
|
|
11
|
+
CardModule,
|
|
12
|
+
GridPanelHeaderModule,
|
|
13
|
+
DragDropModule], exports: [GridPanelComponent] }); }
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelModule, imports: [CommonModule,
|
|
15
|
+
CardModule,
|
|
16
|
+
GridPanelHeaderModule,
|
|
17
|
+
DragDropModule] }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
declarations: [
|
|
23
|
+
GridPanelComponent,
|
|
24
|
+
],
|
|
25
|
+
imports: [
|
|
26
|
+
CommonModule,
|
|
27
|
+
CardModule,
|
|
28
|
+
GridPanelHeaderModule,
|
|
29
|
+
DragDropModule,
|
|
30
|
+
],
|
|
31
|
+
exports: [
|
|
32
|
+
GridPanelComponent,
|
|
33
|
+
]
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYW5lbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYW50aGVvbi11aS9zcmMvbGliL3BhbnRoZW9uLVBhbmVscy9ncmlkLXBhbmVsL2dyaWQtcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBZ0J0RixNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsaUJBWnhCLGtCQUFrQixhQUdsQixZQUFZO1lBQ1osVUFBVTtZQUNWLHFCQUFxQjtZQUNyQixjQUFjLGFBR2Qsa0JBQWtCO2dIQUdULGVBQWUsWUFUeEIsWUFBWTtZQUNaLFVBQVU7WUFDVixxQkFBcUI7WUFDckIsY0FBYzs7NEZBTUwsZUFBZTtrQkFkM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLHFCQUFxQjt3QkFDckIsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEdyaWRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZ3JpZC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJy4uLy4uL3BhbnRoZW9uLUNhcmRzL2NhcmQubW9kdWxlJztcbmltcG9ydCB7IEdyaWRQYW5lbEhlYWRlck1vZHVsZSB9IGZyb20gJy4vZ3JpZC1wYW5uZWwtaGVhZGVyL2dyaWQtcGFuZWwtaGVhZGVyLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEdyaWRQYW5lbENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDYXJkTW9kdWxlLFxuICAgIEdyaWRQYW5lbEhlYWRlck1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEdyaWRQYW5lbENvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBHcmlkUGFuZWxNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class GridPanelHeaderComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.columns = [];
|
|
8
|
+
this.menuAux = false;
|
|
9
|
+
this.iconMenu = 'menu';
|
|
10
|
+
/**
|
|
11
|
+
* Icono que se mostrará en el botón del menú auxiliar.
|
|
12
|
+
* Debe ser un nombre válido de Material Icons (Filled) disponible en:
|
|
13
|
+
* https://fonts.google.com/icons?icon.set=Material+Icons&icon.style=Filled
|
|
14
|
+
* Ejemplos válidos: 'menu', 'more_vert', 'add', 'account_circle', etc.
|
|
15
|
+
*/
|
|
16
|
+
this.gridTemplateColumns = `repeat(${this.columns.length}, 1fr)`;
|
|
17
|
+
this.extraMenuClick = new EventEmitter();
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridPanelHeaderComponent, isStandalone: true, selector: "pantehon-grid-panel-header", inputs: { columns: "columns", menuAux: "menuAux", iconMenu: "iconMenu" }, outputs: { extraMenuClick: "extraMenuClick" }, ngImport: i0, template: "<div class=\"header-container\">\n <div class=\"menus\">\n <button *ngIf=\"menuAux\" class=\"menu-button\" (click)=\"extraMenuClick.emit($event)\"\n>\n <span class=\"material-icons\">{{ iconMenu }}</span>\n </button>\n </div>\n\n <div class=\"header-column\" *ngFor=\"let col of columns\">\n {{ col }}\n </div>\n</div>", styles: [".header-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));background:#0645f1;padding:12px;border-radius:10px 10px 0 0;font-weight:600;color:#333;text-align:center;gap:10px}.header-column{padding:8px 0;background:#0789f3;border-radius:6px;color:#fff}.menus{position:absolute;top:21px;left:28px;z-index:10}.menu-button{width:40px;height:32px;border:none;border-radius:8px;background-color:#7297ff;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:all .3s ease}.menu-button:hover{box-shadow:0 4px 12px #0645f14d;transform:translateY(-2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelHeaderComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'pantehon-grid-panel-header', standalone: true, imports: [CommonModule], template: "<div class=\"header-container\">\n <div class=\"menus\">\n <button *ngIf=\"menuAux\" class=\"menu-button\" (click)=\"extraMenuClick.emit($event)\"\n>\n <span class=\"material-icons\">{{ iconMenu }}</span>\n </button>\n </div>\n\n <div class=\"header-column\" *ngFor=\"let col of columns\">\n {{ col }}\n </div>\n</div>", styles: [".header-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));background:#0645f1;padding:12px;border-radius:10px 10px 0 0;font-weight:600;color:#333;text-align:center;gap:10px}.header-column{padding:8px 0;background:#0789f3;border-radius:6px;color:#fff}.menus{position:absolute;top:21px;left:28px;z-index:10}.menu-button{width:40px;height:32px;border:none;border-radius:8px;background-color:#7297ff;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:all .3s ease}.menu-button:hover{box-shadow:0 4px 12px #0645f14d;transform:translateY(-2px)}\n"] }]
|
|
25
|
+
}], propDecorators: { columns: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], menuAux: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], iconMenu: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], extraMenuClick: [{
|
|
32
|
+
type: Output
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYW5lbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi1QYW5lbHMvZ3JpZC1wYW5lbC9ncmlkLXBhbm5lbC1oZWFkZXIvZ3JpZC1wYW5lbC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi1QYW5lbHMvZ3JpZC1wYW5lbC9ncmlkLXBhbm5lbC1oZWFkZXIvZ3JpZC1wYW5lbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMvQyxNQUFNLE9BQU8sd0JBQXdCO0lBUHJDO1FBVVcsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVcsTUFBTSxDQUFDO1FBQ25DOzs7OztXQUtHO1FBQ0gsd0JBQW1CLEdBQVcsVUFBVSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO1FBQzFELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztLQUczRDsrR0FoQlksd0JBQXdCO21HQUF4Qix3QkFBd0IsK01DVnJDLGtWQVdNLHNyQkRMTSxZQUFZOzs0RkFJWCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBQzFCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFPZCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYW50ZWhvbi1ncmlkLXBhbmVsLWhlYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1wYW5lbC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLXBhbmVsLWhlYWRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRQYW5lbEhlYWRlckNvbXBvbmVudCB7XG5cblxuICBASW5wdXQoKSBjb2x1bW5zOiBBcnJheTxTdHJpbmc+ID0gW107XG4gIEBJbnB1dCgpIG1lbnVBdXg6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaWNvbk1lbnU6IHN0cmluZyA9ICdtZW51JztcbiAgLyoqXG4gICAqIEljb25vIHF1ZSBzZSBtb3N0cmFyw6EgZW4gZWwgYm90w7NuIGRlbCBtZW7DuiBhdXhpbGlhci5cbiAgICogRGViZSBzZXIgdW4gbm9tYnJlIHbDoWxpZG8gZGUgTWF0ZXJpYWwgSWNvbnMgKEZpbGxlZCkgZGlzcG9uaWJsZSBlbjpcbiAgICogaHR0cHM6Ly9mb250cy5nb29nbGUuY29tL2ljb25zP2ljb24uc2V0PU1hdGVyaWFsK0ljb25zJmljb24uc3R5bGU9RmlsbGVkXG4gICAqIEVqZW1wbG9zIHbDoWxpZG9zOiAnbWVudScsICdtb3JlX3ZlcnQnLCAnYWRkJywgJ2FjY291bnRfY2lyY2xlJywgZXRjLlxuICAgKi9cbiAgZ3JpZFRlbXBsYXRlQ29sdW1uczogc3RyaW5nID0gYHJlcGVhdCgke3RoaXMuY29sdW1ucy5sZW5ndGh9LCAxZnIpYDtcbiAgQE91dHB1dCgpIGV4dHJhTWVudUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJtZW51c1wiPlxuICAgIDxidXR0b24gKm5nSWY9XCJtZW51QXV4XCIgY2xhc3M9XCJtZW51LWJ1dHRvblwiIChjbGljayk9XCJleHRyYU1lbnVDbGljay5lbWl0KCRldmVudClcIlxuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPnt7IGljb25NZW51IH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbHVtblwiICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxuICAgIHt7IGNvbCB9fVxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { GridPanelHeaderComponent } from './grid-panel-header.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class GridPanelHeaderModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridPanelHeaderModule, imports: [CommonModule,
|
|
8
|
+
GridPanelHeaderComponent], exports: [GridPanelHeaderComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelHeaderModule, imports: [CommonModule,
|
|
10
|
+
GridPanelHeaderComponent] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPanelHeaderModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [],
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule,
|
|
18
|
+
GridPanelHeaderComponent,
|
|
19
|
+
],
|
|
20
|
+
exports: [
|
|
21
|
+
GridPanelHeaderComponent,
|
|
22
|
+
]
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYW5lbC1oZWFkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi1QYW5lbHMvZ3JpZC1wYW5lbC9ncmlkLXBhbm5lbC1oZWFkZXIvZ3JpZC1wYW5lbC1oZWFkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQVl6RSxNQUFNLE9BQU8scUJBQXFCOytHQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixZQVA5QixZQUFZO1lBQ1osd0JBQXdCLGFBR3hCLHdCQUF3QjtnSEFHZixxQkFBcUIsWUFQOUIsWUFBWTtZQUNaLHdCQUF3Qjs7NEZBTWYscUJBQXFCO2tCQVZqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBHcmlkUGFuZWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2dyaWQtcGFuZWwtaGVhZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgR3JpZFBhbmVsSGVhZGVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgR3JpZFBhbmVsSGVhZGVyQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRQYW5lbEhlYWRlck1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PantheonUi {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PantheonUi, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PantheonUi, isStandalone: true, selector: "lib-pantheon-ui", ngImport: i0, template: `
|
|
6
|
+
<p>
|
|
7
|
+
pantheon-ui works!
|
|
8
|
+
</p>
|
|
9
|
+
`, isInline: true }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PantheonUi, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'lib-pantheon-ui', standalone: true, template: `
|
|
14
|
+
<p>
|
|
15
|
+
pantheon-ui works!
|
|
16
|
+
</p>
|
|
17
|
+
` }]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFudGhlb24tdWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYW50aGVvbi11aS9zcmMvbGliL3BhbnRoZW9uLXVpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWTFDLE1BQU0sT0FBTyxVQUFVOytHQUFWLFVBQVU7bUdBQVYsVUFBVSwyRUFQWDs7OztHQUlUOzs0RkFHVSxVQUFVO2tCQVZ0QixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksWUFDTjs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wYW50aGVvbi11aScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+XG4gICAgICBwYW50aGVvbi11aSB3b3JrcyFcbiAgICA8L3A+XG4gIGAsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBhbnRoZW9uVWkge1xuXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi13aW5kb3dzL1NpZGVBY3Rpb25QYW5lbC9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgdHlwZT86ICdkZWZhdWx0JyB8ICdkYW5nZXInIHwgJ3ByaW1hcnknO1xuICBjYWxsYmFjazogKCkgPT4gdm9pZDtcbn0iXX0=
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class SideActionPanelComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.open = false;
|
|
7
|
+
this.actions = [];
|
|
8
|
+
this.close = new EventEmitter();
|
|
9
|
+
}
|
|
10
|
+
createStars(event) {
|
|
11
|
+
const button = event.currentTarget;
|
|
12
|
+
const rect = button.getBoundingClientRect();
|
|
13
|
+
const startX = rect.left + rect.width / 2;
|
|
14
|
+
const startY = rect.top + rect.height / 2;
|
|
15
|
+
for (let i = 0; i < 6; i++) {
|
|
16
|
+
const star = document.createElement('div');
|
|
17
|
+
star.style.position = 'fixed';
|
|
18
|
+
star.style.left = `${startX}px`;
|
|
19
|
+
star.style.top = `${startY}px`;
|
|
20
|
+
star.style.width = '8px';
|
|
21
|
+
star.style.height = '8px';
|
|
22
|
+
star.style.borderRadius = '50%';
|
|
23
|
+
star.style.background = 'radial-gradient(circle, #fbbf24 0%, #f59e0b 50%)';
|
|
24
|
+
star.style.boxShadow = '0 0 8px rgba(251, 191, 36, 1)';
|
|
25
|
+
star.style.pointerEvents = 'none';
|
|
26
|
+
star.style.zIndex = '10000';
|
|
27
|
+
const offsetX = Math.random() * 100 - 50;
|
|
28
|
+
const offsetY = Math.random() * 100 - 50;
|
|
29
|
+
document.body.appendChild(star);
|
|
30
|
+
// Animar con requestAnimationFrame para mejor visibilidad
|
|
31
|
+
let elapsed = 0;
|
|
32
|
+
const duration = 1500;
|
|
33
|
+
const animate = () => {
|
|
34
|
+
elapsed += 16;
|
|
35
|
+
const progress = elapsed / duration;
|
|
36
|
+
star.style.transform = `translate(${offsetX * progress}px, ${offsetY * progress}px) scale(${1 - progress})`;
|
|
37
|
+
star.style.opacity = `${1 - progress}`;
|
|
38
|
+
if (elapsed < duration) {
|
|
39
|
+
requestAnimationFrame(animate);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
star.remove();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
animate();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
handleAction(event, action) {
|
|
49
|
+
this.createStars(event);
|
|
50
|
+
action.callback();
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideActionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SideActionPanelComponent, selector: "pantheon-side-action-panel", inputs: { open: "open", actions: "actions" }, outputs: { close: "close" }, ngImport: i0, template: "<div class=\"overlay\" *ngIf=\"open\" (click)=\"close.emit()\">\n <aside class=\"panel\" (click)=\"$event.stopPropagation()\">\n\n <button\n class=\"close-btn\"\n aria-label=\"Cerrar\"\n (click)=\"close.emit()\">\n \u2715\n </button>\n\n <div class=\"actions\">\n <button *ngFor=\"let action of actions\"\n (click)=\"handleAction($event, action)\"\n [ngClass]=\"action.type || 'default'\">\n <span *ngIf=\"action.icon\">{{ action.icon }}</span>\n {{ action.label }}\n </button>\n </div>\n\n </aside>\n</div>\n", styles: ["@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.overlay{position:fixed;inset:0;background:#0003;display:flex;justify-content:flex-start;align-items:stretch;z-index:1000}.panel{position:relative;width:320px;height:100%;background:#fff;padding:1.5rem;box-shadow:2px 0 12px #00000026;animation:slideIn .25s ease-out}.close-btn{position:absolute;top:12px;right:12px;background:none;border:none;font-size:20px;cursor:pointer;opacity:.6;transition:opacity .2s ease,transform .1s ease}.close-btn:hover{opacity:1;transform:scale(1.05)}.close-btn:focus-visible{outline:2px solid #999;border-radius:4px}.actions{display:flex;flex-direction:column;gap:16px;margin-top:32px}.actions button{display:flex;align-items:center;gap:10px;padding:12px 14px;border:none;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#6842c0);color:#fff;font-size:14px;font-weight:600;cursor:pointer;position:relative;overflow:visible;transition:transform .15s ease,box-shadow .15s ease;z-index:1}.actions button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4b00ff4d}.actions button:active{transform:scale(.97)}.actions .danger{background:linear-gradient(135deg,#f43f5e,#ec4899)}.actions .primary{background:linear-gradient(135deg,#031bf5,#3b09b1)}.star{width:8px;height:8px;background:radial-gradient(circle,#fbbf24 0%,#f59e0b 50%,transparent 70%);border-radius:50%;pointer-events:none;animation:starMove 1.5s ease-out forwards;box-shadow:0 0 8px #fbbf24,0 0 12px #f59e0bcc;z-index:9999}@keyframes starMove{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--x),var(--y)) scale(0);opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideActionPanelComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'pantheon-side-action-panel', template: "<div class=\"overlay\" *ngIf=\"open\" (click)=\"close.emit()\">\n <aside class=\"panel\" (click)=\"$event.stopPropagation()\">\n\n <button\n class=\"close-btn\"\n aria-label=\"Cerrar\"\n (click)=\"close.emit()\">\n \u2715\n </button>\n\n <div class=\"actions\">\n <button *ngFor=\"let action of actions\"\n (click)=\"handleAction($event, action)\"\n [ngClass]=\"action.type || 'default'\">\n <span *ngIf=\"action.icon\">{{ action.icon }}</span>\n {{ action.label }}\n </button>\n </div>\n\n </aside>\n</div>\n", styles: ["@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.overlay{position:fixed;inset:0;background:#0003;display:flex;justify-content:flex-start;align-items:stretch;z-index:1000}.panel{position:relative;width:320px;height:100%;background:#fff;padding:1.5rem;box-shadow:2px 0 12px #00000026;animation:slideIn .25s ease-out}.close-btn{position:absolute;top:12px;right:12px;background:none;border:none;font-size:20px;cursor:pointer;opacity:.6;transition:opacity .2s ease,transform .1s ease}.close-btn:hover{opacity:1;transform:scale(1.05)}.close-btn:focus-visible{outline:2px solid #999;border-radius:4px}.actions{display:flex;flex-direction:column;gap:16px;margin-top:32px}.actions button{display:flex;align-items:center;gap:10px;padding:12px 14px;border:none;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#6842c0);color:#fff;font-size:14px;font-weight:600;cursor:pointer;position:relative;overflow:visible;transition:transform .15s ease,box-shadow .15s ease;z-index:1}.actions button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4b00ff4d}.actions button:active{transform:scale(.97)}.actions .danger{background:linear-gradient(135deg,#f43f5e,#ec4899)}.actions .primary{background:linear-gradient(135deg,#031bf5,#3b09b1)}.star{width:8px;height:8px;background:radial-gradient(circle,#fbbf24 0%,#f59e0b 50%,transparent 70%);border-radius:50%;pointer-events:none;animation:starMove 1.5s ease-out forwards;box-shadow:0 0 8px #fbbf24,0 0 12px #f59e0bcc;z-index:9999}@keyframes starMove{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--x),var(--y)) scale(0);opacity:0}}\n"] }]
|
|
58
|
+
}], propDecorators: { open: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], actions: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], close: [{
|
|
63
|
+
type: Output
|
|
64
|
+
}] } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1hY3Rpb24tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi13aW5kb3dzL1NpZGVBY3Rpb25QYW5lbC9zaWRlLWFjdGlvbi1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYW50aGVvbi11aS9zcmMvbGliL3BhbnRoZW9uLXdpbmRvd3MvU2lkZUFjdGlvblBhbmVsL3NpZGUtYWN0aW9uLXBhbmVsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXZFLE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFNVyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN0QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQW9ENUM7SUFsREMsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxhQUE0QixDQUFDO1FBQ2xELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUUxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQztZQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxrREFBa0QsQ0FBQztZQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRywrQkFBK0IsQ0FBQztZQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1lBRTVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBRXpDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRWhDLDBEQUEwRDtZQUMxRCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBRXRCLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxNQUFNLFFBQVEsR0FBRyxPQUFPLEdBQUcsUUFBUSxDQUFDO2dCQUVwQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxhQUFhLE9BQU8sR0FBRyxRQUFRLE9BQU8sT0FBTyxHQUFHLFFBQVEsYUFBYSxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUM7Z0JBQzVHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDO2dCQUV2QyxJQUFJLE9BQU8sR0FBRyxRQUFRLEVBQUU7b0JBQ3RCLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNoQztxQkFBTTtvQkFDTCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7aUJBQ2Y7WUFDSCxDQUFDLENBQUM7WUFFRixPQUFPLEVBQUUsQ0FBQztTQUNYO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQixFQUFFLE1BQWM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0F0RFUsd0JBQXdCO21HQUF4Qix3QkFBd0IsNklDUnJDLG1sQkFxQkE7OzRGRGJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSw0QkFBNEI7OEJBSzdCLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGFudGhlb24tc2lkZS1hY3Rpb24tcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1hY3Rpb24tcGFuZWwuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGUtYWN0aW9uLXBhbmVsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2lkZUFjdGlvblBhbmVsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY3JlYXRlU3RhcnMoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCBidXR0b24gPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHJlY3QgPSBidXR0b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc3RhcnRYID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDI7XG4gICAgY29uc3Qgc3RhcnRZID0gcmVjdC50b3AgKyByZWN0LmhlaWdodCAvIDI7XG4gICAgICAgIFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNjsgaSsrKSB7XG4gICAgICBjb25zdCBzdGFyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBzdGFyLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgICAgIHN0YXIuc3R5bGUubGVmdCA9IGAke3N0YXJ0WH1weGA7XG4gICAgICBzdGFyLnN0eWxlLnRvcCA9IGAke3N0YXJ0WX1weGA7XG4gICAgICBzdGFyLnN0eWxlLndpZHRoID0gJzhweCc7XG4gICAgICBzdGFyLnN0eWxlLmhlaWdodCA9ICc4cHgnO1xuICAgICAgc3Rhci5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnNTAlJztcbiAgICAgIHN0YXIuc3R5bGUuYmFja2dyb3VuZCA9ICdyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjZmJiZjI0IDAlLCAjZjU5ZTBiIDUwJSknO1xuICAgICAgc3Rhci5zdHlsZS5ib3hTaGFkb3cgPSAnMCAwIDhweCByZ2JhKDI1MSwgMTkxLCAzNiwgMSknO1xuICAgICAgc3Rhci5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgc3Rhci5zdHlsZS56SW5kZXggPSAnMTAwMDAnO1xuICAgICAgXG4gICAgICBjb25zdCBvZmZzZXRYID0gTWF0aC5yYW5kb20oKSAqIDEwMCAtIDUwO1xuICAgICAgY29uc3Qgb2Zmc2V0WSA9IE1hdGgucmFuZG9tKCkgKiAxMDAgLSA1MDtcbiAgICAgIFxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzdGFyKTtcbiAgICAgIFxuICAgICAgLy8gQW5pbWFyIGNvbiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgcGFyYSBtZWpvciB2aXNpYmlsaWRhZFxuICAgICAgbGV0IGVsYXBzZWQgPSAwO1xuICAgICAgY29uc3QgZHVyYXRpb24gPSAxNTAwO1xuICAgICAgXG4gICAgICBjb25zdCBhbmltYXRlID0gKCkgPT4ge1xuICAgICAgICBlbGFwc2VkICs9IDE2O1xuICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGVsYXBzZWQgLyBkdXJhdGlvbjtcbiAgICAgICAgXG4gICAgICAgIHN0YXIuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSgke29mZnNldFggKiBwcm9ncmVzc31weCwgJHtvZmZzZXRZICogcHJvZ3Jlc3N9cHgpIHNjYWxlKCR7MSAtIHByb2dyZXNzfSlgO1xuICAgICAgICBzdGFyLnN0eWxlLm9wYWNpdHkgPSBgJHsxIC0gcHJvZ3Jlc3N9YDtcbiAgICAgICAgXG4gICAgICAgIGlmIChlbGFwc2VkIDwgZHVyYXRpb24pIHtcbiAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbWF0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3Rhci5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIFxuICAgICAgYW5pbWF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFjdGlvbihldmVudDogTW91c2VFdmVudCwgYWN0aW9uOiBBY3Rpb24pIHtcbiAgICB0aGlzLmNyZWF0ZVN0YXJzKGV2ZW50KTtcbiAgICBhY3Rpb24uY2FsbGJhY2soKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm92ZXJsYXlcIiAqbmdJZj1cIm9wZW5cIiAoY2xpY2spPVwiY2xvc2UuZW1pdCgpXCI+XG4gIDxhc2lkZSBjbGFzcz1cInBhbmVsXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJjbG9zZS1idG5cIlxuICAgICAgYXJpYS1sYWJlbD1cIkNlcnJhclwiXG4gICAgICAoY2xpY2spPVwiY2xvc2UuZW1pdCgpXCI+XG4gICAgICDinJVcbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBY3Rpb24oJGV2ZW50LCBhY3Rpb24pXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiYWN0aW9uLnR5cGUgfHwgJ2RlZmF1bHQnXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aW9uLmljb25cIj57eyBhY3Rpb24uaWNvbiB9fTwvc3Bhbj5cbiAgICAgICAge3sgYWN0aW9uLmxhYmVsIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICA8L2FzaWRlPlxuPC9kaXY+XG4iXX0=
|
package/dist/pantheon-ui/esm2022/lib/pantheon-windows/SideActionPanel/side-action-panel.module.mjs
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SideActionPanelComponent } from './side-action-panel.component';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class SideActionPanelModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideActionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SideActionPanelModule, declarations: [SideActionPanelComponent], imports: [CommonModule,
|
|
9
|
+
MatIconModule], exports: [SideActionPanelComponent] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideActionPanelModule, imports: [CommonModule,
|
|
11
|
+
MatIconModule] }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideActionPanelModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [
|
|
17
|
+
SideActionPanelComponent,
|
|
18
|
+
],
|
|
19
|
+
imports: [
|
|
20
|
+
CommonModule,
|
|
21
|
+
MatIconModule
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
SideActionPanelComponent,
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1hY3Rpb24tcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi13aW5kb3dzL1NpZGVBY3Rpb25QYW5lbC9zaWRlLWFjdGlvbi1wYW5lbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWN2RCxNQUFNLE9BQU8scUJBQXFCOytHQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixpQkFWOUIsd0JBQXdCLGFBR3hCLFlBQVk7WUFDWixhQUFhLGFBR2Isd0JBQXdCO2dIQUdmLHFCQUFxQixZQVA5QixZQUFZO1lBQ1osYUFBYTs7NEZBTUoscUJBQXFCO2tCQVpqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHdCQUF3QjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICBpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuICBpbXBvcnQgeyBTaWRlQWN0aW9uUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3NpZGUtYWN0aW9uLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNpZGVBY3Rpb25QYW5lbENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTaWRlQWN0aW9uUGFuZWxDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2lkZUFjdGlvblBhbmVsTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const MODAL_SIZES = ['sm', 'md', 'lg', 'fullscreen'];
|
|
2
|
+
export const MODAL_VARIANTS = ['default', 'info', 'warning', 'error'];
|
|
3
|
+
export const ICONS = {
|
|
4
|
+
default: 'info',
|
|
5
|
+
info: 'info',
|
|
6
|
+
warning: 'warning',
|
|
7
|
+
error: 'error_outline'
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGFudGhlb24tdWkvc3JjL2xpYi9wYW50aGVvbi13aW5kb3dzL3dpbmRvdy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFHdEUsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFpQztJQUNqRCxPQUFPLEVBQUUsTUFBTTtJQUNmLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFNBQVM7SUFDbEIsS0FBSyxFQUFFLGVBQWU7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1vZGFsU2l6ZSA9IHR5cGVvZiBNT0RBTF9TSVpFU1tudW1iZXJdO1xuZXhwb3J0IHR5cGUgTW9kYWxWYXJpYW50ID0gdHlwZW9mIE1PREFMX1ZBUklBTlRTW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBNT0RBTF9TSVpFUyA9IFsnc20nLCAnbWQnLCAnbGcnLCAnZnVsbHNjcmVlbiddO1xuZXhwb3J0IGNvbnN0IE1PREFMX1ZBUklBTlRTID0gWydkZWZhdWx0JywgJ2luZm8nLCAnd2FybmluZycsICdlcnJvciddO1xuXG5cbmV4cG9ydCBjb25zdCBJQ09OUzogUmVjb3JkPE1vZGFsVmFyaWFudCwgc3RyaW5nPiA9IHtcbiAgZGVmYXVsdDogJ2luZm8nLFxuICBpbmZvOiAnaW5mbycsXG4gIHdhcm5pbmc6ICd3YXJuaW5nJyxcbiAgZXJyb3I6ICdlcnJvcl9vdXRsaW5lJ1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { ICONS } from './constants';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/icon";
|
|
6
|
+
export class WindowComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.size = 'md';
|
|
9
|
+
this.variant = 'default';
|
|
10
|
+
this.show = false;
|
|
11
|
+
this.titleBtnClose = 'Volver';
|
|
12
|
+
this.titleBtnNext = '';
|
|
13
|
+
this.onAction = () => { };
|
|
14
|
+
this.showChange = new EventEmitter();
|
|
15
|
+
}
|
|
16
|
+
get icon() {
|
|
17
|
+
return ICONS[this.variant];
|
|
18
|
+
}
|
|
19
|
+
close() {
|
|
20
|
+
this.show = false;
|
|
21
|
+
this.showChange.emit(this.show);
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WindowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WindowComponent, selector: "pantehon-window", inputs: { size: "size", variant: "variant", show: "show", titleBtnClose: "titleBtnClose", titleBtnNext: "titleBtnNext", onAction: "onAction" }, outputs: { showChange: "showChange" }, ngImport: i0, template: "<div class=\"modal-backdrop\" *ngIf=\"show\" (click)=\"close()\"></div>\n\n<div *ngIf=\"show\" class=\"container-window\" [ngClass]=\"['size-' + size, 'variant-' + variant]\">\n <div class=\"window-header\">\n <mat-icon class=\"window-icon\">{{ icon }}</mat-icon><ng-content select=\"[title]\"></ng-content>\n </div>\n <div class=\"window-body\"><ng-content select=\"[body]\"></ng-content>\n </div>\n <div class=\"window-footer\">\n <button mat-button class=\"btn-close\" (click)=\"close()\">{{ titleBtnClose }}</button>\n <button *ngIf=\"titleBtnNext && titleBtnNext.trim() !== ''\" mat-button class=\"btn-next\" (click)=\"onAction()\">\n {{ titleBtnNext }}\n </button>\n </div>\n</div>", styles: [".container-window{display:flex;flex-direction:column;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;border-radius:8px;box-shadow:0 10px 4px #0625d11a;background:#e4e1e1;overflow:hidden;min-width:50vw;min-height:50vh;max-width:90vw;max-height:90vh}.container-window .window-body{overflow:auto;padding-top:8px;width:100%;display:flex;flex-grow:1;justify-content:center}.container-window.size-sm{width:300px}.container-window.size-md{width:600px}.container-window.size-lg{width:900px}.container-window.size-fullscreen{width:100%;height:100%}.container-window.variant-default{background:#e4e1e1}.container-window.variant-info{background:#d0ebff}.container-window.variant-warning{background:#fff4e5}.container-window.variant-error{background:#ffe5e5}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:900}.window-header{display:flex;align-items:center;justify-content:center;padding:10px;background:#0000001a;border-bottom:1px solid rgba(0,0,0,.1)}.window-header .window-icon{margin-top:8px;font-size:16px}.window-header .window-title{flex-grow:1;font-weight:700;font-size:16px}.window-footer{display:flex;justify-content:center;padding:10px;background:#0000001a;border-top:1px solid rgba(0,0,0,.1)}.btn-next{margin-left:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WindowComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: 'pantehon-window', template: "<div class=\"modal-backdrop\" *ngIf=\"show\" (click)=\"close()\"></div>\n\n<div *ngIf=\"show\" class=\"container-window\" [ngClass]=\"['size-' + size, 'variant-' + variant]\">\n <div class=\"window-header\">\n <mat-icon class=\"window-icon\">{{ icon }}</mat-icon><ng-content select=\"[title]\"></ng-content>\n </div>\n <div class=\"window-body\"><ng-content select=\"[body]\"></ng-content>\n </div>\n <div class=\"window-footer\">\n <button mat-button class=\"btn-close\" (click)=\"close()\">{{ titleBtnClose }}</button>\n <button *ngIf=\"titleBtnNext && titleBtnNext.trim() !== ''\" mat-button class=\"btn-next\" (click)=\"onAction()\">\n {{ titleBtnNext }}\n </button>\n </div>\n</div>", styles: [".container-window{display:flex;flex-direction:column;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;border-radius:8px;box-shadow:0 10px 4px #0625d11a;background:#e4e1e1;overflow:hidden;min-width:50vw;min-height:50vh;max-width:90vw;max-height:90vh}.container-window .window-body{overflow:auto;padding-top:8px;width:100%;display:flex;flex-grow:1;justify-content:center}.container-window.size-sm{width:300px}.container-window.size-md{width:600px}.container-window.size-lg{width:900px}.container-window.size-fullscreen{width:100%;height:100%}.container-window.variant-default{background:#e4e1e1}.container-window.variant-info{background:#d0ebff}.container-window.variant-warning{background:#fff4e5}.container-window.variant-error{background:#ffe5e5}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:900}.window-header{display:flex;align-items:center;justify-content:center;padding:10px;background:#0000001a;border-bottom:1px solid rgba(0,0,0,.1)}.window-header .window-icon{margin-top:8px;font-size:16px}.window-header .window-title{flex-grow:1;font-weight:700;font-size:16px}.window-footer{display:flex;justify-content:center;padding:10px;background:#0000001a;border-top:1px solid rgba(0,0,0,.1)}.btn-next{margin-left:8px}\n"] }]
|
|
29
|
+
}], propDecorators: { size: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], variant: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], show: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], titleBtnClose: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], titleBtnNext: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], onAction: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], showChange: [{
|
|
42
|
+
type: Output
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhbnRoZW9uLXVpL3NyYy9saWIvcGFudGhlb24td2luZG93cy93aW5kb3cvd2luZG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhbnRoZW9uLXVpL3NyYy9saWIvcGFudGhlb24td2luZG93cy93aW5kb3cvd2luZG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUEyQixLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFPN0QsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFNVyxTQUFJLEdBQWMsSUFBSSxDQUFDO1FBQ3ZCLFlBQU8sR0FBaUIsU0FBUyxDQUFDO1FBQ2xDLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsa0JBQWEsR0FBVyxRQUFRLENBQUM7UUFDakMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFFMUIsYUFBUSxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMvQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztLQVVwRDtJQVJDLElBQUksSUFBSTtRQUNOLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOytHQWpCVSxlQUFlO21HQUFmLGVBQWUsOE9DUjVCLHdzQkFjTTs7NEZETk8sZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBS2xCLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxTaXplLCBNb2RhbFZhcmlhbnQsIElDT05TIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYW50ZWhvbi13aW5kb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2luZG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2luZG93LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV2luZG93Q29tcG9uZW50IHtcbiAgQElucHV0KCkgc2l6ZTogTW9kYWxTaXplID0gJ21kJztcbiAgQElucHV0KCkgdmFyaWFudDogTW9kYWxWYXJpYW50ID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzaG93OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlQnRuQ2xvc2U6IHN0cmluZyA9ICdWb2x2ZXInO1xuICBASW5wdXQoKSB0aXRsZUJ0bk5leHQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIG9uQWN0aW9uOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG4gIEBPdXRwdXQoKSBzaG93Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIElDT05TW3RoaXMudmFyaWFudF07XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3cgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dDaGFuZ2UuZW1pdCh0aGlzLnNob3cpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtYmFja2Ryb3BcIiAqbmdJZj1cInNob3dcIiAoY2xpY2spPVwiY2xvc2UoKVwiPjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwic2hvd1wiIGNsYXNzPVwiY29udGFpbmVyLXdpbmRvd1wiIFtuZ0NsYXNzXT1cIlsnc2l6ZS0nICsgc2l6ZSwgJ3ZhcmlhbnQtJyArIHZhcmlhbnRdXCI+XG4gIDxkaXYgY2xhc3M9XCJ3aW5kb3ctaGVhZGVyXCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwid2luZG93LWljb25cIj57eyBpY29uIH19PC9tYXQtaWNvbj48bmctY29udGVudCBzZWxlY3Q9XCJbdGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIndpbmRvdy1ib2R5XCI+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvZHldXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIndpbmRvdy1mb290ZXJcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJidG4tY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPnt7IHRpdGxlQnRuQ2xvc2UgfX08L2J1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwidGl0bGVCdG5OZXh0ICYmIHRpdGxlQnRuTmV4dC50cmltKCkgIT09ICcnXCIgbWF0LWJ1dHRvbiBjbGFzcz1cImJ0bi1uZXh0XCIgKGNsaWNrKT1cIm9uQWN0aW9uKClcIj5cbiAgICAgIHt7IHRpdGxlQnRuTmV4dCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { WindowComponent } from './window.component';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class WindowModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WindowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: WindowModule, declarations: [WindowComponent], imports: [CommonModule,
|
|
9
|
+
MatIconModule], exports: [WindowComponent] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WindowModule, imports: [CommonModule,
|
|
11
|
+
MatIconModule] }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WindowModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [
|
|
17
|
+
WindowComponent,
|
|
18
|
+
],
|
|
19
|
+
imports: [
|
|
20
|
+
CommonModule,
|
|
21
|
+
MatIconModule
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
WindowComponent,
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhbnRoZW9uLXVpL3NyYy9saWIvcGFudGhlb24td2luZG93cy93aW5kb3cvd2luZG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWN2RCxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksaUJBVnJCLGVBQWUsYUFHZixZQUFZO1lBQ1osYUFBYSxhQUdiLGVBQWU7Z0hBR04sWUFBWSxZQVByQixZQUFZO1lBQ1osYUFBYTs7NEZBTUosWUFBWTtrQkFaeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFdpbmRvd0NvbXBvbmVudCB9IGZyb20gJy4vd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFdpbmRvd0NvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBXaW5kb3dDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgV2luZG93TW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFudGhlb24tdWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wYW50aGVvbi11aS9zcmMvcGFudGhlb24tdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|