@dotcms/angular 0.0.1-beta.2 → 0.0.1-beta.21
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/dotcms-angular.d.ts.map +1 -1
- package/esm2022/dotcms-angular.mjs +2 -2
- package/esm2022/lib/deprecated/components/dot-editable-text/dot-editable-text.component.mjs +229 -0
- package/esm2022/lib/deprecated/components/dot-editable-text/utils.mjs +43 -0
- package/esm2022/lib/deprecated/components/no-component/no-component.component.mjs +32 -0
- package/esm2022/lib/deprecated/deprecated-api.mjs +11 -0
- package/esm2022/lib/{layout → deprecated/layout}/column/column.component.mjs +1 -1
- package/esm2022/lib/deprecated/layout/container/container.component.mjs +126 -0
- package/esm2022/lib/deprecated/layout/contentlet/contentlet.component.mjs +120 -0
- package/esm2022/lib/deprecated/layout/dotcms-layout/dotcms-layout.component.mjs +106 -0
- package/esm2022/lib/{layout → deprecated/layout}/row/row.component.mjs +1 -1
- package/esm2022/lib/deprecated/models/dotcms.model.mjs +3 -0
- package/esm2022/lib/deprecated/models/index.mjs +3 -0
- package/esm2022/lib/deprecated/services/dotcms-context/page-context.service.mjs +79 -0
- package/esm2022/lib/deprecated/utils/image_loader.mjs +74 -0
- package/esm2022/lib/deprecated/utils/index.mjs +84 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/code.component.mjs +49 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/contentlet.component.mjs +53 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/image.component.mjs +25 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/list.component.mjs +66 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/table.component.mjs +97 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/text.component.mjs +231 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/video.components.mjs +48 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.mjs +46 -0
- package/esm2022/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.mjs +43 -0
- package/esm2022/next/components/dotcms-editable-text/dotcms-editable-text.component.mjs +225 -0
- package/esm2022/{lib/components/dot-editable-text → next/components/dotcms-editable-text}/utils.mjs +1 -1
- package/esm2022/next/components/dotcms-layout-body/components/column/column.component.mjs +45 -0
- package/esm2022/next/components/dotcms-layout-body/components/container/components/container-not-found/container-not-found.component.mjs +52 -0
- package/esm2022/next/components/dotcms-layout-body/components/container/components/empty-container/empty-container.component.mjs +43 -0
- package/esm2022/next/components/dotcms-layout-body/components/container/container.component.mjs +99 -0
- package/esm2022/next/components/dotcms-layout-body/components/contentlet/contentlet.component.mjs +145 -0
- package/esm2022/next/components/dotcms-layout-body/components/fallback-component/fallback-component.component.mjs +47 -0
- package/esm2022/next/components/dotcms-layout-body/components/page-error-message/page-error-message.component.mjs +55 -0
- package/esm2022/next/components/dotcms-layout-body/components/row/row.component.mjs +46 -0
- package/esm2022/next/components/dotcms-layout-body/dotcms-layout-body.component.mjs +69 -0
- package/esm2022/next/directives/dotcms-show-when/dotcms-show-when.directive.mjs +49 -0
- package/esm2022/next/dotcms-angular-next.mjs +5 -0
- package/esm2022/next/models/index.mjs +3 -0
- package/esm2022/next/providers/dotcms-image-loader/dotcms-image_loader.mjs +74 -0
- package/esm2022/next/public_api.mjs +6 -0
- package/esm2022/next/store/dotcms.store.mjs +61 -0
- package/esm2022/public_api.mjs +2 -0
- package/fesm2022/dotcms-angular-next.mjs +1642 -0
- package/fesm2022/dotcms-angular-next.mjs.map +1 -0
- package/fesm2022/dotcms-angular.mjs +97 -4
- package/fesm2022/dotcms-angular.mjs.map +1 -1
- package/index.d.ts +6 -5
- package/lib/{components → deprecated/components}/dot-editable-text/dot-editable-text.component.d.ts +4 -0
- package/lib/deprecated/components/dot-editable-text/dot-editable-text.component.d.ts.map +1 -0
- package/lib/deprecated/components/dot-editable-text/utils.d.ts.map +1 -0
- package/lib/deprecated/components/no-component/no-component.component.d.ts.map +1 -0
- package/lib/deprecated/deprecated-api.d.ts +11 -0
- package/lib/deprecated/deprecated-api.d.ts.map +1 -0
- package/lib/deprecated/layout/column/column.component.d.ts.map +1 -0
- package/lib/deprecated/layout/container/container.component.d.ts.map +1 -0
- package/lib/deprecated/layout/contentlet/contentlet.component.d.ts.map +1 -0
- package/lib/{layout → deprecated/layout}/dotcms-layout/dotcms-layout.component.d.ts +5 -0
- package/lib/deprecated/layout/dotcms-layout/dotcms-layout.component.d.ts.map +1 -0
- package/lib/deprecated/layout/row/row.component.d.ts.map +1 -0
- package/lib/deprecated/models/dotcms.model.d.ts.map +1 -0
- package/lib/deprecated/models/index.d.ts.map +1 -0
- package/lib/{services → deprecated/services}/dotcms-context/page-context.service.d.ts +4 -0
- package/lib/deprecated/services/dotcms-context/page-context.service.d.ts.map +1 -0
- package/lib/deprecated/utils/image_loader.d.ts +21 -0
- package/lib/deprecated/utils/image_loader.d.ts.map +1 -0
- package/lib/deprecated/utils/index.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/blocks/code.component.d.ts +10 -0
- package/next/components/dotcms-block-editor-renderer/blocks/code.component.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/blocks/contentlet.component.d.ts +25 -0
- package/next/components/dotcms-block-editor-renderer/blocks/contentlet.component.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/blocks/image.component.d.ts +9 -0
- package/next/components/dotcms-block-editor-renderer/blocks/image.component.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/blocks/list.component.d.ts +14 -0
- package/next/components/dotcms-block-editor-renderer/blocks/list.component.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/blocks/table.component.d.ts +10 -0
- package/next/components/dotcms-block-editor-renderer/blocks/table.component.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/blocks/text.component.d.ts +27 -0
- package/next/components/dotcms-block-editor-renderer/blocks/text.component.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/blocks/video.components.d.ts +10 -0
- package/next/components/dotcms-block-editor-renderer/blocks/video.components.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.d.ts +37 -0
- package/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.d.ts.map +1 -0
- package/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.d.ts +12 -0
- package/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.d.ts.map +1 -0
- package/next/components/dotcms-editable-text/dotcms-editable-text.component.d.ts +129 -0
- package/next/components/dotcms-editable-text/dotcms-editable-text.component.d.ts.map +1 -0
- package/next/components/dotcms-editable-text/utils.d.ts +7 -0
- package/{lib/components/dot-editable-text → next/components/dotcms-editable-text}/utils.d.ts.map +1 -1
- package/next/components/dotcms-layout-body/components/column/column.component.d.ts +21 -0
- package/next/components/dotcms-layout-body/components/column/column.component.d.ts.map +1 -0
- package/next/components/dotcms-layout-body/components/container/components/container-not-found/container-not-found.component.d.ts +27 -0
- package/next/components/dotcms-layout-body/components/container/components/container-not-found/container-not-found.component.d.ts.map +1 -0
- package/next/components/dotcms-layout-body/components/container/components/empty-container/empty-container.component.d.ts +23 -0
- package/next/components/dotcms-layout-body/components/container/components/empty-container/empty-container.component.d.ts.map +1 -0
- package/next/components/dotcms-layout-body/components/container/container.component.d.ts +31 -0
- package/next/components/dotcms-layout-body/components/container/container.component.d.ts.map +1 -0
- package/next/components/dotcms-layout-body/components/contentlet/contentlet.component.d.ts +47 -0
- package/next/components/dotcms-layout-body/components/contentlet/contentlet.component.d.ts.map +1 -0
- package/next/components/dotcms-layout-body/components/fallback-component/fallback-component.component.d.ts +16 -0
- package/next/components/dotcms-layout-body/components/fallback-component/fallback-component.component.d.ts.map +1 -0
- package/next/components/dotcms-layout-body/components/page-error-message/page-error-message.component.d.ts +13 -0
- package/next/components/dotcms-layout-body/components/page-error-message/page-error-message.component.d.ts.map +1 -0
- package/next/components/dotcms-layout-body/components/row/row.component.d.ts +22 -0
- package/next/components/dotcms-layout-body/components/row/row.component.d.ts.map +1 -0
- package/next/components/dotcms-layout-body/dotcms-layout-body.component.d.ts +30 -0
- package/next/components/dotcms-layout-body/dotcms-layout-body.component.d.ts.map +1 -0
- package/next/directives/dotcms-show-when/dotcms-show-when.directive.d.ts +21 -0
- package/next/directives/dotcms-show-when/dotcms-show-when.directive.d.ts.map +1 -0
- package/next/dotcms-angular-next.d.ts.map +1 -0
- package/next/index.d.ts +6 -0
- package/next/models/index.d.ts +39 -0
- package/next/models/index.d.ts.map +1 -0
- package/next/providers/dotcms-image-loader/dotcms-image_loader.d.ts +21 -0
- package/next/providers/dotcms-image-loader/dotcms-image_loader.d.ts.map +1 -0
- package/next/public_api.d.ts +6 -0
- package/next/public_api.d.ts.map +1 -0
- package/next/store/dotcms.store.d.ts +36 -0
- package/next/store/dotcms.store.d.ts.map +1 -0
- package/package.json +9 -2
- package/public_api.d.ts +2 -0
- package/public_api.d.ts.map +1 -0
- package/esm2022/index.mjs +0 -5
- package/esm2022/lib/components/dot-editable-text/dot-editable-text.component.mjs +0 -225
- package/esm2022/lib/components/no-component/no-component.component.mjs +0 -32
- package/esm2022/lib/layout/container/container.component.mjs +0 -126
- package/esm2022/lib/layout/contentlet/contentlet.component.mjs +0 -120
- package/esm2022/lib/layout/dotcms-layout/dotcms-layout.component.mjs +0 -100
- package/esm2022/lib/models/dotcms.model.mjs +0 -3
- package/esm2022/lib/models/index.mjs +0 -3
- package/esm2022/lib/services/dotcms-context/page-context.service.mjs +0 -75
- package/esm2022/lib/utils/index.mjs +0 -84
- package/index.d.ts.map +0 -1
- package/lib/components/dot-editable-text/dot-editable-text.component.d.ts.map +0 -1
- package/lib/components/no-component/no-component.component.d.ts.map +0 -1
- package/lib/layout/column/column.component.d.ts.map +0 -1
- package/lib/layout/container/container.component.d.ts.map +0 -1
- package/lib/layout/contentlet/contentlet.component.d.ts.map +0 -1
- package/lib/layout/dotcms-layout/dotcms-layout.component.d.ts.map +0 -1
- package/lib/layout/row/row.component.d.ts.map +0 -1
- package/lib/models/dotcms.model.d.ts.map +0 -1
- package/lib/models/index.d.ts.map +0 -1
- package/lib/services/dotcms-context/page-context.service.d.ts.map +0 -1
- package/lib/utils/index.d.ts.map +0 -1
- /package/lib/{components → deprecated/components}/dot-editable-text/utils.d.ts +0 -0
- /package/lib/{components → deprecated/components}/no-component/no-component.component.d.ts +0 -0
- /package/lib/{layout → deprecated/layout}/column/column.component.d.ts +0 -0
- /package/lib/{layout → deprecated/layout}/container/container.component.d.ts +0 -0
- /package/lib/{layout → deprecated/layout}/contentlet/contentlet.component.d.ts +0 -0
- /package/lib/{layout → deprecated/layout}/row/row.component.d.ts +0 -0
- /package/lib/{models → deprecated/models}/dotcms.model.d.ts +0 -0
- /package/lib/{models → deprecated/models}/index.d.ts +0 -0
- /package/lib/{utils → deprecated/utils}/index.d.ts +0 -0
package/esm2022/next/components/dotcms-layout-body/components/container/container.component.mjs
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, HostBinding, inject, Input, signal } from '@angular/core';
|
|
2
|
+
import { getContainersData, getContentletsInContainer, getDotContainerAttributes } from '@dotcms/uve/internal';
|
|
3
|
+
import { ContainerNotFoundComponent } from './components/container-not-found/container-not-found.component';
|
|
4
|
+
import { EmptyContainerComponent } from './components/empty-container/empty-container.component';
|
|
5
|
+
import { DotCMSStore } from '../../../../store/dotcms.store';
|
|
6
|
+
import { ContentletComponent } from '../../components/contentlet/contentlet.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* @description This component renders a container with all its content using the layout provided by dotCMS Page API.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link https://www.dotcms.com/docs/latest/page-rest-api-layout-as-a-service-laas}
|
|
12
|
+
* @category Components
|
|
13
|
+
* @internal
|
|
14
|
+
* @class ContainerComponent
|
|
15
|
+
*/
|
|
16
|
+
export class ContainerComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.#dotCMSStore = inject(DotCMSStore);
|
|
19
|
+
this.$containerData = signal(null);
|
|
20
|
+
this.$contentlets = signal([]);
|
|
21
|
+
this.$isEmpty = computed(() => this.$contentlets().length === 0);
|
|
22
|
+
this.$dotAttributes = computed(() => {
|
|
23
|
+
const containerData = this.$containerData();
|
|
24
|
+
if (!containerData || !this.#dotCMSStore.$isDevMode()) {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
return getDotContainerAttributes(containerData);
|
|
28
|
+
});
|
|
29
|
+
this.dotObject = 'container';
|
|
30
|
+
this.acceptTypes = null;
|
|
31
|
+
this.identifier = null;
|
|
32
|
+
this.maxContentlets = null;
|
|
33
|
+
this.uuid = null;
|
|
34
|
+
}
|
|
35
|
+
#dotCMSStore;
|
|
36
|
+
ngOnChanges() {
|
|
37
|
+
const { page } = this.#dotCMSStore.store ?? {};
|
|
38
|
+
if (!page) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.$containerData.set(getContainersData(page, this.container));
|
|
42
|
+
this.$contentlets.set(getContentletsInContainer(page, this.container));
|
|
43
|
+
this.acceptTypes = this.$dotAttributes()['data-dot-accept-types'];
|
|
44
|
+
this.identifier = this.$dotAttributes()['data-dot-identifier'];
|
|
45
|
+
this.maxContentlets = this.$dotAttributes()['data-max-contentlets'];
|
|
46
|
+
this.uuid = this.$dotAttributes()['data-dot-uuid'];
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: ContainerComponent, isStandalone: true, selector: "dotcms-container", inputs: { container: "container" }, host: { properties: { "attr.data-dot-object": "this.dotObject", "attr.data-dot-accept-types": "this.acceptTypes", "attr.data-dot-identifier": "this.identifier", "attr.data-max-contentlets": "this.maxContentlets", "attr.data-dot-uuid": "this.uuid" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
50
|
+
@if (!$containerData()) {
|
|
51
|
+
<dotcms-container-not-found [identifier]="container.identifier" />
|
|
52
|
+
} @else if ($isEmpty()) {
|
|
53
|
+
<dotcms-empty-container />
|
|
54
|
+
} @else {
|
|
55
|
+
@for (contentlet of $contentlets(); track contentlet.identifier) {
|
|
56
|
+
<dotcms-contentlet [contentlet]="contentlet" [container]="container.identifier" />
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ContainerNotFoundComponent, selector: "dotcms-container-not-found", inputs: ["identifier"] }, { kind: "component", type: EmptyContainerComponent, selector: "dotcms-empty-container" }, { kind: "component", type: ContentletComponent, selector: "dotcms-contentlet", inputs: ["contentlet", "container"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ContainerComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{
|
|
64
|
+
selector: 'dotcms-container',
|
|
65
|
+
standalone: true,
|
|
66
|
+
imports: [ContainerNotFoundComponent, EmptyContainerComponent, ContentletComponent],
|
|
67
|
+
template: `
|
|
68
|
+
@if (!$containerData()) {
|
|
69
|
+
<dotcms-container-not-found [identifier]="container.identifier" />
|
|
70
|
+
} @else if ($isEmpty()) {
|
|
71
|
+
<dotcms-empty-container />
|
|
72
|
+
} @else {
|
|
73
|
+
@for (contentlet of $contentlets(); track contentlet.identifier) {
|
|
74
|
+
<dotcms-contentlet [contentlet]="contentlet" [container]="container.identifier" />
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
`,
|
|
78
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
79
|
+
}]
|
|
80
|
+
}], propDecorators: { container: [{
|
|
81
|
+
type: Input,
|
|
82
|
+
args: [{ required: true }]
|
|
83
|
+
}], dotObject: [{
|
|
84
|
+
type: HostBinding,
|
|
85
|
+
args: ['attr.data-dot-object']
|
|
86
|
+
}], acceptTypes: [{
|
|
87
|
+
type: HostBinding,
|
|
88
|
+
args: ['attr.data-dot-accept-types']
|
|
89
|
+
}], identifier: [{
|
|
90
|
+
type: HostBinding,
|
|
91
|
+
args: ['attr.data-dot-identifier']
|
|
92
|
+
}], maxContentlets: [{
|
|
93
|
+
type: HostBinding,
|
|
94
|
+
args: ['attr.data-max-contentlets']
|
|
95
|
+
}], uuid: [{
|
|
96
|
+
type: HostBinding,
|
|
97
|
+
args: ['attr.data-dot-uuid']
|
|
98
|
+
}] } });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvbmV4dC9jb21wb25lbnRzL2RvdGNtcy1sYXlvdXQtYm9keS9jb21wb25lbnRzL2NvbnRhaW5lci9jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQzVCLE1BQU0sc0JBQXNCLENBQUM7QUFROUIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDNUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQUV2Rjs7Ozs7OztHQU9HO0FBa0JILE1BQU0sT0FBTyxrQkFBa0I7SUFqQi9CO1FBdUJJLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DLG1CQUFjLEdBQUcsTUFBTSxDQUErQixJQUFJLENBQUMsQ0FBQztRQUM1RCxpQkFBWSxHQUFHLE1BQU0sQ0FBcUIsRUFBRSxDQUFDLENBQUM7UUFDOUMsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVELG1CQUFjLEdBQUcsUUFBUSxDQUF5QixHQUFHLEVBQUU7WUFDbkQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRTVDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BELE9BQU8sRUFBNEIsQ0FBQztZQUN4QyxDQUFDO1lBRUQsT0FBTyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVrQyxjQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ2xCLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNwQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNoQyxtQkFBYyxHQUFrQixJQUFJLENBQUM7UUFDNUMsU0FBSSxHQUFrQixJQUFJLENBQUM7S0FpQmpFO0lBcENHLFlBQVksQ0FBdUI7SUFxQm5DLFdBQVc7UUFDUCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUV2RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQXpDUSxrQkFBa0I7a0dBQWxCLGtCQUFrQixpWUFiakI7Ozs7Ozs7Ozs7S0FVVCw0REFYUywwQkFBMEIsK0ZBQUUsdUJBQXVCLG1FQUFFLG1CQUFtQjs7MkZBY3pFLGtCQUFrQjtrQkFqQjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixDQUFDO29CQUNuRixRQUFRLEVBQUU7Ozs7Ozs7Ozs7S0FVVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBSzhCLFNBQVM7c0JBQW5DLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQWlCWSxTQUFTO3NCQUE3QyxXQUFXO3VCQUFDLHNCQUFzQjtnQkFDUSxXQUFXO3NCQUFyRCxXQUFXO3VCQUFDLDRCQUE0QjtnQkFDQSxVQUFVO3NCQUFsRCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFDRyxjQUFjO3NCQUF2RCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFDTCxJQUFJO3NCQUF0QyxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIGdldENvbnRhaW5lcnNEYXRhLFxuICAgIGdldENvbnRlbnRsZXRzSW5Db250YWluZXIsXG4gICAgZ2V0RG90Q29udGFpbmVyQXR0cmlidXRlc1xufSBmcm9tICdAZG90Y21zL3V2ZS9pbnRlcm5hbCc7XG5pbXBvcnQge1xuICAgIERvdENNU0NvbHVtbkNvbnRhaW5lcixcbiAgICBEb3RDTVNDb250ZW50bGV0LFxuICAgIERvdENvbnRhaW5lckF0dHJpYnV0ZXMsXG4gICAgRWRpdGFibGVDb250YWluZXJEYXRhXG59IGZyb20gJ0Bkb3RjbXMvdXZlL3R5cGVzJztcblxuaW1wb3J0IHsgQ29udGFpbmVyTm90Rm91bmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGFpbmVyLW5vdC1mb3VuZC9jb250YWluZXItbm90LWZvdW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbXB0eS1jb250YWluZXIvZW1wdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IERvdENNU1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvZG90Y21zLnN0b3JlJztcbmltcG9ydCB7IENvbnRlbnRsZXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbnRlbnRsZXQvY29udGVudGxldC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGNvbXBvbmVudCByZW5kZXJzIGEgY29udGFpbmVyIHdpdGggYWxsIGl0cyBjb250ZW50IHVzaW5nIHRoZSBsYXlvdXQgcHJvdmlkZWQgYnkgZG90Q01TIFBhZ2UgQVBJLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vd3d3LmRvdGNtcy5jb20vZG9jcy9sYXRlc3QvcGFnZS1yZXN0LWFwaS1sYXlvdXQtYXMtYS1zZXJ2aWNlLWxhYXN9XG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICogQGludGVybmFsXG4gKiBAY2xhc3MgQ29udGFpbmVyQ29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZG90Y21zLWNvbnRhaW5lcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29udGFpbmVyTm90Rm91bmRDb21wb25lbnQsIEVtcHR5Q29udGFpbmVyQ29tcG9uZW50LCBDb250ZW50bGV0Q29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYgKCEkY29udGFpbmVyRGF0YSgpKSB7XG4gICAgICAgICAgICA8ZG90Y21zLWNvbnRhaW5lci1ub3QtZm91bmQgW2lkZW50aWZpZXJdPVwiY29udGFpbmVyLmlkZW50aWZpZXJcIiAvPlxuICAgICAgICB9IEBlbHNlIGlmICgkaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICA8ZG90Y21zLWVtcHR5LWNvbnRhaW5lciAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBmb3IgKGNvbnRlbnRsZXQgb2YgJGNvbnRlbnRsZXRzKCk7IHRyYWNrIGNvbnRlbnRsZXQuaWRlbnRpZmllcikge1xuICAgICAgICAgICAgICAgIDxkb3RjbXMtY29udGVudGxldCBbY29udGVudGxldF09XCJjb250ZW50bGV0XCIgW2NvbnRhaW5lcl09XCJjb250YWluZXIuaWRlbnRpZmllclwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRhaW5lciBkYXRhIHRvIGJlIHJlbmRlcmVkXG4gICAgICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29udGFpbmVyITogRG90Q01TQ29sdW1uQ29udGFpbmVyO1xuXG4gICAgI2RvdENNU1N0b3JlID0gaW5qZWN0KERvdENNU1N0b3JlKTtcblxuICAgICRjb250YWluZXJEYXRhID0gc2lnbmFsPEVkaXRhYmxlQ29udGFpbmVyRGF0YSB8IG51bGw+KG51bGwpO1xuICAgICRjb250ZW50bGV0cyA9IHNpZ25hbDxEb3RDTVNDb250ZW50bGV0W10+KFtdKTtcbiAgICAkaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuJGNvbnRlbnRsZXRzKCkubGVuZ3RoID09PSAwKTtcbiAgICAkZG90QXR0cmlidXRlcyA9IGNvbXB1dGVkPERvdENvbnRhaW5lckF0dHJpYnV0ZXM+KCgpID0+IHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyRGF0YSA9IHRoaXMuJGNvbnRhaW5lckRhdGEoKTtcblxuICAgICAgICBpZiAoIWNvbnRhaW5lckRhdGEgfHwgIXRoaXMuI2RvdENNU1N0b3JlLiRpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHt9IGFzIERvdENvbnRhaW5lckF0dHJpYnV0ZXM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0RG90Q29udGFpbmVyQXR0cmlidXRlcyhjb250YWluZXJEYXRhKTtcbiAgICB9KTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC1vYmplY3QnKSBkb3RPYmplY3QgPSAnY29udGFpbmVyJztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3QtYWNjZXB0LXR5cGVzJykgYWNjZXB0VHlwZXM6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC1pZGVudGlmaWVyJykgaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbWF4LWNvbnRlbnRsZXRzJykgbWF4Q29udGVudGxldHM6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC11dWlkJykgdXVpZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgY29uc3QgeyBwYWdlIH0gPSB0aGlzLiNkb3RDTVNTdG9yZS5zdG9yZSA/PyB7fTtcblxuICAgICAgICBpZiAoIXBhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuJGNvbnRhaW5lckRhdGEuc2V0KGdldENvbnRhaW5lcnNEYXRhKHBhZ2UsIHRoaXMuY29udGFpbmVyKSk7XG4gICAgICAgIHRoaXMuJGNvbnRlbnRsZXRzLnNldChnZXRDb250ZW50bGV0c0luQ29udGFpbmVyKHBhZ2UsIHRoaXMuY29udGFpbmVyKSk7XG5cbiAgICAgICAgdGhpcy5hY2NlcHRUeXBlcyA9IHRoaXMuJGRvdEF0dHJpYnV0ZXMoKVsnZGF0YS1kb3QtYWNjZXB0LXR5cGVzJ107XG4gICAgICAgIHRoaXMuaWRlbnRpZmllciA9IHRoaXMuJGRvdEF0dHJpYnV0ZXMoKVsnZGF0YS1kb3QtaWRlbnRpZmllciddO1xuICAgICAgICB0aGlzLm1heENvbnRlbnRsZXRzID0gdGhpcy4kZG90QXR0cmlidXRlcygpWydkYXRhLW1heC1jb250ZW50bGV0cyddO1xuICAgICAgICB0aGlzLnV1aWQgPSB0aGlzLiRkb3RBdHRyaWJ1dGVzKClbJ2RhdGEtZG90LXV1aWQnXTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/next/components/dotcms-layout-body/components/contentlet/contentlet.component.mjs
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { AsyncPipe, NgComponentOutlet } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, Input, HostBinding, signal, ViewChild } from '@angular/core';
|
|
3
|
+
import { CUSTOM_NO_COMPONENT, getDotContentletAttributes } from '@dotcms/uve/internal';
|
|
4
|
+
import { DotCMSStore } from '../../../../store/dotcms.store';
|
|
5
|
+
import { FallbackComponent } from '../fallback-component/fallback-component.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* @description Contentlet component that renders DotCMS content with development mode support
|
|
9
|
+
*
|
|
10
|
+
* @component
|
|
11
|
+
* @param {DotCMSContentlet} contentlet - The contentlet to be rendered
|
|
12
|
+
* @param {string} container - The container identifier
|
|
13
|
+
* @class ContentletComponent
|
|
14
|
+
*/
|
|
15
|
+
export class ContentletComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.dotObject = 'contentlet';
|
|
18
|
+
this.#dotCMSStore = inject(DotCMSStore);
|
|
19
|
+
this.$contentlet = signal(null);
|
|
20
|
+
this.$UserComponent = signal(null);
|
|
21
|
+
this.$UserNoComponent = signal(null);
|
|
22
|
+
this.$isDevMode = this.#dotCMSStore.$isDevMode;
|
|
23
|
+
this.$haveContent = signal(false);
|
|
24
|
+
this.$style = computed(() => this.$isDevMode() && !this.$haveContent() ? { minHeight: '4rem' } : {});
|
|
25
|
+
this.$dotAttributes = computed(() => {
|
|
26
|
+
const contentlet = this.$contentlet();
|
|
27
|
+
if (!contentlet || !this.$isDevMode())
|
|
28
|
+
return {};
|
|
29
|
+
return getDotContentletAttributes(contentlet, this.container);
|
|
30
|
+
});
|
|
31
|
+
this.identifier = null;
|
|
32
|
+
this.basetype = null;
|
|
33
|
+
this.title = null;
|
|
34
|
+
this.inode = null;
|
|
35
|
+
this.type = null;
|
|
36
|
+
this.containerAttribute = null;
|
|
37
|
+
this.onNumberOfPages = null;
|
|
38
|
+
this.styleAttribute = null;
|
|
39
|
+
}
|
|
40
|
+
#dotCMSStore;
|
|
41
|
+
ngOnChanges() {
|
|
42
|
+
this.$contentlet.set(this.contentlet);
|
|
43
|
+
this.setupComponents();
|
|
44
|
+
this.identifier = this.$dotAttributes()['data-dot-identifier'];
|
|
45
|
+
this.basetype = this.$dotAttributes()['data-dot-basetype'];
|
|
46
|
+
this.title = this.$dotAttributes()['data-dot-title'];
|
|
47
|
+
this.inode = this.$dotAttributes()['data-dot-inode'];
|
|
48
|
+
this.type = this.$dotAttributes()['data-dot-type'];
|
|
49
|
+
this.containerAttribute = this.$dotAttributes()['data-dot-container'];
|
|
50
|
+
this.onNumberOfPages = this.$dotAttributes()['data-dot-on-number-of-pages'];
|
|
51
|
+
this.styleAttribute = this.$style();
|
|
52
|
+
}
|
|
53
|
+
ngAfterViewInit() {
|
|
54
|
+
this.checkContent();
|
|
55
|
+
}
|
|
56
|
+
setupComponents() {
|
|
57
|
+
const store = this.#dotCMSStore.store;
|
|
58
|
+
if (!store)
|
|
59
|
+
return;
|
|
60
|
+
if (!store?.components)
|
|
61
|
+
return;
|
|
62
|
+
this.$UserComponent.set(store.components[this.contentlet?.contentType]);
|
|
63
|
+
this.$UserNoComponent.set(store.components[CUSTOM_NO_COMPONENT]);
|
|
64
|
+
}
|
|
65
|
+
checkContent() {
|
|
66
|
+
const element = this.contentletRef?.nativeElement;
|
|
67
|
+
if (element) {
|
|
68
|
+
const hasContent = element.getBoundingClientRect().height > 0;
|
|
69
|
+
this.$haveContent.set(hasContent);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ContentletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: ContentletComponent, isStandalone: true, selector: "dotcms-contentlet", inputs: { contentlet: "contentlet", container: "container" }, host: { properties: { "attr.data-dot-object": "this.dotObject", "attr.data-dot-identifier": "this.identifier", "attr.data-dot-basetype": "this.basetype", "attr.data-dot-title": "this.title", "attr.data-dot-inode": "this.inode", "attr.data-dot-type": "this.type", "attr.data-dot-container": "this.containerAttribute", "attr.data-dot-on-number-of-pages": "this.onNumberOfPages", "style": "this.styleAttribute" } }, viewQueries: [{ propertyName: "contentletRef", first: true, predicate: ["contentletRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
74
|
+
@if ($UserComponent()) {
|
|
75
|
+
<ng-container
|
|
76
|
+
*ngComponentOutlet="
|
|
77
|
+
$UserComponent() | async;
|
|
78
|
+
inputs: { contentlet: $contentlet() ?? contentlet }
|
|
79
|
+
" />
|
|
80
|
+
} @else if ($isDevMode()) {
|
|
81
|
+
<dotcms-fallback-component
|
|
82
|
+
[UserNoComponent]="$UserNoComponent()"
|
|
83
|
+
[contentlet]="$contentlet() ?? contentlet" />
|
|
84
|
+
}
|
|
85
|
+
`, isInline: true, dependencies: [{ kind: "component", type: FallbackComponent, selector: "dotcms-fallback-component", inputs: ["UserNoComponent", "contentlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
|
+
}
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ContentletComponent, decorators: [{
|
|
88
|
+
type: Component,
|
|
89
|
+
args: [{
|
|
90
|
+
selector: 'dotcms-contentlet',
|
|
91
|
+
standalone: true,
|
|
92
|
+
imports: [FallbackComponent, AsyncPipe, NgComponentOutlet],
|
|
93
|
+
template: `
|
|
94
|
+
@if ($UserComponent()) {
|
|
95
|
+
<ng-container
|
|
96
|
+
*ngComponentOutlet="
|
|
97
|
+
$UserComponent() | async;
|
|
98
|
+
inputs: { contentlet: $contentlet() ?? contentlet }
|
|
99
|
+
" />
|
|
100
|
+
} @else if ($isDevMode()) {
|
|
101
|
+
<dotcms-fallback-component
|
|
102
|
+
[UserNoComponent]="$UserNoComponent()"
|
|
103
|
+
[contentlet]="$contentlet() ?? contentlet" />
|
|
104
|
+
}
|
|
105
|
+
`,
|
|
106
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
107
|
+
}]
|
|
108
|
+
}], propDecorators: { contentlet: [{
|
|
109
|
+
type: Input,
|
|
110
|
+
args: [{ required: true }]
|
|
111
|
+
}], container: [{
|
|
112
|
+
type: Input,
|
|
113
|
+
args: [{ required: true }]
|
|
114
|
+
}], contentletRef: [{
|
|
115
|
+
type: ViewChild,
|
|
116
|
+
args: ['contentletRef']
|
|
117
|
+
}], dotObject: [{
|
|
118
|
+
type: HostBinding,
|
|
119
|
+
args: ['attr.data-dot-object']
|
|
120
|
+
}], identifier: [{
|
|
121
|
+
type: HostBinding,
|
|
122
|
+
args: ['attr.data-dot-identifier']
|
|
123
|
+
}], basetype: [{
|
|
124
|
+
type: HostBinding,
|
|
125
|
+
args: ['attr.data-dot-basetype']
|
|
126
|
+
}], title: [{
|
|
127
|
+
type: HostBinding,
|
|
128
|
+
args: ['attr.data-dot-title']
|
|
129
|
+
}], inode: [{
|
|
130
|
+
type: HostBinding,
|
|
131
|
+
args: ['attr.data-dot-inode']
|
|
132
|
+
}], type: [{
|
|
133
|
+
type: HostBinding,
|
|
134
|
+
args: ['attr.data-dot-type']
|
|
135
|
+
}], containerAttribute: [{
|
|
136
|
+
type: HostBinding,
|
|
137
|
+
args: ['attr.data-dot-container']
|
|
138
|
+
}], onNumberOfPages: [{
|
|
139
|
+
type: HostBinding,
|
|
140
|
+
args: ['attr.data-dot-on-number-of-pages']
|
|
141
|
+
}], styleAttribute: [{
|
|
142
|
+
type: HostBinding,
|
|
143
|
+
args: ['style']
|
|
144
|
+
}] } });
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGxldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL25leHQvY29tcG9uZW50cy9kb3RjbXMtbGF5b3V0LWJvZHkvY29tcG9uZW50cy9jb250ZW50bGV0L2NvbnRlbnRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsV0FBVyxFQUNYLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOztBQUV2Rjs7Ozs7OztHQU9HO0FBb0JILE1BQU0sT0FBTyxtQkFBbUI7SUFuQmhDO1FBdUJ5QyxjQUFTLEdBQUcsWUFBWSxDQUFDO1FBRTlELGlCQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DLGdCQUFXLEdBQUcsTUFBTSxDQUEwQixJQUFJLENBQUMsQ0FBQztRQUNwRCxtQkFBYyxHQUFHLE1BQU0sQ0FBZ0MsSUFBSSxDQUFDLENBQUM7UUFDN0QscUJBQWdCLEdBQUcsTUFBTSxDQUFnQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxlQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDMUMsaUJBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDbkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN6RSxDQUFDO1FBQ0YsbUJBQWMsR0FBRyxRQUFRLENBQTBCLEdBQUcsRUFBRTtZQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQUUsT0FBTyxFQUE2QixDQUFDO1lBRTVFLE9BQU8sMEJBQTBCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztRQUVzQyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNuQyxhQUFRLEdBQWtCLElBQUksQ0FBQztRQUNsQyxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM3QixTQUFJLEdBQWtCLElBQUksQ0FBQztRQUN0Qix1QkFBa0IsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLG9CQUFlLEdBQWtCLElBQUksQ0FBQztRQUNqRSxtQkFBYyxHQUFzQyxJQUFJLENBQUM7S0FxQ2xGO0lBN0RHLFlBQVksQ0FBdUI7SUEwQm5DLFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGVBQWU7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRW5CLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVTtZQUFFLE9BQU87UUFFL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sWUFBWTtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQztRQUNsRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0wsQ0FBQzs4R0FsRVEsbUJBQW1CO2tHQUFuQixtQkFBbUIsNnFCQWZsQjs7Ozs7Ozs7Ozs7O0tBWVQsNERBYlMsaUJBQWlCLDRHQUFFLFNBQVMsOENBQUUsaUJBQWlCOzsyRkFnQmhELG1CQUFtQjtrQkFuQi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQztvQkFDMUQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7S0FZVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBRThCLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFNBQVM7c0JBQW5DLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNHLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDVyxTQUFTO3NCQUE3QyxXQUFXO3VCQUFDLHNCQUFzQjtnQkFtQk0sVUFBVTtzQkFBbEQsV0FBVzt1QkFBQywwQkFBMEI7Z0JBQ0EsUUFBUTtzQkFBOUMsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0QsS0FBSztzQkFBeEMsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ0UsS0FBSztzQkFBeEMsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ0MsSUFBSTtzQkFBdEMsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ08sa0JBQWtCO3NCQUF6RCxXQUFXO3VCQUFDLHlCQUF5QjtnQkFDVyxlQUFlO3NCQUEvRCxXQUFXO3VCQUFDLGtDQUFrQztnQkFDekIsY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ1VTVE9NX05PX0NPTVBPTkVOVCwgZ2V0RG90Q29udGVudGxldEF0dHJpYnV0ZXMgfSBmcm9tICdAZG90Y21zL3V2ZS9pbnRlcm5hbCc7XG5pbXBvcnQgeyBEb3RDTVNDb250ZW50bGV0LCBEb3RDb250ZW50bGV0QXR0cmlidXRlcyB9IGZyb20gJ0Bkb3RjbXMvdXZlL3R5cGVzJztcblxuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudEVudGl0eSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBEb3RDTVNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2RvdGNtcy5zdG9yZSc7XG5pbXBvcnQgeyBGYWxsYmFja0NvbXBvbmVudCB9IGZyb20gJy4uL2ZhbGxiYWNrLWNvbXBvbmVudC9mYWxsYmFjay1jb21wb25lbnQuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29udGVudGxldCBjb21wb25lbnQgdGhhdCByZW5kZXJzIERvdENNUyBjb250ZW50IHdpdGggZGV2ZWxvcG1lbnQgbW9kZSBzdXBwb3J0XG4gKlxuICogQGNvbXBvbmVudFxuICogQHBhcmFtIHtEb3RDTVNDb250ZW50bGV0fSBjb250ZW50bGV0IC0gVGhlIGNvbnRlbnRsZXQgdG8gYmUgcmVuZGVyZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb250YWluZXIgLSBUaGUgY29udGFpbmVyIGlkZW50aWZpZXJcbiAqIEBjbGFzcyBDb250ZW50bGV0Q29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZG90Y21zLWNvbnRlbnRsZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ZhbGxiYWNrQ29tcG9uZW50LCBBc3luY1BpcGUsIE5nQ29tcG9uZW50T3V0bGV0XSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYgKCRVc2VyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgJFVzZXJDb21wb25lbnQoKSB8IGFzeW5jO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHsgY29udGVudGxldDogJGNvbnRlbnRsZXQoKSA/PyBjb250ZW50bGV0IH1cbiAgICAgICAgICAgICAgICBcIiAvPlxuICAgICAgICB9IEBlbHNlIGlmICgkaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIDxkb3RjbXMtZmFsbGJhY2stY29tcG9uZW50XG4gICAgICAgICAgICAgICAgW1VzZXJOb0NvbXBvbmVudF09XCIkVXNlck5vQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgIFtjb250ZW50bGV0XT1cIiRjb250ZW50bGV0KCkgPz8gY29udGVudGxldFwiIC8+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRsZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbnRlbnRsZXQhOiBEb3RDTVNDb250ZW50bGV0O1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbnRhaW5lciE6IHN0cmluZztcbiAgICBAVmlld0NoaWxkKCdjb250ZW50bGV0UmVmJykgY29udGVudGxldFJlZiE6IEVsZW1lbnRSZWY7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtZG90LW9iamVjdCcpIGRvdE9iamVjdCA9ICdjb250ZW50bGV0JztcblxuICAgICNkb3RDTVNTdG9yZSA9IGluamVjdChEb3RDTVNTdG9yZSk7XG5cbiAgICAkY29udGVudGxldCA9IHNpZ25hbDxEb3RDTVNDb250ZW50bGV0IHwgbnVsbD4obnVsbCk7XG4gICAgJFVzZXJDb21wb25lbnQgPSBzaWduYWw8RHluYW1pY0NvbXBvbmVudEVudGl0eSB8IG51bGw+KG51bGwpO1xuICAgICRVc2VyTm9Db21wb25lbnQgPSBzaWduYWw8RHluYW1pY0NvbXBvbmVudEVudGl0eSB8IG51bGw+KG51bGwpO1xuICAgICRpc0Rldk1vZGUgPSB0aGlzLiNkb3RDTVNTdG9yZS4kaXNEZXZNb2RlO1xuICAgICRoYXZlQ29udGVudCA9IHNpZ25hbChmYWxzZSk7XG4gICAgJHN0eWxlID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy4kaXNEZXZNb2RlKCkgJiYgIXRoaXMuJGhhdmVDb250ZW50KCkgPyB7IG1pbkhlaWdodDogJzRyZW0nIH0gOiB7fVxuICAgICk7XG4gICAgJGRvdEF0dHJpYnV0ZXMgPSBjb21wdXRlZDxEb3RDb250ZW50bGV0QXR0cmlidXRlcz4oKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZW50bGV0ID0gdGhpcy4kY29udGVudGxldCgpO1xuICAgICAgICBpZiAoIWNvbnRlbnRsZXQgfHwgIXRoaXMuJGlzRGV2TW9kZSgpKSByZXR1cm4ge30gYXMgRG90Q29udGVudGxldEF0dHJpYnV0ZXM7XG5cbiAgICAgICAgcmV0dXJuIGdldERvdENvbnRlbnRsZXRBdHRyaWJ1dGVzKGNvbnRlbnRsZXQsIHRoaXMuY29udGFpbmVyKTtcbiAgICB9KTtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC1pZGVudGlmaWVyJykgaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtZG90LWJhc2V0eXBlJykgYmFzZXR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC10aXRsZScpIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3QtaW5vZGUnKSBpbm9kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtZG90LXR5cGUnKSB0eXBlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3QtY29udGFpbmVyJykgY29udGFpbmVyQXR0cmlidXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3Qtb24tbnVtYmVyLW9mLXBhZ2VzJykgb25OdW1iZXJPZlBhZ2VzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgc3R5bGVBdHRyaWJ1dGU6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9IHwgbnVsbCA9IG51bGw7XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy4kY29udGVudGxldC5zZXQodGhpcy5jb250ZW50bGV0KTtcbiAgICAgICAgdGhpcy5zZXR1cENvbXBvbmVudHMoKTtcblxuICAgICAgICB0aGlzLmlkZW50aWZpZXIgPSB0aGlzLiRkb3RBdHRyaWJ1dGVzKClbJ2RhdGEtZG90LWlkZW50aWZpZXInXTtcbiAgICAgICAgdGhpcy5iYXNldHlwZSA9IHRoaXMuJGRvdEF0dHJpYnV0ZXMoKVsnZGF0YS1kb3QtYmFzZXR5cGUnXTtcbiAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuJGRvdEF0dHJpYnV0ZXMoKVsnZGF0YS1kb3QtdGl0bGUnXTtcbiAgICAgICAgdGhpcy5pbm9kZSA9IHRoaXMuJGRvdEF0dHJpYnV0ZXMoKVsnZGF0YS1kb3QtaW5vZGUnXTtcbiAgICAgICAgdGhpcy50eXBlID0gdGhpcy4kZG90QXR0cmlidXRlcygpWydkYXRhLWRvdC10eXBlJ107XG4gICAgICAgIHRoaXMuY29udGFpbmVyQXR0cmlidXRlID0gdGhpcy4kZG90QXR0cmlidXRlcygpWydkYXRhLWRvdC1jb250YWluZXInXTtcbiAgICAgICAgdGhpcy5vbk51bWJlck9mUGFnZXMgPSB0aGlzLiRkb3RBdHRyaWJ1dGVzKClbJ2RhdGEtZG90LW9uLW51bWJlci1vZi1wYWdlcyddO1xuICAgICAgICB0aGlzLnN0eWxlQXR0cmlidXRlID0gdGhpcy4kc3R5bGUoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY2hlY2tDb250ZW50KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cENvbXBvbmVudHMoKSB7XG4gICAgICAgIGNvbnN0IHN0b3JlID0gdGhpcy4jZG90Q01TU3RvcmUuc3RvcmU7XG4gICAgICAgIGlmICghc3RvcmUpIHJldHVybjtcblxuICAgICAgICBpZiAoIXN0b3JlPy5jb21wb25lbnRzKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy4kVXNlckNvbXBvbmVudC5zZXQoc3RvcmUuY29tcG9uZW50c1t0aGlzLmNvbnRlbnRsZXQ/LmNvbnRlbnRUeXBlXSk7XG4gICAgICAgIHRoaXMuJFVzZXJOb0NvbXBvbmVudC5zZXQoc3RvcmUuY29tcG9uZW50c1tDVVNUT01fTk9fQ09NUE9ORU5UXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0NvbnRlbnQoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNvbnRlbnRsZXRSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBoYXNDb250ZW50ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgPiAwO1xuICAgICAgICAgICAgdGhpcy4kaGF2ZUNvbnRlbnQuc2V0KGhhc0NvbnRlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { AsyncPipe, NgComponentOutlet } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @description Fallback component that renders when no custom component is found for a contentlet
|
|
6
|
+
* @category Components
|
|
7
|
+
* @internal
|
|
8
|
+
* @class FallbackComponent
|
|
9
|
+
*/
|
|
10
|
+
export class FallbackComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.UserNoComponent = null;
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FallbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: FallbackComponent, isStandalone: true, selector: "dotcms-fallback-component", inputs: { UserNoComponent: "UserNoComponent", contentlet: "contentlet" }, ngImport: i0, template: `
|
|
16
|
+
@if (UserNoComponent) {
|
|
17
|
+
<ng-container *ngComponentOutlet="UserNoComponent | async; inputs: { contentlet }" />
|
|
18
|
+
} @else {
|
|
19
|
+
<div data-testid="dotcms-fallback-component">
|
|
20
|
+
<p>No component found for content type: {{ contentlet.contentType }}</p>
|
|
21
|
+
</div>
|
|
22
|
+
}
|
|
23
|
+
`, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FallbackComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{
|
|
28
|
+
selector: 'dotcms-fallback-component',
|
|
29
|
+
standalone: true,
|
|
30
|
+
imports: [AsyncPipe, NgComponentOutlet],
|
|
31
|
+
template: `
|
|
32
|
+
@if (UserNoComponent) {
|
|
33
|
+
<ng-container *ngComponentOutlet="UserNoComponent | async; inputs: { contentlet }" />
|
|
34
|
+
} @else {
|
|
35
|
+
<div data-testid="dotcms-fallback-component">
|
|
36
|
+
<p>No component found for content type: {{ contentlet.contentType }}</p>
|
|
37
|
+
</div>
|
|
38
|
+
}
|
|
39
|
+
`,
|
|
40
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
41
|
+
}]
|
|
42
|
+
}], propDecorators: { UserNoComponent: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], contentlet: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvbmV4dC9jb21wb25lbnRzL2RvdGNtcy1sYXlvdXQtYm9keS9jb21wb25lbnRzL2ZhbGxiYWNrLWNvbXBvbmVudC9mYWxsYmFjay1jb21wb25lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNMUU7Ozs7O0dBS0c7QUFnQkgsTUFBTSxPQUFPLGlCQUFpQjtJQWY5QjtRQWdCYSxvQkFBZSxHQUFrQyxJQUFJLENBQUM7S0FFbEU7OEdBSFksaUJBQWlCO2tHQUFqQixpQkFBaUIsK0pBWGhCOzs7Ozs7OztLQVFULHVEQVRTLFNBQVMsOENBQUUsaUJBQWlCOzsyRkFZN0IsaUJBQWlCO2tCQWY3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3ZDLFFBQVEsRUFBRTs7Ozs7Ozs7S0FRVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBRVksZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEb3RDTVNDb250ZW50bGV0IH0gZnJvbSAnQGRvdGNtcy91dmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50RW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRmFsbGJhY2sgY29tcG9uZW50IHRoYXQgcmVuZGVycyB3aGVuIG5vIGN1c3RvbSBjb21wb25lbnQgaXMgZm91bmQgZm9yIGEgY29udGVudGxldFxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqIEBpbnRlcm5hbFxuICogQGNsYXNzIEZhbGxiYWNrQ29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZG90Y21zLWZhbGxiYWNrLWNvbXBvbmVudCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGlmIChVc2VyTm9Db21wb25lbnQpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiVXNlck5vQ29tcG9uZW50IHwgYXN5bmM7IGlucHV0czogeyBjb250ZW50bGV0IH1cIiAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXYgZGF0YS10ZXN0aWQ9XCJkb3RjbXMtZmFsbGJhY2stY29tcG9uZW50XCI+XG4gICAgICAgICAgICAgICAgPHA+Tm8gY29tcG9uZW50IGZvdW5kIGZvciBjb250ZW50IHR5cGU6IHt7IGNvbnRlbnRsZXQuY29udGVudFR5cGUgfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRmFsbGJhY2tDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIFVzZXJOb0NvbXBvbmVudDogRHluYW1pY0NvbXBvbmVudEVudGl0eSB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGNvbnRlbnRsZXQhOiBEb3RDTVNDb250ZW50bGV0O1xufVxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @description This component is used to display a message when a page is missing the required `layout.body` property.
|
|
5
|
+
* @internal
|
|
6
|
+
* @class PageErrorMessageComponent
|
|
7
|
+
*/
|
|
8
|
+
export class PageErrorMessageComponent {
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
console.warn('Missing required layout.body property in page');
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: PageErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: PageErrorMessageComponent, isStandalone: true, selector: "dotcms-page-error-message", ngImport: i0, template: `
|
|
14
|
+
<div
|
|
15
|
+
data-testid="error-message"
|
|
16
|
+
style="padding: 1rem; border: 1px solid #e0e0e0; border-radius: 4px;">
|
|
17
|
+
<p style="margin: 0 0 0.5rem; color: #666;">
|
|
18
|
+
The
|
|
19
|
+
<code>page</code>
|
|
20
|
+
is missing the required
|
|
21
|
+
<code>layout.body</code>
|
|
22
|
+
property.
|
|
23
|
+
</p>
|
|
24
|
+
<p style="margin: 0; color: #666;">
|
|
25
|
+
Make sure the page asset is properly loaded and includes a layout configuration.
|
|
26
|
+
</p>
|
|
27
|
+
</div>
|
|
28
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: PageErrorMessageComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: 'dotcms-page-error-message',
|
|
34
|
+
standalone: true,
|
|
35
|
+
imports: [],
|
|
36
|
+
template: `
|
|
37
|
+
<div
|
|
38
|
+
data-testid="error-message"
|
|
39
|
+
style="padding: 1rem; border: 1px solid #e0e0e0; border-radius: 4px;">
|
|
40
|
+
<p style="margin: 0 0 0.5rem; color: #666;">
|
|
41
|
+
The
|
|
42
|
+
<code>page</code>
|
|
43
|
+
is missing the required
|
|
44
|
+
<code>layout.body</code>
|
|
45
|
+
property.
|
|
46
|
+
</p>
|
|
47
|
+
<p style="margin: 0; color: #666;">
|
|
48
|
+
Make sure the page asset is properly loaded and includes a layout configuration.
|
|
49
|
+
</p>
|
|
50
|
+
</div>
|
|
51
|
+
`,
|
|
52
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
53
|
+
}]
|
|
54
|
+
}] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvbmV4dC9jb21wb25lbnRzL2RvdGNtcy1sYXlvdXQtYm9keS9jb21wb25lbnRzL3BhZ2UtZXJyb3ItbWVzc2FnZS9wYWdlLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBRTNFOzs7O0dBSUc7QUF1QkgsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxRQUFRO1FBQ0osT0FBTyxDQUFDLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7OEdBSFEseUJBQXlCO2tHQUF6Qix5QkFBeUIscUZBbEJ4Qjs7Ozs7Ozs7Ozs7Ozs7O0tBZVQ7OzJGQUdRLHlCQUF5QjtrQkF0QnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0tBZVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSBhIG1lc3NhZ2Ugd2hlbiBhIHBhZ2UgaXMgbWlzc2luZyB0aGUgcmVxdWlyZWQgYGxheW91dC5ib2R5YCBwcm9wZXJ0eS5cbiAqIEBpbnRlcm5hbFxuICogQGNsYXNzIFBhZ2VFcnJvck1lc3NhZ2VDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb3RjbXMtcGFnZS1lcnJvci1tZXNzYWdlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICBzdHlsZT1cInBhZGRpbmc6IDFyZW07IGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7IGJvcmRlci1yYWRpdXM6IDRweDtcIj5cbiAgICAgICAgICAgIDxwIHN0eWxlPVwibWFyZ2luOiAwIDAgMC41cmVtOyBjb2xvcjogIzY2NjtcIj5cbiAgICAgICAgICAgICAgICBUaGVcbiAgICAgICAgICAgICAgICA8Y29kZT5wYWdlPC9jb2RlPlxuICAgICAgICAgICAgICAgIGlzIG1pc3NpbmcgdGhlIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgPGNvZGU+bGF5b3V0LmJvZHk8L2NvZGU+XG4gICAgICAgICAgICAgICAgcHJvcGVydHkuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbjogMDsgY29sb3I6ICM2NjY7XCI+XG4gICAgICAgICAgICAgICAgTWFrZSBzdXJlIHRoZSBwYWdlIGFzc2V0IGlzIHByb3Blcmx5IGxvYWRlZCBhbmQgaW5jbHVkZXMgYSBsYXlvdXQgY29uZmlndXJhdGlvbi5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlRXJyb3JNZXNzYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdNaXNzaW5nIHJlcXVpcmVkIGxheW91dC5ib2R5IHByb3BlcnR5IGluIHBhZ2UnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, signal } from '@angular/core';
|
|
2
|
+
import { combineClasses } from '@dotcms/uve/internal';
|
|
3
|
+
import { ColumnComponent } from '../column/column.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* @description This component renders a row with all its content using the layout provided by dotCMS Page API.
|
|
7
|
+
*
|
|
8
|
+
* @see {@link https://www.dotcms.com/docs/latest/page-rest-api-layout-as-a-service-laas}
|
|
9
|
+
* @category Components
|
|
10
|
+
* @internal
|
|
11
|
+
* @class RowComponent
|
|
12
|
+
*/
|
|
13
|
+
export class RowComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.customClasses = signal('');
|
|
16
|
+
}
|
|
17
|
+
ngOnChanges() {
|
|
18
|
+
this.customClasses.set(combineClasses([this.row.styleClass || 'dot-row']));
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: RowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: RowComponent, isStandalone: true, selector: "dotcms-row", inputs: { row: "row" }, usesOnChanges: true, ngImport: i0, template: `
|
|
22
|
+
<div class="dot-row-container">
|
|
23
|
+
<div [class]="customClasses()" data-dot-object="row" data-testid="dotcms-row">
|
|
24
|
+
@for (column of row.columns; track $index) {
|
|
25
|
+
<dotcms-column [column]="column" />
|
|
26
|
+
}
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
`, isInline: true, styles: [".dot-row{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}\n"], dependencies: [{ kind: "component", type: ColumnComponent, selector: "dotcms-column", inputs: ["column"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: RowComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'dotcms-row', standalone: true, imports: [ColumnComponent], template: `
|
|
34
|
+
<div class="dot-row-container">
|
|
35
|
+
<div [class]="customClasses()" data-dot-object="row" data-testid="dotcms-row">
|
|
36
|
+
@for (column of row.columns; track $index) {
|
|
37
|
+
<dotcms-column [column]="column" />
|
|
38
|
+
}
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".dot-row{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}\n"] }]
|
|
42
|
+
}], propDecorators: { row: [{
|
|
43
|
+
type: Input,
|
|
44
|
+
args: [{ required: true }]
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvbmV4dC9jb21wb25lbnRzL2RvdGNtcy1sYXlvdXQtYm9keS9jb21wb25lbnRzL3Jvdy9yb3cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUU3RDs7Ozs7OztHQU9HO0FBaUJILE1BQU0sT0FBTyxZQUFZO0lBaEJ6QjtRQXNCSSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUs5QjtJQUhHLFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQzs4R0FWUSxZQUFZO2tHQUFaLFlBQVksbUhBWlg7Ozs7Ozs7O0tBUVQsZ0pBVFMsZUFBZTs7MkZBYWhCLFlBQVk7a0JBaEJ4QixTQUFTOytCQUNJLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUMsWUFDaEI7Ozs7Ozs7O0tBUVQsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU07OEJBTXBCLEdBQUc7c0JBQTdCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGNvbWJpbmVDbGFzc2VzIH0gZnJvbSAnQGRvdGNtcy91dmUvaW50ZXJuYWwnO1xuaW1wb3J0IHsgRG90UGFnZUFzc2V0TGF5b3V0Um93IH0gZnJvbSAnQGRvdGNtcy91dmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9jb2x1bW4vY29sdW1uLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRoaXMgY29tcG9uZW50IHJlbmRlcnMgYSByb3cgd2l0aCBhbGwgaXRzIGNvbnRlbnQgdXNpbmcgdGhlIGxheW91dCBwcm92aWRlZCBieSBkb3RDTVMgUGFnZSBBUEkuXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly93d3cuZG90Y21zLmNvbS9kb2NzL2xhdGVzdC9wYWdlLXJlc3QtYXBpLWxheW91dC1hcy1hLXNlcnZpY2UtbGFhc31cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKiBAaW50ZXJuYWxcbiAqIEBjbGFzcyBSb3dDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb3RjbXMtcm93JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb2x1bW5Db21wb25lbnRdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkb3Qtcm93LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBbY2xhc3NdPVwiY3VzdG9tQ2xhc3NlcygpXCIgZGF0YS1kb3Qtb2JqZWN0PVwicm93XCIgZGF0YS10ZXN0aWQ9XCJkb3RjbXMtcm93XCI+XG4gICAgICAgICAgICAgICAgQGZvciAoY29sdW1uIG9mIHJvdy5jb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRvdGNtcy1jb2x1bW4gW2NvbHVtbl09XCJjb2x1bW5cIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIHN0eWxlVXJsOiAnLi9yb3cuY29tcG9uZW50LmNzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUm93Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgcm93IGRhdGEgdG8gYmUgcmVuZGVyZWRcbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSByb3chOiBEb3RQYWdlQXNzZXRMYXlvdXRSb3c7XG5cbiAgICBjdXN0b21DbGFzc2VzID0gc2lnbmFsKCcnKTtcblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmN1c3RvbUNsYXNzZXMuc2V0KGNvbWJpbmVDbGFzc2VzKFt0aGlzLnJvdy5zdHlsZUNsYXNzIHx8ICdkb3Qtcm93J10pKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject, Input, signal } from '@angular/core';
|
|
2
|
+
import { PageErrorMessageComponent } from './components/page-error-message/page-error-message.component';
|
|
3
|
+
import { RowComponent } from './components/row/row.component';
|
|
4
|
+
import { DotCMSStore } from '../../store/dotcms.store';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* @description This component is used to render the layout for a DotCMS page.
|
|
8
|
+
* @param {DotCMSPageAsset} page - The page to render the layout for
|
|
9
|
+
* @param {DotCMSPageComponent} components - The components to render the layout for
|
|
10
|
+
* @param {DotCMSPageRendererMode} mode - The mode to render the layout for
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* <dotcms-layout-body [page]="page" [components]="components" [mode]="'development'" />
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @implements {OnChanges}
|
|
17
|
+
* @class DotCMSLayoutBodyComponent
|
|
18
|
+
*/
|
|
19
|
+
export class DotCMSLayoutBodyComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.components = {};
|
|
22
|
+
this.mode = 'production';
|
|
23
|
+
this.#dotCMSStore = inject(DotCMSStore);
|
|
24
|
+
this.$isDevMode = this.#dotCMSStore.$isDevMode;
|
|
25
|
+
this.$rows = signal([]);
|
|
26
|
+
this.$isEmpty = signal(false);
|
|
27
|
+
}
|
|
28
|
+
#dotCMSStore;
|
|
29
|
+
ngOnChanges() {
|
|
30
|
+
this.#dotCMSStore.setStore({
|
|
31
|
+
page: this.page,
|
|
32
|
+
components: this.components,
|
|
33
|
+
mode: this.mode
|
|
34
|
+
});
|
|
35
|
+
this.$isEmpty.set(!this.page?.layout?.body);
|
|
36
|
+
this.$rows.set(this.page?.layout?.body?.rows ?? []);
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: DotCMSLayoutBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: DotCMSLayoutBodyComponent, isStandalone: true, selector: "dotcms-layout-body", inputs: { page: "page", components: "components", mode: "mode" }, providers: [DotCMSStore], usesOnChanges: true, ngImport: i0, template: `
|
|
40
|
+
@if ($isEmpty() && $isDevMode()) {
|
|
41
|
+
<dotcms-page-error-message />
|
|
42
|
+
} @else {
|
|
43
|
+
@for (row of $rows(); track row.identifier) {
|
|
44
|
+
<dotcms-row [row]="row" />
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: PageErrorMessageComponent, selector: "dotcms-page-error-message" }, { kind: "component", type: RowComponent, selector: "dotcms-row", inputs: ["row"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
48
|
+
}
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: DotCMSLayoutBodyComponent, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{ selector: 'dotcms-layout-body', standalone: true, imports: [PageErrorMessageComponent, RowComponent], providers: [DotCMSStore], template: `
|
|
52
|
+
@if ($isEmpty() && $isDevMode()) {
|
|
53
|
+
<dotcms-page-error-message />
|
|
54
|
+
} @else {
|
|
55
|
+
@for (row of $rows(); track row.identifier) {
|
|
56
|
+
<dotcms-row [row]="row" />
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
|
|
60
|
+
}], propDecorators: { page: [{
|
|
61
|
+
type: Input,
|
|
62
|
+
args: [{ required: true }]
|
|
63
|
+
}], components: [{
|
|
64
|
+
type: Input,
|
|
65
|
+
args: [{ required: true }]
|
|
66
|
+
}], mode: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90Y21zLWxheW91dC1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvbmV4dC9jb21wb25lbnRzL2RvdGNtcy1sYXlvdXQtYm9keS9kb3RjbXMtbGF5b3V0LWJvZHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUc5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBQ3ZEOzs7Ozs7Ozs7Ozs7R0FZRztBQWtCSCxNQUFNLE9BQU8seUJBQXlCO0lBakJ0QztRQW1CK0IsZUFBVSxHQUF3QixFQUFFLENBQUM7UUFDdkQsU0FBSSxHQUEyQixZQUFZLENBQUM7UUFFckQsaUJBQVksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFbkMsZUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBRTFDLFVBQUssR0FBRyxNQUFNLENBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLGFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FhNUI7SUFuQkcsWUFBWSxDQUF1QjtJQVFuQyxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0F2QlEseUJBQXlCO2tHQUF6Qix5QkFBeUIsbUlBYnZCLENBQUMsV0FBVyxDQUFDLCtDQUNkOzs7Ozs7OztLQVFULGdHQVZTLHlCQUF5QixzRUFBRSxZQUFZOzsyRkFjeEMseUJBQXlCO2tCQWpCckMsU0FBUzsrQkFDSSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMseUJBQXlCLEVBQUUsWUFBWSxDQUFDLGFBQ3ZDLENBQUMsV0FBVyxDQUFDLFlBQ2Q7Ozs7Ozs7O0tBUVQsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU07OEJBR3BCLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRG90Q01TUGFnZUFzc2V0LCBEb3RDTVNQYWdlUmVuZGVyZXJNb2RlLCBEb3RQYWdlQXNzZXRMYXlvdXRSb3cgfSBmcm9tICdAZG90Y21zL3V2ZS90eXBlcyc7XG5cbmltcG9ydCB7IFBhZ2VFcnJvck1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS1lcnJvci1tZXNzYWdlL3BhZ2UtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm93Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jvdy9yb3cuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRG90Q01TUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBEb3RDTVNTdG9yZSB9IGZyb20gJy4uLy4uL3N0b3JlL2RvdGNtcy5zdG9yZSc7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgbGF5b3V0IGZvciBhIERvdENNUyBwYWdlLlxuICogQHBhcmFtIHtEb3RDTVNQYWdlQXNzZXR9IHBhZ2UgLSBUaGUgcGFnZSB0byByZW5kZXIgdGhlIGxheW91dCBmb3JcbiAqIEBwYXJhbSB7RG90Q01TUGFnZUNvbXBvbmVudH0gY29tcG9uZW50cyAtIFRoZSBjb21wb25lbnRzIHRvIHJlbmRlciB0aGUgbGF5b3V0IGZvclxuICogQHBhcmFtIHtEb3RDTVNQYWdlUmVuZGVyZXJNb2RlfSBtb2RlIC0gVGhlIG1vZGUgdG8gcmVuZGVyIHRoZSBsYXlvdXQgZm9yXG4gKlxuICogQGV4YW1wbGVcbiAqIDxkb3RjbXMtbGF5b3V0LWJvZHkgW3BhZ2VdPVwicGFnZVwiIFtjb21wb25lbnRzXT1cImNvbXBvbmVudHNcIiBbbW9kZV09XCInZGV2ZWxvcG1lbnQnXCIgLz5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAaW1wbGVtZW50cyB7T25DaGFuZ2VzfVxuICogQGNsYXNzIERvdENNU0xheW91dEJvZHlDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb3RjbXMtbGF5b3V0LWJvZHknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1BhZ2VFcnJvck1lc3NhZ2VDb21wb25lbnQsIFJvd0NvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbRG90Q01TU3RvcmVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoJGlzRW1wdHkoKSAmJiAkaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIDxkb3RjbXMtcGFnZS1lcnJvci1tZXNzYWdlIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGZvciAocm93IG9mICRyb3dzKCk7IHRyYWNrIHJvdy5pZGVudGlmaWVyKSB7XG4gICAgICAgICAgICAgICAgPGRvdGNtcy1yb3cgW3Jvd109XCJyb3dcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdHlsZVVybDogJy4vZG90Y21zLWxheW91dC1ib2R5LmNvbXBvbmVudC5jc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERvdENNU0xheW91dEJvZHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHBhZ2UhOiBEb3RDTVNQYWdlQXNzZXQ7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29tcG9uZW50czogRG90Q01TUGFnZUNvbXBvbmVudCA9IHt9O1xuICAgIEBJbnB1dCgpIG1vZGU6IERvdENNU1BhZ2VSZW5kZXJlck1vZGUgPSAncHJvZHVjdGlvbic7XG5cbiAgICAjZG90Q01TU3RvcmUgPSBpbmplY3QoRG90Q01TU3RvcmUpO1xuXG4gICAgJGlzRGV2TW9kZSA9IHRoaXMuI2RvdENNU1N0b3JlLiRpc0Rldk1vZGU7XG5cbiAgICAkcm93cyA9IHNpZ25hbDxEb3RQYWdlQXNzZXRMYXlvdXRSb3dbXT4oW10pO1xuXG4gICAgJGlzRW1wdHkgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuI2RvdENNU1N0b3JlLnNldFN0b3JlKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IHRoaXMuY29tcG9uZW50cyxcbiAgICAgICAgICAgIG1vZGU6IHRoaXMubW9kZVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLiRpc0VtcHR5LnNldCghdGhpcy5wYWdlPy5sYXlvdXQ/LmJvZHkpO1xuXG4gICAgICAgIHRoaXMuJHJvd3Muc2V0KHRoaXMucGFnZT8ubGF5b3V0Py5ib2R5Py5yb3dzID8/IFtdKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Directive, Input, ViewContainerRef, TemplateRef, inject } from '@angular/core';
|
|
2
|
+
import { getUVEState } from '@dotcms/uve';
|
|
3
|
+
import { UVE_MODE } from '@dotcms/uve/types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Directive to show a template when the UVE is in a specific mode.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <div *dotCMSShowWhen="UVE_MODE.EDIT">
|
|
10
|
+
* This will be shown when the UVE is in edit mode.
|
|
11
|
+
* </div>
|
|
12
|
+
*
|
|
13
|
+
* @export
|
|
14
|
+
* @class DotCMSShowWhenDirective
|
|
15
|
+
*/
|
|
16
|
+
export class DotCMSShowWhenDirective {
|
|
17
|
+
#when = UVE_MODE.EDIT;
|
|
18
|
+
#hasView = false;
|
|
19
|
+
set dotCMSShowWhen(value) {
|
|
20
|
+
this.#when = value;
|
|
21
|
+
this.updateViewContainer();
|
|
22
|
+
}
|
|
23
|
+
#viewContainerRef = inject(ViewContainerRef);
|
|
24
|
+
#templateRef = inject(TemplateRef);
|
|
25
|
+
updateViewContainer() {
|
|
26
|
+
const state = getUVEState();
|
|
27
|
+
const shouldShow = state?.mode === this.#when;
|
|
28
|
+
if (shouldShow && !this.#hasView) {
|
|
29
|
+
this.#viewContainerRef.createEmbeddedView(this.#templateRef);
|
|
30
|
+
this.#hasView = true;
|
|
31
|
+
}
|
|
32
|
+
else if (!shouldShow && this.#hasView) {
|
|
33
|
+
this.#viewContainerRef.clear();
|
|
34
|
+
this.#hasView = false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: DotCMSShowWhenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
38
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: DotCMSShowWhenDirective, isStandalone: true, selector: "[dotCMSShowWhen]", inputs: { dotCMSShowWhen: "dotCMSShowWhen" }, ngImport: i0 }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: DotCMSShowWhenDirective, decorators: [{
|
|
41
|
+
type: Directive,
|
|
42
|
+
args: [{
|
|
43
|
+
selector: '[dotCMSShowWhen]',
|
|
44
|
+
standalone: true
|
|
45
|
+
}]
|
|
46
|
+
}], propDecorators: { dotCMSShowWhen: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90Y21zLXNob3ctd2hlbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL25leHQvZGlyZWN0aXZlcy9kb3RjbXMtc2hvdy13aGVuL2RvdGNtcy1zaG93LXdoZW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFZLE1BQU0sbUJBQW1CLENBQUM7O0FBRXZEOzs7Ozs7Ozs7O0dBVUc7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLEtBQUssR0FBYSxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2hDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakIsSUFBYSxjQUFjLENBQUMsS0FBZTtRQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0MsWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUUzQixtQkFBbUI7UUFDdkIsTUFBTSxLQUFLLEdBQXlCLFdBQVcsRUFBRSxDQUFDO1FBRWxELE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQztRQUU5QyxJQUFJLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUM7YUFBTSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7OEdBeEJRLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFLZ0IsY0FBYztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZ2V0VVZFU3RhdGUgfSBmcm9tICdAZG90Y21zL3V2ZSc7XG5pbXBvcnQgeyBVVkVfTU9ERSwgVVZFU3RhdGUgfSBmcm9tICdAZG90Y21zL3V2ZS90eXBlcyc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHNob3cgYSB0ZW1wbGF0ZSB3aGVuIHRoZSBVVkUgaXMgaW4gYSBzcGVjaWZpYyBtb2RlLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8ZGl2ICpkb3RDTVNTaG93V2hlbj1cIlVWRV9NT0RFLkVESVRcIj5cbiAqICAgICBUaGlzIHdpbGwgYmUgc2hvd24gd2hlbiB0aGUgVVZFIGlzIGluIGVkaXQgbW9kZS5cbiAqIDwvZGl2PlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBEb3RDTVNTaG93V2hlbkRpcmVjdGl2ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkb3RDTVNTaG93V2hlbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRG90Q01TU2hvd1doZW5EaXJlY3RpdmUge1xuICAgICN3aGVuOiBVVkVfTU9ERSA9IFVWRV9NT0RFLkVESVQ7XG4gICAgI2hhc1ZpZXcgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNldCBkb3RDTVNTaG93V2hlbih2YWx1ZTogVVZFX01PREUpIHtcbiAgICAgICAgdGhpcy4jd2hlbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVZpZXdDb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAjdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICAjdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xuXG4gICAgcHJpdmF0ZSB1cGRhdGVWaWV3Q29udGFpbmVyKCkge1xuICAgICAgICBjb25zdCBzdGF0ZTogVVZFU3RhdGUgfCB1bmRlZmluZWQgPSBnZXRVVkVTdGF0ZSgpO1xuXG4gICAgICAgIGNvbnN0IHNob3VsZFNob3cgPSBzdGF0ZT8ubW9kZSA9PT0gdGhpcy4jd2hlbjtcblxuICAgICAgICBpZiAoc2hvdWxkU2hvdyAmJiAhdGhpcy4jaGFzVmlldykge1xuICAgICAgICAgICAgdGhpcy4jdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy4jdGVtcGxhdGVSZWYpO1xuICAgICAgICAgICAgdGhpcy4jaGFzVmlldyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoIXNob3VsZFNob3cgJiYgdGhpcy4jaGFzVmlldykge1xuICAgICAgICAgICAgdGhpcy4jdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy4jaGFzVmlldyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90Y21zLWFuZ3VsYXItbmV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvbmV4dC9kb3RjbXMtYW5ndWxhci1uZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL25leHQvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RCIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cblxuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEb3RDTVNQYWdlQXNzZXQsIERvdENNU1BhZ2VSZW5kZXJlck1vZGUgfSBmcm9tICdAZG90Y21zL3V2ZS90eXBlcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGR5bmFtaWMgY29tcG9uZW50IGVudGl0eS5cbiAqIEB0eXBlZGVmIHtQcm9taXNlPFR5cGU8YW55Pj59IER5bmFtaWNDb21wb25lbnRFbnRpdHlcbiAqIEBtZW1iZXJvZiBAZG90Y21zL2FuZ3VsYXJcbiAqL1xuZXhwb3J0IHR5cGUgRHluYW1pY0NvbXBvbmVudEVudGl0eSA9IFByb21pc2U8VHlwZTxhbnk+PjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb250ZXh0IG9mIGEgRG90Q01TIHBhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG90Q01TUGFnZVN0b3JlIHtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBEb3RDTVMgcGFnZSBhc3NldC5cbiAgICAgKiBAdHlwZSB7RG90Q01TUGFnZUFzc2V0fVxuICAgICAqIEBtZW1iZXJvZiBEb3RDTVNQYWdlU3RvcmVcbiAgICAgKi9cbiAgICBwYWdlOiBEb3RDTVNQYWdlQXNzZXQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBkeW5hbWljIGNvbXBvbmVudHMgb2YgdGhlIHBhZ2UgZm9yIGVhY2ggQ29udGVudCBUeXBlLlxuICAgICAqIEB0eXBlIHtEb3RDTVNQYWdlQ29tcG9uZW50fVxuICAgICAqIEBtZW1iZXJvZiBEb3RDTVNQYWdlU3RvcmVcbiAgICAgKi9cbiAgICBjb21wb25lbnRzOiBEb3RDTVNQYWdlQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHRoZSByZW5kZXJlciBtb2RlLlxuICAgICAqIEB0eXBlIHtEb3RDTVNQYWdlUmVuZGVyZXJNb2RlfVxuICAgICAqIEBtZW1iZXJvZiBEb3RDTVNQYWdlU3RvcmVcbiAgICAgKi9cbiAgICBtb2RlOiBEb3RDTVNQYWdlUmVuZGVyZXJNb2RlO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBEb3RDTVMgcGFnZSBjb21wb25lbnQuXG4gKiBVc2VkIHRvIHN0b3JlIHRoZSBkeW5hbWljIGNvbXBvbmVudHMgb2YgYSBEb3RDTVMgcGFnZS5cbiAqIEB0eXBlZGVmIHtSZWNvcmQ8c3RyaW5nLCBEeW5hbWljQ29tcG9uZW50RW50aXR5Pn0gRG90Q01TUGFnZUNvbXBvbmVudFxuICogQG1lbWJlcm9mIEBkb3RjbXMvYW5ndWxhclxuICovXG5leHBvcnQgdHlwZSBEb3RDTVNQYWdlQ29tcG9uZW50ID0gUmVjb3JkPHN0cmluZywgRHluYW1pY0NvbXBvbmVudEVudGl0eT47XG4iXX0=
|