c3-components 0.2.3 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_index.scss +1 -0
- package/esm2022/lib/c3-file-displayer/c3-file-display-card/c3-file-display-card.component.mjs +2 -2
- package/esm2022/lib/c3-flowing-menu/c3-flowing-menu.module.mjs +32 -0
- package/esm2022/lib/c3-flowing-menu/components/c3-flowing-menu/c3-flowing-menu.component.mjs +41 -0
- package/esm2022/lib/c3-flowing-menu/components/c3-flowing-menu-item/c3-flowing-menu-item.component.mjs +20 -0
- package/esm2022/lib/c3-flowing-menu/components/c3-flowing-menu-item-content/c3-flowing-menu-item-content.component.mjs +11 -0
- package/esm2022/public-api.mjs +8 -1
- package/fesm2022/c3-components.mjs +93 -3
- package/fesm2022/c3-components.mjs.map +1 -1
- package/lib/c3-flowing-menu/c3-flowing-menu.module.d.ts +10 -0
- package/lib/c3-flowing-menu/components/c3-flowing-menu/c3-flowing-menu.component.d.ts +12 -0
- package/lib/c3-flowing-menu/components/c3-flowing-menu-item/c3-flowing-menu-item.component.d.ts +9 -0
- package/lib/c3-flowing-menu/components/c3-flowing-menu-item-content/c3-flowing-menu-item-content.component.d.ts +5 -0
- package/lib/c3-flowing-menu/styles/_c3-flowing-menu.scss +86 -0
- package/lib/c3-styles/_c3-core.scss +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +7 -0
package/_index.scss
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
@forward "./lib/c3-dropdown/styles/c3-dropdown" show c3-material-dropdown;
|
|
2
2
|
@forward "./lib/c3-expansion/styles/c3-expansion" show c3-expansion;
|
|
3
|
+
@forward "./lib/c3-flowing-menu/styles/c3-flowing-menu" show c3-flowing-menu;
|
|
3
4
|
@forward "./lib/c3-styles/c3-core" show c3-core;
|
package/esm2022/lib/c3-file-displayer/c3-file-display-card/c3-file-display-card.component.mjs
CHANGED
|
@@ -32,7 +32,7 @@ export class C3FileDisplayCardComponent {
|
|
|
32
32
|
}
|
|
33
33
|
getFileName() {
|
|
34
34
|
const file = this.fileObjectUrl();
|
|
35
|
-
return file ? file
|
|
35
|
+
return file ? this.displayFn()(file) : '';
|
|
36
36
|
}
|
|
37
37
|
getDisplayName() {
|
|
38
38
|
const file = this.fileObjectUrl();
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
|
45
45
|
type: Component,
|
|
46
46
|
args: [{ selector: 'c3-file-display-card', standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule], template: "<button\n class=\"file-card border\"\n [class.size-16]=\"size() === '16'\"\n [class.size-32]=\"size() === '32'\"\n [class.size-64]=\"size() === '64'\"\n [class.size-128]=\"size() === '128'\"\n [class.size-256]=\"size() === '256'\"\n>\n @if(deletable()) {\n <div class=\"actions\">\n <button mat-icon-button color=\"red\" (click)=\"onDelete.emit()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n } @if(fileObjectUrl()) {\n @switch (getFileType()) { @case ('image') {\n <img\n class=\"h-full w-full object-cover\"\n [src]=\"(getFileObjectUrl() | async) || '/default-image.svg'\"\n [alt]=\"getFileName()\"\n />\n } @case ('application') {\n <mat-icon> file-pdf-box </mat-icon>\n } @case ('video') {\n <mat-icon> video </mat-icon>\n }\n }\n\n <div class=\"informations flex justify-between items-center\">\n <span class=\"text-xs text-white\">\n {{ getDisplayName() }}\n </span>\n </div>\n }\n</button>\n", styles: [":host{display:block}:host .file-card{position:relative;border-radius:4px;border:1px solid #e0e0e0;overflow:auto}:host .file-card .actions{position:absolute;top:-21px;right:-21px;z-index:1;display:none}:host .file-card img{border-radius:4px}:host .file-card:hover .actions{display:block}:host .file-card .informations{position:absolute;bottom:0;left:0;z-index:1;width:100%;background:#00000080;padding:0 4px}\n"] }]
|
|
47
47
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZmlsZS1kaXNwbGF5LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYzMtY29tcG9uZW50cy9zcmMvbGliL2MzLWZpbGUtZGlzcGxheWVyL2MzLWZpbGUtZGlzcGxheS1jYXJkL2MzLWZpbGUtZGlzcGxheS1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1maWxlLWRpc3BsYXllci9jMy1maWxlLWRpc3BsYXktY2FyZC9jMy1maWxlLWRpc3BsYXktY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU3ZELE1BQU0sT0FBTywwQkFBMEI7SUFQdkM7UUFRa0Isa0JBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUszQyxDQUFDO1FBQ1ksY0FBUyxHQUFHLEtBQUssQ0FDL0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3BCLENBQUM7UUFFYyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxLQUFLLENBQXFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELGFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQztLQTBCckM7SUF4QkMsV0FBVztRQUNULE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQUUsT0FBTyxPQUFPLENBQUM7WUFDbEQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7Z0JBQUUsT0FBTyxhQUFhLENBQUM7WUFDOUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQUUsT0FBTyxPQUFPLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUMsQ0FBQzs4R0F0Q1UsMEJBQTBCO2tHQUExQiwwQkFBMEIsMm9CQ2R2QyxtZ0NBbUNBLGtkRHpCWSxZQUFZLG1GQUFFLGVBQWUsMklBQUUsYUFBYTs7MkZBSTNDLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbGVNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2MzLWZpbGUtdmlld2VyL21vZGVscy9maWxlLW1ldGFkYXRhJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MzLWZpbGUtZGlzcGxheS1jYXJkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2MzLWZpbGUtZGlzcGxheS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2MzLWZpbGUtZGlzcGxheS1jYXJkLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQzNGaWxlRGlzcGxheUNhcmRDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZU9iamVjdFVybCA9IGlucHV0LnJlcXVpcmVkPFxuICAgIHwgKEZpbGVNZXRhZGF0YSAmIHtcbiAgICAgICAgb2JqZWN0VXJsPzogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgICAgfSlcbiAgICB8IG51bGxcbiAgPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheUZuID0gaW5wdXQ8KGZpbGU6IEZpbGVNZXRhZGF0YSkgPT4gc3RyaW5nPihcbiAgICAoZmlsZSkgPT4gZmlsZS5uYW1lXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlbGV0YWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHNpemUgPSBpbnB1dDwnMTYnIHwgJzMyJyB8ICc2NCcgfCAnMTI4JyB8ICcyNTYnPignMzInKTtcbiAgcHVibGljIHJlYWRvbmx5IG9uRGVsZXRlID0gb3V0cHV0KCk7XG5cbiAgZ2V0RmlsZVR5cGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaWxlID0gdGhpcy5maWxlT2JqZWN0VXJsKCk7XG4gICAgaWYgKGZpbGUgJiYgZmlsZS50eXBlKSB7XG4gICAgICBpZiAoZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlJykpIHJldHVybiAnaW1hZ2UnO1xuICAgICAgaWYgKGZpbGUudHlwZS5zdGFydHNXaXRoKCdhcHBsaWNhdGlvbicpKSByZXR1cm4gJ2FwcGxpY2F0aW9uJztcbiAgICAgIGlmIChmaWxlLnR5cGUuc3RhcnRzV2l0aCgndmlkZW8nKSkgcmV0dXJuICd2aWRlbyc7XG4gICAgfVxuICAgIHJldHVybiAndW5rbm93bic7XG4gIH1cblxuICBnZXRGaWxlT2JqZWN0VXJsKCk6IE9ic2VydmFibGU8c3RyaW5nPiB8IG51bGwge1xuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbGVPYmplY3RVcmwoKTtcbiAgICByZXR1cm4gZmlsZSAmJiBmaWxlLm9iamVjdFVybCA/IGZpbGUub2JqZWN0VXJsIDogbnVsbDtcbiAgfVxuXG4gIGdldEZpbGVOYW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZmlsZSA9IHRoaXMuZmlsZU9iamVjdFVybCgpO1xuICAgIHJldHVybiBmaWxlID8gdGhpcy5kaXNwbGF5Rm4oKShmaWxlKSA6ICcnO1xuICB9XG5cbiAgZ2V0RGlzcGxheU5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaWxlID0gdGhpcy5maWxlT2JqZWN0VXJsKCk7XG4gICAgcmV0dXJuIGZpbGUgPyB0aGlzLmRpc3BsYXlGbigpKGZpbGUpIDogJyc7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgY2xhc3M9XCJmaWxlLWNhcmQgYm9yZGVyXCJcbiAgW2NsYXNzLnNpemUtMTZdPVwic2l6ZSgpID09PSAnMTYnXCJcbiAgW2NsYXNzLnNpemUtMzJdPVwic2l6ZSgpID09PSAnMzInXCJcbiAgW2NsYXNzLnNpemUtNjRdPVwic2l6ZSgpID09PSAnNjQnXCJcbiAgW2NsYXNzLnNpemUtMTI4XT1cInNpemUoKSA9PT0gJzEyOCdcIlxuICBbY2xhc3Muc2l6ZS0yNTZdPVwic2l6ZSgpID09PSAnMjU2J1wiXG4+XG4gIEBpZihkZWxldGFibGUoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInJlZFwiIChjbGljayk9XCJvbkRlbGV0ZS5lbWl0KClcIj5cbiAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgfSBAaWYoZmlsZU9iamVjdFVybCgpKSB7XG4gICAgQHN3aXRjaCAoZ2V0RmlsZVR5cGUoKSkgeyBAY2FzZSAoJ2ltYWdlJykge1xuICAgICAgPGltZ1xuICAgICAgICBjbGFzcz1cImgtZnVsbCB3LWZ1bGwgb2JqZWN0LWNvdmVyXCJcbiAgICAgICAgW3NyY109XCIoZ2V0RmlsZU9iamVjdFVybCgpIHwgYXN5bmMpIHx8ICcvZGVmYXVsdC1pbWFnZS5zdmcnXCJcbiAgICAgICAgW2FsdF09XCJnZXRGaWxlTmFtZSgpXCJcbiAgICAgIC8+XG4gICAgICB9IEBjYXNlICgnYXBwbGljYXRpb24nKSB7XG4gICAgICA8bWF0LWljb24+IGZpbGUtcGRmLWJveCA8L21hdC1pY29uPlxuICAgICAgfSBAY2FzZSAoJ3ZpZGVvJykge1xuICAgICAgPG1hdC1pY29uPiB2aWRlbyA8L21hdC1pY29uPlxuICAgICAgfVxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJpbmZvcm1hdGlvbnMgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQteHMgdGV4dC13aGl0ZVwiPlxuICAgICAgICB7eyBnZXREaXNwbGF5TmFtZSgpIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIH1cbjwvYnV0dG9uPlxuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { C3FlowingMenuComponent } from './components/c3-flowing-menu/c3-flowing-menu.component';
|
|
4
|
+
import { C3FlowingMenuItemComponent } from './components/c3-flowing-menu-item/c3-flowing-menu-item.component';
|
|
5
|
+
import { C3FlowingMenuItemContentComponent } from './components/c3-flowing-menu-item-content/c3-flowing-menu-item-content.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class C3FlowingMenuModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuModule, declarations: [C3FlowingMenuComponent,
|
|
10
|
+
C3FlowingMenuItemComponent,
|
|
11
|
+
C3FlowingMenuItemContentComponent], imports: [CommonModule], exports: [C3FlowingMenuComponent,
|
|
12
|
+
C3FlowingMenuItemComponent,
|
|
13
|
+
C3FlowingMenuItemContentComponent] }); }
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuModule, imports: [CommonModule] }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
declarations: [
|
|
20
|
+
C3FlowingMenuComponent,
|
|
21
|
+
C3FlowingMenuItemComponent,
|
|
22
|
+
C3FlowingMenuItemContentComponent,
|
|
23
|
+
],
|
|
24
|
+
imports: [CommonModule],
|
|
25
|
+
exports: [
|
|
26
|
+
C3FlowingMenuComponent,
|
|
27
|
+
C3FlowingMenuItemComponent,
|
|
28
|
+
C3FlowingMenuItemContentComponent,
|
|
29
|
+
],
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZmxvd2luZy1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1mbG93aW5nLW1lbnUvYzMtZmxvd2luZy1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQzs7QUFlckksTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBWDVCLHNCQUFzQjtZQUN0QiwwQkFBMEI7WUFDMUIsaUNBQWlDLGFBRXpCLFlBQVksYUFFcEIsc0JBQXNCO1lBQ3RCLDBCQUEwQjtZQUMxQixpQ0FBaUM7K0dBR3hCLG1CQUFtQixZQVBwQixZQUFZOzsyRkFPWCxtQkFBbUI7a0JBYi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQixpQ0FBaUM7cUJBQ2xDO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQixpQ0FBaUM7cUJBQ2xDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDM0Zsb3dpbmdNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2MzLWZsb3dpbmctbWVudS9jMy1mbG93aW5nLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEMzRmxvd2luZ01lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2MzLWZsb3dpbmctbWVudS1pdGVtL2MzLWZsb3dpbmctbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDM0Zsb3dpbmdNZW51SXRlbUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYzMtZmxvd2luZy1tZW51LWl0ZW0tY29udGVudC9jMy1mbG93aW5nLW1lbnUtaXRlbS1jb250ZW50LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEMzRmxvd2luZ01lbnVDb21wb25lbnQsXG4gICAgQzNGbG93aW5nTWVudUl0ZW1Db21wb25lbnQsXG4gICAgQzNGbG93aW5nTWVudUl0ZW1Db250ZW50Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIEMzRmxvd2luZ01lbnVDb21wb25lbnQsXG4gICAgQzNGbG93aW5nTWVudUl0ZW1Db21wb25lbnQsXG4gICAgQzNGbG93aW5nTWVudUl0ZW1Db250ZW50Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDM0Zsb3dpbmdNZW51TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Component, contentChildren, effect, signal, viewChild, ViewContainerRef, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { C3FlowingMenuItemComponent } from '../c3-flowing-menu-item/c3-flowing-menu-item.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class C3FlowingMenuComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.c3FlowingMenu = contentChildren(C3FlowingMenuItemComponent);
|
|
8
|
+
this.targetContentRef = viewChild('targetContent', {
|
|
9
|
+
read: ViewContainerRef,
|
|
10
|
+
});
|
|
11
|
+
this.selectedIndex = signal(0);
|
|
12
|
+
effect(() => {
|
|
13
|
+
if (this.targetContentRef()) {
|
|
14
|
+
this.updateView();
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
selectMenu(index) {
|
|
19
|
+
this.selectedIndex.set(index);
|
|
20
|
+
this.updateView();
|
|
21
|
+
}
|
|
22
|
+
updateView() {
|
|
23
|
+
if (!this.targetContentRef())
|
|
24
|
+
return;
|
|
25
|
+
this.targetContentRef().clear();
|
|
26
|
+
const selectedMenu = this.c3FlowingMenu()[this.selectedIndex()];
|
|
27
|
+
if (selectedMenu) {
|
|
28
|
+
this.targetContentRef().createEmbeddedView(selectedMenu.contentTpl());
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: C3FlowingMenuComponent, selector: "c3-flowing-menu", host: { attributes: { "ngSkipHydration": "true" }, classAttribute: "c3-flowing-menu" }, queries: [{ propertyName: "c3FlowingMenu", predicate: C3FlowingMenuItemComponent, isSignal: true }], viewQueries: [{ propertyName: "targetContentRef", first: true, predicate: ["targetContent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<aside class=\"menu\">\n @for(menu of c3FlowingMenu(); track menu; let i = $index) {\n @if(menu.menuTpl()) {\n <button (click)=\"selectMenu(i)\" [class.active]=\"i === selectedIndex()\">\n <ng-container *ngTemplateOutlet=\"menu.menuTpl()!\"></ng-container>\n </button>\n }\n }\n</aside>\n\n<section class=\"contenu\">\n <ng-container #targetContent></ng-container>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'c3-flowing-menu', encapsulation: ViewEncapsulation.None, host: {
|
|
37
|
+
class: 'c3-flowing-menu',
|
|
38
|
+
ngSkipHydration: 'true',
|
|
39
|
+
}, template: "<aside class=\"menu\">\n @for(menu of c3FlowingMenu(); track menu; let i = $index) {\n @if(menu.menuTpl()) {\n <button (click)=\"selectMenu(i)\" [class.active]=\"i === selectedIndex()\">\n <ng-container *ngTemplateOutlet=\"menu.menuTpl()!\"></ng-container>\n </button>\n }\n }\n</aside>\n\n<section class=\"contenu\">\n <ng-container #targetContent></ng-container>\n</section>\n" }]
|
|
40
|
+
}], ctorParameters: () => [] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZmxvd2luZy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1mbG93aW5nLW1lbnUvY29tcG9uZW50cy9jMy1mbG93aW5nLW1lbnUvYzMtZmxvd2luZy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1mbG93aW5nLW1lbnUvY29tcG9uZW50cy9jMy1mbG93aW5nLW1lbnUvYzMtZmxvd2luZy1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0RBQXdELENBQUM7OztBQVdwRyxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDO1FBUGdCLGtCQUFhLEdBQUcsZUFBZSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDM0QscUJBQWdCLEdBQUcsU0FBUyxDQUFDLGVBQWUsRUFBRTtZQUM3RCxJQUFJLEVBQUUsZ0JBQWdCO1NBQ3ZCLENBQUMsQ0FBQztRQUVhLGtCQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR3hDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFBRSxPQUFPO1FBRXJDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUcsQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDOzhHQTdCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiw2S0FDZSwwQkFBMEIsMklBRWxFLGdCQUFnQiw2Q0N2QjFCLHNaQWFBOzsyRkRPYSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUVaLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsZUFBZSxFQUFFLE1BQU07cUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIGVmZmVjdCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEMzRmxvd2luZ01lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYzMtZmxvd2luZy1tZW51LWl0ZW0vYzMtZmxvd2luZy1tZW51LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzMtZmxvd2luZy1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2MzLWZsb3dpbmctbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2MzLWZsb3dpbmctbWVudScsXG4gICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEMzRmxvd2luZ01lbnVDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgYzNGbG93aW5nTWVudSA9IGNvbnRlbnRDaGlsZHJlbihDM0Zsb3dpbmdNZW51SXRlbUNvbXBvbmVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0Q29udGVudFJlZiA9IHZpZXdDaGlsZCgndGFyZ2V0Q29udGVudCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleCA9IHNpZ25hbCgwKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudGFyZ2V0Q29udGVudFJlZigpKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdE1lbnUoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRJbmRleC5zZXQoaW5kZXgpO1xuICAgIHRoaXMudXBkYXRlVmlldygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KCkge1xuICAgIGlmICghdGhpcy50YXJnZXRDb250ZW50UmVmKCkpIHJldHVybjtcblxuICAgIHRoaXMudGFyZ2V0Q29udGVudFJlZigpIS5jbGVhcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkTWVudSA9IHRoaXMuYzNGbG93aW5nTWVudSgpW3RoaXMuc2VsZWN0ZWRJbmRleCgpXTtcbiAgICBpZiAoc2VsZWN0ZWRNZW51KSB7XG4gICAgICB0aGlzLnRhcmdldENvbnRlbnRSZWYoKSEuY3JlYXRlRW1iZWRkZWRWaWV3KHNlbGVjdGVkTWVudS5jb250ZW50VHBsKCkhKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhc2lkZSBjbGFzcz1cIm1lbnVcIj5cbiAgQGZvcihtZW51IG9mIGMzRmxvd2luZ01lbnUoKTsgdHJhY2sgbWVudTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICBAaWYobWVudS5tZW51VHBsKCkpIHtcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cInNlbGVjdE1lbnUoaSlcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IHNlbGVjdGVkSW5kZXgoKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudS5tZW51VHBsKCkhXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIH1cbjwvYXNpZGU+XG5cbjxzZWN0aW9uIGNsYXNzPVwiY29udGVudVwiPlxuICA8bmctY29udGFpbmVyICN0YXJnZXRDb250ZW50PjwvbmctY29udGFpbmVyPlxuPC9zZWN0aW9uPlxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component, signal, TemplateRef, viewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class C3FlowingMenuItemComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.menuTpl = viewChild('menuTpl', {
|
|
6
|
+
read: TemplateRef,
|
|
7
|
+
});
|
|
8
|
+
this.contentTpl = viewChild('contentTpl', {
|
|
9
|
+
read: TemplateRef,
|
|
10
|
+
});
|
|
11
|
+
this.active = signal(false);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.1", type: C3FlowingMenuItemComponent, selector: "c3-flowing-menu-item", viewQueries: [{ propertyName: "menuTpl", first: true, predicate: ["menuTpl"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "contentTpl", first: true, predicate: ["contentTpl"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<ng-template #menuTpl>\n <ng-content select=\"[menu-title]\"></ng-content>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content select=\"c3-flowing-menu-item-content\"></ng-content>\n</ng-template>\n" }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuItemComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: 'c3-flowing-menu-item', template: "<ng-template #menuTpl>\n <ng-content select=\"[menu-title]\"></ng-content>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content select=\"c3-flowing-menu-item-content\"></ng-content>\n</ng-template>\n" }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZmxvd2luZy1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYzMtY29tcG9uZW50cy9zcmMvbGliL2MzLWZsb3dpbmctbWVudS9jb21wb25lbnRzL2MzLWZsb3dpbmctbWVudS1pdGVtL2MzLWZsb3dpbmctbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1mbG93aW5nLW1lbnUvY29tcG9uZW50cy9jMy1mbG93aW5nLW1lbnUtaXRlbS9jMy1mbG93aW5nLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0xRSxNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBS2tCLFlBQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQzdDLElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUMsQ0FBQztRQUNhLGVBQVUsR0FBRyxTQUFTLENBQUMsWUFBWSxFQUFFO1lBQ25ELElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUMsQ0FBQztRQUVhLFdBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDeEM7OEdBVFksMEJBQTBCO2tHQUExQiwwQkFBMEIsMklBRTdCLFdBQVcsbUhBR1gsV0FBVyw2Q0NYckIsK01BTUE7OzJGREFhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjMy1mbG93aW5nLW1lbnUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jMy1mbG93aW5nLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEMzRmxvd2luZ01lbnVJdGVtQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IG1lbnVUcGwgPSB2aWV3Q2hpbGQoJ21lbnVUcGwnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGVudFRwbCA9IHZpZXdDaGlsZCgnY29udGVudFRwbCcsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZSA9IHNpZ25hbChmYWxzZSk7XG59XG4iLCI8bmctdGVtcGxhdGUgI21lbnVUcGw+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIlttZW51LXRpdGxlXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2NvbnRlbnRUcGw+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImMzLWZsb3dpbmctbWVudS1pdGVtLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class C3FlowingMenuItemContentComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: C3FlowingMenuItemContentComponent, selector: "c3-flowing-menu-item-content", ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuItemContentComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'c3-flowing-menu-item-content', template: "<ng-content></ng-content>\n" }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZmxvd2luZy1tZW51LWl0ZW0tY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jMy1jb21wb25lbnRzL3NyYy9saWIvYzMtZmxvd2luZy1tZW51L2NvbXBvbmVudHMvYzMtZmxvd2luZy1tZW51LWl0ZW0tY29udGVudC9jMy1mbG93aW5nLW1lbnUtaXRlbS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1mbG93aW5nLW1lbnUvY29tcG9uZW50cy9jMy1mbG93aW5nLW1lbnUtaXRlbS1jb250ZW50L2MzLWZsb3dpbmctbWVudS1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNMUMsTUFBTSxPQUFPLGlDQUFpQzs4R0FBakMsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsb0VDTjlDLDZCQUNBOzsyRkRLYSxpQ0FBaUM7a0JBSjdDLFNBQVM7K0JBQ0UsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MzLWZsb3dpbmctbWVudS1pdGVtLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYzMtZmxvd2luZy1tZW51LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEMzRmxvd2luZ01lbnVJdGVtQ29udGVudENvbXBvbmVudCB7fVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -62,4 +62,11 @@ export * from './lib/c3-signals/c3-boolean-signal';
|
|
|
62
62
|
* C3 Tree
|
|
63
63
|
*/
|
|
64
64
|
export * from './lib/c3-tree/c3-tree.component';
|
|
65
|
-
|
|
65
|
+
/**
|
|
66
|
+
* C3 flowing menu
|
|
67
|
+
*/
|
|
68
|
+
export * from './lib/c3-flowing-menu/c3-flowing-menu.module';
|
|
69
|
+
export * from './lib/c3-flowing-menu/components/c3-flowing-menu/c3-flowing-menu.component';
|
|
70
|
+
export * from './lib/c3-flowing-menu/components/c3-flowing-menu-item/c3-flowing-menu-item.component';
|
|
71
|
+
export * from './lib/c3-flowing-menu/components/c3-flowing-menu-item-content/c3-flowing-menu-item-content.component';
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsc0NBQXNDLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsa0NBQWtDLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxjQUFjLGdGQUFnRixDQUFDO0FBQy9GLGNBQWMsOEZBQThGLENBQUM7QUFDN0csY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRDs7R0FFRztBQUNILGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLDZFQUE2RSxDQUFDO0FBQzVGLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYyw2RUFBNkUsQ0FBQztBQUU1Rjs7R0FFRztBQUNILGNBQWMsMENBQTBDLENBQUM7QUFFekQ7O0dBRUc7QUFDSCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxpRkFBaUYsQ0FBQztBQUVoRzs7R0FFRztBQUNILGNBQWMsaURBQWlELENBQUM7QUFFaEU7O0dBRUc7QUFDSCxjQUFjLHVEQUF1RCxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRDs7R0FFRztBQUNILGNBQWMsaUNBQWlDLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNEVBQTRFLENBQUM7QUFDM0YsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyxjQUFjLHNHQUFzRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjMy1jb21wb25lbnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmlsZS12aWV3ZXIvbW9kZWxzL2h0dHAuY2xpZW50JztcblxuLyoqXG4gKiBEcm9wZG93blxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1kcm9wZG93bi9jb21wb25lbnRzL2MzLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1kcm9wZG93bi9kaXJlY3RpdmVzL2MzLWRyb3Bkb3duLnRyaWdnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZHJvcGRvd24vYzMtZHJvcGRvd24ubW9kdWxlJztcblxuLyoqXG4gKiBEaWFsb2dcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZGlhbG9nL2NvbXBvbmVudHMvYzMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2MzLWRpYWxvZy9jb21wb25lbnRzL2MzLWRpYWxvZy1wcm9tcHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2MzLWRpYWxvZy9jb21wb25lbnRzL2MzLWRpYWxvZy1lbWJlZC1jaGlsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZGlhbG9nL3NlcnZpY2VzL2MzLWRpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2MzLWRpYWxvZy9jMy1kaWFsb2cubW9kdWxlJztcblxuLyoqXG4gKiBGaWxlIFZpZXdlclxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1maWxlLXZpZXdlci9jb21wb25lbnRzL3B1YmxpYy9jMy1maWxlLXZpZXdlci9jMy1maWxlLXZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmlsZS12aWV3ZXIvY29tcG9uZW50cy9wdWJsaWMvYzMtZmlsZS12aWV3ZXItZGlhbG9nL2MzLWZpbGUtdmlld2VyLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmlsZS12aWV3ZXIvY29tcG9uZW50cy9wdWJsaWMvYzMtZmlsZS12aWV3ZXItZGlhbG9nL2MzLWZpbGUtdmlld2VyLWRpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1maWxlLXZpZXdlci9kaXJlY3RpdmVzL2Z1bGwtc2NyZWVuLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1maWxlLXZpZXdlci9tb2RlbHMvY3VzdG9tLWZpbGUtZXZlbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmlsZS12aWV3ZXIvbW9kZWxzL2ZpbGUtdmlld2VyLWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1maWxlLXZpZXdlci9tb2RlbHMvZmlsZS12aWV3ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmlsZS12aWV3ZXIvbW9kZWxzL2ZpbGUtbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmlsZS12aWV3ZXIvYzMtZmlsZS12aWV3ZXIubW9kdWxlJztcblxuLyoqXG4gKiBGaWxlIERpc3BsYXllclxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1maWxlLWRpc3BsYXllci9jMy1maWxlLWRpc3BsYXllci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmlsZS1kaXNwbGF5ZXIvYzMtZmlsZS1kaXNwbGF5LWxpc3QvYzMtZmlsZS1kaXNwbGF5LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2MzLWZpbGUtZGlzcGxheWVyL2MzLWZpbGUtZGlzcGxheS1pY29uL2MzLWZpbGUtZGlzcGxheS1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1maWxlLWRpc3BsYXllci9jMy1maWxlLWRpc3BsYXktZ3JpZC9jMy1maWxlLWRpc3BsYXktZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmlsZS1kaXNwbGF5ZXIvYzMtZmlsZS1kaXNwbGF5LWNhcmQvYzMtZmlsZS1kaXNwbGF5LWNhcmQuY29tcG9uZW50JztcblxuLyoqXG4gKiBTYWZlIFVybFxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy1zYWZlLXVybC9waXBlcy9jMy1zYWZlLXVybC5waXBlJztcblxuLyoqXG4gKiBFeHBhbnNpb25cbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZXhwYW5zaW9uL2MzLWV4cGFuc2lvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZXhwYW5zaW9uL2NvbXBvbmVudHMvYzMtZXhwYW5zaW9uL2MzLWV4cGFuc2lvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZXhwYW5zaW9uL2NvbXBvbmVudHMvYzMtZXhwYW5zaW9uLWhlYWRlci9jMy1leHBhbnNpb24taGVhZGVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQXV0byBBbmltYXRlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2MzLWF1dG8tYW5pbWF0ZS9jMy1hdXRvLWFuaW1hdGUuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBTZWxlY3Qgb24gRm9jdXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtc2VsZWN0LW9uLWZvY3VzL2MzLXNlbGVjdC1vbi1mb2N1cy5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFRvZ2dsZSBTaWduYWxcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtc2lnbmFscy9jMy1ib29sZWFuLXNpZ25hbCc7XG5cbi8qKlxuICogQzMgVHJlZVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jMy10cmVlL2MzLXRyZWUuY29tcG9uZW50JztcblxuLyoqXG4gKiBDMyBmbG93aW5nIG1lbnVcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmxvd2luZy1tZW51L2MzLWZsb3dpbmctbWVudS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmxvd2luZy1tZW51L2NvbXBvbmVudHMvYzMtZmxvd2luZy1tZW51L2MzLWZsb3dpbmctbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYzMtZmxvd2luZy1tZW51L2NvbXBvbmVudHMvYzMtZmxvd2luZy1tZW51LWl0ZW0vYzMtZmxvd2luZy1tZW51LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2MzLWZsb3dpbmctbWVudS9jb21wb25lbnRzL2MzLWZsb3dpbmctbWVudS1pdGVtLWNvbnRlbnQvYzMtZmxvd2luZy1tZW51LWl0ZW0tY29udGVudC5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { TemplateRef, Component, ViewChild, Input, forwardRef, Directive, HostListener, NgModule, Inject, signal, ViewContainerRef, inject, Injector, effect, Injectable, Pipe, EventEmitter, Output, ViewEncapsulation, Optional, input, output, viewChild, computed, HostBinding, model } from '@angular/core';
|
|
2
|
+
import { TemplateRef, Component, ViewChild, Input, forwardRef, Directive, HostListener, NgModule, Inject, signal, ViewContainerRef, inject, Injector, effect, Injectable, Pipe, EventEmitter, Output, ViewEncapsulation, Optional, input, output, viewChild, computed, HostBinding, model, contentChildren } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2$1 from '@angular/forms';
|
|
@@ -1224,7 +1224,7 @@ class C3FileDisplayCardComponent {
|
|
|
1224
1224
|
}
|
|
1225
1225
|
getFileName() {
|
|
1226
1226
|
const file = this.fileObjectUrl();
|
|
1227
|
-
return file ? file
|
|
1227
|
+
return file ? this.displayFn()(file) : '';
|
|
1228
1228
|
}
|
|
1229
1229
|
getDisplayName() {
|
|
1230
1230
|
const file = this.fileObjectUrl();
|
|
@@ -1584,6 +1584,96 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
|
1584
1584
|
], template: "@if(isLoading()) {\r\n<div class=\"c3-tree-loader\">\r\n <mat-spinner diameter=\"50\"></mat-spinner>\r\n</div>\r\n}\r\n\r\n<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding class=\"children\">\r\n <button mat-ripple (click)=\"treeDataSelected.emit(node)\">\r\n {{ node.name }}\r\n </button>\r\n </mat-tree-node>\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n class=\"has-children\"\r\n >\r\n <button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\r\n </mat-icon>\r\n </button>\r\n <div class=\"mat-tree-node-content\">\r\n <ng-content>\r\n <span>{{ node.name }}</span>\r\n </ng-content>\r\n </div>\r\n </mat-tree-node>\r\n</mat-tree>\r\n", styles: [":host{display:block;width:100%;position:relative;min-height:100%;padding:4px 0}.c3-tree-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}mat-tree{width:100%;height:100%;background-color:transparent;border:1px solid var(--mat-divider-color);border-radius:4px;overflow:auto}mat-tree mat-tree-node{display:flex;align-items:center;justify-content:start;gap:1rem}mat-tree mat-tree-node.has-children>button{height:32px;width:32px;border-radius:50%;display:flex;justify-content:center;align-items:center;border:1px solid transparent;margin:.5rem}mat-tree mat-tree-node.has-children>button:hover{border-color:var(--mat-divider-color)}mat-tree mat-tree-node.has-children:hover{background-color:var(--background-hover)}mat-tree mat-tree-node.has-children .mat-tree-node-content{padding-right:.25rem;display:flex;justify-content:space-between;align-items:center;width:100%}mat-tree mat-tree-node.children button{width:100%;border-radius:.25rem;padding:0 1rem;height:2rem;text-align:left}mat-tree mat-tree-node.children button:hover{background-color:var(--background-hover)}mat-tree mat-tree-node:hover{background-color:var(--background-hover)}\n"] }]
|
|
1585
1585
|
}], ctorParameters: () => [] });
|
|
1586
1586
|
|
|
1587
|
+
class C3FlowingMenuItemComponent {
|
|
1588
|
+
constructor() {
|
|
1589
|
+
this.menuTpl = viewChild('menuTpl', {
|
|
1590
|
+
read: TemplateRef,
|
|
1591
|
+
});
|
|
1592
|
+
this.contentTpl = viewChild('contentTpl', {
|
|
1593
|
+
read: TemplateRef,
|
|
1594
|
+
});
|
|
1595
|
+
this.active = signal(false);
|
|
1596
|
+
}
|
|
1597
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1598
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.1", type: C3FlowingMenuItemComponent, selector: "c3-flowing-menu-item", viewQueries: [{ propertyName: "menuTpl", first: true, predicate: ["menuTpl"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "contentTpl", first: true, predicate: ["contentTpl"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<ng-template #menuTpl>\n <ng-content select=\"[menu-title]\"></ng-content>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content select=\"c3-flowing-menu-item-content\"></ng-content>\n</ng-template>\n" }); }
|
|
1599
|
+
}
|
|
1600
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuItemComponent, decorators: [{
|
|
1601
|
+
type: Component,
|
|
1602
|
+
args: [{ selector: 'c3-flowing-menu-item', template: "<ng-template #menuTpl>\n <ng-content select=\"[menu-title]\"></ng-content>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content select=\"c3-flowing-menu-item-content\"></ng-content>\n</ng-template>\n" }]
|
|
1603
|
+
}] });
|
|
1604
|
+
|
|
1605
|
+
class C3FlowingMenuComponent {
|
|
1606
|
+
constructor() {
|
|
1607
|
+
this.c3FlowingMenu = contentChildren(C3FlowingMenuItemComponent);
|
|
1608
|
+
this.targetContentRef = viewChild('targetContent', {
|
|
1609
|
+
read: ViewContainerRef,
|
|
1610
|
+
});
|
|
1611
|
+
this.selectedIndex = signal(0);
|
|
1612
|
+
effect(() => {
|
|
1613
|
+
if (this.targetContentRef()) {
|
|
1614
|
+
this.updateView();
|
|
1615
|
+
}
|
|
1616
|
+
});
|
|
1617
|
+
}
|
|
1618
|
+
selectMenu(index) {
|
|
1619
|
+
this.selectedIndex.set(index);
|
|
1620
|
+
this.updateView();
|
|
1621
|
+
}
|
|
1622
|
+
updateView() {
|
|
1623
|
+
if (!this.targetContentRef())
|
|
1624
|
+
return;
|
|
1625
|
+
this.targetContentRef().clear();
|
|
1626
|
+
const selectedMenu = this.c3FlowingMenu()[this.selectedIndex()];
|
|
1627
|
+
if (selectedMenu) {
|
|
1628
|
+
this.targetContentRef().createEmbeddedView(selectedMenu.contentTpl());
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1632
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: C3FlowingMenuComponent, selector: "c3-flowing-menu", host: { attributes: { "ngSkipHydration": "true" }, classAttribute: "c3-flowing-menu" }, queries: [{ propertyName: "c3FlowingMenu", predicate: C3FlowingMenuItemComponent, isSignal: true }], viewQueries: [{ propertyName: "targetContentRef", first: true, predicate: ["targetContent"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<aside class=\"menu\">\n @for(menu of c3FlowingMenu(); track menu; let i = $index) {\n @if(menu.menuTpl()) {\n <button (click)=\"selectMenu(i)\" [class.active]=\"i === selectedIndex()\">\n <ng-container *ngTemplateOutlet=\"menu.menuTpl()!\"></ng-container>\n </button>\n }\n }\n</aside>\n\n<section class=\"contenu\">\n <ng-container #targetContent></ng-container>\n</section>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1633
|
+
}
|
|
1634
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuComponent, decorators: [{
|
|
1635
|
+
type: Component,
|
|
1636
|
+
args: [{ selector: 'c3-flowing-menu', encapsulation: ViewEncapsulation.None, host: {
|
|
1637
|
+
class: 'c3-flowing-menu',
|
|
1638
|
+
ngSkipHydration: 'true',
|
|
1639
|
+
}, template: "<aside class=\"menu\">\n @for(menu of c3FlowingMenu(); track menu; let i = $index) {\n @if(menu.menuTpl()) {\n <button (click)=\"selectMenu(i)\" [class.active]=\"i === selectedIndex()\">\n <ng-container *ngTemplateOutlet=\"menu.menuTpl()!\"></ng-container>\n </button>\n }\n }\n</aside>\n\n<section class=\"contenu\">\n <ng-container #targetContent></ng-container>\n</section>\n" }]
|
|
1640
|
+
}], ctorParameters: () => [] });
|
|
1641
|
+
|
|
1642
|
+
class C3FlowingMenuItemContentComponent {
|
|
1643
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1644
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: C3FlowingMenuItemContentComponent, selector: "c3-flowing-menu-item-content", ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
1645
|
+
}
|
|
1646
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuItemContentComponent, decorators: [{
|
|
1647
|
+
type: Component,
|
|
1648
|
+
args: [{ selector: 'c3-flowing-menu-item-content', template: "<ng-content></ng-content>\n" }]
|
|
1649
|
+
}] });
|
|
1650
|
+
|
|
1651
|
+
class C3FlowingMenuModule {
|
|
1652
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1653
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuModule, declarations: [C3FlowingMenuComponent,
|
|
1654
|
+
C3FlowingMenuItemComponent,
|
|
1655
|
+
C3FlowingMenuItemContentComponent], imports: [CommonModule], exports: [C3FlowingMenuComponent,
|
|
1656
|
+
C3FlowingMenuItemComponent,
|
|
1657
|
+
C3FlowingMenuItemContentComponent] }); }
|
|
1658
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuModule, imports: [CommonModule] }); }
|
|
1659
|
+
}
|
|
1660
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: C3FlowingMenuModule, decorators: [{
|
|
1661
|
+
type: NgModule,
|
|
1662
|
+
args: [{
|
|
1663
|
+
declarations: [
|
|
1664
|
+
C3FlowingMenuComponent,
|
|
1665
|
+
C3FlowingMenuItemComponent,
|
|
1666
|
+
C3FlowingMenuItemContentComponent,
|
|
1667
|
+
],
|
|
1668
|
+
imports: [CommonModule],
|
|
1669
|
+
exports: [
|
|
1670
|
+
C3FlowingMenuComponent,
|
|
1671
|
+
C3FlowingMenuItemComponent,
|
|
1672
|
+
C3FlowingMenuItemContentComponent,
|
|
1673
|
+
],
|
|
1674
|
+
}]
|
|
1675
|
+
}] });
|
|
1676
|
+
|
|
1587
1677
|
/*
|
|
1588
1678
|
* Public API Surface of c3-components
|
|
1589
1679
|
*/
|
|
@@ -1592,5 +1682,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
|
|
|
1592
1682
|
* Generated bundle index. Do not edit.
|
|
1593
1683
|
*/
|
|
1594
1684
|
|
|
1595
|
-
export { C3AutoAnimateDirective, C3DialogEmbedChildComponent, C3DialogModule, C3DialogService, C3DropdownComponent, C3DropdownModule, C3DropdownTrigger, C3ExpansionComponent, C3ExpansionHeaderComponent, C3ExpansionModule, C3FileDisplayCardComponent, C3FileDisplayGridComponent, C3FileDisplayIconComponent, C3FileDisplayListComponent, C3FileDisplayerModule, C3FileViewer, C3FileViewerComponent, C3FileViewerDialog, C3FileViewerDialogComponent, C3FileViewerModule, C3PromptDialogComponent, C3SafeUrlPipe, C3SelectOnFocusDirective, C3TreeComponent, ConfirmDialogComponent, CustomFileEvent, FullScreenDirective, MAT_DROPDOWN_VALUE_ACCESSOR, booleanSignal };
|
|
1685
|
+
export { C3AutoAnimateDirective, C3DialogEmbedChildComponent, C3DialogModule, C3DialogService, C3DropdownComponent, C3DropdownModule, C3DropdownTrigger, C3ExpansionComponent, C3ExpansionHeaderComponent, C3ExpansionModule, C3FileDisplayCardComponent, C3FileDisplayGridComponent, C3FileDisplayIconComponent, C3FileDisplayListComponent, C3FileDisplayerModule, C3FileViewer, C3FileViewerComponent, C3FileViewerDialog, C3FileViewerDialogComponent, C3FileViewerModule, C3FlowingMenuComponent, C3FlowingMenuItemComponent, C3FlowingMenuItemContentComponent, C3FlowingMenuModule, C3PromptDialogComponent, C3SafeUrlPipe, C3SelectOnFocusDirective, C3TreeComponent, ConfirmDialogComponent, CustomFileEvent, FullScreenDirective, MAT_DROPDOWN_VALUE_ACCESSOR, booleanSignal };
|
|
1596
1686
|
//# sourceMappingURL=c3-components.mjs.map
|