@cuby-ui/core 0.0.398 → 0.0.399
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/components/file-icon/file-icon.component.d.ts +3 -2
- package/esm2022/components/file-icon/file-icon.component.mjs +5 -4
- package/esm2022/components/file-icon/file-icon.options.mjs +2 -1
- package/esm2022/editor/components/editor-attaches-tool/editor-attaches-tool.component.mjs +2 -2
- package/esm2022/widgets/framer-preview/framer-preview.component.mjs +77 -0
- package/esm2022/widgets/framer-preview/framer-preview.options.mjs +2 -0
- package/esm2022/widgets/framer-preview/index.mjs +2 -0
- package/esm2022/widgets/index.mjs +2 -1
- package/fesm2022/cuby-ui-core.mjs +78 -5
- package/fesm2022/cuby-ui-core.mjs.map +1 -1
- package/package.json +4 -4
- package/widgets/framer-preview/framer-preview.component.d.ts +26 -0
- package/widgets/framer-preview/framer-preview.options.d.ts +5 -0
- package/widgets/framer-preview/index.d.ts +2 -0
- package/widgets/index.d.ts +1 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
export declare class CuiFileIconComponent {
|
|
3
|
-
protected readonly
|
|
3
|
+
protected readonly extensionColor: import("@angular/core").Signal<string>;
|
|
4
4
|
readonly extension: import("@angular/core").InputSignal<string>;
|
|
5
|
+
readonly color: import("@angular/core").InputSignal<string | undefined>;
|
|
5
6
|
private getColorByExtension;
|
|
6
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<CuiFileIconComponent, never>;
|
|
7
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CuiFileIconComponent, "cui-file-icon", never, { "extension": { "alias": "extension"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CuiFileIconComponent, "cui-file-icon", never, { "extension": { "alias": "extension"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
9
|
}
|
|
@@ -5,17 +5,18 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "../svg/svg.component";
|
|
6
6
|
export class CuiFileIconComponent {
|
|
7
7
|
constructor() {
|
|
8
|
-
this.
|
|
8
|
+
this.extensionColor = computed(() => this.color() ?? this.getColorByExtension(this.extension()));
|
|
9
9
|
this.extension = input.required();
|
|
10
|
+
this.color = input();
|
|
10
11
|
}
|
|
11
12
|
getColorByExtension(extension) {
|
|
12
13
|
return EXTENSION_GROUP_COLOR[EXTENSION_TO_GROUP[extension]];
|
|
13
14
|
}
|
|
14
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFileIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiFileIconComponent, isStandalone: true, selector: "cui-file-icon", inputs: { extension: { classPropertyName: "extension", publicName: "extension", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiFileIconComponent, isStandalone: true, selector: "cui-file-icon", inputs: { extension: { classPropertyName: "extension", publicName: "extension", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (extensionColor(); as color) {\n <cui-svg\n icon=\"cuiIconBoldFileDefaultSm\"\n [color]=\"color\"\n class=\"icon\"\n ></cui-svg>\n\n <span class=\"extension\">{{ extension() }}</span>\n}\n", styles: [":host{--c-text-color: var(--cui-base-0);position:relative;display:inline-block}:host .extension{font-size:10px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;bottom:4px;left:5px;display:inline-block;font-family:var(--cui-nunito-italic-font);font-weight:800;font-style:italic;max-width:30px;color:var(--c-text-color);text-transform:uppercase;transform:scale(.5);transform-origin:left bottom}\n"], dependencies: [{ kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i1.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
17
|
}
|
|
17
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFileIconComponent, decorators: [{
|
|
18
19
|
type: Component,
|
|
19
|
-
args: [{ selector: 'cui-file-icon', imports: [CuiSvgModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (
|
|
20
|
+
args: [{ selector: 'cui-file-icon', imports: [CuiSvgModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (extensionColor(); as color) {\n <cui-svg\n icon=\"cuiIconBoldFileDefaultSm\"\n [color]=\"color\"\n class=\"icon\"\n ></cui-svg>\n\n <span class=\"extension\">{{ extension() }}</span>\n}\n", styles: [":host{--c-text-color: var(--cui-base-0);position:relative;display:inline-block}:host .extension{font-size:10px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;bottom:4px;left:5px;display:inline-block;font-family:var(--cui-nunito-italic-font);font-weight:800;font-style:italic;max-width:30px;color:var(--c-text-color);text-transform:uppercase;transform:scale(.5);transform-origin:left bottom}\n"] }]
|
|
20
21
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9maWxlLWljb24vZmlsZS1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9maWxlLWljb24vZmlsZS1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFVaEYsTUFBTSxPQUFPLG9CQUFvQjtJQVJqQztRQVN1QixtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0YsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNyQyxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7S0FLM0M7SUFIVyxtQkFBbUIsQ0FBQyxTQUFpQjtRQUN6QyxPQUFPLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzsrR0FSUSxvQkFBb0I7bUdBQXBCLG9CQUFvQixnVkNiakMsZ09BU0EsK2VERmMsWUFBWTs7NEZBTWIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNJLGVBQWUsV0FDaEIsQ0FBQyxZQUFZLENBQUMsY0FDWCxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VpU3ZnTW9kdWxlIH0gZnJvbSAnLi4vc3ZnJztcbmltcG9ydCB7IEVYVEVOU0lPTl9HUk9VUF9DT0xPUiwgRVhURU5TSU9OX1RPX0dST1VQIH0gZnJvbSAnLi9maWxlLWljb24ub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWZpbGUtaWNvbicsXG4gICAgaW1wb3J0czogW0N1aVN2Z01vZHVsZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJ2ZpbGUtaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICdmaWxlLWljb24uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aUZpbGVJY29uQ29tcG9uZW50IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXh0ZW5zaW9uQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbG9yKCkgPz8gdGhpcy5nZXRDb2xvckJ5RXh0ZW5zaW9uKHRoaXMuZXh0ZW5zaW9uKCkpKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBleHRlbnNpb24gPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbG9yID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBnZXRDb2xvckJ5RXh0ZW5zaW9uKGV4dGVuc2lvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEVYVEVOU0lPTl9HUk9VUF9DT0xPUltFWFRFTlNJT05fVE9fR1JPVVBbZXh0ZW5zaW9uXV07XG4gICAgfVxufVxuIiwiQGlmIChleHRlbnNpb25Db2xvcigpOyBhcyBjb2xvcikge1xuICAgIDxjdWktc3ZnXG4gICAgICAgIGljb249XCJjdWlJY29uQm9sZEZpbGVEZWZhdWx0U21cIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBjbGFzcz1cImljb25cIlxuICAgID48L2N1aS1zdmc+XG5cbiAgICA8c3BhbiBjbGFzcz1cImV4dGVuc2lvblwiPnt7IGV4dGVuc2lvbigpIH19PC9zcGFuPlxufVxuIl19
|
|
@@ -24,6 +24,7 @@ export const EXTENSION_TO_GROUP = {
|
|
|
24
24
|
usda: 'model',
|
|
25
25
|
usdc: 'model',
|
|
26
26
|
usdz: 'model',
|
|
27
|
+
dxf: 'model',
|
|
27
28
|
// Document formats - var(--cui-light-blue-500)
|
|
28
29
|
azw: 'doc',
|
|
29
30
|
doc: 'doc',
|
|
@@ -116,4 +117,4 @@ export const EXTENSION_TO_GROUP = {
|
|
|
116
117
|
webp: 'image',
|
|
117
118
|
xcf: 'image'
|
|
118
119
|
};
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pY29uLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZmlsZS1pY29uL2ZpbGUtaWNvbi5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ2pDLEtBQUssRUFBRSw0QkFBNEI7SUFDbkMsR0FBRyxFQUFFLDJCQUEyQjtJQUNoQyxLQUFLLEVBQUUsdUJBQXVCO0lBQzlCLEtBQUssRUFBRSxzQkFBc0I7SUFDN0IsYUFBYSxFQUFFLHNCQUFzQjtJQUNyQyxLQUFLLEVBQUUsNEJBQTRCO0lBQ25DLEtBQUssRUFBRSx5QkFBeUI7SUFDaEMsT0FBTyxFQUFFLHVCQUF1QjtJQUNoQyxHQUFHLEVBQUUsd0JBQXdCO0NBQ3ZCLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBdUQ7SUFDbEYsZ0RBQWdEO0lBQ2hELEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFFWiwrQ0FBK0M7SUFDL0MsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztJQUNYLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixFQUFFLEVBQUUsS0FBSztJQUNULEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixDQUFDLEVBQUUsS0FBSztJQUVSLDZDQUE2QztJQUM3QyxHQUFHLEVBQUUsT0FBTztJQUNaLENBQUMsRUFBRSxPQUFPO0lBQ1YsR0FBRyxFQUFFLE9BQU87SUFDWixJQUFJLEVBQUUsT0FBTztJQUViLDhDQUE4QztJQUM5QyxHQUFHLEVBQUUsZUFBZTtJQUNwQixDQUFDLEVBQUUsZUFBZTtJQUNsQixFQUFFLEVBQUUsZUFBZTtJQUNuQixHQUFHLEVBQUUsZUFBZTtJQUNwQixJQUFJLEVBQUUsZUFBZTtJQUNyQixJQUFJLEVBQUUsZUFBZTtJQUVyQiw2Q0FBNkM7SUFDN0MsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osRUFBRSxFQUFFLE9BQU87SUFDWCxFQUFFLEVBQUUsT0FBTztJQUNYLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFDWixJQUFJLEVBQUUsT0FBTztJQUNiLEdBQUcsRUFBRSxPQUFPO0lBRVosMENBQTBDO0lBQzFDLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFDWixFQUFFLEVBQUUsT0FBTztJQUNYLEdBQUcsRUFBRSxPQUFPO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixJQUFJLEVBQUUsT0FBTztJQUNiLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUVaLDBDQUEwQztJQUMxQyxJQUFJLEVBQUUsU0FBUztJQUNmLEdBQUcsRUFBRSxTQUFTO0lBQ2QsRUFBRSxFQUFFLFNBQVM7SUFDYixHQUFHLEVBQUUsU0FBUztJQUNkLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLFNBQVM7SUFDZCxHQUFHLEVBQUUsU0FBUztJQUVkLG1EQUFtRDtJQUNuRCxPQUFPLEVBQUUsS0FBSztJQUNkLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBRVYsd0NBQXdDO0lBQ3hDLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLE9BQU87SUFDWixJQUFJLEVBQUUsT0FBTztJQUNiLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLE9BQU87Q0FDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEVYVEVOU0lPTl9HUk9VUF9DT0xPUiA9IHtcbiAgICBtb2RlbDogJ3ZhcigtLWN1aS1saWdodC1ncmVlbi01MDApJyxcbiAgICBkb2M6ICd2YXIoLS1jdWktbGlnaHQtYmx1ZS01MDApJyxcbiAgICBpbWFnZTogJ3ZhcigtLWN1aS15ZWxsb3ctNDAwKScsXG4gICAgc2hlZXQ6ICd2YXIoLS1jdWktZ3JlZW4tNjAwKScsXG4gICAgcHJlc2VudGF0aW9uczogJ3ZhcigtLWN1aS1ncmVlbi02MDApJyxcbiAgICB2aWRlbzogJ3ZhcigtLWN1aS1saWdodC1ncmVlbi01MDApJyxcbiAgICBhdWRpbzogJ3ZhcigtLWN1aS1sYXZlbmRlci00MDApJyxcbiAgICBhcmNoaXZlOiAndmFyKC0tY3VpLW9yYW5nZS02MDApJyxcbiAgICBnZW86ICd2YXIoLS1jdWktbWFnZW50YS00MDApJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IEVYVEVOU0lPTl9UT19HUk9VUDogUmVjb3JkPHN0cmluZywga2V5b2YgdHlwZW9mIEVYVEVOU0lPTl9HUk9VUF9DT0xPUj4gPSB7XG4gICAgLy8gM0QgTW9kZWwgZm9ybWF0cyAtIHZhcigtLWN1aS1saWdodC1ncmVlbi01MDApXG4gICAgZGFlOiAnbW9kZWwnLFxuICAgIGZieDogJ21vZGVsJyxcbiAgICBnbGI6ICdtb2RlbCcsXG4gICAgZ2x0ZjogJ21vZGVsJyxcbiAgICBtdGw6ICdtb2RlbCcsXG4gICAgb2JqOiAnbW9kZWwnLFxuICAgIHBseTogJ21vZGVsJyxcbiAgICBzdGVwOiAnbW9kZWwnLFxuICAgIHN0bDogJ21vZGVsJyxcbiAgICB1c2Q6ICdtb2RlbCcsXG4gICAgdXNkYTogJ21vZGVsJyxcbiAgICB1c2RjOiAnbW9kZWwnLFxuICAgIHVzZHo6ICdtb2RlbCcsXG4gICAgZHhmOiAnbW9kZWwnLFxuXG4gICAgLy8gRG9jdW1lbnQgZm9ybWF0cyAtIHZhcigtLWN1aS1saWdodC1ibHVlLTUwMClcbiAgICBhenc6ICdkb2MnLFxuICAgIGRvYzogJ2RvYycsXG4gICAgZG9jeDogJ2RvYycsXG4gICAgZXB1YjogJ2RvYycsXG4gICAgbW9iaTogJ2RvYycsXG4gICAgb2R0OiAnZG9jJyxcbiAgICBwZGY6ICdkb2MnLFxuICAgIHBzOiAnZG9jJyxcbiAgICBydGY6ICdkb2MnLFxuICAgIHR4dDogJ2RvYycsXG4gICAgdzogJ2RvYycsXG5cbiAgICAvLyBTcHJlYWRzaGVldCBmb3JtYXRzIC0gdmFyKC0tY3VpLWdyZWVuLTYwMClcbiAgICBvZHM6ICdzaGVldCcsXG4gICAgeDogJ3NoZWV0JyxcbiAgICB4bHM6ICdzaGVldCcsXG4gICAgeGxzeDogJ3NoZWV0JyxcblxuICAgIC8vIFByZXNlbnRhdGlvbiBmb3JtYXRzIC0gdmFyKC0tY3VpLWdyZWVuLTYwMClcbiAgICBvZHA6ICdwcmVzZW50YXRpb25zJyxcbiAgICBwOiAncHJlc2VudGF0aW9ucycsXG4gICAgcHQ6ICdwcmVzZW50YXRpb25zJyxcbiAgICBwcHQ6ICdwcmVzZW50YXRpb25zJyxcbiAgICBwcHR4OiAncHJlc2VudGF0aW9ucycsXG4gICAgc2xkeDogJ3ByZXNlbnRhdGlvbnMnLFxuXG4gICAgLy8gVmlkZW8gZm9ybWF0cyAtIHZhcigtLWN1aS1saWdodC1ncmVlbi01MDApXG4gICAgJzNnMic6ICd2aWRlbycsXG4gICAgJzNncCc6ICd2aWRlbycsXG4gICAgYXZpOiAndmlkZW8nLFxuICAgIGZsdjogJ3ZpZGVvJyxcbiAgICBtNHY6ICd2aWRlbycsXG4gICAgbWt2OiAndmlkZW8nLFxuICAgIG1vdjogJ3ZpZGVvJyxcbiAgICBtcDQ6ICd2aWRlbycsXG4gICAgbXBnOiAndmlkZW8nLFxuICAgIHByOiAndmlkZW8nLFxuICAgIHJtOiAndmlkZW8nLFxuICAgIHJtdmI6ICd2aWRlbycsXG4gICAgdm9iOiAndmlkZW8nLFxuICAgIHdlYm06ICd2aWRlbycsXG4gICAgd212OiAndmlkZW8nLFxuXG4gICAgLy8gQXVkaW8gZm9ybWF0cyAtIHZhcigtLWN1aS1sYXZlbmRlci00MDApXG4gICAgYWFjOiAnYXVkaW8nLFxuICAgIGFpZjogJ2F1ZGlvJyxcbiAgICBhaWZmOiAnYXVkaW8nLFxuICAgIGFsYWM6ICdhdWRpbycsXG4gICAgYW1yOiAnYXVkaW8nLFxuICAgIGF1OiAnYXVkaW8nLFxuICAgIGRzZDogJ2F1ZGlvJyxcbiAgICBmbGFjOiAnYXVkaW8nLFxuICAgIG00YTogJ2F1ZGlvJyxcbiAgICBtcDM6ICdhdWRpbycsXG4gICAgb2dnOiAnYXVkaW8nLFxuICAgIG9wdXM6ICdhdWRpbycsXG4gICAgcGNtOiAnYXVkaW8nLFxuICAgIHdhdjogJ2F1ZGlvJyxcbiAgICB3bWE6ICdhdWRpbycsXG5cbiAgICAvLyBBcmNoaXZlIGZvcm1hdHMgLSB2YXIoLS1jdWktb3JhbmdlLTYwMClcbiAgICAnN3onOiAnYXJjaGl2ZScsXG4gICAgYXJqOiAnYXJjaGl2ZScsXG4gICAgZ3o6ICdhcmNoaXZlJyxcbiAgICByYXI6ICdhcmNoaXZlJyxcbiAgICBzZng6ICdhcmNoaXZlJyxcbiAgICB0YXI6ICdhcmNoaXZlJyxcbiAgICB6aXA6ICdhcmNoaXZlJyxcblxuICAgIC8vIEdlb2dyYXBoaWMgRGF0YSBmb3JtYXRzIC0gdmFyKC0tY3VpLW1hZ2VudGEtNDAwKVxuICAgIGdlb2pzb246ICdnZW8nLFxuICAgIGdweDogJ2dlbycsXG4gICAga21sOiAnZ2VvJyxcbiAgICBrbXo6ICdnZW8nLFxuICAgIHNocDogJ2dlbycsXG5cbiAgICAvLyBJbWFnZSBmb3JtYXRzIC0gdmFyKC0tY3VpLXllbGxvdy00MDApXG4gICAgYXJ3OiAnaW1hZ2UnLFxuICAgIGJtcDogJ2ltYWdlJyxcbiAgICBjcjI6ICdpbWFnZScsXG4gICAgZG5nOiAnaW1hZ2UnLFxuICAgIGdpZjogJ2ltYWdlJyxcbiAgICBpY286ICdpbWFnZScsXG4gICAganBlZzogJ2ltYWdlJyxcbiAgICBqcGc6ICdpbWFnZScsXG4gICAgbmVmOiAnaW1hZ2UnLFxuICAgIG9yZjogJ2ltYWdlJyxcbiAgICBwZWY6ICdpbWFnZScsXG4gICAgcG5nOiAnaW1hZ2UnLFxuICAgIHJhZjogJ2ltYWdlJyxcbiAgICByYXc6ICdpbWFnZScsXG4gICAgc3ZnOiAnaW1hZ2UnLFxuICAgIHRnYTogJ2ltYWdlJyxcbiAgICB0aWY6ICdpbWFnZScsXG4gICAgdGlmZjogJ2ltYWdlJyxcbiAgICB3ZWJwOiAnaW1hZ2UnLFxuICAgIHhjZjogJ2ltYWdlJ1xufSBhcyBjb25zdDtcbiJdfQ==
|
|
@@ -41,7 +41,7 @@ export class EditorAttachesToolComponent extends EditorToolComponent {
|
|
|
41
41
|
return event.key !== 'Enter';
|
|
42
42
|
}
|
|
43
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorAttachesToolComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EditorAttachesToolComponent, isStandalone: true, selector: "ng-component", inputs: { file: "file", title: "title" }, outputs: { fileClicked: "fileClicked" }, host: { properties: { "class._hidden": "isShowLoadButton" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!isLoading; else preloader\">\r\n <ng-container *transloco=\"let t\">\r\n <div\r\n *ngIf=\"file; else buttonTemplate\"\r\n class=\"file\"\r\n >\r\n <cui-file-icon\r\n *ngIf=\"file.extension\"\r\n [extension]=\"file.extension\"\r\n ></cui-file-icon>\r\n\r\n <div class=\"info\">\r\n <div\r\n class=\"title\"\r\n attr.data-placeholder=\"{{ t('FILE_TITLE') }}...\"\r\n [innerHTML]=\"title\"\r\n [attr.contenteditable]=\"!readOnly\"\r\n (paste)=\"onTitlePaste($event)\"\r\n (keydown)=\"onPreventEnter($event)\"\r\n (keyup)=\"onTitleChange($event)\"\r\n ></div>\r\n <div\r\n *ngIf=\"file.size; let size\"\r\n class=\"size\"\r\n >\r\n {{ size | fileSize }}\r\n </div>\r\n </div>\r\n <a\r\n class=\"download\"\r\n (click)=\"onFileClick()\"\r\n >\r\n <cui-svg\r\n icon=\"cuiIconChevronRightSm\"\r\n color=\"var(--cui-base-500)\"\r\n />\r\n </a>\r\n </div>\r\n <ng-template #buttonTemplate>\r\n <button\r\n [class]=\"['select-btn', this.api.styles.button]\"\r\n (click)=\"onSelectFile()\"\r\n type=\"button\"\r\n >\r\n <cui-svg icon=\"cuiIconPaperclipSm\" />\r\n {{ buttonContent }}\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #preloader>\r\n <div class=\"wrapper\">\r\n <div class=\"preloader\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding-top:4px;padding-bottom:4px;font-weight:400;font-size:14px;line-height:20px;font-family:var(--cui-main-font);display:block}:host._hidden{display:none}:host ::ng-deep .icon path{stroke:none}.file{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-10)}.info{display:flex;flex-direction:column;gap:2px;flex-grow:1;width:0;word-wrap:break-word}.extension{display:flex;align-items:flex-end;padding:6px 2px;font-weight:500;font-size:12px;line-height:14px;border-radius:8px;width:35px;height:35px;color:var(--cui-gray-0)}.size{font-weight:400;font-size:13px;line-height:16px;color:var(--cui-base-500)}.download{padding:6px;flex-shrink:0;margin-left:auto;border-radius:8px;color:var(--cui-base-0)}.wrapper{display:flex;flex-direction:column;margin-bottom:10px;border-radius:8px;border:1px solid var(--cui-base-200);min-height:50px;background-color:var(--cui-base-0);overflow:hidden}.wrapper._loaded{min-height:auto}.preloader{width:30px;height:30px;border-radius:50%;background-size:cover;margin:auto;position:relative;background-position:center center}@keyframes preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preloader:after{content:\"\";position:absolute;z-index:3;width:30px;height:30px;border-radius:50%;border:2px solid var(--cui-base-200);border-top-color:var(--cui-blue-600);left:50%;top:50%;margin-top:-15px;margin-left:-15px;animation:preloader-spin 2s infinite linear;box-sizing:border-box}.title{font-weight:400;font-size:14px;line-height:20px;outline:none}.title[data-placeholder]:empty:before{content:attr(data-placeholder);position:absolute;color:var(--cui-base-400)}.select-btn{display:flex;align-items:center;justify-content:center;width:100%}\n"], dependencies: [{ kind: "pipe", type: FileSizePipe, name: "fileSize" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiFileIconComponent, selector: "cui-file-icon", inputs: ["extension"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i1.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EditorAttachesToolComponent, isStandalone: true, selector: "ng-component", inputs: { file: "file", title: "title" }, outputs: { fileClicked: "fileClicked" }, host: { properties: { "class._hidden": "isShowLoadButton" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!isLoading; else preloader\">\r\n <ng-container *transloco=\"let t\">\r\n <div\r\n *ngIf=\"file; else buttonTemplate\"\r\n class=\"file\"\r\n >\r\n <cui-file-icon\r\n *ngIf=\"file.extension\"\r\n [extension]=\"file.extension\"\r\n ></cui-file-icon>\r\n\r\n <div class=\"info\">\r\n <div\r\n class=\"title\"\r\n attr.data-placeholder=\"{{ t('FILE_TITLE') }}...\"\r\n [innerHTML]=\"title\"\r\n [attr.contenteditable]=\"!readOnly\"\r\n (paste)=\"onTitlePaste($event)\"\r\n (keydown)=\"onPreventEnter($event)\"\r\n (keyup)=\"onTitleChange($event)\"\r\n ></div>\r\n <div\r\n *ngIf=\"file.size; let size\"\r\n class=\"size\"\r\n >\r\n {{ size | fileSize }}\r\n </div>\r\n </div>\r\n <a\r\n class=\"download\"\r\n (click)=\"onFileClick()\"\r\n >\r\n <cui-svg\r\n icon=\"cuiIconChevronRightSm\"\r\n color=\"var(--cui-base-500)\"\r\n />\r\n </a>\r\n </div>\r\n <ng-template #buttonTemplate>\r\n <button\r\n [class]=\"['select-btn', this.api.styles.button]\"\r\n (click)=\"onSelectFile()\"\r\n type=\"button\"\r\n >\r\n <cui-svg icon=\"cuiIconPaperclipSm\" />\r\n {{ buttonContent }}\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #preloader>\r\n <div class=\"wrapper\">\r\n <div class=\"preloader\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding-top:4px;padding-bottom:4px;font-weight:400;font-size:14px;line-height:20px;font-family:var(--cui-main-font);display:block}:host._hidden{display:none}:host ::ng-deep .icon path{stroke:none}.file{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-10)}.info{display:flex;flex-direction:column;gap:2px;flex-grow:1;width:0;word-wrap:break-word}.extension{display:flex;align-items:flex-end;padding:6px 2px;font-weight:500;font-size:12px;line-height:14px;border-radius:8px;width:35px;height:35px;color:var(--cui-gray-0)}.size{font-weight:400;font-size:13px;line-height:16px;color:var(--cui-base-500)}.download{padding:6px;flex-shrink:0;margin-left:auto;border-radius:8px;color:var(--cui-base-0)}.wrapper{display:flex;flex-direction:column;margin-bottom:10px;border-radius:8px;border:1px solid var(--cui-base-200);min-height:50px;background-color:var(--cui-base-0);overflow:hidden}.wrapper._loaded{min-height:auto}.preloader{width:30px;height:30px;border-radius:50%;background-size:cover;margin:auto;position:relative;background-position:center center}@keyframes preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preloader:after{content:\"\";position:absolute;z-index:3;width:30px;height:30px;border-radius:50%;border:2px solid var(--cui-base-200);border-top-color:var(--cui-blue-600);left:50%;top:50%;margin-top:-15px;margin-left:-15px;animation:preloader-spin 2s infinite linear;box-sizing:border-box}.title{font-weight:400;font-size:14px;line-height:20px;outline:none}.title[data-placeholder]:empty:before{content:attr(data-placeholder);position:absolute;color:var(--cui-base-400)}.select-btn{display:flex;align-items:center;justify-content:center;width:100%}\n"], dependencies: [{ kind: "pipe", type: FileSizePipe, name: "fileSize" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiFileIconComponent, selector: "cui-file-icon", inputs: ["extension", "color"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i1.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
45
45
|
}
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorAttachesToolComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
57
57
|
}], fileClicked: [{
|
|
58
58
|
type: Output
|
|
59
59
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWF0dGFjaGVzLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvY29tcG9uZW50cy9lZGl0b3ItYXR0YWNoZXMtdG9vbC9lZGl0b3ItYXR0YWNoZXMtdG9vbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9jb21wb25lbnRzL2VkaXRvci1hdHRhY2hlcy10b29sL2VkaXRvci1hdHRhY2hlcy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFZM0UsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUFtQjtJQVZwRTs7UUFpQ29CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztLQXNCakU7SUF6Q0csSUFDVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLElBQUksQ0FBQyxLQUFrQjtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFLRCxJQUFjLGdCQUFnQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ2pFLENBQUM7SUFFUyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQW9CO1FBQ3pDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQW9CO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUM7SUFDakMsQ0FBQzsrR0E1Q1EsMkJBQTJCO21HQUEzQiwyQkFBMkIsaVBDcEJ4QyxzNkRBd0RBLHcwREQ1Q2MsWUFBWSxnREFBRSxXQUFXLCtCQUFFLElBQUksNkZBQUUsa0JBQWtCLGdNQUFFLG9CQUFvQix5RkFBRSxZQUFZOzs0RkFReEYsMkJBQTJCO2tCQVZ2QyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLFlBQVksQ0FBQyxtQkFHakYsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixpQkFBaUIsRUFBRSxrQkFBa0I7cUJBQ3hDOzhCQU9VLElBQUk7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBVWQsS0FBSztzQkFEZixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFVVCxXQUFXO3NCQUQxQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IEN1aUZpbGVJY29uQ29tcG9uZW50LCBDdWlTdmdNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHR5cGUgeyBDdWlGaWxlRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZmlsZS1yZXNwb25zZS1kYXRhJztcclxuaW1wb3J0IHsgRmlsZVNpemVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xyXG5pbXBvcnQgeyBFZGl0b3JUb29sQ29tcG9uZW50IH0gZnJvbSAnLi4vZWRpdG9yLXRvb2wvZWRpdG9yLXRvb2wuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtGaWxlU2l6ZVBpcGUsIEZvcm1zTW9kdWxlLCBOZ0lmLCBUcmFuc2xvY29EaXJlY3RpdmUsIEN1aUZpbGVJY29uQ29tcG9uZW50LCBDdWlTdmdNb2R1bGVdLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci1hdHRhY2hlcy10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2VkaXRvci1hdHRhY2hlcy10b29sLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnW2NsYXNzLl9oaWRkZW5dJzogJ2lzU2hvd0xvYWRCdXR0b24nXHJcbiAgICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0b3JBdHRhY2hlc1Rvb2xDb21wb25lbnQgZXh0ZW5kcyBFZGl0b3JUb29sQ29tcG9uZW50IHtcclxuICAgIHByaXZhdGUgX2ZpbGUhOiBDdWlGaWxlRGF0YTtcclxuICAgIHByaXZhdGUgX3RpdGxlITogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgZ2V0IGZpbGUoKTogQ3VpRmlsZURhdGEgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgZmlsZSh2YWx1ZTogQ3VpRmlsZURhdGEpIHtcclxuICAgICAgICB0aGlzLl9maWxlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdGl0bGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCB0aXRsZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdGl0bGUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBmaWxlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VpRmlsZURhdGE+KCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBpc1Nob3dMb2FkQnV0dG9uKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5maWxlICYmICF0aGlzLmlzQ2FwdGlvblNob3duICYmICF0aGlzLmlzTG9hZGluZztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25GaWxlQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5maWxlQ2xpY2tlZC5lbWl0KHRoaXMuZmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uUHJldmVudEVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tLZXkoZXZlbnQpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGVja0tleShldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBldmVudC5rZXkgIT09ICdFbnRlcic7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmc7IGVsc2UgcHJlbG9hZGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nSWY9XCJmaWxlOyBlbHNlIGJ1dHRvblRlbXBsYXRlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmaWxlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxjdWktZmlsZS1pY29uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImZpbGUuZXh0ZW5zaW9uXCJcclxuICAgICAgICAgICAgICAgIFtleHRlbnNpb25dPVwiZmlsZS5leHRlbnNpb25cIlxyXG4gICAgICAgICAgICA+PC9jdWktZmlsZS1pY29uPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm9cIj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgICBhdHRyLmRhdGEtcGxhY2Vob2xkZXI9XCJ7eyB0KCdGSUxFX1RJVExFJykgfX0uLi5cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbnRlbnRlZGl0YWJsZV09XCIhcmVhZE9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChwYXN0ZSk9XCJvblRpdGxlUGFzdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25QcmV2ZW50RW50ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uVGl0bGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmaWxlLnNpemU7IGxldCBzaXplXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpemVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHNpemUgfCBmaWxlU2l6ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkb3dubG9hZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25GaWxlQ2xpY2soKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxjdWktc3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25DaGV2cm9uUmlnaHRTbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS01MDApXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiWydzZWxlY3QtYnRuJywgdGhpcy5hcGkuc3R5bGVzLmJ1dHRvbl1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0RmlsZSgpXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvblBhcGVyY2xpcFNtXCIgLz5cclxuICAgICAgICAgICAgICAgICZuYnNwO3t7IGJ1dHRvbkNvbnRlbnQgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcHJlbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJlbG9hZGVyXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, signal } from '@angular/core';
|
|
2
|
+
import { TranslocoDirective } from '@jsverse/transloco';
|
|
3
|
+
import { CuiFrameApiService } from '@cuby-ui/api';
|
|
4
|
+
import { CuiEditorComponent } from '../../editor';
|
|
5
|
+
import { CuiEmptyStateComponent } from '../../components';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class CuiFramerPreviewComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.hostElement = inject(ElementRef).nativeElement;
|
|
10
|
+
this.frameApiService = inject(CuiFrameApiService);
|
|
11
|
+
this.isVideo = false;
|
|
12
|
+
this.jText = signal(null);
|
|
13
|
+
this.thumbnailUrl = signal(null);
|
|
14
|
+
this.isDescriptionEmpty = computed(() => !this.jText()?.notEmpty);
|
|
15
|
+
this.framerId = input.required();
|
|
16
|
+
this.config = input.required();
|
|
17
|
+
this.editorResourceUrl = input.required();
|
|
18
|
+
this.title = input();
|
|
19
|
+
this.initConfigEffect();
|
|
20
|
+
this.initFramerIdEffect();
|
|
21
|
+
}
|
|
22
|
+
initConfigEffect() {
|
|
23
|
+
effect(() => {
|
|
24
|
+
this.editorConfig = {
|
|
25
|
+
element: this.hostElement,
|
|
26
|
+
...this.config(),
|
|
27
|
+
readOnly: true
|
|
28
|
+
};
|
|
29
|
+
}, { allowSignalWrites: true });
|
|
30
|
+
}
|
|
31
|
+
initFramerIdEffect() {
|
|
32
|
+
effect(() => {
|
|
33
|
+
const framerId = this.framerId();
|
|
34
|
+
if (!framerId) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.subscription?.unsubscribe();
|
|
38
|
+
this.initFrameFragments();
|
|
39
|
+
}, { allowSignalWrites: true });
|
|
40
|
+
}
|
|
41
|
+
initFrameFragments() {
|
|
42
|
+
const frameId = this.framerId();
|
|
43
|
+
this.jText.set(null);
|
|
44
|
+
this.thumbnailUrl.set(null);
|
|
45
|
+
if (!frameId) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const fragmentActions = {
|
|
49
|
+
J_TEXT: (fragment) => {
|
|
50
|
+
this.jText.set(fragment);
|
|
51
|
+
},
|
|
52
|
+
RESOURCE_FILE: (fragment) => {
|
|
53
|
+
this.setResourceFile(fragment);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
this.subscription = this.frameApiService
|
|
57
|
+
.getFrame(frameId, this.editorConfig.requestOptions)
|
|
58
|
+
.subscribe((frame) => {
|
|
59
|
+
frame.fragments.forEach((fragment) => fragmentActions[fragment.type](fragment));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
setResourceFile(resource) {
|
|
63
|
+
const url = `${this.editorResourceUrl()}/${resource.fileId}`;
|
|
64
|
+
this.isVideo = resource?.name?.split('.').pop() === 'mp4';
|
|
65
|
+
if (!url) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.thumbnailUrl.set({ src: resource.fileId && url, name: resource.name || resource.type });
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFramerPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiFramerPreviewComponent, isStandalone: true, selector: "cui-framer-preview", inputs: { framerId: { classPropertyName: "framerId", publicName: "framerId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, editorResourceUrl: { classPropertyName: "editorResourceUrl", publicName: "editorResourceUrl", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n @if (jText()) {\r\n @if (!isDescriptionEmpty()) {\r\n @let url = thumbnailUrl();\r\n\r\n @if (url?.src; as src) {\r\n @if (isVideo) {\r\n <video\r\n class=\"thumbnail\"\r\n [src]=\"src\"\r\n controls\r\n ></video>\r\n } @else {\r\n <img\r\n class=\"thumbnail\"\r\n [src]=\"src\"\r\n [alt]=\"url?.name\"\r\n />\r\n }\r\n }\r\n\r\n <div class=\"content\">\r\n @if (title(); as title) {\r\n <div class=\"title\">{{ title }}</div>\r\n }\r\n\r\n @if (jText()?.id; as id) {\r\n <div class=\"wrapper\">\r\n <cui-editor\r\n class=\"editor\"\r\n [editorApiId]=\"id\"\r\n [config]=\"editorConfig\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <cui-empty-state [subtitle]=\"t('NO_DESCRIPTION_WAS_PROVIDED')\" />\r\n }\r\n }\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow:auto}.thumbnail{width:100%;max-height:271px;object-fit:contain}.content{display:flex;flex-direction:column;gap:14px;padding:16px 12px}.title{font-weight:500;font-size:18px;line-height:28px}.editor{display:block;height:100%;overflow:auto}\n"], dependencies: [{ kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiEditorComponent, selector: "cui-editor", inputs: ["editorApiId", "config", "requestSize"], outputs: ["editorEmpty"] }, { kind: "component", type: CuiEmptyStateComponent, selector: "cui-empty-state, [cuiEmptyState]", inputs: ["title", "subtitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFramerPreviewComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: 'cui-framer-preview', imports: [TranslocoDirective, CuiEditorComponent, CuiEmptyStateComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\r\n @if (jText()) {\r\n @if (!isDescriptionEmpty()) {\r\n @let url = thumbnailUrl();\r\n\r\n @if (url?.src; as src) {\r\n @if (isVideo) {\r\n <video\r\n class=\"thumbnail\"\r\n [src]=\"src\"\r\n controls\r\n ></video>\r\n } @else {\r\n <img\r\n class=\"thumbnail\"\r\n [src]=\"src\"\r\n [alt]=\"url?.name\"\r\n />\r\n }\r\n }\r\n\r\n <div class=\"content\">\r\n @if (title(); as title) {\r\n <div class=\"title\">{{ title }}</div>\r\n }\r\n\r\n @if (jText()?.id; as id) {\r\n <div class=\"wrapper\">\r\n <cui-editor\r\n class=\"editor\"\r\n [editorApiId]=\"id\"\r\n [config]=\"editorConfig\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <cui-empty-state [subtitle]=\"t('NO_DESCRIPTION_WAS_PROVIDED')\" />\r\n }\r\n }\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow:auto}.thumbnail{width:100%;max-height:271px;object-fit:contain}.content{display:flex;flex-direction:column;gap:14px;padding:16px 12px}.title{font-weight:500;font-size:18px;line-height:28px}.editor{display:block;height:100%;overflow:auto}\n"] }]
|
|
76
|
+
}], ctorParameters: () => [] });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVyLXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL2ZyYW1lci1wcmV2aWV3L2ZyYW1lci1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9mcmFtZXItcHJldmlldy9mcmFtZXItcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBNkMsTUFBTSxjQUFjLENBQUM7QUFLN0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVkxRCxNQUFNLE9BQU8seUJBQXlCO0lBbUJsQztRQWxCaUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQy9DLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFJcEQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdQLFVBQUssR0FBRyxNQUFNLENBQTZCLElBQUksQ0FBQyxDQUFDO1FBQ2pELGlCQUFZLEdBQUcsTUFBTSxDQUEyQixJQUFJLENBQUMsQ0FBQztRQUV0RCx1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFaEUsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNwQyxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBbUIsQ0FBQztRQUMzQyxzQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDN0MsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBR3BDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxZQUFZLEdBQUc7Z0JBQ2hCLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDekIsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNoQixRQUFRLEVBQUUsSUFBSTthQUNqQixDQUFDO1FBQ04sQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNaLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM5QixDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUc7WUFDcEIsTUFBTSxFQUFFLENBQUMsUUFBa0IsRUFBUSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUF5QixDQUFDLENBQUM7WUFDOUMsQ0FBQztZQUNELGFBQWEsRUFBRSxDQUFDLFFBQWtCLEVBQVEsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUE0QixDQUFDLENBQUM7WUFDdkQsQ0FBQztTQUNKLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlO2FBQ25DLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7YUFDbkQsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNwRixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxlQUFlLENBQUMsUUFBMEI7UUFDOUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxLQUFLLENBQUM7UUFFMUQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDOytHQW5GUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix1bUJDcEJ0QyxxMkNBeUNBLHVXRDNCYyxrQkFBa0IsZ01BQUUsa0JBQWtCLG1JQUFFLHNCQUFzQjs7NEZBTS9ELHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDSSxvQkFBb0IsV0FDckIsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBQyxjQUM3RCxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgQ3VpRnJhbWVBcGlTZXJ2aWNlLCBGcmFnbWVudCwgSlRleHRGcmFnbWVudCwgUmVzb3VyY2VGcmFnbWVudCB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XHJcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgdHlwZSB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBDdWlFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi9lZGl0b3InO1xyXG5pbXBvcnQgeyBDdWlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lZGl0b3InO1xyXG5pbXBvcnQgeyBDdWlFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XHJcblxyXG5pbXBvcnQgeyBDdWlJbWFnZVVybCB9IGZyb20gJy4vZnJhbWVyLXByZXZpZXcub3B0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY3VpLWZyYW1lci1wcmV2aWV3JyxcclxuICAgIGltcG9ydHM6IFtUcmFuc2xvY29EaXJlY3RpdmUsIEN1aUVkaXRvckNvbXBvbmVudCwgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZyYW1lci1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9mcmFtZXItcHJldmlldy5jb21wb25lbnQuc2NzcycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VpRnJhbWVyUHJldmlld0NvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZyYW1lQXBpU2VydmljZSA9IGluamVjdChDdWlGcmFtZUFwaVNlcnZpY2UpO1xyXG5cclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByb3RlY3RlZCBpc1ZpZGVvID0gZmFsc2U7XHJcbiAgICBwcm90ZWN0ZWQgZWRpdG9yQ29uZmlnITogQ3VpRWRpdG9yQ29uZmlnO1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBqVGV4dCA9IHNpZ25hbDxDdWlOdWxsYWJsZTxKVGV4dEZyYWdtZW50Pj4obnVsbCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGh1bWJuYWlsVXJsID0gc2lnbmFsPEN1aU51bGxhYmxlPEN1aUltYWdlVXJsPj4obnVsbCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRGVzY3JpcHRpb25FbXB0eSA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmpUZXh0KCk/Lm5vdEVtcHR5KTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZnJhbWVySWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8Q3VpRWRpdG9yQ29uZmlnPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvclJlc291cmNlVXJsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdENvbmZpZ0VmZmVjdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdEZyYW1lcklkRWZmZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0Q29uZmlnRWZmZWN0KCk6IHZvaWQge1xyXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yQ29uZmlnID0ge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudDogdGhpcy5ob3N0RWxlbWVudCxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMuY29uZmlnKCksXHJcbiAgICAgICAgICAgICAgICByZWFkT25seTogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0RnJhbWVySWRFZmZlY3QoKTogdm9pZCB7XHJcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZnJhbWVySWQgPSB0aGlzLmZyYW1lcklkKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoIWZyYW1lcklkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmluaXRGcmFtZUZyYWdtZW50cygpO1xyXG4gICAgICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0RnJhbWVGcmFnbWVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZnJhbWVJZCA9IHRoaXMuZnJhbWVySWQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5qVGV4dC5zZXQobnVsbCk7XHJcbiAgICAgICAgdGhpcy50aHVtYm5haWxVcmwuc2V0KG51bGwpO1xyXG5cclxuICAgICAgICBpZiAoIWZyYW1lSWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZnJhZ21lbnRBY3Rpb25zID0ge1xyXG4gICAgICAgICAgICBKX1RFWFQ6IChmcmFnbWVudDogRnJhZ21lbnQpOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMualRleHQuc2V0KGZyYWdtZW50IGFzIEpUZXh0RnJhZ21lbnQpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBSRVNPVVJDRV9GSUxFOiAoZnJhZ21lbnQ6IEZyYWdtZW50KTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFJlc291cmNlRmlsZShmcmFnbWVudCBhcyBSZXNvdXJjZUZyYWdtZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5mcmFtZUFwaVNlcnZpY2VcclxuICAgICAgICAgICAgLmdldEZyYW1lKGZyYW1lSWQsIHRoaXMuZWRpdG9yQ29uZmlnLnJlcXVlc3RPcHRpb25zKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmcmFtZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZnJhbWUuZnJhZ21lbnRzLmZvckVhY2goKGZyYWdtZW50KSA9PiBmcmFnbWVudEFjdGlvbnNbZnJhZ21lbnQudHlwZV0oZnJhZ21lbnQpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRSZXNvdXJjZUZpbGUocmVzb3VyY2U6IFJlc291cmNlRnJhZ21lbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmVkaXRvclJlc291cmNlVXJsKCl9LyR7cmVzb3VyY2UuZmlsZUlkfWA7XHJcblxyXG4gICAgICAgIHRoaXMuaXNWaWRlbyA9IHJlc291cmNlPy5uYW1lPy5zcGxpdCgnLicpLnBvcCgpID09PSAnbXA0JztcclxuXHJcbiAgICAgICAgaWYgKCF1cmwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy50aHVtYm5haWxVcmwuc2V0KHsgc3JjOiByZXNvdXJjZS5maWxlSWQgJiYgdXJsLCBuYW1lOiByZXNvdXJjZS5uYW1lIHx8IHJlc291cmNlLnR5cGUgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHRcIj5cclxuICAgIEBpZiAoalRleHQoKSkge1xyXG4gICAgICAgIEBpZiAoIWlzRGVzY3JpcHRpb25FbXB0eSgpKSB7XHJcbiAgICAgICAgICAgIEBsZXQgdXJsID0gdGh1bWJuYWlsVXJsKCk7XHJcblxyXG4gICAgICAgICAgICBAaWYgKHVybD8uc3JjOyBhcyBzcmMpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoaXNWaWRlbykge1xyXG4gICAgICAgICAgICAgICAgICAgIDx2aWRlb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRodW1ibmFpbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbHNcclxuICAgICAgICAgICAgICAgICAgICA+PC92aWRlbz5cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aHVtYm5haWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInNyY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwidXJsPy5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgQGlmICh0aXRsZSgpOyBhcyB0aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IHRpdGxlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGlmIChqVGV4dCgpPy5pZDsgYXMgaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLWVkaXRvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0b3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRvckFwaUlkXT1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiZWRpdG9yQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIDxjdWktZW1wdHktc3RhdGUgW3N1YnRpdGxlXT1cInQoJ05PX0RFU0NSSVBUSU9OX1dBU19QUk9WSURFRCcpXCIgLz5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVyLXByZXZpZXcub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9mcmFtZXItcHJldmlldy9mcmFtZXItcHJldmlldy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpSW1hZ2VVcmwge1xyXG4gICAgcmVhZG9ubHkgc3JjOiBDdWlOdWxsYWJsZTxzdHJpbmc+O1xyXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { CuiFramerPreviewComponent } from './framer-preview.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvZnJhbWVyLXByZXZpZXcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDdWlGcmFtZXJQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9mcmFtZXItcHJldmlldy5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBDdWlJbWFnZVVybCB9IGZyb20gJy4vZnJhbWVyLXByZXZpZXcub3B0aW9ucyc7XHJcbiJdfQ==
|
|
@@ -11,4 +11,5 @@ export * from './select-modal';
|
|
|
11
11
|
export * from './storage-list';
|
|
12
12
|
export * from './utility-modal';
|
|
13
13
|
export * from './user-action-context-menu';
|
|
14
|
-
|
|
14
|
+
export { CuiFramerPreviewComponent } from './framer-preview';
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBZSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkZXInO1xuZXhwb3J0IHsgQ3VpRGVsZXRlTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2RlbGV0ZS1tb2RhbCc7XG5leHBvcnQgeyBDdWlDYXRlZ29yaWVzQ29tcG9uZW50LCBDdWlTZWxlY3RlZENhdGVnb3J5U2VydmljZSB9IGZyb20gJy4vY2F0ZWdvcmllcyc7XG5leHBvcnQgeyBDdWlDaGVja2xpc3RCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrJztcbmV4cG9ydCB7IEN1aUluc3RydWN0aW9uUmVhZG9ubHlJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9pbnN0cnVjdGlvbi1yZWFkb25seS1pbmZvJztcbmV4cG9ydCB7IEN1aUNyaXRlcmlvblJlYWRvbmx5SW5mb0NvbXBvbmVudCB9IGZyb20gJy4vY3JpdGVyaW9uLXJlYWRvbmx5LWluZm8nO1xuZXhwb3J0IHsgQ3VpQ3JpdGVyaW9uSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vY3JpdGVyaW9uLWluZm8nO1xuZXhwb3J0IHsgQ3VpSW5zdHJ1Y3Rpb25JbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9pbnN0cnVjdGlvbi1pbmZvJztcbmV4cG9ydCB7IEN1aUdlbmVyYWxDb250cm9sRXJyb3JIaW50Q29tcG9uZW50IH0gZnJvbSAnLi9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2UtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxpdHktbW9kYWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWFjdGlvbi1jb250ZXh0LW1lbnUnO1xuZXhwb3J0IHsgQ3VpRnJhbWVyUHJldmlld0NvbXBvbmVudCwgQ3VpSW1hZ2VVcmwgfSBmcm9tICcuL2ZyYW1lci1wcmV2aWV3JztcbiJdfQ==
|
|
@@ -3994,6 +3994,7 @@ const EXTENSION_TO_GROUP = {
|
|
|
3994
3994
|
usda: 'model',
|
|
3995
3995
|
usdc: 'model',
|
|
3996
3996
|
usdz: 'model',
|
|
3997
|
+
dxf: 'model',
|
|
3997
3998
|
// Document formats - var(--cui-light-blue-500)
|
|
3998
3999
|
azw: 'doc',
|
|
3999
4000
|
doc: 'doc',
|
|
@@ -4089,18 +4090,19 @@ const EXTENSION_TO_GROUP = {
|
|
|
4089
4090
|
|
|
4090
4091
|
class CuiFileIconComponent {
|
|
4091
4092
|
constructor() {
|
|
4092
|
-
this.
|
|
4093
|
+
this.extensionColor = computed(() => this.color() ?? this.getColorByExtension(this.extension()));
|
|
4093
4094
|
this.extension = input.required();
|
|
4095
|
+
this.color = input();
|
|
4094
4096
|
}
|
|
4095
4097
|
getColorByExtension(extension) {
|
|
4096
4098
|
return EXTENSION_GROUP_COLOR[EXTENSION_TO_GROUP[extension]];
|
|
4097
4099
|
}
|
|
4098
4100
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFileIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4099
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiFileIconComponent, isStandalone: true, selector: "cui-file-icon", inputs: { extension: { classPropertyName: "extension", publicName: "extension", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@if (
|
|
4101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiFileIconComponent, isStandalone: true, selector: "cui-file-icon", inputs: { extension: { classPropertyName: "extension", publicName: "extension", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (extensionColor(); as color) {\n <cui-svg\n icon=\"cuiIconBoldFileDefaultSm\"\n [color]=\"color\"\n class=\"icon\"\n ></cui-svg>\n\n <span class=\"extension\">{{ extension() }}</span>\n}\n", styles: [":host{--c-text-color: var(--cui-base-0);position:relative;display:inline-block}:host .extension{font-size:10px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;bottom:4px;left:5px;display:inline-block;font-family:var(--cui-nunito-italic-font);font-weight:800;font-style:italic;max-width:30px;color:var(--c-text-color);text-transform:uppercase;transform:scale(.5);transform-origin:left bottom}\n"], dependencies: [{ kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4100
4102
|
}
|
|
4101
4103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFileIconComponent, decorators: [{
|
|
4102
4104
|
type: Component,
|
|
4103
|
-
args: [{ selector: 'cui-file-icon', imports: [CuiSvgModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (
|
|
4105
|
+
args: [{ selector: 'cui-file-icon', imports: [CuiSvgModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (extensionColor(); as color) {\n <cui-svg\n icon=\"cuiIconBoldFileDefaultSm\"\n [color]=\"color\"\n class=\"icon\"\n ></cui-svg>\n\n <span class=\"extension\">{{ extension() }}</span>\n}\n", styles: [":host{--c-text-color: var(--cui-base-0);position:relative;display:inline-block}:host .extension{font-size:10px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;bottom:4px;left:5px;display:inline-block;font-family:var(--cui-nunito-italic-font);font-weight:800;font-style:italic;max-width:30px;color:var(--c-text-color);text-transform:uppercase;transform:scale(.5);transform-origin:left bottom}\n"] }]
|
|
4104
4106
|
}] });
|
|
4105
4107
|
|
|
4106
4108
|
const COMBINED_TEXT_BLOCK_PART = 'combined-text-block-part';
|
|
@@ -5263,7 +5265,7 @@ class EditorAttachesToolComponent extends EditorToolComponent {
|
|
|
5263
5265
|
return event.key !== 'Enter';
|
|
5264
5266
|
}
|
|
5265
5267
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorAttachesToolComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5266
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EditorAttachesToolComponent, isStandalone: true, selector: "ng-component", inputs: { file: "file", title: "title" }, outputs: { fileClicked: "fileClicked" }, host: { properties: { "class._hidden": "isShowLoadButton" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!isLoading; else preloader\">\r\n <ng-container *transloco=\"let t\">\r\n <div\r\n *ngIf=\"file; else buttonTemplate\"\r\n class=\"file\"\r\n >\r\n <cui-file-icon\r\n *ngIf=\"file.extension\"\r\n [extension]=\"file.extension\"\r\n ></cui-file-icon>\r\n\r\n <div class=\"info\">\r\n <div\r\n class=\"title\"\r\n attr.data-placeholder=\"{{ t('FILE_TITLE') }}...\"\r\n [innerHTML]=\"title\"\r\n [attr.contenteditable]=\"!readOnly\"\r\n (paste)=\"onTitlePaste($event)\"\r\n (keydown)=\"onPreventEnter($event)\"\r\n (keyup)=\"onTitleChange($event)\"\r\n ></div>\r\n <div\r\n *ngIf=\"file.size; let size\"\r\n class=\"size\"\r\n >\r\n {{ size | fileSize }}\r\n </div>\r\n </div>\r\n <a\r\n class=\"download\"\r\n (click)=\"onFileClick()\"\r\n >\r\n <cui-svg\r\n icon=\"cuiIconChevronRightSm\"\r\n color=\"var(--cui-base-500)\"\r\n />\r\n </a>\r\n </div>\r\n <ng-template #buttonTemplate>\r\n <button\r\n [class]=\"['select-btn', this.api.styles.button]\"\r\n (click)=\"onSelectFile()\"\r\n type=\"button\"\r\n >\r\n <cui-svg icon=\"cuiIconPaperclipSm\" />\r\n {{ buttonContent }}\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #preloader>\r\n <div class=\"wrapper\">\r\n <div class=\"preloader\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding-top:4px;padding-bottom:4px;font-weight:400;font-size:14px;line-height:20px;font-family:var(--cui-main-font);display:block}:host._hidden{display:none}:host ::ng-deep .icon path{stroke:none}.file{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-10)}.info{display:flex;flex-direction:column;gap:2px;flex-grow:1;width:0;word-wrap:break-word}.extension{display:flex;align-items:flex-end;padding:6px 2px;font-weight:500;font-size:12px;line-height:14px;border-radius:8px;width:35px;height:35px;color:var(--cui-gray-0)}.size{font-weight:400;font-size:13px;line-height:16px;color:var(--cui-base-500)}.download{padding:6px;flex-shrink:0;margin-left:auto;border-radius:8px;color:var(--cui-base-0)}.wrapper{display:flex;flex-direction:column;margin-bottom:10px;border-radius:8px;border:1px solid var(--cui-base-200);min-height:50px;background-color:var(--cui-base-0);overflow:hidden}.wrapper._loaded{min-height:auto}.preloader{width:30px;height:30px;border-radius:50%;background-size:cover;margin:auto;position:relative;background-position:center center}@keyframes preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preloader:after{content:\"\";position:absolute;z-index:3;width:30px;height:30px;border-radius:50%;border:2px solid var(--cui-base-200);border-top-color:var(--cui-blue-600);left:50%;top:50%;margin-top:-15px;margin-left:-15px;animation:preloader-spin 2s infinite linear;box-sizing:border-box}.title{font-weight:400;font-size:14px;line-height:20px;outline:none}.title[data-placeholder]:empty:before{content:attr(data-placeholder);position:absolute;color:var(--cui-base-400)}.select-btn{display:flex;align-items:center;justify-content:center;width:100%}\n"], dependencies: [{ kind: "pipe", type: FileSizePipe, name: "fileSize" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiFileIconComponent, selector: "cui-file-icon", inputs: ["extension"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EditorAttachesToolComponent, isStandalone: true, selector: "ng-component", inputs: { file: "file", title: "title" }, outputs: { fileClicked: "fileClicked" }, host: { properties: { "class._hidden": "isShowLoadButton" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!isLoading; else preloader\">\r\n <ng-container *transloco=\"let t\">\r\n <div\r\n *ngIf=\"file; else buttonTemplate\"\r\n class=\"file\"\r\n >\r\n <cui-file-icon\r\n *ngIf=\"file.extension\"\r\n [extension]=\"file.extension\"\r\n ></cui-file-icon>\r\n\r\n <div class=\"info\">\r\n <div\r\n class=\"title\"\r\n attr.data-placeholder=\"{{ t('FILE_TITLE') }}...\"\r\n [innerHTML]=\"title\"\r\n [attr.contenteditable]=\"!readOnly\"\r\n (paste)=\"onTitlePaste($event)\"\r\n (keydown)=\"onPreventEnter($event)\"\r\n (keyup)=\"onTitleChange($event)\"\r\n ></div>\r\n <div\r\n *ngIf=\"file.size; let size\"\r\n class=\"size\"\r\n >\r\n {{ size | fileSize }}\r\n </div>\r\n </div>\r\n <a\r\n class=\"download\"\r\n (click)=\"onFileClick()\"\r\n >\r\n <cui-svg\r\n icon=\"cuiIconChevronRightSm\"\r\n color=\"var(--cui-base-500)\"\r\n />\r\n </a>\r\n </div>\r\n <ng-template #buttonTemplate>\r\n <button\r\n [class]=\"['select-btn', this.api.styles.button]\"\r\n (click)=\"onSelectFile()\"\r\n type=\"button\"\r\n >\r\n <cui-svg icon=\"cuiIconPaperclipSm\" />\r\n {{ buttonContent }}\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #preloader>\r\n <div class=\"wrapper\">\r\n <div class=\"preloader\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding-top:4px;padding-bottom:4px;font-weight:400;font-size:14px;line-height:20px;font-family:var(--cui-main-font);display:block}:host._hidden{display:none}:host ::ng-deep .icon path{stroke:none}.file{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-10)}.info{display:flex;flex-direction:column;gap:2px;flex-grow:1;width:0;word-wrap:break-word}.extension{display:flex;align-items:flex-end;padding:6px 2px;font-weight:500;font-size:12px;line-height:14px;border-radius:8px;width:35px;height:35px;color:var(--cui-gray-0)}.size{font-weight:400;font-size:13px;line-height:16px;color:var(--cui-base-500)}.download{padding:6px;flex-shrink:0;margin-left:auto;border-radius:8px;color:var(--cui-base-0)}.wrapper{display:flex;flex-direction:column;margin-bottom:10px;border-radius:8px;border:1px solid var(--cui-base-200);min-height:50px;background-color:var(--cui-base-0);overflow:hidden}.wrapper._loaded{min-height:auto}.preloader{width:30px;height:30px;border-radius:50%;background-size:cover;margin:auto;position:relative;background-position:center center}@keyframes preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preloader:after{content:\"\";position:absolute;z-index:3;width:30px;height:30px;border-radius:50%;border:2px solid var(--cui-base-200);border-top-color:var(--cui-blue-600);left:50%;top:50%;margin-top:-15px;margin-left:-15px;animation:preloader-spin 2s infinite linear;box-sizing:border-box}.title{font-weight:400;font-size:14px;line-height:20px;outline:none}.title[data-placeholder]:empty:before{content:attr(data-placeholder);position:absolute;color:var(--cui-base-400)}.select-btn{display:flex;align-items:center;justify-content:center;width:100%}\n"], dependencies: [{ kind: "pipe", type: FileSizePipe, name: "fileSize" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiFileIconComponent, selector: "cui-file-icon", inputs: ["extension", "color"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5267
5269
|
}
|
|
5268
5270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorAttachesToolComponent, decorators: [{
|
|
5269
5271
|
type: Component,
|
|
@@ -10280,9 +10282,80 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
10280
10282
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentTheme = theme$ | async;\n@let currentLang = lang$ | async;\n\n<ng-container *transloco=\"let t\">\n <button\n type=\"button\"\n [cuiDropdown]=\"content\"\n class=\"select\"\n (isOpened)=\"onToggleOpenState($event)\"\n >\n <ng-content />\n </button>\n\n <ng-template #content>\n @if (isOpen()) {\n <cui-dropdown-wrapper\n width=\"300px\"\n maxHeight=\"500px\"\n >\n <div\n #dropdownContainer\n class=\"wrapper\"\n >\n <div class=\"block-name\">\n <div>\n <cui-letter-box\n [letter]=\"fullName[0]\"\n [shape]=\"'rounded'\"\n size=\"md\"\n />\n </div>\n <div>\n <ul class=\"title-text\">\n {{\n fullName\n }}\n </ul>\n <ul class=\"subtitle-text\">\n {{\n email\n }}\n </ul>\n </div>\n </div>\n <div\n class=\"wrapper block-platform\"\n (click)=\"onGoToPlatform()\"\n >\n <cui-svg\n icon=\"cuiIconLogo\"\n color=\"var(--cui-base-900)\"\n />\n <div>{{ t('CUBY_PLATFORM') }}</div>\n </div>\n <div class=\"list-company\">\n @for (company of companies(); track company.id) {\n <ul class=\"title-company\">\n {{\n company.name\n }}\n </ul>\n <div class=\"list-activity\">\n @for (activity of company.contexts; track activity) {\n <cui-activity-item\n class=\"activity-item\"\n [activity]=\"activity\"\n [companyId]=\"company.companyId\"\n />\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_ACTIVITY_IN_THIS_COMPANY') }}</div>\n }\n </div>\n } @empty {\n <div class=\"sub-title-text\">{{ t('YOU_DONT_HAVE_COMPANY') }}</div>\n }\n </div>\n <div class=\"block-button\">\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconPaletteSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('SWITCH_THEME') }}\n <div class=\"group-sub-button\">\n <div\n [class.container-sub-button__select]=\"currentTheme === 'dark'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconMoon\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('dark')\"\n />\n </div>\n <div\n [class.container-sub-button__select]=\"currentTheme === 'light'\"\n class=\"container-sub-button\"\n >\n <cui-svg\n icon=\"cuiIconSun\"\n color=\"var(--cui-base-500)\"\n (click)=\"onChangeTheme('light')\"\n />\n </div>\n </div>\n </div>\n </div>\n </button>\n <button type=\"button\">\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconGlobeSm\" />\n <div class=\"text-and-sub-button\">\n {{ t('LANGUAGE') }}\n <div class=\"group-sub-button\">\n @for (lang of langs; track lang) {\n <div\n [class.container-sub-button__select]=\"currentLang === lang\"\n class=\"container-sub-button\"\n (click)=\"onChangeLang(lang)\"\n >\n {{ lang }}\n </div>\n }\n </div>\n </div>\n </div>\n </button>\n <button\n type=\"button\"\n (click)=\"onLogout()\"\n >\n <div class=\"content-button\">\n <cui-svg icon=\"cuiIconLogOutSm\" />\n <div class=\"text-and-sub-button\">{{ t('LOG_OUT') }}</div>\n </div>\n </button>\n </div>\n </div>\n </cui-dropdown-wrapper>\n }\n </ng-template>\n</ng-container>\n", styles: [".wrapper{padding:8px}.block-name{display:flex;gap:12px;align-items:center;padding-bottom:8px;border-bottom:solid 1px var(--cui-base-200);color:var(--cui-base-900)}.title-text{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-900)}.subtitle-text{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900)}.title-company{font-weight:500;font-size:14px;line-height:20px;color:var(--cui-base-500)}.list-company{display:flex;flex-direction:column;gap:4px;max-height:250px;overflow-y:auto}.list-activity{display:flex;flex-direction:column;gap:4px;padding:8px;border-bottom:solid 1px var(--cui-base-200)}.block-button{display:flex;flex-direction:column;gap:8px;padding-top:8px;width:100%}.content-button{display:flex;gap:8px;align-items:center;padding-right:8px;padding-left:8px;height:36px;color:var(--cui-base-900)}.text-and-sub-button{display:flex;align-items:center;justify-content:space-between;width:100%}.container-sub-button{display:flex;align-items:center;justify-content:center;text-transform:capitalize;border:solid 1px var(--cui-base-200);border-radius:4px;width:28px;height:28px}.group-sub-button{display:flex;gap:4px}.container-sub-button__select{border:solid 1px var(--cui-badge-blue-border);background-color:var(--cui-badge-blue-bg)}.block-platform{display:flex;gap:8px;color:var(--cui-base-900);cursor:pointer}.block-platform:hover{background-color:var(--cui-badge-light-blue-bg)}.sub-title-text{display:flex;align-items:center;justify-content:center;font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-900);text-align:center}.activity-item{border-radius:8px;cursor:pointer}.activity-item:hover{background-color:var(--cui-badge-light-blue-bg)}\n"] }]
|
|
10281
10283
|
}], ctorParameters: () => [] });
|
|
10282
10284
|
|
|
10285
|
+
class CuiFramerPreviewComponent {
|
|
10286
|
+
constructor() {
|
|
10287
|
+
this.hostElement = inject(ElementRef).nativeElement;
|
|
10288
|
+
this.frameApiService = inject(CuiFrameApiService);
|
|
10289
|
+
this.isVideo = false;
|
|
10290
|
+
this.jText = signal(null);
|
|
10291
|
+
this.thumbnailUrl = signal(null);
|
|
10292
|
+
this.isDescriptionEmpty = computed(() => !this.jText()?.notEmpty);
|
|
10293
|
+
this.framerId = input.required();
|
|
10294
|
+
this.config = input.required();
|
|
10295
|
+
this.editorResourceUrl = input.required();
|
|
10296
|
+
this.title = input();
|
|
10297
|
+
this.initConfigEffect();
|
|
10298
|
+
this.initFramerIdEffect();
|
|
10299
|
+
}
|
|
10300
|
+
initConfigEffect() {
|
|
10301
|
+
effect(() => {
|
|
10302
|
+
this.editorConfig = {
|
|
10303
|
+
element: this.hostElement,
|
|
10304
|
+
...this.config(),
|
|
10305
|
+
readOnly: true
|
|
10306
|
+
};
|
|
10307
|
+
}, { allowSignalWrites: true });
|
|
10308
|
+
}
|
|
10309
|
+
initFramerIdEffect() {
|
|
10310
|
+
effect(() => {
|
|
10311
|
+
const framerId = this.framerId();
|
|
10312
|
+
if (!framerId) {
|
|
10313
|
+
return;
|
|
10314
|
+
}
|
|
10315
|
+
this.subscription?.unsubscribe();
|
|
10316
|
+
this.initFrameFragments();
|
|
10317
|
+
}, { allowSignalWrites: true });
|
|
10318
|
+
}
|
|
10319
|
+
initFrameFragments() {
|
|
10320
|
+
const frameId = this.framerId();
|
|
10321
|
+
this.jText.set(null);
|
|
10322
|
+
this.thumbnailUrl.set(null);
|
|
10323
|
+
if (!frameId) {
|
|
10324
|
+
return;
|
|
10325
|
+
}
|
|
10326
|
+
const fragmentActions = {
|
|
10327
|
+
J_TEXT: (fragment) => {
|
|
10328
|
+
this.jText.set(fragment);
|
|
10329
|
+
},
|
|
10330
|
+
RESOURCE_FILE: (fragment) => {
|
|
10331
|
+
this.setResourceFile(fragment);
|
|
10332
|
+
}
|
|
10333
|
+
};
|
|
10334
|
+
this.subscription = this.frameApiService
|
|
10335
|
+
.getFrame(frameId, this.editorConfig.requestOptions)
|
|
10336
|
+
.subscribe((frame) => {
|
|
10337
|
+
frame.fragments.forEach((fragment) => fragmentActions[fragment.type](fragment));
|
|
10338
|
+
});
|
|
10339
|
+
}
|
|
10340
|
+
setResourceFile(resource) {
|
|
10341
|
+
const url = `${this.editorResourceUrl()}/${resource.fileId}`;
|
|
10342
|
+
this.isVideo = resource?.name?.split('.').pop() === 'mp4';
|
|
10343
|
+
if (!url) {
|
|
10344
|
+
return;
|
|
10345
|
+
}
|
|
10346
|
+
this.thumbnailUrl.set({ src: resource.fileId && url, name: resource.name || resource.type });
|
|
10347
|
+
}
|
|
10348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFramerPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10349
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiFramerPreviewComponent, isStandalone: true, selector: "cui-framer-preview", inputs: { framerId: { classPropertyName: "framerId", publicName: "framerId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, editorResourceUrl: { classPropertyName: "editorResourceUrl", publicName: "editorResourceUrl", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n @if (jText()) {\r\n @if (!isDescriptionEmpty()) {\r\n @let url = thumbnailUrl();\r\n\r\n @if (url?.src; as src) {\r\n @if (isVideo) {\r\n <video\r\n class=\"thumbnail\"\r\n [src]=\"src\"\r\n controls\r\n ></video>\r\n } @else {\r\n <img\r\n class=\"thumbnail\"\r\n [src]=\"src\"\r\n [alt]=\"url?.name\"\r\n />\r\n }\r\n }\r\n\r\n <div class=\"content\">\r\n @if (title(); as title) {\r\n <div class=\"title\">{{ title }}</div>\r\n }\r\n\r\n @if (jText()?.id; as id) {\r\n <div class=\"wrapper\">\r\n <cui-editor\r\n class=\"editor\"\r\n [editorApiId]=\"id\"\r\n [config]=\"editorConfig\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <cui-empty-state [subtitle]=\"t('NO_DESCRIPTION_WAS_PROVIDED')\" />\r\n }\r\n }\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow:auto}.thumbnail{width:100%;max-height:271px;object-fit:contain}.content{display:flex;flex-direction:column;gap:14px;padding:16px 12px}.title{font-weight:500;font-size:18px;line-height:28px}.editor{display:block;height:100%;overflow:auto}\n"], dependencies: [{ kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiEditorComponent, selector: "cui-editor", inputs: ["editorApiId", "config", "requestSize"], outputs: ["editorEmpty"] }, { kind: "component", type: CuiEmptyStateComponent, selector: "cui-empty-state, [cuiEmptyState]", inputs: ["title", "subtitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10350
|
+
}
|
|
10351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiFramerPreviewComponent, decorators: [{
|
|
10352
|
+
type: Component,
|
|
10353
|
+
args: [{ selector: 'cui-framer-preview', imports: [TranslocoDirective, CuiEditorComponent, CuiEmptyStateComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\r\n @if (jText()) {\r\n @if (!isDescriptionEmpty()) {\r\n @let url = thumbnailUrl();\r\n\r\n @if (url?.src; as src) {\r\n @if (isVideo) {\r\n <video\r\n class=\"thumbnail\"\r\n [src]=\"src\"\r\n controls\r\n ></video>\r\n } @else {\r\n <img\r\n class=\"thumbnail\"\r\n [src]=\"src\"\r\n [alt]=\"url?.name\"\r\n />\r\n }\r\n }\r\n\r\n <div class=\"content\">\r\n @if (title(); as title) {\r\n <div class=\"title\">{{ title }}</div>\r\n }\r\n\r\n @if (jText()?.id; as id) {\r\n <div class=\"wrapper\">\r\n <cui-editor\r\n class=\"editor\"\r\n [editorApiId]=\"id\"\r\n [config]=\"editorConfig\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <cui-empty-state [subtitle]=\"t('NO_DESCRIPTION_WAS_PROVIDED')\" />\r\n }\r\n }\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow:auto}.thumbnail{width:100%;max-height:271px;object-fit:contain}.content{display:flex;flex-direction:column;gap:14px;padding:16px 12px}.title{font-weight:500;font-size:18px;line-height:28px}.editor{display:block;height:100%;overflow:auto}\n"] }]
|
|
10354
|
+
}], ctorParameters: () => [] });
|
|
10355
|
+
|
|
10283
10356
|
/**
|
|
10284
10357
|
* Generated bundle index. Do not edit.
|
|
10285
10358
|
*/
|
|
10286
10359
|
|
|
10287
|
-
export { AngularOutsideLoaderService, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_URL, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityContextMenuTranslations, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorToolsService, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploaderStatus, CuiFormFieldComponent, CuiFormFieldModule, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiVideoTool, CuiVisualViewportService, UTILITY_MODAL_SERVICE_TOKEN, cuiAuthInterceptor, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, provideCuiAuth, provideCuiEditorResourceUrl, provideCuiTabs };
|
|
10360
|
+
export { AngularOutsideLoaderService, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_URL, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityContextMenuTranslations, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorToolsService, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploaderStatus, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiVideoTool, CuiVisualViewportService, UTILITY_MODAL_SERVICE_TOKEN, cuiAuthInterceptor, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, provideCuiAuth, provideCuiEditorResourceUrl, provideCuiTabs };
|
|
10288
10361
|
//# sourceMappingURL=cuby-ui-core.mjs.map
|