@rolatech/angular-components 17.8.1 → 19.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/rolatech-angular-components.mjs +234 -279
- package/fesm2022/rolatech-angular-components.mjs.map +1 -1
- package/package.json +33 -12
- package/themes/_default.scss +1 -1
- package/esm2022/index.mjs +0 -57
- package/esm2022/lib/accordion/accordion.component.mjs +0 -16
- package/esm2022/lib/angular-components.module.mjs +0 -16
- package/esm2022/lib/avatar/avatar.component.mjs +0 -23
- package/esm2022/lib/base.component.mjs +0 -16
- package/esm2022/lib/chip-bar/chip-bar.component.mjs +0 -122
- package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +0 -19
- package/esm2022/lib/console-layout/console-layout.component.mjs +0 -12
- package/esm2022/lib/container/container.component.mjs +0 -20
- package/esm2022/lib/container-content/container-content.component.mjs +0 -13
- package/esm2022/lib/content/content.component.mjs +0 -12
- package/esm2022/lib/drawer/drawer-animations.mjs +0 -35
- package/esm2022/lib/drawer/drawer.component.mjs +0 -122
- package/esm2022/lib/editor/editor.component.mjs +0 -61
- package/esm2022/lib/empty/empty.component.mjs +0 -12
- package/esm2022/lib/filter/filter.component.mjs +0 -12
- package/esm2022/lib/folder/folder.component.mjs +0 -11
- package/esm2022/lib/footer/footer.component.mjs +0 -24
- package/esm2022/lib/icon/icon.component.mjs +0 -29
- package/esm2022/lib/icon-button/icon-button.component.mjs +0 -17
- package/esm2022/lib/image/image.component.mjs +0 -28
- package/esm2022/lib/image-placeholder/image-placeholder.component.mjs +0 -13
- package/esm2022/lib/image-preview-dialog/image-preview-dialog.component.mjs +0 -51
- package/esm2022/lib/input/input.component.mjs +0 -16
- package/esm2022/lib/layout/layout-event.service.mjs +0 -22
- package/esm2022/lib/layout/layout.component.mjs +0 -108
- package/esm2022/lib/list/list.component.mjs +0 -20
- package/esm2022/lib/material.module.mjs +0 -238
- package/esm2022/lib/media-list/media-list.component.mjs +0 -24
- package/esm2022/lib/media-list-item/media-list-item.component.mjs +0 -27
- package/esm2022/lib/media-preview/media-preview.component.mjs +0 -12
- package/esm2022/lib/media-preview-dialog/media-preview-dialog.component.mjs +0 -51
- package/esm2022/lib/media-upload/media-upload.component.mjs +0 -59
- package/esm2022/lib/media-upload-dialog/media-upload-dialog.component.mjs +0 -91
- package/esm2022/lib/menu-icon/menu-icon.component.mjs +0 -16
- package/esm2022/lib/menu-user/menu-user.component.mjs +0 -27
- package/esm2022/lib/mini-guide/mini-guide.component.mjs +0 -77
- package/esm2022/lib/not-found/not-found.component.mjs +0 -31
- package/esm2022/lib/page/page.component.mjs +0 -20
- package/esm2022/lib/paginator/paginator.component.mjs +0 -18
- package/esm2022/lib/panel/panel-animations.mjs +0 -17
- package/esm2022/lib/panel/panel-header.component.mjs +0 -12
- package/esm2022/lib/panel/panel.component.mjs +0 -52
- package/esm2022/lib/rich-item/rich-item.component.mjs +0 -23
- package/esm2022/lib/rich-view/rich-view.component.mjs +0 -73
- package/esm2022/lib/spinner/spinner.component.mjs +0 -31
- package/esm2022/lib/storage-bucket-create/storage-bucket-create.component.mjs +0 -23
- package/esm2022/lib/storage-file-upload/storage-file-upload.component.mjs +0 -43
- package/esm2022/lib/storage-folder-create/storage-folder-create.component.mjs +0 -26
- package/esm2022/lib/tab/tab.component.mjs +0 -23
- package/esm2022/lib/table/table.component.mjs +0 -21
- package/esm2022/lib/tabs/tabs.component.mjs +0 -64
- package/esm2022/lib/thumbnail/thumbnail.component.mjs +0 -46
- package/esm2022/lib/title/title.component.mjs +0 -19
- package/esm2022/lib/toolbar/toolbar.component.mjs +0 -31
- package/esm2022/lib/topbar/topbar.component.mjs +0 -50
- package/esm2022/lib/topbar-avatar-menu/topbar-avatar-menu.component.mjs +0 -33
- package/esm2022/lib/wechat-connect-dialog/wechat-connect-dialog.component.mjs +0 -44
- package/esm2022/provider.mjs +0 -12
- package/esm2022/rolatech-angular-components.mjs +0 -5
- package/lib/container-content/container-content.component.d.ts +0 -5
- package/lib/layout/layout-event.service.d.ts +0 -9
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Component, inject, input, output } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
4
|
-
import { MediaPreviewDialogComponent } from '../media-preview-dialog/media-preview-dialog.component';
|
|
5
|
-
import { AngularComponentsModule } from '../angular-components.module';
|
|
6
|
-
import { SpinnerComponent } from '../spinner/spinner.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/button";
|
|
9
|
-
import * as i2 from "@angular/material/icon";
|
|
10
|
-
export class MediaUploadComponent {
|
|
11
|
-
title = input('上传图片');
|
|
12
|
-
subtitle = input('文件大小');
|
|
13
|
-
description = input('不能超过5MB');
|
|
14
|
-
isUploading = input(false);
|
|
15
|
-
mediaItemClick = output();
|
|
16
|
-
upload = output();
|
|
17
|
-
media = [];
|
|
18
|
-
dialog = inject(MatDialog);
|
|
19
|
-
onMediaItemClick(item) {
|
|
20
|
-
this.mediaItemClick.emit(item);
|
|
21
|
-
}
|
|
22
|
-
onMediaClick(i) {
|
|
23
|
-
const dialogRef = this.dialog.open(MediaPreviewDialogComponent, {
|
|
24
|
-
maxWidth: '80vw',
|
|
25
|
-
maxHeight: '80vh',
|
|
26
|
-
height: '80%',
|
|
27
|
-
width: '80%',
|
|
28
|
-
panelClass: 'full-screen-modal',
|
|
29
|
-
data: {
|
|
30
|
-
media: this.media,
|
|
31
|
-
selected: i,
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
dialogRef.afterClosed().subscribe((result) => { });
|
|
35
|
-
}
|
|
36
|
-
onUpload(event) {
|
|
37
|
-
const file = event.target.files[0];
|
|
38
|
-
if (file) {
|
|
39
|
-
const reader = new FileReader();
|
|
40
|
-
reader.readAsDataURL(file);
|
|
41
|
-
reader.onload = () => {
|
|
42
|
-
this.media.push({
|
|
43
|
-
url: reader.result,
|
|
44
|
-
alt: 'upload image',
|
|
45
|
-
});
|
|
46
|
-
const formData = new FormData();
|
|
47
|
-
formData.append('file', file);
|
|
48
|
-
this.upload.emit(formData);
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MediaUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: MediaUploadComponent, isStandalone: true, selector: "rolatech-media-upload", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, isUploading: { classPropertyName: "isUploading", publicName: "isUploading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mediaItemClick: "mediaItemClick", upload: "upload" }, ngImport: i0, template: "<div class=\"bg-[--rt-raised-background] rounded p-6 min-h-[320px] flex items-center justify-center\">\n @if (isUploading()) {\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"p-3\">\n <mat-icon>upload</mat-icon>\n </div>\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"font-lg font-bold py-3\">{{ title() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ subtitle() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ description() }}</div>\n </div>\n <div class=\"py-2\">\n <input style=\"display: none\" type=\"file\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button color=\"primary\" (click)=\"fileInput.click()\">\u4E0A\u4F20\u56FE\u7247</button>\n </div>\n </div>\n } @else {\n <rolatech-spinner title=\"\u4E0A\u4F20\u4E2D\"></rolatech-spinner>\n }\n</div>\n<div class=\"flex flex-row\">\n @for (media of media; track $index) {\n <div (click)=\"onMediaClick($index)\" class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\">\n <img class=\"rounded-md aspect-video object-cover w-32\" [src]=\"media.url\" alt />\n </div>\n }\n</div>\n", styles: [".mat-icon{transform:scale(2)}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }] });
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MediaUploadComponent, decorators: [{
|
|
56
|
-
type: Component,
|
|
57
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent], selector: 'rolatech-media-upload', template: "<div class=\"bg-[--rt-raised-background] rounded p-6 min-h-[320px] flex items-center justify-center\">\n @if (isUploading()) {\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"p-3\">\n <mat-icon>upload</mat-icon>\n </div>\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"font-lg font-bold py-3\">{{ title() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ subtitle() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ description() }}</div>\n </div>\n <div class=\"py-2\">\n <input style=\"display: none\" type=\"file\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button color=\"primary\" (click)=\"fileInput.click()\">\u4E0A\u4F20\u56FE\u7247</button>\n </div>\n </div>\n } @else {\n <rolatech-spinner title=\"\u4E0A\u4F20\u4E2D\"></rolatech-spinner>\n }\n</div>\n<div class=\"flex flex-row\">\n @for (media of media; track $index) {\n <div (click)=\"onMediaClick($index)\" class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\">\n <img class=\"rounded-md aspect-video object-cover w-32\" [src]=\"media.url\" alt />\n </div>\n }\n</div>\n", styles: [".mat-icon{transform:scale(2)}\n"] }]
|
|
58
|
-
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvbWVkaWEtdXBsb2FkL21lZGlhLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL21lZGlhLXVwbG9hZC9tZWRpYS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFTLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixLQUFLLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLFFBQVEsR0FBRyxLQUFLLENBQVMsTUFBTSxDQUFDLENBQUM7SUFDakMsV0FBVyxHQUFHLEtBQUssQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUN2QyxXQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXBDLGNBQWMsR0FBRyxNQUFNLEVBQVMsQ0FBQztJQUNqQyxNQUFNLEdBQUcsTUFBTSxFQUFtQixDQUFDO0lBRW5DLEtBQUssR0FBWSxFQUFFLENBQUM7SUFDcEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUzQixnQkFBZ0IsQ0FBQyxJQUFXO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBTTtRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUM5RCxRQUFRLEVBQUUsTUFBTTtZQUNoQixTQUFTLEVBQUUsTUFBTTtZQUNqQixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxLQUFLO1lBQ1osVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsQ0FBQzthQUNaO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxLQUFhLENBQUMsSUFBSSxDQUFDO29CQUN2QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU07b0JBQ2xCLEdBQUcsRUFBRSxjQUFjO2lCQUNwQixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO3VHQTVDVSxvQkFBb0I7MkZBQXBCLG9CQUFvQiwycUJDZGpDLGl1Q0EyQkEsd0ZEbEJZLG1CQUFtQiw4QkFBRSx1QkFBdUIsaVhBQUUsZ0JBQWdCOzsyRkFLN0Qsb0JBQW9CO2tCQVBoQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixDQUFDLFlBQy9ELHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSwgTWVkaWEgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgTWVkaWFQcmV2aWV3RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vbWVkaWEtcHJldmlldy1kaWFsb2cvbWVkaWEtcHJldmlldy1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi4vYW5ndWxhci1jb21wb25lbnRzLm1vZHVsZSc7XG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFNwaW5uZXJDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW1lZGlhLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZWRpYS11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVkaWFVcGxvYWRDb21wb25lbnQge1xuICB0aXRsZSA9IGlucHV0PHN0cmluZz4oJ+S4iuS8oOWbvueJhycpO1xuICBzdWJ0aXRsZSA9IGlucHV0PHN0cmluZz4oJ+aWh+S7tuWkp+WwjycpO1xuICBkZXNjcmlwdGlvbiA9IGlucHV0PHN0cmluZz4oJ+S4jeiDvei2hei/hzVNQicpO1xuICBpc1VwbG9hZGluZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBtZWRpYUl0ZW1DbGljayA9IG91dHB1dDxNZWRpYT4oKTtcbiAgdXBsb2FkID0gb3V0cHV0PEZvcm1EYXRhIHwgbnVsbD4oKTtcblxuICBtZWRpYTogTWVkaWFbXSA9IFtdO1xuICBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcblxuICBvbk1lZGlhSXRlbUNsaWNrKGl0ZW06IE1lZGlhKSB7XG4gICAgdGhpcy5tZWRpYUl0ZW1DbGljay5lbWl0KGl0ZW0pO1xuICB9XG4gIG9uTWVkaWFDbGljayhpOiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE1lZGlhUHJldmlld0RpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgbWF4V2lkdGg6ICc4MHZ3JyxcbiAgICAgIG1heEhlaWdodDogJzgwdmgnLFxuICAgICAgaGVpZ2h0OiAnODAlJyxcbiAgICAgIHdpZHRoOiAnODAlJyxcbiAgICAgIHBhbmVsQ2xhc3M6ICdmdWxsLXNjcmVlbi1tb2RhbCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG1lZGlhOiB0aGlzLm1lZGlhLFxuICAgICAgICBzZWxlY3RlZDogaSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHt9KTtcbiAgfVxuICBvblVwbG9hZChldmVudDogYW55KSB7XG4gICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgKHRoaXMubWVkaWEgYXMgYW55KS5wdXNoKHtcbiAgICAgICAgICB1cmw6IHJlYWRlci5yZXN1bHQsXG4gICAgICAgICAgYWx0OiAndXBsb2FkIGltYWdlJyxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgICAgICB0aGlzLnVwbG9hZC5lbWl0KGZvcm1EYXRhKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdIHJvdW5kZWQgcC02IG1pbi1oLVszMjBweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgQGlmIChpc1VwbG9hZGluZygpKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0zXCI+XG4gICAgICAgIDxtYXQtaWNvbj51cGxvYWQ8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtbGcgZm9udC1ib2xkIHB5LTNcIj57eyB0aXRsZSgpIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb250LXNtIHRleHQtWy0tcnQtdGV4dC1zZWNvbmRhcnldXCI+e3sgc3VidGl0bGUoKSB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1zbSB0ZXh0LVstLXJ0LXRleHQtc2Vjb25kYXJ5XVwiPnt7IGRlc2NyaXB0aW9uKCkgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInB5LTJcIj5cbiAgICAgICAgPGlucHV0IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIHR5cGU9XCJmaWxlXCIgKGNoYW5nZSk9XCJvblVwbG9hZCgkZXZlbnQpXCIgI2ZpbGVJbnB1dCAvPlxuICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj7kuIrkvKDlm77niYc8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8cm9sYXRlY2gtc3Bpbm5lciB0aXRsZT1cIuS4iuS8oOS4rVwiPjwvcm9sYXRlY2gtc3Bpbm5lcj5cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICBAZm9yIChtZWRpYSBvZiBtZWRpYTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPGRpdiAoY2xpY2spPVwib25NZWRpYUNsaWNrKCRpbmRleClcIiBjbGFzcz1cImlubGluZS1mbGV4IGZsZXgtcm93IG10LTMgbXItMyBjdXJzb3ItcG9pbnRlciByb3VuZGVkLW1kXCI+XG4gICAgICA8aW1nIGNsYXNzPVwicm91bmRlZC1tZCBhc3BlY3QtdmlkZW8gb2JqZWN0LWNvdmVyIHctMzJcIiBbc3JjXT1cIm1lZGlhLnVybFwiIGFsdCAvPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MatDialogRef, MAT_DIALOG_DATA, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';
|
|
3
|
-
import { MediaService } from '@rolatech/angular-services';
|
|
4
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
5
|
-
import { NgClass } from '@angular/common';
|
|
6
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/dialog";
|
|
9
|
-
import * as i2 from "@rolatech/angular-services";
|
|
10
|
-
import * as i3 from "@angular/material/button";
|
|
11
|
-
import * as i4 from "@angular/material/progress-spinner";
|
|
12
|
-
export class MediaUploadDialogComponent {
|
|
13
|
-
dialogRef;
|
|
14
|
-
data;
|
|
15
|
-
mediaService;
|
|
16
|
-
fileData;
|
|
17
|
-
progressInfos = [];
|
|
18
|
-
media = [];
|
|
19
|
-
preMedia = [];
|
|
20
|
-
isFinished = false;
|
|
21
|
-
isUploaded = false;
|
|
22
|
-
constructor(dialogRef, data, mediaService) {
|
|
23
|
-
this.dialogRef = dialogRef;
|
|
24
|
-
this.data = data;
|
|
25
|
-
this.mediaService = mediaService;
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() { }
|
|
28
|
-
selectFiles(event) {
|
|
29
|
-
this.isFinished = false;
|
|
30
|
-
for (const file of event.target.files) {
|
|
31
|
-
this.addImage(file);
|
|
32
|
-
}
|
|
33
|
-
event.target.value = '';
|
|
34
|
-
}
|
|
35
|
-
addImage(file) {
|
|
36
|
-
const reader = new FileReader();
|
|
37
|
-
reader.readAsDataURL(file);
|
|
38
|
-
reader.onload = () => {
|
|
39
|
-
this.preMedia.push({
|
|
40
|
-
url: reader.result,
|
|
41
|
-
alt: 'upload image',
|
|
42
|
-
isUploading: false,
|
|
43
|
-
isUploaded: false,
|
|
44
|
-
file: file,
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
reader.onerror = (error) => { };
|
|
48
|
-
}
|
|
49
|
-
removeImage(index) {
|
|
50
|
-
this.preMedia.splice(index, 1);
|
|
51
|
-
}
|
|
52
|
-
uploadFiles() {
|
|
53
|
-
for (let i = 0; i < this.preMedia.length; i++) {
|
|
54
|
-
if (!this.preMedia[i].isUploaded) {
|
|
55
|
-
this.upload(i, this.preMedia[i].file);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
upload(idx, file) {
|
|
60
|
-
this.progressInfos[idx] = { value: 0, fileName: file.name };
|
|
61
|
-
const formData = new FormData();
|
|
62
|
-
formData.append('file', file);
|
|
63
|
-
this.preMedia[idx].isUploading = true;
|
|
64
|
-
formData.append('groupId', this.data.groupId);
|
|
65
|
-
this.mediaService.uploadAndSave(formData).subscribe({
|
|
66
|
-
next: (res) => {
|
|
67
|
-
this.media.push(res.data);
|
|
68
|
-
this.preMedia[idx].isUploading = false;
|
|
69
|
-
this.preMedia[idx].isUploaded = true;
|
|
70
|
-
this.progressInfos[idx].value = 100;
|
|
71
|
-
const tmp = this.progressInfos.filter((item) => item.value !== 100);
|
|
72
|
-
if (tmp.length <= 0) {
|
|
73
|
-
this.isFinished = true;
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
error: (error) => {
|
|
77
|
-
this.progressInfos[idx].value = 0;
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MediaUploadDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.MediaService }], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: MediaUploadDialogComponent, isStandalone: true, selector: "rolatech-media-upload-dialog", ngImport: i0, template: "<mat-dialog-content>\n <div class=\"border-dashed border-2 border-[--rt-border-color] py-12 flex flex-col justify-center items-center\">\n <input #fileInput multiple class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-button (click)=\"fileInput.click()\">\u4E0A\u4F20\u56FE\u7247</button>\n </div>\n <div class=\"mt-4\">\n <h2 class=\"\">\u9884\u89C8</h2>\n <div>\n <ul id=\"gallery\" class=\"flex flex-1 flex-wrap -m-1\">\n @for (item of preMedia; track item.url; let i = $index) {\n <li class=\"block p-1 w-1/2 sm:w-1/3 md:w-1/4 lg:w-1/6 xl:w-1/8 h-24\">\n <article\n tabindex=\"0\"\n [ngClass]=\"item.isUploading ? 'isUploading' : ''\"\n class=\"group hasImage w-full h-full rounded-md focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer relative text-transparent hover:text-white shadow-sm\"\n >\n <img [src]=\"item.url\" class=\"img-preview w-full h-full sticky object-cover rounded-md bg-fixed\" alt />\n <section class=\"flex flex-col rounded-md text-xs break-words w-full h-full z-20 absolute top-0 py-2 px-3\">\n @if (item.isUploading) {\n <div class=\"flex justify-center items-center w-full h-full\">\n <mat-spinner color=\"white\" diameter=\"28\"></mat-spinner>\n </div>\n } @else {\n <div class=\"flex\">\n <button\n (click)=\"removeImage(i)\"\n class=\"delete ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1 rounded-md\"\n >\n <svg\n class=\"pointer-events-none fill-current w-4 h-4 ml-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n class=\"pointer-events-none\"\n d=\"M3 6l3 18h12l3-18h-18zm19-4v2h-20v-2h5.711c.9 0 1.631-1.099 1.631-2h5.316c0 .901.73 2 1.631 2h5.711z\"\n />\n </svg>\n </button>\n </div>\n }\n </section>\n </article>\n </li>\n }\n </ul>\n </div>\n @if (preMedia.length <= 0) {\n <div class=\"flex flex-1 flex-wrap\">\n <div class=\"h-full w-full text-center flex flex-col justify-center items-center py-6\">\n <span class=\"text-small text-[--rt-text-secondary]\">No files selected</span>\n </div>\n </div>\n }\n </div>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close>\u53D6\u6D88</button>\n @if (preMedia.length <= 0) {\n <button mat-button>\u7B49\u5F85\u9009\u62E9</button>\n }\n @if (!isFinished && preMedia.length > 0) {\n <button mat-button (click)=\"uploadFiles()\">\u7ACB\u523B\u4E0A\u4F20</button>\n }\n @if (isFinished) {\n <button mat-button [mat-dialog-close]=\"media\">\u5B8C\u6210</button>\n }\n</mat-dialog-actions>\n", styles: [".hasImage:hover section{background-color:#05050566}.hasImage:hover button:hover{background:#05050573}.isUploading section{background-color:#05050566}\n"], dependencies: [{ kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
|
|
83
|
-
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MediaUploadDialogComponent, decorators: [{
|
|
85
|
-
type: Component,
|
|
86
|
-
args: [{ selector: 'rolatech-media-upload-dialog', standalone: true, imports: [MatDialogContent, MatButtonModule, NgClass, MatProgressSpinnerModule, MatDialogActions, MatDialogClose], template: "<mat-dialog-content>\n <div class=\"border-dashed border-2 border-[--rt-border-color] py-12 flex flex-col justify-center items-center\">\n <input #fileInput multiple class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-button (click)=\"fileInput.click()\">\u4E0A\u4F20\u56FE\u7247</button>\n </div>\n <div class=\"mt-4\">\n <h2 class=\"\">\u9884\u89C8</h2>\n <div>\n <ul id=\"gallery\" class=\"flex flex-1 flex-wrap -m-1\">\n @for (item of preMedia; track item.url; let i = $index) {\n <li class=\"block p-1 w-1/2 sm:w-1/3 md:w-1/4 lg:w-1/6 xl:w-1/8 h-24\">\n <article\n tabindex=\"0\"\n [ngClass]=\"item.isUploading ? 'isUploading' : ''\"\n class=\"group hasImage w-full h-full rounded-md focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer relative text-transparent hover:text-white shadow-sm\"\n >\n <img [src]=\"item.url\" class=\"img-preview w-full h-full sticky object-cover rounded-md bg-fixed\" alt />\n <section class=\"flex flex-col rounded-md text-xs break-words w-full h-full z-20 absolute top-0 py-2 px-3\">\n @if (item.isUploading) {\n <div class=\"flex justify-center items-center w-full h-full\">\n <mat-spinner color=\"white\" diameter=\"28\"></mat-spinner>\n </div>\n } @else {\n <div class=\"flex\">\n <button\n (click)=\"removeImage(i)\"\n class=\"delete ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1 rounded-md\"\n >\n <svg\n class=\"pointer-events-none fill-current w-4 h-4 ml-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n class=\"pointer-events-none\"\n d=\"M3 6l3 18h12l3-18h-18zm19-4v2h-20v-2h5.711c.9 0 1.631-1.099 1.631-2h5.316c0 .901.73 2 1.631 2h5.711z\"\n />\n </svg>\n </button>\n </div>\n }\n </section>\n </article>\n </li>\n }\n </ul>\n </div>\n @if (preMedia.length <= 0) {\n <div class=\"flex flex-1 flex-wrap\">\n <div class=\"h-full w-full text-center flex flex-col justify-center items-center py-6\">\n <span class=\"text-small text-[--rt-text-secondary]\">No files selected</span>\n </div>\n </div>\n }\n </div>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close>\u53D6\u6D88</button>\n @if (preMedia.length <= 0) {\n <button mat-button>\u7B49\u5F85\u9009\u62E9</button>\n }\n @if (!isFinished && preMedia.length > 0) {\n <button mat-button (click)=\"uploadFiles()\">\u7ACB\u523B\u4E0A\u4F20</button>\n }\n @if (isFinished) {\n <button mat-button [mat-dialog-close]=\"media\">\u5B8C\u6210</button>\n }\n</mat-dialog-actions>\n", styles: [".hasImage:hover section{background-color:#05050566}.hasImage:hover button:hover{background:#05050573}.isUploading section{background-color:#05050566}\n"] }]
|
|
87
|
-
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
88
|
-
type: Inject,
|
|
89
|
-
args: [MAT_DIALOG_DATA]
|
|
90
|
-
}] }, { type: i2.MediaService }] });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL21lZGlhLXVwbG9hZC1kaWFsb2cvbWVkaWEtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL21lZGlhLXVwbG9hZC1kaWFsb2cvbWVkaWEtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUk3SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBZTNELE1BQU0sT0FBTywwQkFBMEI7SUFVNUI7SUFDeUI7SUFDeEI7SUFYVixRQUFRLENBQU07SUFDZCxhQUFhLEdBQVEsRUFBRSxDQUFDO0lBQ3hCLEtBQUssR0FBWSxFQUFFLENBQUM7SUFDcEIsUUFBUSxHQUFlLEVBQUUsQ0FBQztJQUMxQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRW5CLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFbkIsWUFDUyxTQUFtRCxFQUMxQixJQUFTLEVBQ2pDLFlBQTBCO1FBRjNCLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBQzFCLFNBQUksR0FB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Q0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUN6RSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixDQUFDO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDcEMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBdkVVLDBCQUEwQiw4Q0FXM0IsZUFBZTsyRkFYZCwwQkFBMEIsd0ZDeEJ2QywydEdBc0VBLGlORGhEWSxnQkFBZ0Isd0dBQUUsZUFBZSw0TkFBRSxPQUFPLG1GQUFFLHdCQUF3QixtT0FBRSxnQkFBZ0IsNEhBQUUsY0FBYzs7MkZBRXJHLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDRSw4QkFBOEIsY0FHNUIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUM7OzBCQWE5RyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBIdHRwRXZlbnRUeXBlLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyByZW1vdmUgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVkaWEgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5leHBvcnQgaW50ZXJmYWNlIFByZU1lZGlhIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGFsdDogc3RyaW5nO1xuICBpc1VwbG9hZGluZzogYm9vbGVhbjtcbiAgaXNVcGxvYWRlZDogYm9vbGVhbjtcbiAgZmlsZTogRmlsZTtcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW1lZGlhLXVwbG9hZC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVkaWEtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lZGlhLXVwbG9hZC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdERpYWxvZ0NvbnRlbnQsIE1hdEJ1dHRvbk1vZHVsZSwgTmdDbGFzcywgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLCBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhVXBsb2FkRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZmlsZURhdGE6IGFueTtcbiAgcHJvZ3Jlc3NJbmZvczogYW55ID0gW107XG4gIG1lZGlhOiBNZWRpYVtdID0gW107XG4gIHByZU1lZGlhOiBQcmVNZWRpYVtdID0gW107XG4gIGlzRmluaXNoZWQgPSBmYWxzZTtcblxuICBpc1VwbG9hZGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE1lZGlhVXBsb2FkRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHNlbGVjdEZpbGVzKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmlzRmluaXNoZWQgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZXZlbnQudGFyZ2V0LmZpbGVzKSB7XG4gICAgICB0aGlzLmFkZEltYWdlKGZpbGUpO1xuICAgIH1cbiAgICBldmVudC50YXJnZXQudmFsdWUgPSAnJztcbiAgfVxuICBhZGRJbWFnZShmaWxlOiBhbnkpIHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAodGhpcy5wcmVNZWRpYSBhcyBhbnkpLnB1c2goe1xuICAgICAgICB1cmw6IHJlYWRlci5yZXN1bHQsXG4gICAgICAgIGFsdDogJ3VwbG9hZCBpbWFnZScsXG4gICAgICAgIGlzVXBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgaXNVcGxvYWRlZDogZmFsc2UsXG4gICAgICAgIGZpbGU6IGZpbGUsXG4gICAgICB9KTtcbiAgICB9O1xuICAgIHJlYWRlci5vbmVycm9yID0gKGVycm9yKSA9PiB7fTtcbiAgfVxuICByZW1vdmVJbWFnZShpbmRleDogYW55KSB7XG4gICAgdGhpcy5wcmVNZWRpYS5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG4gIHVwbG9hZEZpbGVzKCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wcmVNZWRpYS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCF0aGlzLnByZU1lZGlhW2ldLmlzVXBsb2FkZWQpIHtcbiAgICAgICAgdGhpcy51cGxvYWQoaSwgdGhpcy5wcmVNZWRpYVtpXS5maWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdXBsb2FkKGlkeDogYW55LCBmaWxlOiBhbnkpIHtcbiAgICB0aGlzLnByb2dyZXNzSW5mb3NbaWR4XSA9IHsgdmFsdWU6IDAsIGZpbGVOYW1lOiBmaWxlLm5hbWUgfTtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgIHRoaXMucHJlTWVkaWFbaWR4XS5pc1VwbG9hZGluZyA9IHRydWU7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdncm91cElkJywgdGhpcy5kYXRhLmdyb3VwSWQpO1xuXG4gICAgdGhpcy5tZWRpYVNlcnZpY2UudXBsb2FkQW5kU2F2ZShmb3JtRGF0YSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1lZGlhLnB1c2gocmVzLmRhdGEpO1xuICAgICAgICB0aGlzLnByZU1lZGlhW2lkeF0uaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wcmVNZWRpYVtpZHhdLmlzVXBsb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnByb2dyZXNzSW5mb3NbaWR4XS52YWx1ZSA9IDEwMDtcblxuICAgICAgICBjb25zdCB0bXAgPSB0aGlzLnByb2dyZXNzSW5mb3MuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0udmFsdWUgIT09IDEwMCk7XG4gICAgICAgIGlmICh0bXAubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgICB0aGlzLmlzRmluaXNoZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NJbmZvc1tpZHhdLnZhbHVlID0gMDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJib3JkZXItZGFzaGVkIGJvcmRlci0yIGJvcmRlci1bLS1ydC1ib3JkZXItY29sb3JdIHB5LTEyIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XG4gICAgPGlucHV0ICNmaWxlSW5wdXQgbXVsdGlwbGUgY2xhc3M9XCJoaWRkZW5cIiB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwic2VsZWN0RmlsZXMoJGV2ZW50KVwiIC8+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPuS4iuS8oOWbvueJhzwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm10LTRcIj5cbiAgICA8aDIgY2xhc3M9XCJcIj7pooTop4g8L2gyPlxuICAgIDxkaXY+XG4gICAgICA8dWwgaWQ9XCJnYWxsZXJ5XCIgY2xhc3M9XCJmbGV4IGZsZXgtMSBmbGV4LXdyYXAgLW0tMVwiPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHByZU1lZGlhOyB0cmFjayBpdGVtLnVybDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICA8bGkgY2xhc3M9XCJibG9jayBwLTEgdy0xLzIgc206dy0xLzMgbWQ6dy0xLzQgbGc6dy0xLzYgeGw6dy0xLzggaC0yNFwiPlxuICAgICAgICAgICAgPGFydGljbGVcbiAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5pc1VwbG9hZGluZyA/ICdpc1VwbG9hZGluZycgOiAnJ1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZ3JvdXAgaGFzSW1hZ2Ugdy1mdWxsIGgtZnVsbCByb3VuZGVkLW1kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZSBiZy1bLS1ydC1yYWlzZWQtYmFja2dyb3VuZF0gY3Vyc29yLXBvaW50ZXIgcmVsYXRpdmUgdGV4dC10cmFuc3BhcmVudCBob3Zlcjp0ZXh0LXdoaXRlIHNoYWRvdy1zbVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJpdGVtLnVybFwiIGNsYXNzPVwiaW1nLXByZXZpZXcgdy1mdWxsIGgtZnVsbCBzdGlja3kgb2JqZWN0LWNvdmVyIHJvdW5kZWQtbWQgYmctZml4ZWRcIiBhbHQgLz5cbiAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJmbGV4IGZsZXgtY29sIHJvdW5kZWQtbWQgdGV4dC14cyBicmVhay13b3JkcyB3LWZ1bGwgaC1mdWxsIHotMjAgYWJzb2x1dGUgdG9wLTAgcHktMiBweC0zXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmlzVXBsb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgdy1mdWxsIGgtZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJ3aGl0ZVwiIGRpYW1ldGVyPVwiMjhcIj48L21hdC1zcGlubmVyPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUltYWdlKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRlbGV0ZSBtbC1hdXRvIGZvY3VzOm91dGxpbmUtbm9uZSBob3ZlcjpiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIHAtMSByb3VuZGVkLW1kXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG9pbnRlci1ldmVudHMtbm9uZSBmaWxsLWN1cnJlbnQgdy00IGgtNCBtbC1hdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMgNmwzIDE4aDEybDMtMThoLTE4em0xOS00djJoLTIwdi0yaDUuNzExYy45IDAgMS42MzEtMS4wOTkgMS42MzEtMmg1LjMxNmMwIC45MDEuNzMgMiAxLjYzMSAyaDUuNzExelwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICAgQGlmIChwcmVNZWRpYS5sZW5ndGggPD0gMCkge1xuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGZsZXgtd3JhcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaC1mdWxsIHctZnVsbCB0ZXh0LWNlbnRlciBmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBweS02XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtYWxsIHRleHQtWy0tcnQtdGV4dC1zZWNvbmRhcnldXCI+Tm8gZmlsZXMgc2VsZWN0ZWQ8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZT7lj5bmtog8L2J1dHRvbj5cbiAgQGlmIChwcmVNZWRpYS5sZW5ndGggPD0gMCkge1xuICAgIDxidXR0b24gbWF0LWJ1dHRvbj7nrYnlvoXpgInmi6k8L2J1dHRvbj5cbiAgfVxuICBAaWYgKCFpc0ZpbmlzaGVkICYmIHByZU1lZGlhLmxlbmd0aCA+IDApIHtcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInVwbG9hZEZpbGVzKClcIj7nq4vliLvkuIrkvKA8L2J1dHRvbj5cbiAgfVxuICBAaWYgKGlzRmluaXNoZWQpIHtcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwibWVkaWFcIj7lrozmiJA8L2J1dHRvbj5cbiAgfVxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MenuIconComponent {
|
|
5
|
-
hasClass = true;
|
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MenuIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: MenuIconComponent, isStandalone: true, selector: "rolatech-menu-icon", host: { properties: { "class.rolatech-icon-button": "this.hasClass" } }, ngImport: i0, template: "<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <div style=\"width: 100%; height: 100%; display: block; fill: currentcolor\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M21 6H3V5h18v1zm0 5H3v1h18v-1zm0 6H3v1h18v-1z\"></path>\n </svg>\n </div>\n</button>\n", styles: ["rolatech-menu-icon{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None });
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MenuIconComponent, decorators: [{
|
|
10
|
-
type: Component,
|
|
11
|
-
args: [{ selector: 'rolatech-menu-icon', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <div style=\"width: 100%; height: 100%; display: block; fill: currentcolor\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M21 6H3V5h18v1zm0 5H3v1h18v-1zm0 6H3v1h18v-1z\"></path>\n </svg>\n </div>\n</button>\n", styles: ["rolatech-menu-icon{display:block}\n"] }]
|
|
12
|
-
}], propDecorators: { hasClass: [{
|
|
13
|
-
type: HostBinding,
|
|
14
|
-
args: ['class.rolatech-icon-button']
|
|
15
|
-
}] } });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvbWVudS1pY29uL21lbnUtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL21lbnUtaWNvbi9tZW51LWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVUvQyxNQUFNLE9BQU8saUJBQWlCO0lBQ2UsUUFBUSxHQUFHLElBQUksQ0FBQzt1R0FEaEQsaUJBQWlCOzJGQUFqQixpQkFBaUIsdUpDWDlCLHltQkFrQkEsNEZEWlksWUFBWTs7MkZBS1gsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTs4QkFHTSxRQUFRO3NCQUFsRCxXQUFXO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1tZW51LWljb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tZW51LWljb24uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51SWNvbkNvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mucm9sYXRlY2gtaWNvbi1idXR0b24nKSBoYXNDbGFzcyA9IHRydWU7XG59XG4iLCI8YnV0dG9uXG4gIGlkPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJ3LTEwIGgtMTAgcC0yIGlubGluZS1ibG9jayByZWxhdGl2ZSBjdXJzb3ItcG9pbnRlciBob3ZlcjpiZy1bLS1ydC0xMC1wZXJjZW50LWxheWVyXSByb3VuZGVkLWZ1bGwgcm9sYXRlY2gtaWNvbi1idXR0b25cIlxuICBvbmNsaWNrPVwidGhpcy5ibHVyKClcIlxuPlxuICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGZpbGw6IGN1cnJlbnRjb2xvclwiPlxuICAgIDxzdmdcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICB3aWR0aD1cIjI0XCJcbiAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgIHN0eWxlPVwicG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGluaGVyaXQ7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCVcIlxuICAgID5cbiAgICAgIDxwYXRoIGQ9XCJNMjEgNkgzVjVoMTh2MXptMCA1SDN2MWgxOHYtMXptMCA2SDN2MWgxOHYtMXpcIj48L3BhdGg+XG4gICAgPC9zdmc+XG4gIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Component, ViewEncapsulation, computed, inject, input } from '@angular/core';
|
|
2
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
3
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
4
|
-
import { APP_CONFIG } from '@rolatech/angular-common';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/material/menu";
|
|
7
|
-
import * as i2 from "@angular/material/icon";
|
|
8
|
-
export class MenuUserComponent {
|
|
9
|
-
environment = inject(APP_CONFIG);
|
|
10
|
-
myaccountUrl = this.environment.myaccountUrl;
|
|
11
|
-
user = input();
|
|
12
|
-
avatar = computed(() => {
|
|
13
|
-
return this.user().avatar;
|
|
14
|
-
});
|
|
15
|
-
constructor() {
|
|
16
|
-
// effect(() => {
|
|
17
|
-
// this.data = this.user();
|
|
18
|
-
// });
|
|
19
|
-
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MenuUserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: MenuUserComponent, isStandalone: true, selector: "rolatech-menu-user", inputs: { user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"min-w-[256px]\">\n @if (user()) {\n <div class=\"px-6 py-3\">\n <div class=\"flex flex-row items-center\">\n <div class=\"mr-3 w-14 h-14 rounded-full bg-[--rt-brand-color]\">\n @if (user().avatar) {\n <img [src]=\"user().avatar\" class=\"w-14 h-14 object-cover rounded-full\" alt />\n }\n </div>\n <div class=\"flex flex-col\">\n <div>\n <div class=\"text-lg font-bold\">{{ user().name }}</div>\n <div class=\"formated-string\">\n <span>@{{ user().username }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"flex justify-between items-center\">\n <a mat-menu-item [href]=\"myaccountUrl\" target=\"_blank\" class=\"px-6\">\n <span class=\"flex justify-between items-center\">\n <span class=\"pl-2\"> \u7528\u6237\u4E2D\u5FC3 </span>\n <span class=\"flex\"> <mat-icon>open_in_new</mat-icon></span>\n </span>\n </a>\n </div>\n</div>\n", styles: ["rolatech-menu-user{background-color:var(--rt-menu-background, #fff);color:var(--rt-text-primary, #000)}.formated-string{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MenuUserComponent, decorators: [{
|
|
24
|
-
type: Component,
|
|
25
|
-
args: [{ standalone: true, imports: [MatMenuModule, MatIconModule], selector: 'rolatech-menu-user', encapsulation: ViewEncapsulation.None, template: "<div class=\"min-w-[256px]\">\n @if (user()) {\n <div class=\"px-6 py-3\">\n <div class=\"flex flex-row items-center\">\n <div class=\"mr-3 w-14 h-14 rounded-full bg-[--rt-brand-color]\">\n @if (user().avatar) {\n <img [src]=\"user().avatar\" class=\"w-14 h-14 object-cover rounded-full\" alt />\n }\n </div>\n <div class=\"flex flex-col\">\n <div>\n <div class=\"text-lg font-bold\">{{ user().name }}</div>\n <div class=\"formated-string\">\n <span>@{{ user().username }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"flex justify-between items-center\">\n <a mat-menu-item [href]=\"myaccountUrl\" target=\"_blank\" class=\"px-6\">\n <span class=\"flex justify-between items-center\">\n <span class=\"pl-2\"> \u7528\u6237\u4E2D\u5FC3 </span>\n <span class=\"flex\"> <mat-icon>open_in_new</mat-icon></span>\n </span>\n </a>\n </div>\n</div>\n", styles: ["rolatech-menu-user{background-color:var(--rt-menu-background, #fff);color:var(--rt-text-primary, #000)}.formated-string{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}\n"] }]
|
|
26
|
-
}], ctorParameters: () => [] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS11c2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvbWVudS11c2VyL21lbnUtdXNlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL21lbnUtdXNlci9tZW51LXVzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQWV0RCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO0lBQzdDLElBQUksR0FBRyxLQUFLLEVBQWtCLENBQUM7SUFDL0IsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0g7UUFDRSxpQkFBaUI7UUFDakIsNkJBQTZCO1FBQzdCLE1BQU07SUFDUixDQUFDO3VHQVhVLGlCQUFpQjsyRkFBakIsaUJBQWlCLCtNQ2xCOUIsc2hDQThCQSxzVERsQlksYUFBYSxrTEFBRSxhQUFhOzsyRkFNM0IsaUJBQWlCO2tCQVI3QixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsWUFDN0Isb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgQVBQX0NPTkZJRyB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5leHBvcnQgaW50ZXJmYWNlIE1lbnVVc2VyIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhdmF0YXI6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbn1cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0TWVudU1vZHVsZSwgTWF0SWNvbk1vZHVsZV0sXG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtbWVudS11c2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtdXNlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUtdXNlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51VXNlckNvbXBvbmVudCB7XG4gIGVudmlyb25tZW50ID0gaW5qZWN0KEFQUF9DT05GSUcpO1xuICBteWFjY291bnRVcmwgPSB0aGlzLmVudmlyb25tZW50Lm15YWNjb3VudFVybDtcbiAgdXNlciA9IGlucHV0PE1lbnVVc2VyIHwgYW55PigpO1xuICBhdmF0YXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMudXNlcigpLmF2YXRhcjtcbiAgfSk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIGVmZmVjdCgoKSA9PiB7XG4gICAgLy8gICB0aGlzLmRhdGEgPSB0aGlzLnVzZXIoKTtcbiAgICAvLyB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1pbi13LVsyNTZweF1cIj5cbiAgQGlmICh1c2VyKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwicHgtNiBweS0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yLTMgdy0xNCBoLTE0IHJvdW5kZWQtZnVsbCBiZy1bLS1ydC1icmFuZC1jb2xvcl1cIj5cbiAgICAgICAgICBAaWYgKHVzZXIoKS5hdmF0YXIpIHtcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJ1c2VyKCkuYXZhdGFyXCIgY2xhc3M9XCJ3LTE0IGgtMTQgb2JqZWN0LWNvdmVyIHJvdW5kZWQtZnVsbFwiIGFsdCAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxnIGZvbnQtYm9sZFwiPnt7IHVzZXIoKS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWF0ZWQtc3RyaW5nXCI+XG4gICAgICAgICAgICAgIDxzcGFuPiYjNjQ7e3sgdXNlcigpLnVzZXJuYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgPGEgbWF0LW1lbnUtaXRlbSBbaHJlZl09XCJteWFjY291bnRVcmxcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cInB4LTZcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicGwtMlwiPiDnlKjmiLfkuK3lv4MgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXhcIj4gPG1hdC1pY29uPm9wZW5faW5fbmV3PC9tYXQtaWNvbj48L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, PLATFORM_ID, Renderer2, ViewEncapsulation, inject, input } from '@angular/core';
|
|
2
|
-
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
|
3
|
-
import { IconButtonComponent } from '../icon-button/icon-button.component';
|
|
4
|
-
import { IconComponent } from '../icon/icon.component';
|
|
5
|
-
import { RouterLink, RouterLinkActive } from '@angular/router';
|
|
6
|
-
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class MiniGuideComponent {
|
|
9
|
-
el = inject(ElementRef);
|
|
10
|
-
renderer = inject(Renderer2);
|
|
11
|
-
platformId = inject(PLATFORM_ID);
|
|
12
|
-
breakpointObserver = inject(BreakpointObserver);
|
|
13
|
-
items = input();
|
|
14
|
-
title = input(true);
|
|
15
|
-
opened = false;
|
|
16
|
-
disableToggle = false;
|
|
17
|
-
breakpoint$ = this.breakpointObserver.observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)']);
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
20
|
-
this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');
|
|
21
|
-
this.breakpoint$.subscribe(() => this.breakpointChanged());
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
breakpointChanged() {
|
|
25
|
-
if (this.breakpointObserver.isMatched(Breakpoints.Large)) {
|
|
26
|
-
this.disableToggle = false;
|
|
27
|
-
// this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');
|
|
28
|
-
// this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');
|
|
29
|
-
}
|
|
30
|
-
else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {
|
|
31
|
-
// this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');
|
|
32
|
-
// this.renderer.removeAttribute(this.el.nativeElement, 'hidden');
|
|
33
|
-
}
|
|
34
|
-
else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {
|
|
35
|
-
this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');
|
|
36
|
-
this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');
|
|
37
|
-
this.disableToggle = true;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.disableToggle = false;
|
|
41
|
-
// this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');
|
|
42
|
-
// this.renderer.removeAttribute(this.el.nativeElement, 'hidden');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
open() {
|
|
46
|
-
this.opened = true;
|
|
47
|
-
this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');
|
|
48
|
-
this.renderer.removeAttribute(this.el.nativeElement, 'hidden');
|
|
49
|
-
}
|
|
50
|
-
close() {
|
|
51
|
-
this.opened = false;
|
|
52
|
-
this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');
|
|
53
|
-
this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');
|
|
54
|
-
}
|
|
55
|
-
toggle() {
|
|
56
|
-
if (this.disableToggle) {
|
|
57
|
-
this.close();
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (this.opened) {
|
|
61
|
-
this.close();
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.open();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MiniGuideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: MiniGuideComponent, isStandalone: true, selector: "rolatech-mini-guide", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "id": "rolatech-mini-guide" }, classAttribute: "rolatech-mini-guide" }, ngImport: i0, template: "<div id=\"items\" class=\"w-16 mt-[6px]\" style=\"transition-duration: 200ms\">\n @for (item of items(); track $index) {\n <div>\n <a\n id=\"min-guide-endpoint\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"min-guide-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #routerLink=\"routerLinkActive\"\n class=\"flex flex-col justify-center items-center py-3 rt-guide-entry\"\n >\n <rolatech-icon [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n @if (title()) {\n <span class=\"text-xs mt-1 max-w-full truncate\">{{ item.title }}</span>\n }\n </a>\n </div>\n }\n</div>\n", styles: ["rolatech-mini-guide{position:fixed;left:0;top:var(--rt-toolbar-height, 56px);bottom:0;width:var(--rt-mini-guide-width, 72px);box-sizing:border-box;display:inline-block;background-color:var(--rt-base-background, #fff);color:var(--rt-text-primary, #000);z-index:2028;padding:0 4px;scrollbar-width:none;overflow:scroll}.min-guide-active{background-color:#0000000d;border-radius:8px;font-weight:500}#min-guide-endpoint.rt-guide-entry:hover{background-color:var(--rt-drawer-active-background-color);border-radius:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "rolatech-icon", inputs: ["filled"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
69
|
-
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MiniGuideComponent, decorators: [{
|
|
71
|
-
type: Component,
|
|
72
|
-
args: [{ selector: 'rolatech-mini-guide', standalone: true, imports: [CommonModule, IconButtonComponent, IconComponent, RouterLink, RouterLinkActive], encapsulation: ViewEncapsulation.None, host: {
|
|
73
|
-
id: 'rolatech-mini-guide',
|
|
74
|
-
class: 'rolatech-mini-guide',
|
|
75
|
-
}, template: "<div id=\"items\" class=\"w-16 mt-[6px]\" style=\"transition-duration: 200ms\">\n @for (item of items(); track $index) {\n <div>\n <a\n id=\"min-guide-endpoint\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"min-guide-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #routerLink=\"routerLinkActive\"\n class=\"flex flex-col justify-center items-center py-3 rt-guide-entry\"\n >\n <rolatech-icon [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n @if (title()) {\n <span class=\"text-xs mt-1 max-w-full truncate\">{{ item.title }}</span>\n }\n </a>\n </div>\n }\n</div>\n", styles: ["rolatech-mini-guide{position:fixed;left:0;top:var(--rt-toolbar-height, 56px);bottom:0;width:var(--rt-mini-guide-width, 72px);box-sizing:border-box;display:inline-block;background-color:var(--rt-base-background, #fff);color:var(--rt-text-primary, #000);z-index:2028;padding:0 4px;scrollbar-width:none;overflow:scroll}.min-guide-active{background-color:#0000000d;border-radius:8px;font-weight:500}#min-guide-endpoint.rt-guide-entry:hover{background-color:var(--rt-drawer-active-background-color);border-radius:10px}\n"] }]
|
|
76
|
-
}] });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1ndWlkZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL21pbmktZ3VpZGUvbWluaS1ndWlkZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL21pbmktZ3VpZGUvbWluaS1ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQW9CdEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoRCxLQUFLLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUM3QixN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SFksWUFBWSwrQkFBdUIsYUFBYSw4RUFBRSxVQUFVLG9PQUFFLGdCQUFnQjs7MkZBUzdFLGtCQUFrQjtrQkFaOUIsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsaUJBRzFFLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osRUFBRSxFQUFFLHFCQUFxQjt3QkFDekIsS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgUExBVEZPUk1fSUQsIFJlbmRlcmVyMiwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxuZXhwb3J0IGludGVyZmFjZSBNaW5pR3VpZGUge1xuICB0aXRsZTogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGxpbms6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtbWluaS1ndWlkZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25CdXR0b25Db21wb25lbnQsIEljb25Db21wb25lbnQsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWluaS1ndWlkZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9taW5pLWd1aWRlLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGlkOiAncm9sYXRlY2gtbWluaS1ndWlkZScsXG4gICAgY2xhc3M6ICdyb2xhdGVjaC1taW5pLWd1aWRlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTWluaUd1aWRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBicmVha3BvaW50T2JzZXJ2ZXIgPSBpbmplY3QoQnJlYWtwb2ludE9ic2VydmVyKTtcbiAgaXRlbXMgPSBpbnB1dDxNaW5pR3VpZGVbXT4oKTtcbiAgdGl0bGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgb3BlbmVkID0gZmFsc2U7XG4gIGRpc2FibGVUb2dnbGUgPSBmYWxzZTtcbiAgcmVhZG9ubHkgYnJlYWtwb2ludCQgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtCcmVha3BvaW50cy5MYXJnZSwgQnJlYWtwb2ludHMuTWVkaXVtLCAnKG1heC13aWR0aDogNzY4cHgpJ10pO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nLCAnJyk7XG4gICAgICB0aGlzLmJyZWFrcG9pbnQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmJyZWFrcG9pbnRDaGFuZ2VkKCkpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGJyZWFrcG9pbnRDaGFuZ2VkKCkge1xuICAgIGlmICh0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuTGFyZ2UpKSB7XG4gICAgICB0aGlzLmRpc2FibGVUb2dnbGUgPSBmYWxzZTtcbiAgICAgIC8vIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ21pbmktZ3VpZGUtdmlzaWJsZScpO1xuICAgICAgLy8gdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaGlkZGVuJywgJycpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKEJyZWFrcG9pbnRzLk1lZGl1bSkpIHtcbiAgICAgIC8vIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ21pbmktZ3VpZGUtdmlzaWJsZScsICcnKTtcbiAgICAgIC8vIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hpZGRlbicpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5icmVha3BvaW50T2JzZXJ2ZXIuaXNNYXRjaGVkKCcobWF4LXdpZHRoOiA3NjhweCknKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnbWluaS1ndWlkZS12aXNpYmxlJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nLCAnJyk7XG4gICAgICB0aGlzLmRpc2FibGVUb2dnbGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc2FibGVUb2dnbGUgPSBmYWxzZTtcbiAgICAgIC8vIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ21pbmktZ3VpZGUtdmlzaWJsZScsICcnKTtcbiAgICAgIC8vIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hpZGRlbicpO1xuICAgIH1cbiAgfVxuICBvcGVuKCkge1xuICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdtaW5pLWd1aWRlLXZpc2libGUnLCAnJyk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaGlkZGVuJyk7XG4gIH1cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdtaW5pLWd1aWRlLXZpc2libGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nLCAnJyk7XG4gIH1cbiAgdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVUb2dnbGUpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBpZD1cIml0ZW1zXCIgY2xhc3M9XCJ3LTE2IG10LVs2cHhdXCIgc3R5bGU9XCJ0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtc1wiPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgIDxkaXY+XG4gICAgICA8YVxuICAgICAgICBpZD1cIm1pbi1ndWlkZS1lbmRwb2ludFwiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXG4gICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJtaW4tZ3VpZGUtYWN0aXZlXCJcbiAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IHRydWUgfVwiXG4gICAgICAgICNyb3V0ZXJMaW5rPVwicm91dGVyTGlua0FjdGl2ZVwiXG4gICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgcHktMyBydC1ndWlkZS1lbnRyeVwiXG4gICAgICA+XG4gICAgICAgIDxyb2xhdGVjaC1pY29uIFtmaWxsZWRdPVwicm91dGVyTGluay5pc0FjdGl2ZVwiPnt7IGl0ZW0uaWNvbiB9fTwvcm9sYXRlY2gtaWNvbj5cbiAgICAgICAgQGlmICh0aXRsZSgpKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhzIG10LTEgbWF4LXctZnVsbCB0cnVuY2F0ZVwiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Router, RouterEvent, NavigationEnd } from '@angular/router';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { filter } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
export class NotFoundComponent {
|
|
7
|
-
router;
|
|
8
|
-
url;
|
|
9
|
-
constructor(router) {
|
|
10
|
-
this.router = router;
|
|
11
|
-
router.events.pipe(filter((e) => e instanceof RouterEvent)).subscribe((e) => {
|
|
12
|
-
if (e instanceof NavigationEnd) {
|
|
13
|
-
this.url = e.url;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.router.events.pipe(filter((e) => e instanceof RouterEvent)).subscribe((e) => {
|
|
19
|
-
if (e instanceof NavigationEnd) {
|
|
20
|
-
this.url = e.url;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: NotFoundComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: NotFoundComponent, isStandalone: true, selector: "rolatech-not-found", ngImport: i0, template: "<div class=\"not-found-content\">\n <p>\n <b>404.</b>\n <ins>That\u2019s an error.</ins>\n </p>\n <p>\n The requested URL <code>{{ url }}</code> not found on this server.\n </p>\n <a href=\"/\">return home</a>\n</div>\n", styles: [":host{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}.not-found-content{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}\n"] });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: NotFoundComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'rolatech-not-found', standalone: true, template: "<div class=\"not-found-content\">\n <p>\n <b>404.</b>\n <ins>That\u2019s an error.</ins>\n </p>\n <p>\n The requested URL <code>{{ url }}</code> not found on this server.\n </p>\n <a href=\"/\">return home</a>\n</div>\n", styles: [":host{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}.not-found-content{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}\n"] }]
|
|
30
|
-
}], ctorParameters: () => [{ type: i1.Router }] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWZvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFROUIsTUFBTSxPQUFPLGlCQUFpQjtJQUVSO0lBRHBCLEdBQUcsQ0FBVTtJQUNiLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakYsSUFBSSxDQUFDLFlBQVksYUFBYSxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxZQUFZLGFBQWEsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FoQlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsOEVDVjlCLDJPQVVBOzsyRkRBYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIsIFJvdXRlckV2ZW50LCBOYXZpZ2F0aW9uRW5kLCBFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLW5vdC1mb3VuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub3QtZm91bmQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTm90Rm91bmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB1cmwhOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICByb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChlOiBFdmVudCkgPT4gZSBpbnN0YW5jZW9mIFJvdXRlckV2ZW50KSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgdGhpcy51cmwgPSBlLnVybDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcigoZTogRXZlbnQpID0+IGUgaW5zdGFuY2VvZiBSb3V0ZXJFdmVudCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMudXJsID0gZS51cmw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJub3QtZm91bmQtY29udGVudFwiPlxuICA8cD5cbiAgICA8Yj40MDQuPC9iPlxuICAgIDxpbnM+VGhhdOKAmXMgYW4gZXJyb3IuPC9pbnM+XG4gIDwvcD5cbiAgPHA+XG4gICAgVGhlIHJlcXVlc3RlZCBVUkwgPGNvZGU+e3sgdXJsIH19PC9jb2RlPiBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuXG4gIDwvcD5cbiAgPGEgaHJlZj1cIi9cIj5yZXR1cm4gaG9tZTwvYT5cbjwvZGl2PlxuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation, } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AppPageComponent {
|
|
5
|
-
el = inject((ElementRef));
|
|
6
|
-
constructor() { }
|
|
7
|
-
ngOnInit() { }
|
|
8
|
-
ngAfterContentInit() { }
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: AppPageComponent, isStandalone: true, selector: "rolatech-page", host: { attributes: { "id": "rolatech-page", "ngSkipHydration": "" }, classAttribute: "rolatech-page rt-page" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["rolatech-page[transparent]{opacity:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppPageComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'rolatech-page', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
15
|
-
id: 'rolatech-page',
|
|
16
|
-
class: 'rolatech-page rt-page',
|
|
17
|
-
ngSkipHydration: '',
|
|
18
|
-
}, template: "<ng-content></ng-content>\n", styles: ["rolatech-page[transparent]{opacity:0}\n"] }]
|
|
19
|
-
}], ctorParameters: () => [] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL3BhZ2UvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL3BhZ2UvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUdOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZS9DLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0lBQ3JDLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFDbkIsa0JBQWtCLEtBQUksQ0FBQzt1R0FMWixnQkFBZ0I7MkZBQWhCLGdCQUFnQiwwTEN6QjdCLDZCQUNBLGdHRGFZLFlBQVk7OzJGQVdYLGdCQUFnQjtrQkFkNUIsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLGlCQUdSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osRUFBRSxFQUFFLGVBQWU7d0JBQ25CLEtBQUssRUFBRSx1QkFBdUI7d0JBQzlCLGVBQWUsRUFBRSxFQUFFO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgTmdab25lLFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhZ2UuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGlkOiAncm9sYXRlY2gtcGFnZScsXG4gICAgY2xhc3M6ICdyb2xhdGVjaC1wYWdlIHJ0LXBhZ2UnLFxuICAgIG5nU2tpcEh5ZHJhdGlvbjogJycsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICBlbCA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHt9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/material/button";
|
|
7
|
-
import * as i2 from "@angular/material/icon";
|
|
8
|
-
export class PaginatorComponent {
|
|
9
|
-
prevClick() { }
|
|
10
|
-
nextClick() { }
|
|
11
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: PaginatorComponent, isStandalone: true, selector: "rolatech-paginator", ngImport: i0, template: "<div class=\"flex h-14 items-center\">\n <button mat-icon-button (click)=\"prevClick()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div></div>\n <button mat-icon-button (click)=\"nextClick()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
15
|
-
type: Component,
|
|
16
|
-
args: [{ selector: 'rolatech-paginator', standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"flex h-14 items-center\">\n <button mat-icon-button (click)=\"prevClick()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div></div>\n <button mat-icon-button (click)=\"nextClick()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n</div>\n" }]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVV2RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFNBQVMsS0FBSSxDQUFDO0lBQ2QsU0FBUyxLQUFJLENBQUM7dUdBRkgsa0JBQWtCOzJGQUFsQixrQkFBa0IsOEVDYi9CLGtSQVNBLHlERERZLFlBQVksOEJBQUUsZUFBZSwySUFBRSxhQUFhOzsyRkFLM0Msa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxpQkFHeEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wYWdpbmF0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvckNvbXBvbmVudCB7XG4gIHByZXZDbGljaygpIHt9XG4gIG5leHRDbGljaygpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBoLTE0IGl0ZW1zLWNlbnRlclwiPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicHJldkNsaWNrKClcIj5cbiAgICA8bWF0LWljb24+Y2hldnJvbl9sZWZ0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxkaXY+PC9kaXY+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJuZXh0Q2xpY2soKVwiPlxuICAgIDxtYXQtaWNvbj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
export const PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';
|
|
3
|
-
export const panelAnimations = {
|
|
4
|
-
/** Animation that rotates the indicator arrow. */
|
|
5
|
-
indicator: trigger('indicator', [
|
|
6
|
-
state('collapsed, void', style({ transform: 'rotate(0deg)' })),
|
|
7
|
-
state('expanded', style({ transform: 'rotate(180deg)' })),
|
|
8
|
-
transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),
|
|
9
|
-
]),
|
|
10
|
-
/** Animation that expands and collapses the panel content. */
|
|
11
|
-
content: trigger('content', [
|
|
12
|
-
state('collapsed, void', style({ height: '0px', visibility: 'hidden' })),
|
|
13
|
-
state('expanded', style({ height: '*', visibility: 'visible' })),
|
|
14
|
-
transition('expanded <=> collapsed, void => collapsed', animate(PANEL_ANIMATION_TIMING)),
|
|
15
|
-
]),
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvcGFuZWwtYW5pbWF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUE0QixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxtQ0FBbUMsQ0FBQztBQUMxRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBR3hCO0lBQ0Ysa0RBQWtEO0lBQ2xELFNBQVMsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFO1FBQzlCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUM5RCxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDekQsVUFBVSxDQUFDLDJDQUEyQyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBQ3pGLENBQUM7SUFDRiw4REFBOEQ7SUFDOUQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDMUIsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLFVBQVUsQ0FBQywyQ0FBMkMsRUFBRSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN6RixDQUFDO0NBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBQQU5FTF9BTklNQVRJT05fVElNSU5HID0gJzIyNW1zIGN1YmljLWJlemllcigwLjQsMC4wLDAuMiwxKSc7XG5leHBvcnQgY29uc3QgcGFuZWxBbmltYXRpb25zOiB7XG4gIHJlYWRvbmx5IGluZGljYXRvcjogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhO1xuICByZWFkb25seSBjb250ZW50OiBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGE7XG59ID0ge1xuICAvKiogQW5pbWF0aW9uIHRoYXQgcm90YXRlcyB0aGUgaW5kaWNhdG9yIGFycm93LiAqL1xuICBpbmRpY2F0b3I6IHRyaWdnZXIoJ2luZGljYXRvcicsIFtcbiAgICBzdGF0ZSgnY29sbGFwc2VkLCB2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknIH0pKSxcbiAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgxODBkZWcpJyB9KSksXG4gICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCwgdm9pZCA9PiBjb2xsYXBzZWQnLCBhbmltYXRlKFBBTkVMX0FOSU1BVElPTl9USU1JTkcpKSxcbiAgXSksXG4gIC8qKiBBbmltYXRpb24gdGhhdCBleHBhbmRzIGFuZCBjb2xsYXBzZXMgdGhlIHBhbmVsIGNvbnRlbnQuICovXG4gIGNvbnRlbnQ6IHRyaWdnZXIoJ2NvbnRlbnQnLCBbXG4gICAgc3RhdGUoJ2NvbGxhcHNlZCwgdm9pZCcsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4JywgdmlzaWJpbGl0eTogJ2hpZGRlbicgfSkpLFxuICAgIHN0YXRlKCdleHBhbmRlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIHZpc2liaWxpdHk6ICd2aXNpYmxlJyB9KSksXG4gICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCwgdm9pZCA9PiBjb2xsYXBzZWQnLCBhbmltYXRlKFBBTkVMX0FOSU1BVElPTl9USU1JTkcpKSxcbiAgXSksXG59O1xuIl19
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class PanelHeaderComponent {
|
|
5
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PanelHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: PanelHeaderComponent, isStandalone: true, selector: "rolatech-panel-header", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None });
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PanelHeaderComponent, decorators: [{
|
|
9
|
-
type: Component,
|
|
10
|
-
args: [{ selector: 'rolatech-panel-header', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n" }]
|
|
11
|
-
}] });
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvcGFuZWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvcGFuZWwvcGFuZWwtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVUvQyxNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQixpRkNYakMsNkJBQ0EseURES1ksWUFBWTs7MkZBS1gsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLXBhbmVsLWhlYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFuZWwtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhbmVsLWhlYWRlci5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFBhbmVsSGVhZGVyQ29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, HostBinding, ViewEncapsulation, booleanAttribute, effect, inject, input, model, } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { IconComponent } from '../icon/icon.component';
|
|
4
|
-
import { panelAnimations } from './panel-animations';
|
|
5
|
-
import { PanelHeaderComponent } from './panel-header.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class PanelComponent {
|
|
8
|
-
hasClass = true;
|
|
9
|
-
border = input(false, { transform: booleanAttribute });
|
|
10
|
-
divider = input(false, { transform: booleanAttribute });
|
|
11
|
-
expanded = model(false);
|
|
12
|
-
title = input();
|
|
13
|
-
subtitle = input();
|
|
14
|
-
el = inject(ElementRef);
|
|
15
|
-
constructor() {
|
|
16
|
-
effect(() => {
|
|
17
|
-
if (this.expanded()) {
|
|
18
|
-
this.el.nativeElement.setAttribute('expanded', '');
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
this.el.nativeElement.removeAttribute('expanded');
|
|
22
|
-
}
|
|
23
|
-
if (this.border()) {
|
|
24
|
-
this.el.nativeElement.setAttribute('border', '');
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
this.el.nativeElement.removeAttribute('border');
|
|
28
|
-
}
|
|
29
|
-
if (this.divider()) {
|
|
30
|
-
this.el.nativeElement.setAttribute('divider', '');
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.el.nativeElement.removeAttribute('divider');
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
ngOnInit() { }
|
|
38
|
-
ngAfterViewInit() { }
|
|
39
|
-
toggle() {
|
|
40
|
-
this.expanded.set(!this.expanded());
|
|
41
|
-
}
|
|
42
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.8", type: PanelComponent, isStandalone: true, selector: "rolatech-panel", inputs: { border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, divider: { classPropertyName: "divider", publicName: "divider", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { properties: { "class.rolatech-panel": "this.hasClass" } }, ngImport: i0, template: "<div id=\"header\" class=\"header rolatech-panel w-full h-11\" (click)=\"toggle(); $event.stopPropagation()\">\n <ng-content select=\"rolatech-panel-header\"></ng-content>\n <div>{{ title() }}</div>\n <rolatech-icon [@indicator]=\"expanded() === true ? 'expanded' : 'collapsed'\">expand_more</rolatech-icon>\n</div>\n<div class=\"content-container rolatech-panel\" [@content]=\"expanded() === true ? 'expanded' : 'collapsed'\">\n <div class=\"content-inner rolatech-panel\">\n <ng-content>No content</ng-content>\n </div>\n</div>\n", styles: ["rolatech-panel{box-sizing:content-box;display:block;overflow:hidden;background:var(--rt-base-background);color:var(--rt-text-primary);--rt-panel-padding: 12px}rolatech-panel:not([border]){margin-bottom:var(--rt-panel-padding)}rolatech-panel .header{padding:var(--rt-panel-padding);display:flex;justify-content:space-between;align-items:center;height:44px;background-color:var(--rt-10-percent-layer);cursor:pointer}rolatech-panel .header:hover{background-color:var(--rt-20-percent-layer)}rolatech-panel .content-container{overflow:visible}rolatech-panel .content-container .content-inner{padding:var(--rt-panel-padding)}rolatech-panel[border]{border-top:1px solid #d1d7dc;border-left:1px solid #d1d7dc;border-right:1px solid #d1d7dc}rolatech-panel[border]:last-child{border-bottom:1px solid #d1d7dc}rolatech-panel[divider]{border-bottom:1px solid #d1d7dc}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "rolatech-icon", inputs: ["filled"] }], animations: [panelAnimations.indicator, panelAnimations.content], encapsulation: i0.ViewEncapsulation.None });
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PanelComponent, decorators: [{
|
|
46
|
-
type: Component,
|
|
47
|
-
args: [{ selector: 'rolatech-panel', standalone: true, imports: [CommonModule, IconComponent, PanelHeaderComponent], encapsulation: ViewEncapsulation.None, animations: [panelAnimations.indicator, panelAnimations.content], template: "<div id=\"header\" class=\"header rolatech-panel w-full h-11\" (click)=\"toggle(); $event.stopPropagation()\">\n <ng-content select=\"rolatech-panel-header\"></ng-content>\n <div>{{ title() }}</div>\n <rolatech-icon [@indicator]=\"expanded() === true ? 'expanded' : 'collapsed'\">expand_more</rolatech-icon>\n</div>\n<div class=\"content-container rolatech-panel\" [@content]=\"expanded() === true ? 'expanded' : 'collapsed'\">\n <div class=\"content-inner rolatech-panel\">\n <ng-content>No content</ng-content>\n </div>\n</div>\n", styles: ["rolatech-panel{box-sizing:content-box;display:block;overflow:hidden;background:var(--rt-base-background);color:var(--rt-text-primary);--rt-panel-padding: 12px}rolatech-panel:not([border]){margin-bottom:var(--rt-panel-padding)}rolatech-panel .header{padding:var(--rt-panel-padding);display:flex;justify-content:space-between;align-items:center;height:44px;background-color:var(--rt-10-percent-layer);cursor:pointer}rolatech-panel .header:hover{background-color:var(--rt-20-percent-layer)}rolatech-panel .content-container{overflow:visible}rolatech-panel .content-container .content-inner{padding:var(--rt-panel-padding)}rolatech-panel[border]{border-top:1px solid #d1d7dc;border-left:1px solid #d1d7dc;border-right:1px solid #d1d7dc}rolatech-panel[border]:last-child{border-bottom:1px solid #d1d7dc}rolatech-panel[divider]{border-bottom:1px solid #d1d7dc}\n"] }]
|
|
48
|
-
}], ctorParameters: () => [], propDecorators: { hasClass: [{
|
|
49
|
-
type: HostBinding,
|
|
50
|
-
args: ['class.rolatech-panel']
|
|
51
|
-
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9wYW5lbC9wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL3BhbmVsL3BhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFFWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFXaEUsTUFBTSxPQUFPLGNBQWM7SUFDWSxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3JELE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUN2RCxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDeEQsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixLQUFLLEdBQUcsS0FBSyxFQUFPLENBQUM7SUFDckIsUUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO0lBQ25CLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEM7UUFDRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEQsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUSxLQUFVLENBQUM7SUFDbkIsZUFBZSxLQUFVLENBQUM7SUFDMUIsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQzt1R0EvQlUsY0FBYzsyRkFBZCxjQUFjLHF6QkMzQjNCLDZoQkFVQSxpNUJEV1ksWUFBWSwrQkFBRSxhQUFhLGdFQUl6QixDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQzs7MkZBRXJELGNBQWM7a0JBVDFCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxpQkFHN0MsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQzt3REFHM0IsUUFBUTtzQkFBNUMsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBwYW5lbEFuaW1hdGlvbnMgfSBmcm9tICcuL3BhbmVsLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgUGFuZWxIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3BhbmVsLWhlYWRlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1wYW5lbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Db21wb25lbnQsIFBhbmVsSGVhZGVyQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhbmVsLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW3BhbmVsQW5pbWF0aW9ucy5pbmRpY2F0b3IsIHBhbmVsQW5pbWF0aW9ucy5jb250ZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvbGF0ZWNoLXBhbmVsJykgaGFzQ2xhc3MgPSB0cnVlO1xuICBib3JkZXIgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gIGRpdmlkZXIgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gIGV4cGFuZGVkID0gbW9kZWwoZmFsc2UpO1xuICB0aXRsZSA9IGlucHV0PGFueT4oKTtcbiAgc3VidGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5leHBhbmRlZCgpKSB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2V4cGFuZGVkJywgJycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZXhwYW5kZWQnKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmJvcmRlcigpKSB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2JvcmRlcicsICcnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2JvcmRlcicpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZGl2aWRlcigpKSB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RpdmlkZXInLCAnJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkaXZpZGVyJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7fVxuICB0b2dnbGUoKSB7XG4gICAgdGhpcy5leHBhbmRlZC5zZXQoIXRoaXMuZXhwYW5kZWQoKSk7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJoZWFkZXJcIiBjbGFzcz1cImhlYWRlciByb2xhdGVjaC1wYW5lbCB3LWZ1bGwgaC0xMVwiIChjbGljayk9XCJ0b2dnbGUoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInJvbGF0ZWNoLXBhbmVsLWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgPGRpdj57eyB0aXRsZSgpIH19PC9kaXY+XG4gIDxyb2xhdGVjaC1pY29uIFtAaW5kaWNhdG9yXT1cImV4cGFuZGVkKCkgPT09IHRydWUgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIj5leHBhbmRfbW9yZTwvcm9sYXRlY2gtaWNvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyIHJvbGF0ZWNoLXBhbmVsXCIgW0Bjb250ZW50XT1cImV4cGFuZGVkKCkgPT09IHRydWUgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRlbnQtaW5uZXIgcm9sYXRlY2gtcGFuZWxcIj5cbiAgICA8bmctY29udGVudD5ObyBjb250ZW50PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|