@alfresco/adf-extensions 8.4.0-19758325202 → 8.4.0-19764492903
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.
|
@@ -474,10 +474,10 @@ class ExtensionLoaderService {
|
|
|
474
474
|
}
|
|
475
475
|
return extensions.map((file) => file.match('(?!.*/).+')[0]).filter((fileName) => !ignoreReferenceList.includes(fileName));
|
|
476
476
|
}
|
|
477
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
478
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
477
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionLoaderService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
478
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionLoaderService, providedIn: 'root' }); }
|
|
479
479
|
}
|
|
480
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
480
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionLoaderService, decorators: [{
|
|
481
481
|
type: Injectable,
|
|
482
482
|
args: [{
|
|
483
483
|
providedIn: 'root'
|
|
@@ -574,10 +574,10 @@ class ComponentRegisterService {
|
|
|
574
574
|
hasComponentById(id) {
|
|
575
575
|
return !!this.getComponentById(id);
|
|
576
576
|
}
|
|
577
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
578
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
577
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ComponentRegisterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
578
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ComponentRegisterService, providedIn: 'root' }); }
|
|
579
579
|
}
|
|
580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
580
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ComponentRegisterService, decorators: [{
|
|
581
581
|
type: Injectable,
|
|
582
582
|
args: [{ providedIn: 'root' }]
|
|
583
583
|
}] });
|
|
@@ -660,10 +660,10 @@ class RuleService {
|
|
|
660
660
|
}
|
|
661
661
|
return false;
|
|
662
662
|
}
|
|
663
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
664
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
663
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RuleService, deps: [{ token: ExtensionLoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
664
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RuleService, providedIn: 'root' }); }
|
|
665
665
|
}
|
|
666
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
666
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: RuleService, decorators: [{
|
|
667
667
|
type: Injectable,
|
|
668
668
|
args: [{
|
|
669
669
|
providedIn: 'root'
|
|
@@ -894,10 +894,10 @@ class ExtensionService {
|
|
|
894
894
|
}
|
|
895
895
|
return value;
|
|
896
896
|
}
|
|
897
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
898
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
897
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionService, deps: [{ token: ExtensionLoaderService }, { token: ComponentRegisterService }, { token: RuleService }, { token: EXTENSION_JSONS }, { token: EXTENSION_JSON_VALUES }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
898
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionService, providedIn: 'root' }); }
|
|
899
899
|
}
|
|
900
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionService, decorators: [{
|
|
901
901
|
type: Injectable,
|
|
902
902
|
args: [{
|
|
903
903
|
providedIn: 'root'
|
|
@@ -973,10 +973,10 @@ class AppExtensionService {
|
|
|
973
973
|
}
|
|
974
974
|
return false;
|
|
975
975
|
}
|
|
976
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
977
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
976
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: AppExtensionService, deps: [{ token: ExtensionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
977
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: AppExtensionService, providedIn: 'root' }); }
|
|
978
978
|
}
|
|
979
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
979
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: AppExtensionService, decorators: [{
|
|
980
980
|
type: Injectable,
|
|
981
981
|
args: [{
|
|
982
982
|
providedIn: 'root'
|
|
@@ -1124,10 +1124,10 @@ class PreviewExtensionComponent {
|
|
|
1124
1124
|
}
|
|
1125
1125
|
}
|
|
1126
1126
|
}
|
|
1127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: PreviewExtensionComponent, deps: [{ token: ExtensionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: PreviewExtensionComponent, isStandalone: true, selector: "adf-preview-extension", inputs: { id: "id", nodeId: "nodeId", url: "url", extension: "extension" }, outputs: { contentLoaded: "contentLoaded" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `<div #content></div>`, isInline: true }); }
|
|
1129
1129
|
}
|
|
1130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: PreviewExtensionComponent, decorators: [{
|
|
1131
1131
|
type: Component,
|
|
1132
1132
|
args: [{
|
|
1133
1133
|
selector: 'adf-preview-extension',
|
|
@@ -1192,10 +1192,10 @@ class DynamicColumnComponent {
|
|
|
1192
1192
|
this.componentRef.instance.context = this.context;
|
|
1193
1193
|
}
|
|
1194
1194
|
}
|
|
1195
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1196
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1195
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicColumnComponent, deps: [{ token: ExtensionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1196
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: DynamicColumnComponent, isStandalone: true, selector: "adf-dynamic-column", inputs: { id: "id", context: "context" }, host: { classAttribute: "adf-dynamic-column" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `<ng-container #content />`, isInline: true, styles: [".adf-dynamic-column{display:flex;align-items:center;width:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1197
1197
|
}
|
|
1198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicColumnComponent, decorators: [{
|
|
1199
1199
|
type: Component,
|
|
1200
1200
|
args: [{ selector: 'adf-dynamic-column', template: `<ng-container #content />`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'adf-dynamic-column' }, styles: [".adf-dynamic-column{display:flex;align-items:center;width:inherit}\n"] }]
|
|
1201
1201
|
}], ctorParameters: () => [{ type: ExtensionService }], propDecorators: { content: [{
|
|
@@ -1273,10 +1273,10 @@ class DynamicExtensionComponent {
|
|
|
1273
1273
|
lifecycleHookIsImplemented(lifecycleMethod) {
|
|
1274
1274
|
return !!this.componentRef.instance[lifecycleMethod];
|
|
1275
1275
|
}
|
|
1276
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1277
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1276
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicExtensionComponent, deps: [{ token: ExtensionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1277
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: DynamicExtensionComponent, isStandalone: true, selector: "adf-dynamic-component", inputs: { id: "id", data: "data" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `<div #content></div>`, isInline: true }); }
|
|
1278
1278
|
}
|
|
1279
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicExtensionComponent, decorators: [{
|
|
1280
1280
|
type: Component,
|
|
1281
1281
|
args: [{
|
|
1282
1282
|
selector: 'adf-dynamic-component',
|
|
@@ -1335,10 +1335,10 @@ class DynamicTabComponent {
|
|
|
1335
1335
|
this.componentRef.instance.node = this.node;
|
|
1336
1336
|
}
|
|
1337
1337
|
}
|
|
1338
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1339
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
1338
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicTabComponent, deps: [{ token: ExtensionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1339
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: DynamicTabComponent, isStandalone: true, selector: "adf-dynamic-tab", inputs: { id: "id", node: "node" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `<div #content></div>`, isInline: true }); }
|
|
1340
1340
|
}
|
|
1341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1341
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: DynamicTabComponent, decorators: [{
|
|
1342
1342
|
type: Component,
|
|
1343
1343
|
args: [{
|
|
1344
1344
|
selector: 'adf-dynamic-tab',
|
|
@@ -1408,11 +1408,11 @@ class ExtensionsModule {
|
|
|
1408
1408
|
ngModule: ExtensionsModule
|
|
1409
1409
|
};
|
|
1410
1410
|
}
|
|
1411
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
1412
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
1413
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
1411
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1412
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.16", ngImport: i0, type: ExtensionsModule }); }
|
|
1413
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionsModule }); }
|
|
1414
1414
|
}
|
|
1415
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
1415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: ExtensionsModule, decorators: [{
|
|
1416
1416
|
type: NgModule
|
|
1417
1417
|
}] });
|
|
1418
1418
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adf-extensions.mjs","sources":["../../../../lib/extensions/src/lib/config/action.extensions.ts","../../../../lib/extensions/src/lib/config/document-list.extensions.ts","../../../../lib/extensions/src/lib/config/extension-element.ts","../../../../lib/extensions/src/lib/config/extension-utils.ts","../../../../lib/extensions/src/lib/config/extension.config.ts","../../../../lib/extensions/src/lib/config/icon.extensions.ts","../../../../lib/extensions/src/lib/config/navbar.extensions.ts","../../../../lib/extensions/src/lib/config/permission.extensions.ts","../../../../lib/extensions/src/lib/config/routing.extensions.ts","../../../../lib/extensions/src/lib/config/rule.extensions.ts","../../../../lib/extensions/src/lib/config/sidebar.extensions.ts","../../../../lib/extensions/src/lib/config/viewer.extensions.ts","../../../../lib/extensions/src/lib/services/extension-loader.service.ts","../../../../lib/extensions/src/lib/evaluators/core.evaluators.ts","../../../../lib/extensions/src/lib/services/component-register.service.ts","../../../../lib/extensions/src/lib/services/rule.service.ts","../../../../lib/extensions/src/lib/services/extension.service.ts","../../../../lib/extensions/src/lib/services/app-extension.service.ts","../../../../lib/extensions/src/lib/store/states/navigation.state.ts","../../../../lib/extensions/src/lib/store/states/profile.state.ts","../../../../lib/extensions/src/lib/store/states/selection.state.ts","../../../../lib/extensions/src/lib/store/states/repository.state.ts","../../../../lib/extensions/src/lib/components/viewer/viewer-extension.interface.ts","../../../../lib/extensions/src/lib/components/viewer/preview-extension.component.ts","../../../../lib/extensions/src/lib/components/dynamic-column/dynamic-column.component.ts","../../../../lib/extensions/src/lib/components/dynamic-component/dynamic.component.ts","../../../../lib/extensions/src/lib/components/dynamic-tab/dynamic-tab.component.ts","../../../../lib/extensions/src/lib/components/public-api.ts","../../../../lib/extensions/src/lib/extensions.module.ts","../../../../lib/extensions/src/lib/providers.ts","../../../../lib/extensions/src/public-api.ts","../../../../lib/extensions/src/adf-extensions.ts"],"sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\n// eslint-disable-next-line no-shadow\nexport enum ContentActionType {\n default = 'default',\n button = 'button',\n separator = 'separator',\n menu = 'menu',\n custom = 'custom'\n}\n\nexport interface ContentActionRef extends ExtensionElement {\n type: ContentActionType;\n\n title?: string;\n tooltip?: string;\n description?: string;\n icon?: string;\n children?: Array<ContentActionRef>;\n component?: string;\n data?: any;\n color?: string;\n actions?: {\n [key: string]: string;\n click?: string;\n };\n rules?: {\n [key: string]: string;\n enabled?: string;\n visible?: string;\n };\n}\n\nexport interface ActionRef {\n id: string;\n type: string;\n payload?: any;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable id-blacklist */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface DataColumnTypes {\n text: string;\n image: string;\n date: string;\n json: string;\n icon: string;\n fileSize: string;\n location: string;\n boolean: string;\n amount: string;\n number: string;\n}\n\nexport type DataColumnType = keyof DataColumnTypes;\n\nexport interface DocumentListPresetRef extends ExtensionElement {\n key: string;\n type: DataColumnType;\n title?: string;\n format?: string;\n class?: string;\n sortable: boolean;\n template: string;\n desktopOnly: boolean;\n sortingKey: string;\n isHidden?: boolean;\n rules?: {\n [key: string]: string;\n visible?: string;\n };\n draggable?: boolean;\n resizable?: boolean;\n maxTextLength?: number;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface ExtensionElement {\n id: string;\n\n order?: number;\n disabled?: boolean;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ContentActionRef, ContentActionType } from './action.extensions';\n\nexport const getValue = (target: any, key: string): any => {\n if (!target) {\n return undefined;\n }\n\n const keys = key.split('.');\n key = '';\n\n do {\n key += keys.shift();\n const value = target[key];\n if (\n value !== undefined &&\n (typeof value === 'object' || !keys.length)\n ) {\n target = value;\n key = '';\n } else if (!keys.length) {\n target = undefined;\n } else {\n key += '.';\n }\n } while (keys.length);\n\n return target;\n};\n\nexport const filterEnabled = (entry: { disabled?: boolean }): boolean => !entry.disabled;\n\nexport const sortByOrder = (\n a: { order?: number | undefined },\n b: { order?: number | undefined }\n) => {\n const left = a.order === undefined ? Number.MAX_SAFE_INTEGER : a.order;\n const right = b.order === undefined ? Number.MAX_SAFE_INTEGER : b.order;\n return left - right;\n};\n\nexport const reduceSeparators = (\n acc: ContentActionRef[],\n el: ContentActionRef,\n i: number,\n arr: ContentActionRef[]\n): ContentActionRef[] => {\n // remove leading separator\n if (i === 0) {\n if (arr[i].type === ContentActionType.separator) {\n return acc;\n }\n }\n // remove duplicate separators\n if (i > 0) {\n const prev = arr[i - 1];\n if (\n prev.type === ContentActionType.separator &&\n el.type === ContentActionType.separator\n ) {\n return acc;\n }\n\n // remove trailing separator\n if (i === arr.length - 1) {\n if (el.type === ContentActionType.separator) {\n return acc;\n }\n }\n }\n\n return acc.concat(el);\n};\n\nexport const reduceEmptyMenus = (\n acc: ContentActionRef[],\n el: ContentActionRef\n): ContentActionRef[] => {\n if (el.type === ContentActionType.menu) {\n if ((el.children || []).length === 0) {\n return acc;\n }\n }\n return acc.concat(el);\n};\n\nexport const mergeObjects = (...objects: any[]): any => {\n const result = {};\n\n objects.forEach((source) => {\n Object.keys(source).forEach((prop) => {\n let replace = false;\n\n if (prop.endsWith('.$replace')) {\n replace = true;\n prop = prop.replace('.$replace', '');\n }\n\n if (!prop.startsWith('$')) {\n if (replace) {\n result[prop] = source[`${prop}.$replace`];\n } else if (prop in result && Array.isArray(result[prop])) {\n if (Array.isArray(source[prop])) {\n result[prop] = mergeArrays(result[prop], source[prop]);\n } else {\n result[prop] = [...result[prop], source[prop]];\n }\n } else if (prop in result && typeof result[prop] === 'object') {\n result[prop] = mergeObjects(result[prop], source[prop]);\n } else {\n result[prop] = source[prop];\n }\n }\n });\n });\n\n return result;\n};\n\nexport const mergeArrays = (left: any[], right: any[]): any[] => {\n const result = [];\n const map = {};\n\n (left || []).forEach((entry) => {\n const element = entry;\n if (element && Object.prototype.hasOwnProperty.call(element, 'id')) {\n map[element.id] = element;\n } else {\n result.push(element);\n }\n });\n\n (right || []).forEach((entry) => {\n const element = entry;\n if (element && Object.prototype.hasOwnProperty.call(element, 'id') && map[element.id]) {\n const merged = mergeObjects(map[element.id], element);\n map[element.id] = merged;\n } else {\n result.push(element);\n }\n });\n\n return Object.keys(map).map((key) => map[key]).concat(result);\n};\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RouteRef } from './routing.extensions';\nimport { RuleRef } from './rule.extensions';\nimport { ActionRef } from './action.extensions';\n\nexport interface ExtensionRef {\n $id: string;\n $name: string;\n $version: string;\n $vendor: string;\n $license: string;\n $runtime?: string;\n $description?: string;\n $dependencies?: Array<string>;\n\n appConfig?: any;\n rules?: Array<RuleRef>;\n routes?: Array<RouteRef>;\n actions?: Array<ActionRef>;\n\n features?: {\n [key: string]: any;\n };\n}\n\nexport interface ExtensionConfig extends ExtensionRef {\n $references?: Array<string | ExtensionRef>;\n $ignoreReferenceList?: Array<string>;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface IconRef extends ExtensionElement {\n value: string;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface NavBarRules {\n [ruleId: string]: string;\n}\n\nexport interface NavBarGroupRef extends ExtensionElement {\n items: Array<NavBarLinkRef>;\n rules?: NavBarRules;\n}\n\nexport interface NavBarLinkRef extends ExtensionElement {\n icon: string;\n title: string;\n route: string;\n\n provider?: string;\n component?: string;\n url?: string; // evaluated at runtime based on route ref\n description?: string;\n children?: Array<NavBarLinkRef>;\n rules?: NavBarRules;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface NodePermissions {\n check(source: any, permissions: string[], options?: any): boolean;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface RouteRef {\n id: string;\n path: string;\n component: string;\n parentRoute?: string;\n layout?: string;\n auth?: string[];\n data?: { [key: string]: string };\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SelectionState } from '../store/states/selection.state';\nimport { NavigationState } from '../store/states/navigation.state';\nimport { NodePermissions } from './permission.extensions';\nimport { ProfileState } from '../store/states/profile.state';\nimport { RepositoryInfo } from '@alfresco/js-api';\n\nexport type RuleEvaluator = (context: RuleContext, ...args: any[]) => boolean;\n\nexport interface RuleContext {\n repository: RepositoryInfo;\n auth: any;\n selection: SelectionState;\n navigation: NavigationState;\n profile: ProfileState;\n permissions: NodePermissions;\n\n getEvaluator(key: string): RuleEvaluator;\n}\n\nexport class RuleRef {\n type: string;\n id?: string;\n parameters?: Array<RuleParameter>;\n}\n\nexport interface RuleParameter {\n type: string;\n value: any;\n parameters?: Array<RuleParameter>;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface SidebarTabRef extends ExtensionElement {\n title: string;\n component: string;\n\n icon?: string;\n rules?: {\n [key: string]: string;\n visible?: string;\n };\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface ViewerExtensionRef extends ExtensionElement {\n fileExtension: string;\n component: string;\n\n rules?: {\n [key: string]: string;\n visible?: string;\n };\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActionRef, ContentActionRef, ContentActionType } from '../config/action.extensions';\nimport { ExtensionElement } from '../config/extension-element';\nimport { filterEnabled, getValue, mergeObjects, sortByOrder } from '../config/extension-utils';\nimport { ExtensionConfig, ExtensionRef } from '../config/extension.config';\nimport { RouteRef } from '../config/routing.extensions';\nimport { RuleRef } from '../config/rule.extensions';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExtensionLoaderService {\n constructor(private http: HttpClient) {}\n\n load(configPath: string, pluginsPath: string, extensions?: string[], extensionValues?: ExtensionConfig[]): Promise<ExtensionConfig> {\n return new Promise<any>((resolve) => {\n this.loadConfig(configPath, 0).then((result) => {\n if (result) {\n let config = result.config;\n\n const override = sessionStorage.getItem('app.extension.config');\n if (override) {\n config = JSON.parse(override);\n }\n\n if (!config.$references?.length) {\n config.$references = this.filterIgnoredExtensions(extensions || [], config.$ignoreReferenceList);\n } else {\n config.$references = this.filterIgnoredExtensions(config.$references, config.$ignoreReferenceList);\n }\n\n if (config.$references?.length > 0 || extensionValues) {\n const plugins = (config.$references ?? []).map((name, idx) => this.loadConfig(`${pluginsPath}/${name}`, idx));\n\n Promise.all(plugins).then((results) => {\n let configs = results\n .filter((entry) => entry)\n .sort(sortByOrder)\n .map((entry) => entry.config);\n\n if (extensionValues) {\n configs = [...configs, ...extensionValues];\n }\n\n if (configs.length > 0) {\n config = mergeObjects(config, ...configs);\n }\n\n config = {\n ...config,\n ...this.getMetadata(result.config),\n $references: configs.map((ext) => this.getMetadata(ext))\n };\n\n resolve(config);\n });\n } else {\n resolve(config);\n }\n }\n });\n });\n }\n\n /**\n * Retrieves configuration elements.\n * Filters element by **enabled** and **order** attributes.\n * Example:\n * `getElements<ViewerExtensionRef>(config, 'features.viewer.extensions')`\n * @param config configuration settings\n * @param key element key\n * @param fallback fallback array of values\n * @returns list of elements\n */\n getElements<T extends ExtensionElement>(config: ExtensionConfig, key: string, fallback: Array<T> = []): Array<T> {\n const values = getValue(config, key) || fallback || [];\n return values.filter(filterEnabled).sort(sortByOrder);\n }\n\n getContentActions(config: ExtensionConfig, key: string): Array<ContentActionRef> {\n return this.getElements(config, key).map(this.setActionDefaults);\n }\n\n getRules(config: ExtensionConfig): Array<RuleRef> {\n if (config?.rules) {\n return config.rules;\n }\n return [];\n }\n\n getRoutes(config: ExtensionConfig): Array<RouteRef> {\n if (config) {\n return config.routes || [];\n }\n return [];\n }\n\n getActions(config: ExtensionConfig): Array<ActionRef> {\n if (config) {\n return config.actions || [];\n }\n return [];\n }\n\n getFeatures(config: ExtensionConfig): any {\n if (config) {\n return config.features || [];\n }\n return [];\n }\n\n protected getMetadata(config: ExtensionConfig): ExtensionRef {\n const result: any = {};\n\n Object.keys(config)\n .filter((key) => key.startsWith('$'))\n .forEach((key) => {\n result[key] = config[key];\n });\n\n return result;\n }\n\n protected loadConfig(url: string, order: number): Promise<{ order: number; config: ExtensionConfig }> {\n return new Promise((resolve) => {\n this.http.get<ExtensionConfig>(url).subscribe(\n (config) => {\n resolve({\n order,\n config\n });\n },\n () => {\n resolve(null);\n }\n );\n });\n }\n\n protected setActionDefaults(action: ContentActionRef): ContentActionRef {\n if (action) {\n action.type = action.type || ContentActionType.default;\n action.icon = action.icon || 'extension';\n }\n return action;\n }\n\n private filterIgnoredExtensions(extensions: Array<string | ExtensionRef>, ignoreReferenceList: string[]): Array<string | ExtensionRef> {\n if (!ignoreReferenceList?.length) {\n return extensions;\n }\n\n return extensions.map((file: string) => file.match('(?!.*/).+')[0]).filter((fileName: string) => !ignoreReferenceList.includes(fileName));\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RuleContext, RuleParameter } from '../config/rule.extensions';\n\nexport const not = (context: RuleContext, ...args: RuleParameter[]): boolean => {\n if (!args || args.length === 0) {\n return false;\n }\n\n return args\n .every((arg) => {\n const evaluator = context.getEvaluator(arg.value);\n if (!evaluator) {\n console.warn('evaluator not found: ' + arg.value);\n return false;\n }\n return !evaluator(context, ...(arg.parameters || []));\n });\n};\n\nexport const every = (context: RuleContext, ...args: RuleParameter[]): boolean => {\n if (!args || args.length === 0) {\n return false;\n }\n\n return args\n .every((arg) => {\n const evaluator = context.getEvaluator(arg.value);\n if (!evaluator) {\n console.warn('evaluator not found: ' + arg.value);\n return false;\n }\n return evaluator(context, ...(arg.parameters || []));\n });\n};\n\nexport const some = (context: RuleContext, ...args: RuleParameter[]): boolean => {\n if (!args || args.length === 0) {\n return false;\n }\n\n return args\n .some((arg) => {\n const evaluator = context.getEvaluator(arg.value);\n if (!evaluator) {\n console.warn('evaluator not found: ' + arg.value);\n return false;\n }\n return evaluator(context, ...(arg.parameters || []));\n });\n};\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Injectable, Type } from '@angular/core';\nimport { MatMenuItem } from '@angular/material/menu';\n\nexport interface ExtensionComponent {\n data: any;\n menuItem?: MatMenuItem;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ComponentRegisterService {\n components: Record<string, Type<any>> = {};\n\n setComponents(values: Record<string, Type<any>>) {\n if (values) {\n this.components = Object.assign({}, this.components, values);\n }\n }\n\n getComponentById<T>(id: string): Type<T> {\n return this.components[id];\n }\n\n hasComponentById(id: string): boolean {\n return !!this.getComponentById(id);\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Injectable } from '@angular/core';\nimport { RuleRef, RuleContext, RuleEvaluator, RuleParameter } from '../config/rule.extensions';\nimport { ExtensionConfig } from '../config/extension.config';\nimport { ExtensionLoaderService } from './extension-loader.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RuleService {\n context: RuleContext = null;\n rules: Array<RuleRef> = [];\n evaluators: { [key: string]: RuleEvaluator } = {};\n\n constructor(protected loader: ExtensionLoaderService) {}\n\n setup(config: ExtensionConfig) {\n this.rules = this.loader.getRules(config);\n }\n\n /**\n * Adds one or more new rule evaluators to the existing set.\n * @param values The new evaluators to add\n */\n setEvaluators(values: Record<string, RuleEvaluator>) {\n if (values) {\n this.evaluators = Object.assign({}, this.evaluators, values);\n }\n }\n\n /**\n * Retrieves a rule using its ID value.\n * @param id The ID value to look for\n * @returns The rule or null if not found\n */\n getRuleById(id: string): RuleRef {\n return this.rules.find((ref) => ref.id === id);\n }\n\n /**\n * Retrieves a RuleEvaluator function using its key name.\n * @param key Key name to look for\n * @returns RuleEvaluator or null if not found\n */\n getEvaluator(key: string): RuleEvaluator {\n if (key?.startsWith('!')) {\n const fn = this.evaluators[key.substring(1)];\n return (context: RuleContext, ...args: RuleParameter[]): boolean => !fn(context, ...args);\n }\n return this.evaluators[key];\n }\n\n /**\n * Evaluates a rule.\n * @param ruleId ID of the rule to evaluate\n * @param context Custom rule execution context.\n * @returns True if the rule passed, false otherwise\n */\n evaluateRule(ruleId: string, context?: RuleContext): boolean {\n const ruleRef = this.getRuleById(ruleId);\n context = context || this.context;\n\n if (ruleRef) {\n const evaluator = this.getEvaluator(ruleRef.type);\n if (evaluator) {\n return evaluator(context, ...ruleRef.parameters);\n }\n } else {\n const evaluator = this.getEvaluator(ruleId);\n if (evaluator) {\n return evaluator(context);\n }\n }\n return false;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Injectable, Type, InjectionToken, Inject } from '@angular/core';\nimport { RuleEvaluator, RuleRef, RuleContext } from '../config/rule.extensions';\nimport { ExtensionConfig } from '../config/extension.config';\nimport { ExtensionLoaderService } from './extension-loader.service';\nimport { RouteRef } from '../config/routing.extensions';\nimport { ActionRef } from '../config/action.extensions';\nimport * as core from '../evaluators/core.evaluators';\nimport { ComponentRegisterService } from './component-register.service';\nimport { RuleService } from './rule.service';\nimport { ExtensionElement } from '../config/extension-element';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\n * The default extensions factory\n * @returns the list of extension json files\n */\nexport function extensionJsonsFactory() {\n return [];\n}\n\nexport const EXTENSION_JSONS = new InjectionToken<string[][]>('extension-jsons', {\n providedIn: 'root',\n factory: extensionJsonsFactory\n});\n\nexport const EXTENSION_JSON_VALUES = new InjectionToken<string[][]>('extension-jsons-values', {\n providedIn: 'root',\n factory: extensionJsonsFactory\n});\n\n/**\n * Provides the extension json values for the angular modules\n * @param jsons files to provide\n * @returns a provider section\n */\nexport function provideExtensionConfig(jsons: string[]) {\n return {\n provide: EXTENSION_JSONS,\n useValue: jsons,\n multi: true\n };\n}\n\n/**\n * Provides the extension json raw values for the angular modules\n * @param extensionConfigValue config value\n * @returns a provider section\n */\nexport function provideExtensionConfigValues(extensionConfigValue: ExtensionConfig[]) {\n return {\n provide: EXTENSION_JSON_VALUES,\n useValue: extensionConfigValue,\n multi: true\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExtensionService {\n configPath = 'assets/app.extensions.json';\n pluginsPath = 'assets/plugins';\n\n routes: Array<RouteRef> = [];\n actions: Array<ActionRef> = [];\n features: Array<any> = [];\n authGuards: Record<string, unknown> = {};\n\n setup$: Observable<ExtensionConfig>;\n\n protected config: ExtensionConfig = null;\n protected onSetup$ = new BehaviorSubject<ExtensionConfig>(this.config);\n\n constructor(\n protected loader: ExtensionLoaderService,\n protected componentRegister: ComponentRegisterService,\n protected ruleService: RuleService,\n @Inject(EXTENSION_JSONS) protected extensionJsons: string[],\n @Inject(EXTENSION_JSON_VALUES) protected extensionJsonValues: ExtensionConfig[]\n ) {\n this.setup$ = this.onSetup$.asObservable();\n }\n\n /**\n * Loads and registers an extension config file and plugins (specified by path properties).\n * @returns The loaded config data\n */\n async load(): Promise<ExtensionConfig> {\n const config = await this.loader.load(this.configPath, this.pluginsPath, this.extensionJsons.flat(), this.extensionJsonValues.flat());\n\n this.setup(config);\n return config;\n }\n\n /**\n * Registers extensions from a config object.\n * @param config Object with config data\n */\n setup(config: ExtensionConfig) {\n if (!config) {\n console.warn('Extension configuration not found');\n return;\n }\n\n this.config = config;\n\n this.setEvaluators({\n 'core.every': core.every,\n 'core.some': core.some,\n 'core.not': core.not\n });\n\n this.actions = this.loader.getActions(config);\n this.routes = this.loader.getRoutes(config);\n this.features = this.loader.getFeatures(config);\n\n this.ruleService.setup(config);\n this.onSetup$.next(config);\n }\n\n /**\n * Gets features by key.\n * @param key Key string using dot notation or array of strings\n * @param defaultValue Default value returned if feature is not found, default is empty array\n * @returns Feature found by key\n */\n getFeature<T = any[]>(key: string | string[], defaultValue: any = []): T {\n const properties: string[] = Array.isArray(key) ? key : key.split('.');\n return properties.reduce((prev, curr) => prev?.[curr], this.features) || defaultValue;\n }\n\n getElements<T extends ExtensionElement>(key: string, fallback: Array<T> = []): Array<T> {\n return this.loader.getElements(this.config, key, fallback);\n }\n\n /**\n * Adds one or more new rule evaluators to the existing set.\n * @param values The new evaluators to add\n */\n setEvaluators(values: Record<string, RuleEvaluator>) {\n this.ruleService.setEvaluators(values);\n }\n\n /**\n * Adds one or more new auth guards to the existing set.\n * @param values The new auth guards to add\n */\n setAuthGuards(values: Record<string, unknown>) {\n if (values) {\n this.authGuards = Object.assign({}, this.authGuards, values);\n }\n }\n\n /**\n * Adds one or more new components to the existing set.\n * @param values The new components to add\n */\n setComponents(values: Record<string, Type<any>>) {\n this.componentRegister.setComponents(values);\n }\n\n /**\n * Retrieves a route using its ID value.\n * @param id The ID value to look for\n * @returns The route or null if not found\n */\n getRouteById(id: string): RouteRef {\n return this.routes.find((route) => route.id === id);\n }\n\n /**\n * Retrieves one or more auth guards using an array of ID values.\n * @param ids Array of ID value to look for\n * @returns Array of auth guards or empty array if none were found\n */\n getAuthGuards(ids: string[]): Array<unknown> {\n return (ids || []).map((id) => this.authGuards[id]).filter((guard) => guard);\n }\n\n /**\n * Retrieves an action using its ID value.\n * @param id The ID value to look for\n * @returns Action or null if not found\n */\n getActionById(id: string): ActionRef {\n return this.actions.find((action) => action.id === id);\n }\n\n /**\n * Retrieves a RuleEvaluator function using its key name.\n * @param key Key name to look for\n * @returns RuleEvaluator or null if not found\n */\n getEvaluator(key: string): RuleEvaluator {\n return this.ruleService.getEvaluator(key);\n }\n\n /**\n * Evaluates a rule.\n * @param ruleId ID of the rule to evaluate\n * @param context Custom rule execution context.\n * @returns True if the rule passed, false otherwise\n */\n evaluateRule(ruleId: string, context?: RuleContext): boolean {\n return this.ruleService.evaluateRule(ruleId, context);\n }\n\n /**\n * Retrieves a registered extension component using its ID value.\n * @param id The ID value to look for\n * @returns The component or null if not found\n */\n getComponentById<T>(id: string) {\n return this.componentRegister.getComponentById<T>(id);\n }\n\n /**\n * Retrieves a rule using its ID value.\n * @param id The ID value to look for\n * @returns The rule or null if not found\n */\n getRuleById(id: string): RuleRef {\n return this.ruleService.getRuleById(id);\n }\n\n /**\n * Runs a lightweight expression stored in a string.\n * @param value String containing the expression or literal value\n * @param context Parameter object for the expression with details of app state\n * @returns Result of evaluated expression, if found, or the literal value otherwise\n */\n runExpression(value: string | any, context?: any) {\n if (typeof value === 'string') {\n return this.evaluateExpression(value, context);\n } else {\n const duplicate = Object.assign({}, value);\n Object.keys(duplicate).forEach((key) => {\n duplicate[key] = this.evaluateExpression(duplicate[key], context);\n });\n return duplicate;\n }\n }\n\n private evaluateExpression(value: string, context?: any): string {\n const pattern = new RegExp(/\\$\\((.*\\)?)\\)/g);\n const matches = pattern.exec(value);\n\n if (matches && matches.length > 1) {\n const expression = matches[1];\n const fn = new Function('context', `return ${expression}`);\n const result = fn(context);\n\n return result;\n }\n return value;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Injectable } from '@angular/core';\nimport { ExtensionConfig, ExtensionRef } from '../config/extension.config';\nimport { ExtensionService } from '../services/extension.service';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { ViewerExtensionRef } from '../config/viewer.extensions';\nimport { DocumentListPresetRef } from '../config/document-list.extensions';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppExtensionService {\n references$: Observable<ExtensionRef[]>;\n private _references = new BehaviorSubject<ExtensionRef[]>([]);\n\n constructor(protected extensionService: ExtensionService) {\n this.references$ = this._references.asObservable();\n }\n\n async load() {\n const config = await this.extensionService.load();\n this.setup(config);\n }\n\n setup(config: ExtensionConfig) {\n if (!config) {\n return;\n }\n\n const references = (config.$references || []).filter((entry) => typeof entry === 'object').map((entry) => entry as ExtensionRef);\n this._references.next(references);\n }\n\n /**\n * Provides a collection of document list columns for the particular preset.\n * The result is filtered by the **disabled** state.\n * @param key Preset key.\n * @returns list of document list presets\n */\n getDocumentListPreset(key: string): DocumentListPresetRef[] {\n return this.extensionService.getElements<DocumentListPresetRef>(`features.documentList.${key}`).filter((entry) => !entry.disabled);\n }\n\n /**\n * Provides a list of the Viewer content extensions,\n * filtered by **disabled** state and **rules**.\n * @returns list of viewer extension references\n */\n getViewerExtensions(): ViewerExtensionRef[] {\n return this.extensionService\n .getElements<ViewerExtensionRef>('features.viewer.extensions')\n .filter((extension) => !this.isViewerExtensionDisabled(extension));\n }\n\n protected isViewerExtensionDisabled(extension: ViewerExtensionRef): boolean {\n if (extension) {\n if (extension.disabled) {\n return true;\n }\n\n if (extension.rules?.disabled) {\n return this.extensionService.evaluateRule(extension.rules.disabled);\n }\n }\n\n return false;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Node } from '@alfresco/js-api';\n\nexport interface NavigationState {\n currentFolder?: Node;\n url?: string;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Group } from '@alfresco/js-api';\n\nexport interface ProfileState {\n [key: string]: any;\n\n id: string;\n isAdmin: boolean;\n firstName: string;\n lastName: string;\n userName?: string;\n initials?: string;\n groups?: Group[];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { NodeEntry, SiteEntry } from '@alfresco/js-api';\n\nexport interface SelectionState {\n count: number;\n nodes: NodeEntry[];\n libraries: SiteEntry[];\n isEmpty: boolean;\n first?: NodeEntry;\n last?: NodeEntry;\n folder?: NodeEntry;\n file?: NodeEntry;\n library?: SiteEntry;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface RepositoryState {\n isAuditEnabled?: boolean;\n isQuickShareEnabled?: boolean;\n isReadOnly?: boolean;\n isThumbnailGenerationEnabled?: boolean;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Node } from '@alfresco/js-api';\n\nexport interface ViewerExtensionInterface {\n url: string;\n nameFile: string;\n node: Node;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n Input,\n ComponentRef,\n OnInit,\n ViewChild,\n ViewContainerRef,\n OnDestroy,\n OnChanges,\n EventEmitter,\n Output,\n DestroyRef,\n inject\n} from '@angular/core';\nimport { ExtensionService } from '../../services/extension.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'adf-preview-extension',\n template: `<div #content></div>`\n})\nexport class PreviewExtensionComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n content: ViewContainerRef;\n\n /** ID string of the component to preview. */\n @Input()\n id: string;\n\n /** Identifier of a node that is opened by the viewer. */\n @Input()\n nodeId: string = null;\n\n /** URL of the content in the repository. */\n @Input()\n url: string;\n\n /** File extension (.jpg, .png, etc) for the viewer. */\n @Input()\n extension: string;\n\n @Output()\n contentLoaded = new EventEmitter<void>();\n\n private readonly destroyRef = inject(DestroyRef);\n\n private componentRef: ComponentRef<any>;\n\n constructor(private extensionService: ExtensionService) {}\n\n ngOnInit() {\n if (!this.id) {\n return;\n }\n\n const componentType = this.extensionService.getComponentById(this.id);\n if (componentType) {\n this.content.clear();\n this.componentRef = this.content.createComponent(componentType, { index: 0 });\n this.updateInstance();\n }\n }\n\n ngOnChanges() {\n this.updateInstance();\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n private updateInstance() {\n if (this.componentRef?.instance) {\n this.componentRef.setInput('url', this.url);\n this.componentRef.setInput('extension', this.extension);\n this.componentRef.setInput('nodeId', this.nodeId);\n\n if (this.componentRef.instance?.contentLoaded) {\n this.componentRef.instance.contentLoaded.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.contentLoaded.emit();\n });\n }\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n Input,\n OnInit,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n ComponentRef,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { ExtensionService } from '../../services/extension.service';\n\n@Component({\n selector: 'adf-dynamic-column',\n template: `<ng-container #content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'adf-dynamic-column' },\n styles: [\n `\n .adf-dynamic-column {\n display: flex;\n align-items: center;\n width: inherit;\n }\n `\n ]\n})\nexport class DynamicColumnComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n content: ViewContainerRef;\n\n @Input()\n id: string;\n\n @Input()\n context: any;\n\n private componentRef: ComponentRef<any>;\n\n constructor(private extensions: ExtensionService) {}\n\n ngOnInit() {\n const componentType = this.extensions.getComponentById(this.id);\n if (componentType) {\n this.content.clear();\n this.componentRef = this.content.createComponent(componentType, { index: 0 });\n this.updateInstance();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.node) {\n this.updateInstance();\n }\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n private updateInstance() {\n if (this.componentRef?.instance) {\n this.componentRef.instance.context = this.context;\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, Input, ComponentRef, ViewChild, ViewContainerRef, OnDestroy, OnChanges, SimpleChanges, AfterViewInit } from '@angular/core';\nimport { ExtensionService } from '../../services/extension.service';\nimport { ExtensionComponent } from '../../services/component-register.service';\nimport { MatMenuItem } from '@angular/material/menu';\n\n// cSpell:words lifecycle\n@Component({\n selector: 'adf-dynamic-component',\n template: `<div #content></div>`\n})\nexport class DynamicExtensionComponent implements OnChanges, OnDestroy, AfterViewInit {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n content: ViewContainerRef;\n\n /** Unique ID string for the component to show. */\n @Input() id: string;\n\n /** Data for the dynamically-loaded component instance. */\n @Input() data: any;\n\n /** Provides the menu item of dynamically-loaded component instance. */\n menuItem: MatMenuItem;\n\n private componentRef: ComponentRef<ExtensionComponent>;\n private loaded: boolean = false;\n\n constructor(private extensions: ExtensionService) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.loaded) {\n this.loadComponent();\n this.loaded = true;\n }\n\n if (changes.data) {\n this.data = changes.data.currentValue;\n }\n\n this.updateInstance();\n this.proxy('ngOnChanges', changes);\n }\n\n ngOnDestroy() {\n if (this.componentCreated()) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n ngAfterViewInit() {\n this.menuItem = this.componentRef?.instance?.menuItem;\n }\n\n private loadComponent() {\n const componentType = this.extensions.getComponentById<ExtensionComponent>(this.id);\n if (componentType) {\n this.content.clear();\n this.componentRef = this.content.createComponent(componentType, { index: 0 });\n }\n }\n\n private updateInstance() {\n if (this.componentCreated()) {\n this.componentRef.instance.data = this.data;\n }\n }\n\n private proxy(lifecycleMethod: string, ...args: any[]) {\n if (this.componentCreated() && this.lifecycleHookIsImplemented(lifecycleMethod)) {\n // eslint-disable-next-line prefer-spread\n this.componentRef.instance[lifecycleMethod].apply(this.componentRef.instance, args);\n }\n }\n\n private componentCreated(): boolean {\n return !!this.componentRef && !!this.componentRef.instance;\n }\n\n private lifecycleHookIsImplemented(lifecycleMethod: string): boolean {\n return !!this.componentRef.instance[lifecycleMethod];\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, Input, OnInit, OnDestroy, ViewChild, ViewContainerRef, ComponentRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { Node } from '@alfresco/js-api';\nimport { ExtensionService } from '../../services/extension.service';\n\n@Component({\n selector: 'adf-dynamic-tab',\n template: `<div #content></div>`\n})\nexport class DynamicTabComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n content: ViewContainerRef;\n\n /** Unique ID string for the component to show. */\n @Input()\n id: string;\n\n @Input()\n node: Node;\n\n private componentRef: ComponentRef<any>;\n\n constructor(private extensions: ExtensionService) {}\n\n ngOnInit() {\n const componentType = this.extensions.getComponentById(this.id);\n if (componentType) {\n this.content.clear();\n this.componentRef = this.content.createComponent(componentType, { index: 0 });\n this.updateInstance();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.node) {\n this.updateInstance();\n }\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n private updateInstance() {\n if (this.componentRef?.instance) {\n this.componentRef.instance.node = this.node;\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './viewer/viewer-extension.interface';\nexport * from './viewer/preview-extension.component';\nexport * from './dynamic-column/dynamic-column.component';\nexport * from './dynamic-component/dynamic.component';\nexport * from './dynamic-tab/dynamic-tab.component';\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { NgModule, ModuleWithProviders, inject, provideAppInitializer } from '@angular/core';\nimport { AppExtensionService } from './services/app-extension.service';\n\n/** @deprecated use provideAppExtensions() api instead */\n@NgModule()\nexport class ExtensionsModule {\n static forRoot(): ModuleWithProviders<ExtensionsModule> {\n return {\n ngModule: ExtensionsModule,\n providers: [\n provideAppInitializer(() => {\n const appExtensionService = inject(AppExtensionService);\n return appExtensionService.load();\n })\n ]\n };\n }\n\n /**\n * @deprecated use provideAppExtensions() api instead\n * @returns Module with providers\n */\n static forChild(): ModuleWithProviders<ExtensionsModule> {\n return {\n ngModule: ExtensionsModule\n };\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EnvironmentProviders, inject, provideAppInitializer, Provider, Type } from '@angular/core';\nimport { AppExtensionService } from './services/app-extension.service';\nimport { ExtensionService } from './services/extension.service';\nimport { RuleEvaluator } from './config/rule.extensions';\n\n/**\n * Provides all necessary entries for the app extensibility\n * @returns list of providers\n */\nexport function provideAppExtensions(): (Provider | EnvironmentProviders)[] {\n return [\n provideAppInitializer(() => {\n const appExtensionService = inject(AppExtensionService);\n return appExtensionService.load();\n })\n ];\n}\n\n/**\n * Provides a way to register extension entities in a single API\n *\n * Example:\n * ```typescript\n * providers: [\n * provideExtensions({\n * authGuards: {\n * auth1: guard1,\n * auth2: guard2\n * },\n * evaluators: {\n * eval1: evaluator1,\n * eval2: evaluator2\n * },\n * components: {\n * component: component1\n * }\n * });\n * ]\n * ```\n * @param params Parameters for the api\n * @param params.authGuards Auth guards to register\n * @param params.evaluators Rule evaluators to register\n * @param params.components Components to register\n * @returns list of Angular providers\n */\nexport function provideExtensions(params: {\n authGuards?: Record<string, unknown>;\n evaluators?: Record<string, RuleEvaluator>;\n components?: Record<string, Type<any>>;\n}) {\n return [\n provideAppInitializer(() => {\n const service = inject(ExtensionService);\n\n if (params) {\n if (params.authGuards) {\n service.setAuthGuards(params.authGuards);\n }\n if (params.evaluators) {\n service.setEvaluators(params.evaluators);\n }\n if (params.components) {\n service.setComponents(params.components);\n }\n }\n\n return Promise.resolve();\n })\n ];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './lib/config/action.extensions';\nexport * from './lib/config/document-list.extensions';\nexport * from './lib/config/extension-element';\nexport * from './lib/config/extension-utils';\nexport * from './lib/config/extension.config';\nexport * from './lib/config/icon.extensions';\nexport * from './lib/config/navbar.extensions';\nexport * from './lib/config/permission.extensions';\nexport * from './lib/config/routing.extensions';\nexport * from './lib/config/rule.extensions';\nexport * from './lib/config/sidebar.extensions';\nexport * from './lib/config/viewer.extensions';\n\nexport * from './lib/services/extension-loader.service';\nexport * from './lib/services/extension.service';\nexport * from './lib/services/component-register.service';\nexport * from './lib/services/app-extension.service';\nexport * from './lib/services/rule.service';\n\nexport * from './lib/store/states/navigation.state';\nexport * from './lib/store/states/profile.state';\nexport * from './lib/store/states/selection.state';\nexport * from './lib/store/states/repository.state';\n\nexport * from './lib/components/public-api';\nexport * from './lib/extensions.module';\nexport * from './lib/providers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExtensionLoaderService","core.every","core.some","core.not","i2.ComponentRegisterService","i3.RuleService","i1.ExtensionService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adf-extensions.mjs","sources":["../../../../lib/extensions/src/lib/config/action.extensions.ts","../../../../lib/extensions/src/lib/config/document-list.extensions.ts","../../../../lib/extensions/src/lib/config/extension-element.ts","../../../../lib/extensions/src/lib/config/extension-utils.ts","../../../../lib/extensions/src/lib/config/extension.config.ts","../../../../lib/extensions/src/lib/config/icon.extensions.ts","../../../../lib/extensions/src/lib/config/navbar.extensions.ts","../../../../lib/extensions/src/lib/config/permission.extensions.ts","../../../../lib/extensions/src/lib/config/routing.extensions.ts","../../../../lib/extensions/src/lib/config/rule.extensions.ts","../../../../lib/extensions/src/lib/config/sidebar.extensions.ts","../../../../lib/extensions/src/lib/config/viewer.extensions.ts","../../../../lib/extensions/src/lib/services/extension-loader.service.ts","../../../../lib/extensions/src/lib/evaluators/core.evaluators.ts","../../../../lib/extensions/src/lib/services/component-register.service.ts","../../../../lib/extensions/src/lib/services/rule.service.ts","../../../../lib/extensions/src/lib/services/extension.service.ts","../../../../lib/extensions/src/lib/services/app-extension.service.ts","../../../../lib/extensions/src/lib/store/states/navigation.state.ts","../../../../lib/extensions/src/lib/store/states/profile.state.ts","../../../../lib/extensions/src/lib/store/states/selection.state.ts","../../../../lib/extensions/src/lib/store/states/repository.state.ts","../../../../lib/extensions/src/lib/components/viewer/viewer-extension.interface.ts","../../../../lib/extensions/src/lib/components/viewer/preview-extension.component.ts","../../../../lib/extensions/src/lib/components/dynamic-column/dynamic-column.component.ts","../../../../lib/extensions/src/lib/components/dynamic-component/dynamic.component.ts","../../../../lib/extensions/src/lib/components/dynamic-tab/dynamic-tab.component.ts","../../../../lib/extensions/src/lib/components/public-api.ts","../../../../lib/extensions/src/lib/extensions.module.ts","../../../../lib/extensions/src/lib/providers.ts","../../../../lib/extensions/src/public-api.ts","../../../../lib/extensions/src/adf-extensions.ts"],"sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\n// eslint-disable-next-line no-shadow\nexport enum ContentActionType {\n default = 'default',\n button = 'button',\n separator = 'separator',\n menu = 'menu',\n custom = 'custom'\n}\n\nexport interface ContentActionRef extends ExtensionElement {\n type: ContentActionType;\n\n title?: string;\n tooltip?: string;\n description?: string;\n icon?: string;\n children?: Array<ContentActionRef>;\n component?: string;\n data?: any;\n color?: string;\n actions?: {\n [key: string]: string;\n click?: string;\n };\n rules?: {\n [key: string]: string;\n enabled?: string;\n visible?: string;\n };\n}\n\nexport interface ActionRef {\n id: string;\n type: string;\n payload?: any;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable id-blacklist */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface DataColumnTypes {\n text: string;\n image: string;\n date: string;\n json: string;\n icon: string;\n fileSize: string;\n location: string;\n boolean: string;\n amount: string;\n number: string;\n}\n\nexport type DataColumnType = keyof DataColumnTypes;\n\nexport interface DocumentListPresetRef extends ExtensionElement {\n key: string;\n type: DataColumnType;\n title?: string;\n format?: string;\n class?: string;\n sortable: boolean;\n template: string;\n desktopOnly: boolean;\n sortingKey: string;\n isHidden?: boolean;\n rules?: {\n [key: string]: string;\n visible?: string;\n };\n draggable?: boolean;\n resizable?: boolean;\n maxTextLength?: number;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface ExtensionElement {\n id: string;\n\n order?: number;\n disabled?: boolean;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ContentActionRef, ContentActionType } from './action.extensions';\n\nexport const getValue = (target: any, key: string): any => {\n if (!target) {\n return undefined;\n }\n\n const keys = key.split('.');\n key = '';\n\n do {\n key += keys.shift();\n const value = target[key];\n if (\n value !== undefined &&\n (typeof value === 'object' || !keys.length)\n ) {\n target = value;\n key = '';\n } else if (!keys.length) {\n target = undefined;\n } else {\n key += '.';\n }\n } while (keys.length);\n\n return target;\n};\n\nexport const filterEnabled = (entry: { disabled?: boolean }): boolean => !entry.disabled;\n\nexport const sortByOrder = (\n a: { order?: number | undefined },\n b: { order?: number | undefined }\n) => {\n const left = a.order === undefined ? Number.MAX_SAFE_INTEGER : a.order;\n const right = b.order === undefined ? Number.MAX_SAFE_INTEGER : b.order;\n return left - right;\n};\n\nexport const reduceSeparators = (\n acc: ContentActionRef[],\n el: ContentActionRef,\n i: number,\n arr: ContentActionRef[]\n): ContentActionRef[] => {\n // remove leading separator\n if (i === 0) {\n if (arr[i].type === ContentActionType.separator) {\n return acc;\n }\n }\n // remove duplicate separators\n if (i > 0) {\n const prev = arr[i - 1];\n if (\n prev.type === ContentActionType.separator &&\n el.type === ContentActionType.separator\n ) {\n return acc;\n }\n\n // remove trailing separator\n if (i === arr.length - 1) {\n if (el.type === ContentActionType.separator) {\n return acc;\n }\n }\n }\n\n return acc.concat(el);\n};\n\nexport const reduceEmptyMenus = (\n acc: ContentActionRef[],\n el: ContentActionRef\n): ContentActionRef[] => {\n if (el.type === ContentActionType.menu) {\n if ((el.children || []).length === 0) {\n return acc;\n }\n }\n return acc.concat(el);\n};\n\nexport const mergeObjects = (...objects: any[]): any => {\n const result = {};\n\n objects.forEach((source) => {\n Object.keys(source).forEach((prop) => {\n let replace = false;\n\n if (prop.endsWith('.$replace')) {\n replace = true;\n prop = prop.replace('.$replace', '');\n }\n\n if (!prop.startsWith('$')) {\n if (replace) {\n result[prop] = source[`${prop}.$replace`];\n } else if (prop in result && Array.isArray(result[prop])) {\n if (Array.isArray(source[prop])) {\n result[prop] = mergeArrays(result[prop], source[prop]);\n } else {\n result[prop] = [...result[prop], source[prop]];\n }\n } else if (prop in result && typeof result[prop] === 'object') {\n result[prop] = mergeObjects(result[prop], source[prop]);\n } else {\n result[prop] = source[prop];\n }\n }\n });\n });\n\n return result;\n};\n\nexport const mergeArrays = (left: any[], right: any[]): any[] => {\n const result = [];\n const map = {};\n\n (left || []).forEach((entry) => {\n const element = entry;\n if (element && Object.prototype.hasOwnProperty.call(element, 'id')) {\n map[element.id] = element;\n } else {\n result.push(element);\n }\n });\n\n (right || []).forEach((entry) => {\n const element = entry;\n if (element && Object.prototype.hasOwnProperty.call(element, 'id') && map[element.id]) {\n const merged = mergeObjects(map[element.id], element);\n map[element.id] = merged;\n } else {\n result.push(element);\n }\n });\n\n return Object.keys(map).map((key) => map[key]).concat(result);\n};\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RouteRef } from './routing.extensions';\nimport { RuleRef } from './rule.extensions';\nimport { ActionRef } from './action.extensions';\n\nexport interface ExtensionRef {\n $id: string;\n $name: string;\n $version: string;\n $vendor: string;\n $license: string;\n $runtime?: string;\n $description?: string;\n $dependencies?: Array<string>;\n\n appConfig?: any;\n rules?: Array<RuleRef>;\n routes?: Array<RouteRef>;\n actions?: Array<ActionRef>;\n\n features?: {\n [key: string]: any;\n };\n}\n\nexport interface ExtensionConfig extends ExtensionRef {\n $references?: Array<string | ExtensionRef>;\n $ignoreReferenceList?: Array<string>;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface IconRef extends ExtensionElement {\n value: string;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface NavBarRules {\n [ruleId: string]: string;\n}\n\nexport interface NavBarGroupRef extends ExtensionElement {\n items: Array<NavBarLinkRef>;\n rules?: NavBarRules;\n}\n\nexport interface NavBarLinkRef extends ExtensionElement {\n icon: string;\n title: string;\n route: string;\n\n provider?: string;\n component?: string;\n url?: string; // evaluated at runtime based on route ref\n description?: string;\n children?: Array<NavBarLinkRef>;\n rules?: NavBarRules;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface NodePermissions {\n check(source: any, permissions: string[], options?: any): boolean;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface RouteRef {\n id: string;\n path: string;\n component: string;\n parentRoute?: string;\n layout?: string;\n auth?: string[];\n data?: { [key: string]: string };\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SelectionState } from '../store/states/selection.state';\nimport { NavigationState } from '../store/states/navigation.state';\nimport { NodePermissions } from './permission.extensions';\nimport { ProfileState } from '../store/states/profile.state';\nimport { RepositoryInfo } from '@alfresco/js-api';\n\nexport type RuleEvaluator = (context: RuleContext, ...args: any[]) => boolean;\n\nexport interface RuleContext {\n repository: RepositoryInfo;\n auth: any;\n selection: SelectionState;\n navigation: NavigationState;\n profile: ProfileState;\n permissions: NodePermissions;\n\n getEvaluator(key: string): RuleEvaluator;\n}\n\nexport class RuleRef {\n type: string;\n id?: string;\n parameters?: Array<RuleParameter>;\n}\n\nexport interface RuleParameter {\n type: string;\n value: any;\n parameters?: Array<RuleParameter>;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface SidebarTabRef extends ExtensionElement {\n title: string;\n component: string;\n\n icon?: string;\n rules?: {\n [key: string]: string;\n visible?: string;\n };\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExtensionElement } from './extension-element';\n\nexport interface ViewerExtensionRef extends ExtensionElement {\n fileExtension: string;\n component: string;\n\n rules?: {\n [key: string]: string;\n visible?: string;\n };\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActionRef, ContentActionRef, ContentActionType } from '../config/action.extensions';\nimport { ExtensionElement } from '../config/extension-element';\nimport { filterEnabled, getValue, mergeObjects, sortByOrder } from '../config/extension-utils';\nimport { ExtensionConfig, ExtensionRef } from '../config/extension.config';\nimport { RouteRef } from '../config/routing.extensions';\nimport { RuleRef } from '../config/rule.extensions';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExtensionLoaderService {\n constructor(private http: HttpClient) {}\n\n load(configPath: string, pluginsPath: string, extensions?: string[], extensionValues?: ExtensionConfig[]): Promise<ExtensionConfig> {\n return new Promise<any>((resolve) => {\n this.loadConfig(configPath, 0).then((result) => {\n if (result) {\n let config = result.config;\n\n const override = sessionStorage.getItem('app.extension.config');\n if (override) {\n config = JSON.parse(override);\n }\n\n if (!config.$references?.length) {\n config.$references = this.filterIgnoredExtensions(extensions || [], config.$ignoreReferenceList);\n } else {\n config.$references = this.filterIgnoredExtensions(config.$references, config.$ignoreReferenceList);\n }\n\n if (config.$references?.length > 0 || extensionValues) {\n const plugins = (config.$references ?? []).map((name, idx) => this.loadConfig(`${pluginsPath}/${name}`, idx));\n\n Promise.all(plugins).then((results) => {\n let configs = results\n .filter((entry) => entry)\n .sort(sortByOrder)\n .map((entry) => entry.config);\n\n if (extensionValues) {\n configs = [...configs, ...extensionValues];\n }\n\n if (configs.length > 0) {\n config = mergeObjects(config, ...configs);\n }\n\n config = {\n ...config,\n ...this.getMetadata(result.config),\n $references: configs.map((ext) => this.getMetadata(ext))\n };\n\n resolve(config);\n });\n } else {\n resolve(config);\n }\n }\n });\n });\n }\n\n /**\n * Retrieves configuration elements.\n * Filters element by **enabled** and **order** attributes.\n * Example:\n * `getElements<ViewerExtensionRef>(config, 'features.viewer.extensions')`\n * @param config configuration settings\n * @param key element key\n * @param fallback fallback array of values\n * @returns list of elements\n */\n getElements<T extends ExtensionElement>(config: ExtensionConfig, key: string, fallback: Array<T> = []): Array<T> {\n const values = getValue(config, key) || fallback || [];\n return values.filter(filterEnabled).sort(sortByOrder);\n }\n\n getContentActions(config: ExtensionConfig, key: string): Array<ContentActionRef> {\n return this.getElements(config, key).map(this.setActionDefaults);\n }\n\n getRules(config: ExtensionConfig): Array<RuleRef> {\n if (config?.rules) {\n return config.rules;\n }\n return [];\n }\n\n getRoutes(config: ExtensionConfig): Array<RouteRef> {\n if (config) {\n return config.routes || [];\n }\n return [];\n }\n\n getActions(config: ExtensionConfig): Array<ActionRef> {\n if (config) {\n return config.actions || [];\n }\n return [];\n }\n\n getFeatures(config: ExtensionConfig): any {\n if (config) {\n return config.features || [];\n }\n return [];\n }\n\n protected getMetadata(config: ExtensionConfig): ExtensionRef {\n const result: any = {};\n\n Object.keys(config)\n .filter((key) => key.startsWith('$'))\n .forEach((key) => {\n result[key] = config[key];\n });\n\n return result;\n }\n\n protected loadConfig(url: string, order: number): Promise<{ order: number; config: ExtensionConfig }> {\n return new Promise((resolve) => {\n this.http.get<ExtensionConfig>(url).subscribe(\n (config) => {\n resolve({\n order,\n config\n });\n },\n () => {\n resolve(null);\n }\n );\n });\n }\n\n protected setActionDefaults(action: ContentActionRef): ContentActionRef {\n if (action) {\n action.type = action.type || ContentActionType.default;\n action.icon = action.icon || 'extension';\n }\n return action;\n }\n\n private filterIgnoredExtensions(extensions: Array<string | ExtensionRef>, ignoreReferenceList: string[]): Array<string | ExtensionRef> {\n if (!ignoreReferenceList?.length) {\n return extensions;\n }\n\n return extensions.map((file: string) => file.match('(?!.*/).+')[0]).filter((fileName: string) => !ignoreReferenceList.includes(fileName));\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { RuleContext, RuleParameter } from '../config/rule.extensions';\n\nexport const not = (context: RuleContext, ...args: RuleParameter[]): boolean => {\n if (!args || args.length === 0) {\n return false;\n }\n\n return args\n .every((arg) => {\n const evaluator = context.getEvaluator(arg.value);\n if (!evaluator) {\n console.warn('evaluator not found: ' + arg.value);\n return false;\n }\n return !evaluator(context, ...(arg.parameters || []));\n });\n};\n\nexport const every = (context: RuleContext, ...args: RuleParameter[]): boolean => {\n if (!args || args.length === 0) {\n return false;\n }\n\n return args\n .every((arg) => {\n const evaluator = context.getEvaluator(arg.value);\n if (!evaluator) {\n console.warn('evaluator not found: ' + arg.value);\n return false;\n }\n return evaluator(context, ...(arg.parameters || []));\n });\n};\n\nexport const some = (context: RuleContext, ...args: RuleParameter[]): boolean => {\n if (!args || args.length === 0) {\n return false;\n }\n\n return args\n .some((arg) => {\n const evaluator = context.getEvaluator(arg.value);\n if (!evaluator) {\n console.warn('evaluator not found: ' + arg.value);\n return false;\n }\n return evaluator(context, ...(arg.parameters || []));\n });\n};\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Injectable, Type } from '@angular/core';\nimport { MatMenuItem } from '@angular/material/menu';\n\nexport interface ExtensionComponent {\n data: any;\n menuItem?: MatMenuItem;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ComponentRegisterService {\n components: Record<string, Type<any>> = {};\n\n setComponents(values: Record<string, Type<any>>) {\n if (values) {\n this.components = Object.assign({}, this.components, values);\n }\n }\n\n getComponentById<T>(id: string): Type<T> {\n return this.components[id];\n }\n\n hasComponentById(id: string): boolean {\n return !!this.getComponentById(id);\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Injectable } from '@angular/core';\nimport { RuleRef, RuleContext, RuleEvaluator, RuleParameter } from '../config/rule.extensions';\nimport { ExtensionConfig } from '../config/extension.config';\nimport { ExtensionLoaderService } from './extension-loader.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RuleService {\n context: RuleContext = null;\n rules: Array<RuleRef> = [];\n evaluators: { [key: string]: RuleEvaluator } = {};\n\n constructor(protected loader: ExtensionLoaderService) {}\n\n setup(config: ExtensionConfig) {\n this.rules = this.loader.getRules(config);\n }\n\n /**\n * Adds one or more new rule evaluators to the existing set.\n * @param values The new evaluators to add\n */\n setEvaluators(values: Record<string, RuleEvaluator>) {\n if (values) {\n this.evaluators = Object.assign({}, this.evaluators, values);\n }\n }\n\n /**\n * Retrieves a rule using its ID value.\n * @param id The ID value to look for\n * @returns The rule or null if not found\n */\n getRuleById(id: string): RuleRef {\n return this.rules.find((ref) => ref.id === id);\n }\n\n /**\n * Retrieves a RuleEvaluator function using its key name.\n * @param key Key name to look for\n * @returns RuleEvaluator or null if not found\n */\n getEvaluator(key: string): RuleEvaluator {\n if (key?.startsWith('!')) {\n const fn = this.evaluators[key.substring(1)];\n return (context: RuleContext, ...args: RuleParameter[]): boolean => !fn(context, ...args);\n }\n return this.evaluators[key];\n }\n\n /**\n * Evaluates a rule.\n * @param ruleId ID of the rule to evaluate\n * @param context Custom rule execution context.\n * @returns True if the rule passed, false otherwise\n */\n evaluateRule(ruleId: string, context?: RuleContext): boolean {\n const ruleRef = this.getRuleById(ruleId);\n context = context || this.context;\n\n if (ruleRef) {\n const evaluator = this.getEvaluator(ruleRef.type);\n if (evaluator) {\n return evaluator(context, ...ruleRef.parameters);\n }\n } else {\n const evaluator = this.getEvaluator(ruleId);\n if (evaluator) {\n return evaluator(context);\n }\n }\n return false;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Injectable, Type, InjectionToken, Inject } from '@angular/core';\nimport { RuleEvaluator, RuleRef, RuleContext } from '../config/rule.extensions';\nimport { ExtensionConfig } from '../config/extension.config';\nimport { ExtensionLoaderService } from './extension-loader.service';\nimport { RouteRef } from '../config/routing.extensions';\nimport { ActionRef } from '../config/action.extensions';\nimport * as core from '../evaluators/core.evaluators';\nimport { ComponentRegisterService } from './component-register.service';\nimport { RuleService } from './rule.service';\nimport { ExtensionElement } from '../config/extension-element';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/**\n * The default extensions factory\n * @returns the list of extension json files\n */\nexport function extensionJsonsFactory() {\n return [];\n}\n\nexport const EXTENSION_JSONS = new InjectionToken<string[][]>('extension-jsons', {\n providedIn: 'root',\n factory: extensionJsonsFactory\n});\n\nexport const EXTENSION_JSON_VALUES = new InjectionToken<string[][]>('extension-jsons-values', {\n providedIn: 'root',\n factory: extensionJsonsFactory\n});\n\n/**\n * Provides the extension json values for the angular modules\n * @param jsons files to provide\n * @returns a provider section\n */\nexport function provideExtensionConfig(jsons: string[]) {\n return {\n provide: EXTENSION_JSONS,\n useValue: jsons,\n multi: true\n };\n}\n\n/**\n * Provides the extension json raw values for the angular modules\n * @param extensionConfigValue config value\n * @returns a provider section\n */\nexport function provideExtensionConfigValues(extensionConfigValue: ExtensionConfig[]) {\n return {\n provide: EXTENSION_JSON_VALUES,\n useValue: extensionConfigValue,\n multi: true\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExtensionService {\n configPath = 'assets/app.extensions.json';\n pluginsPath = 'assets/plugins';\n\n routes: Array<RouteRef> = [];\n actions: Array<ActionRef> = [];\n features: Array<any> = [];\n authGuards: Record<string, unknown> = {};\n\n setup$: Observable<ExtensionConfig>;\n\n protected config: ExtensionConfig = null;\n protected onSetup$ = new BehaviorSubject<ExtensionConfig>(this.config);\n\n constructor(\n protected loader: ExtensionLoaderService,\n protected componentRegister: ComponentRegisterService,\n protected ruleService: RuleService,\n @Inject(EXTENSION_JSONS) protected extensionJsons: string[],\n @Inject(EXTENSION_JSON_VALUES) protected extensionJsonValues: ExtensionConfig[]\n ) {\n this.setup$ = this.onSetup$.asObservable();\n }\n\n /**\n * Loads and registers an extension config file and plugins (specified by path properties).\n * @returns The loaded config data\n */\n async load(): Promise<ExtensionConfig> {\n const config = await this.loader.load(this.configPath, this.pluginsPath, this.extensionJsons.flat(), this.extensionJsonValues.flat());\n\n this.setup(config);\n return config;\n }\n\n /**\n * Registers extensions from a config object.\n * @param config Object with config data\n */\n setup(config: ExtensionConfig) {\n if (!config) {\n console.warn('Extension configuration not found');\n return;\n }\n\n this.config = config;\n\n this.setEvaluators({\n 'core.every': core.every,\n 'core.some': core.some,\n 'core.not': core.not\n });\n\n this.actions = this.loader.getActions(config);\n this.routes = this.loader.getRoutes(config);\n this.features = this.loader.getFeatures(config);\n\n this.ruleService.setup(config);\n this.onSetup$.next(config);\n }\n\n /**\n * Gets features by key.\n * @param key Key string using dot notation or array of strings\n * @param defaultValue Default value returned if feature is not found, default is empty array\n * @returns Feature found by key\n */\n getFeature<T = any[]>(key: string | string[], defaultValue: any = []): T {\n const properties: string[] = Array.isArray(key) ? key : key.split('.');\n return properties.reduce((prev, curr) => prev?.[curr], this.features) || defaultValue;\n }\n\n getElements<T extends ExtensionElement>(key: string, fallback: Array<T> = []): Array<T> {\n return this.loader.getElements(this.config, key, fallback);\n }\n\n /**\n * Adds one or more new rule evaluators to the existing set.\n * @param values The new evaluators to add\n */\n setEvaluators(values: Record<string, RuleEvaluator>) {\n this.ruleService.setEvaluators(values);\n }\n\n /**\n * Adds one or more new auth guards to the existing set.\n * @param values The new auth guards to add\n */\n setAuthGuards(values: Record<string, unknown>) {\n if (values) {\n this.authGuards = Object.assign({}, this.authGuards, values);\n }\n }\n\n /**\n * Adds one or more new components to the existing set.\n * @param values The new components to add\n */\n setComponents(values: Record<string, Type<any>>) {\n this.componentRegister.setComponents(values);\n }\n\n /**\n * Retrieves a route using its ID value.\n * @param id The ID value to look for\n * @returns The route or null if not found\n */\n getRouteById(id: string): RouteRef {\n return this.routes.find((route) => route.id === id);\n }\n\n /**\n * Retrieves one or more auth guards using an array of ID values.\n * @param ids Array of ID value to look for\n * @returns Array of auth guards or empty array if none were found\n */\n getAuthGuards(ids: string[]): Array<unknown> {\n return (ids || []).map((id) => this.authGuards[id]).filter((guard) => guard);\n }\n\n /**\n * Retrieves an action using its ID value.\n * @param id The ID value to look for\n * @returns Action or null if not found\n */\n getActionById(id: string): ActionRef {\n return this.actions.find((action) => action.id === id);\n }\n\n /**\n * Retrieves a RuleEvaluator function using its key name.\n * @param key Key name to look for\n * @returns RuleEvaluator or null if not found\n */\n getEvaluator(key: string): RuleEvaluator {\n return this.ruleService.getEvaluator(key);\n }\n\n /**\n * Evaluates a rule.\n * @param ruleId ID of the rule to evaluate\n * @param context Custom rule execution context.\n * @returns True if the rule passed, false otherwise\n */\n evaluateRule(ruleId: string, context?: RuleContext): boolean {\n return this.ruleService.evaluateRule(ruleId, context);\n }\n\n /**\n * Retrieves a registered extension component using its ID value.\n * @param id The ID value to look for\n * @returns The component or null if not found\n */\n getComponentById<T>(id: string) {\n return this.componentRegister.getComponentById<T>(id);\n }\n\n /**\n * Retrieves a rule using its ID value.\n * @param id The ID value to look for\n * @returns The rule or null if not found\n */\n getRuleById(id: string): RuleRef {\n return this.ruleService.getRuleById(id);\n }\n\n /**\n * Runs a lightweight expression stored in a string.\n * @param value String containing the expression or literal value\n * @param context Parameter object for the expression with details of app state\n * @returns Result of evaluated expression, if found, or the literal value otherwise\n */\n runExpression(value: string | any, context?: any) {\n if (typeof value === 'string') {\n return this.evaluateExpression(value, context);\n } else {\n const duplicate = Object.assign({}, value);\n Object.keys(duplicate).forEach((key) => {\n duplicate[key] = this.evaluateExpression(duplicate[key], context);\n });\n return duplicate;\n }\n }\n\n private evaluateExpression(value: string, context?: any): string {\n const pattern = new RegExp(/\\$\\((.*\\)?)\\)/g);\n const matches = pattern.exec(value);\n\n if (matches && matches.length > 1) {\n const expression = matches[1];\n const fn = new Function('context', `return ${expression}`);\n const result = fn(context);\n\n return result;\n }\n return value;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Injectable } from '@angular/core';\nimport { ExtensionConfig, ExtensionRef } from '../config/extension.config';\nimport { ExtensionService } from '../services/extension.service';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { ViewerExtensionRef } from '../config/viewer.extensions';\nimport { DocumentListPresetRef } from '../config/document-list.extensions';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppExtensionService {\n references$: Observable<ExtensionRef[]>;\n private _references = new BehaviorSubject<ExtensionRef[]>([]);\n\n constructor(protected extensionService: ExtensionService) {\n this.references$ = this._references.asObservable();\n }\n\n async load() {\n const config = await this.extensionService.load();\n this.setup(config);\n }\n\n setup(config: ExtensionConfig) {\n if (!config) {\n return;\n }\n\n const references = (config.$references || []).filter((entry) => typeof entry === 'object').map((entry) => entry as ExtensionRef);\n this._references.next(references);\n }\n\n /**\n * Provides a collection of document list columns for the particular preset.\n * The result is filtered by the **disabled** state.\n * @param key Preset key.\n * @returns list of document list presets\n */\n getDocumentListPreset(key: string): DocumentListPresetRef[] {\n return this.extensionService.getElements<DocumentListPresetRef>(`features.documentList.${key}`).filter((entry) => !entry.disabled);\n }\n\n /**\n * Provides a list of the Viewer content extensions,\n * filtered by **disabled** state and **rules**.\n * @returns list of viewer extension references\n */\n getViewerExtensions(): ViewerExtensionRef[] {\n return this.extensionService\n .getElements<ViewerExtensionRef>('features.viewer.extensions')\n .filter((extension) => !this.isViewerExtensionDisabled(extension));\n }\n\n protected isViewerExtensionDisabled(extension: ViewerExtensionRef): boolean {\n if (extension) {\n if (extension.disabled) {\n return true;\n }\n\n if (extension.rules?.disabled) {\n return this.extensionService.evaluateRule(extension.rules.disabled);\n }\n }\n\n return false;\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Node } from '@alfresco/js-api';\n\nexport interface NavigationState {\n currentFolder?: Node;\n url?: string;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Group } from '@alfresco/js-api';\n\nexport interface ProfileState {\n [key: string]: any;\n\n id: string;\n isAdmin: boolean;\n firstName: string;\n lastName: string;\n userName?: string;\n initials?: string;\n groups?: Group[];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { NodeEntry, SiteEntry } from '@alfresco/js-api';\n\nexport interface SelectionState {\n count: number;\n nodes: NodeEntry[];\n libraries: SiteEntry[];\n isEmpty: boolean;\n first?: NodeEntry;\n last?: NodeEntry;\n folder?: NodeEntry;\n file?: NodeEntry;\n library?: SiteEntry;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface RepositoryState {\n isAuditEnabled?: boolean;\n isQuickShareEnabled?: boolean;\n isReadOnly?: boolean;\n isThumbnailGenerationEnabled?: boolean;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Node } from '@alfresco/js-api';\n\nexport interface ViewerExtensionInterface {\n url: string;\n nameFile: string;\n node: Node;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n Input,\n ComponentRef,\n OnInit,\n ViewChild,\n ViewContainerRef,\n OnDestroy,\n OnChanges,\n EventEmitter,\n Output,\n DestroyRef,\n inject\n} from '@angular/core';\nimport { ExtensionService } from '../../services/extension.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'adf-preview-extension',\n template: `<div #content></div>`\n})\nexport class PreviewExtensionComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n content: ViewContainerRef;\n\n /** ID string of the component to preview. */\n @Input()\n id: string;\n\n /** Identifier of a node that is opened by the viewer. */\n @Input()\n nodeId: string = null;\n\n /** URL of the content in the repository. */\n @Input()\n url: string;\n\n /** File extension (.jpg, .png, etc) for the viewer. */\n @Input()\n extension: string;\n\n @Output()\n contentLoaded = new EventEmitter<void>();\n\n private readonly destroyRef = inject(DestroyRef);\n\n private componentRef: ComponentRef<any>;\n\n constructor(private extensionService: ExtensionService) {}\n\n ngOnInit() {\n if (!this.id) {\n return;\n }\n\n const componentType = this.extensionService.getComponentById(this.id);\n if (componentType) {\n this.content.clear();\n this.componentRef = this.content.createComponent(componentType, { index: 0 });\n this.updateInstance();\n }\n }\n\n ngOnChanges() {\n this.updateInstance();\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n private updateInstance() {\n if (this.componentRef?.instance) {\n this.componentRef.setInput('url', this.url);\n this.componentRef.setInput('extension', this.extension);\n this.componentRef.setInput('nodeId', this.nodeId);\n\n if (this.componentRef.instance?.contentLoaded) {\n this.componentRef.instance.contentLoaded.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.contentLoaded.emit();\n });\n }\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n Component,\n Input,\n OnInit,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n ComponentRef,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { ExtensionService } from '../../services/extension.service';\n\n@Component({\n selector: 'adf-dynamic-column',\n template: `<ng-container #content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'adf-dynamic-column' },\n styles: [\n `\n .adf-dynamic-column {\n display: flex;\n align-items: center;\n width: inherit;\n }\n `\n ]\n})\nexport class DynamicColumnComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n content: ViewContainerRef;\n\n @Input()\n id: string;\n\n @Input()\n context: any;\n\n private componentRef: ComponentRef<any>;\n\n constructor(private extensions: ExtensionService) {}\n\n ngOnInit() {\n const componentType = this.extensions.getComponentById(this.id);\n if (componentType) {\n this.content.clear();\n this.componentRef = this.content.createComponent(componentType, { index: 0 });\n this.updateInstance();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.node) {\n this.updateInstance();\n }\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n private updateInstance() {\n if (this.componentRef?.instance) {\n this.componentRef.instance.context = this.context;\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, Input, ComponentRef, ViewChild, ViewContainerRef, OnDestroy, OnChanges, SimpleChanges, AfterViewInit } from '@angular/core';\nimport { ExtensionService } from '../../services/extension.service';\nimport { ExtensionComponent } from '../../services/component-register.service';\nimport { MatMenuItem } from '@angular/material/menu';\n\n// cSpell:words lifecycle\n@Component({\n selector: 'adf-dynamic-component',\n template: `<div #content></div>`\n})\nexport class DynamicExtensionComponent implements OnChanges, OnDestroy, AfterViewInit {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n content: ViewContainerRef;\n\n /** Unique ID string for the component to show. */\n @Input() id: string;\n\n /** Data for the dynamically-loaded component instance. */\n @Input() data: any;\n\n /** Provides the menu item of dynamically-loaded component instance. */\n menuItem: MatMenuItem;\n\n private componentRef: ComponentRef<ExtensionComponent>;\n private loaded: boolean = false;\n\n constructor(private extensions: ExtensionService) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.loaded) {\n this.loadComponent();\n this.loaded = true;\n }\n\n if (changes.data) {\n this.data = changes.data.currentValue;\n }\n\n this.updateInstance();\n this.proxy('ngOnChanges', changes);\n }\n\n ngOnDestroy() {\n if (this.componentCreated()) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n ngAfterViewInit() {\n this.menuItem = this.componentRef?.instance?.menuItem;\n }\n\n private loadComponent() {\n const componentType = this.extensions.getComponentById<ExtensionComponent>(this.id);\n if (componentType) {\n this.content.clear();\n this.componentRef = this.content.createComponent(componentType, { index: 0 });\n }\n }\n\n private updateInstance() {\n if (this.componentCreated()) {\n this.componentRef.instance.data = this.data;\n }\n }\n\n private proxy(lifecycleMethod: string, ...args: any[]) {\n if (this.componentCreated() && this.lifecycleHookIsImplemented(lifecycleMethod)) {\n // eslint-disable-next-line prefer-spread\n this.componentRef.instance[lifecycleMethod].apply(this.componentRef.instance, args);\n }\n }\n\n private componentCreated(): boolean {\n return !!this.componentRef && !!this.componentRef.instance;\n }\n\n private lifecycleHookIsImplemented(lifecycleMethod: string): boolean {\n return !!this.componentRef.instance[lifecycleMethod];\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Component, Input, OnInit, OnDestroy, ViewChild, ViewContainerRef, ComponentRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { Node } from '@alfresco/js-api';\nimport { ExtensionService } from '../../services/extension.service';\n\n@Component({\n selector: 'adf-dynamic-tab',\n template: `<div #content></div>`\n})\nexport class DynamicTabComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('content', { read: ViewContainerRef, static: true })\n content: ViewContainerRef;\n\n /** Unique ID string for the component to show. */\n @Input()\n id: string;\n\n @Input()\n node: Node;\n\n private componentRef: ComponentRef<any>;\n\n constructor(private extensions: ExtensionService) {}\n\n ngOnInit() {\n const componentType = this.extensions.getComponentById(this.id);\n if (componentType) {\n this.content.clear();\n this.componentRef = this.content.createComponent(componentType, { index: 0 });\n this.updateInstance();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.node) {\n this.updateInstance();\n }\n }\n\n ngOnDestroy() {\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n private updateInstance() {\n if (this.componentRef?.instance) {\n this.componentRef.instance.node = this.node;\n }\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './viewer/viewer-extension.interface';\nexport * from './viewer/preview-extension.component';\nexport * from './dynamic-column/dynamic-column.component';\nexport * from './dynamic-component/dynamic.component';\nexport * from './dynamic-tab/dynamic-tab.component';\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { NgModule, ModuleWithProviders, inject, provideAppInitializer } from '@angular/core';\nimport { AppExtensionService } from './services/app-extension.service';\n\n/** @deprecated use provideAppExtensions() api instead */\n@NgModule()\nexport class ExtensionsModule {\n static forRoot(): ModuleWithProviders<ExtensionsModule> {\n return {\n ngModule: ExtensionsModule,\n providers: [\n provideAppInitializer(() => {\n const appExtensionService = inject(AppExtensionService);\n return appExtensionService.load();\n })\n ]\n };\n }\n\n /**\n * @deprecated use provideAppExtensions() api instead\n * @returns Module with providers\n */\n static forChild(): ModuleWithProviders<ExtensionsModule> {\n return {\n ngModule: ExtensionsModule\n };\n }\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EnvironmentProviders, inject, provideAppInitializer, Provider, Type } from '@angular/core';\nimport { AppExtensionService } from './services/app-extension.service';\nimport { ExtensionService } from './services/extension.service';\nimport { RuleEvaluator } from './config/rule.extensions';\n\n/**\n * Provides all necessary entries for the app extensibility\n * @returns list of providers\n */\nexport function provideAppExtensions(): (Provider | EnvironmentProviders)[] {\n return [\n provideAppInitializer(() => {\n const appExtensionService = inject(AppExtensionService);\n return appExtensionService.load();\n })\n ];\n}\n\n/**\n * Provides a way to register extension entities in a single API\n *\n * Example:\n * ```typescript\n * providers: [\n * provideExtensions({\n * authGuards: {\n * auth1: guard1,\n * auth2: guard2\n * },\n * evaluators: {\n * eval1: evaluator1,\n * eval2: evaluator2\n * },\n * components: {\n * component: component1\n * }\n * });\n * ]\n * ```\n * @param params Parameters for the api\n * @param params.authGuards Auth guards to register\n * @param params.evaluators Rule evaluators to register\n * @param params.components Components to register\n * @returns list of Angular providers\n */\nexport function provideExtensions(params: {\n authGuards?: Record<string, unknown>;\n evaluators?: Record<string, RuleEvaluator>;\n components?: Record<string, Type<any>>;\n}) {\n return [\n provideAppInitializer(() => {\n const service = inject(ExtensionService);\n\n if (params) {\n if (params.authGuards) {\n service.setAuthGuards(params.authGuards);\n }\n if (params.evaluators) {\n service.setEvaluators(params.evaluators);\n }\n if (params.components) {\n service.setComponents(params.components);\n }\n }\n\n return Promise.resolve();\n })\n ];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './lib/config/action.extensions';\nexport * from './lib/config/document-list.extensions';\nexport * from './lib/config/extension-element';\nexport * from './lib/config/extension-utils';\nexport * from './lib/config/extension.config';\nexport * from './lib/config/icon.extensions';\nexport * from './lib/config/navbar.extensions';\nexport * from './lib/config/permission.extensions';\nexport * from './lib/config/routing.extensions';\nexport * from './lib/config/rule.extensions';\nexport * from './lib/config/sidebar.extensions';\nexport * from './lib/config/viewer.extensions';\n\nexport * from './lib/services/extension-loader.service';\nexport * from './lib/services/extension.service';\nexport * from './lib/services/component-register.service';\nexport * from './lib/services/app-extension.service';\nexport * from './lib/services/rule.service';\n\nexport * from './lib/store/states/navigation.state';\nexport * from './lib/store/states/profile.state';\nexport * from './lib/store/states/selection.state';\nexport * from './lib/store/states/repository.state';\n\nexport * from './lib/components/public-api';\nexport * from './lib/extensions.module';\nexport * from './lib/providers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExtensionLoaderService","core.every","core.some","core.not","i2.ComponentRegisterService","i3.RuleService","i1.ExtensionService"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;;AAeG;AAIH;IACY;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AACzB,IAAA,iBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACrB,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,GAM5B,EAAA,CAAA,CAAA;;AC1BD;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;MAIU,QAAQ,GAAG,CAAC,MAAW,EAAE,GAAW,KAAS;IACtD,IAAI,CAAC,MAAM,EAAE;AACT,QAAA,OAAO,SAAS;;IAGpB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;IAC3B,GAAG,GAAG,EAAE;AAER,IAAA,GAAG;AACC,QAAA,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;AACnB,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;QACzB,IACI,KAAK,KAAK,SAAS;aAClB,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAC7C;YACE,MAAM,GAAG,KAAK;YACd,GAAG,GAAG,EAAE;;AACL,aAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACrB,MAAM,GAAG,SAAS;;aACf;YACH,GAAG,IAAI,GAAG;;AAElB,KAAC,QAAQ,IAAI,CAAC,MAAM;AAEpB,IAAA,OAAO,MAAM;AACjB;AAEO,MAAM,aAAa,GAAG,CAAC,KAA6B,KAAc,CAAC,KAAK,CAAC;MAEnE,WAAW,GAAG,CACvB,CAAiC,EACjC,CAAiC,KACjC;AACA,IAAA,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAK;AACtE,IAAA,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAK;IACvE,OAAO,IAAI,GAAG,KAAK;AACvB;AAEO,MAAM,gBAAgB,GAAG,CAC5B,GAAuB,EACvB,EAAoB,EACpB,CAAS,EACT,GAAuB,KACH;;AAEpB,IAAA,IAAI,CAAC,KAAK,CAAC,EAAE;QACT,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,SAAS,EAAE;AAC7C,YAAA,OAAO,GAAG;;;;AAIlB,IAAA,IAAI,CAAC,GAAG,CAAC,EAAE;QACP,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvB,QAAA,IACI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,SAAS;AACzC,YAAA,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,SAAS,EACzC;AACE,YAAA,OAAO,GAAG;;;QAId,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,SAAS,EAAE;AACzC,gBAAA,OAAO,GAAG;;;;AAKtB,IAAA,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;AACzB;MAEa,gBAAgB,GAAG,CAC5B,GAAuB,EACvB,EAAoB,KACA;IACpB,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,EAAE;AACpC,QAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,KAAK,CAAC,EAAE;AAClC,YAAA,OAAO,GAAG;;;AAGlB,IAAA,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;AACzB;MAEa,YAAY,GAAG,CAAC,GAAG,OAAc,KAAS;IACnD,MAAM,MAAM,GAAG,EAAE;AAEjB,IAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;QACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACjC,IAAI,OAAO,GAAG,KAAK;AAEnB,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC5B,OAAO,GAAG,IAAI;gBACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;;YAGxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,OAAO,EAAE;oBACT,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAG,EAAA,IAAI,CAAW,SAAA,CAAA,CAAC;;AACtC,qBAAA,IAAI,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;oBACtD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AAC7B,wBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;;yBACnD;AACH,wBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;;;AAE/C,qBAAA,IAAI,IAAI,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;AAC3D,oBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;;qBACpD;oBACH,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;;;AAGvC,SAAC,CAAC;AACN,KAAC,CAAC;AAEF,IAAA,OAAO,MAAM;AACjB;MAEa,WAAW,GAAG,CAAC,IAAW,EAAE,KAAY,KAAW;IAC5D,MAAM,MAAM,GAAG,EAAE;IACjB,MAAM,GAAG,GAAG,EAAE;IAEd,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,KAAI;QAC3B,MAAM,OAAO,GAAG,KAAK;AACrB,QAAA,IAAI,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;AAChE,YAAA,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO;;aACtB;AACH,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;;AAE5B,KAAC,CAAC;IAEF,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,KAAI;QAC5B,MAAM,OAAO,GAAG,KAAK;QACrB,IAAI,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AACnF,YAAA,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;AACrD,YAAA,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM;;aACrB;AACH,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;;AAE5B,KAAC,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACjE;;AC/JA;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;MAqBU,OAAO,CAAA;AAInB;;ACxCD;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;MAcU,sBAAsB,CAAA;AAC/B,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI;;AAExB,IAAA,IAAI,CAAC,UAAkB,EAAE,WAAmB,EAAE,UAAqB,EAAE,eAAmC,EAAA;AACpG,QAAA,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,KAAI;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;gBAC3C,IAAI,MAAM,EAAE;AACR,oBAAA,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM;oBAE1B,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC;oBAC/D,IAAI,QAAQ,EAAE;AACV,wBAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;;AAGjC,oBAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE;AAC7B,wBAAA,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,CAAC,oBAAoB,CAAC;;yBAC7F;AACH,wBAAA,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,oBAAoB,CAAC;;oBAGtG,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE;AACnD,wBAAA,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,CAAG,EAAA,WAAW,CAAI,CAAA,EAAA,IAAI,CAAE,CAAA,EAAE,GAAG,CAAC,CAAC;wBAE7G,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAI;4BAClC,IAAI,OAAO,GAAG;AACT,iCAAA,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK;iCACvB,IAAI,CAAC,WAAW;iCAChB,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC;4BAEjC,IAAI,eAAe,EAAE;gCACjB,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,eAAe,CAAC;;AAG9C,4BAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gCACpB,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC;;AAG7C,4BAAA,MAAM,GAAG;AACL,gCAAA,GAAG,MAAM;AACT,gCAAA,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;AAClC,gCAAA,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;6BAC1D;4BAED,OAAO,CAAC,MAAM,CAAC;AACnB,yBAAC,CAAC;;yBACC;wBACH,OAAO,CAAC,MAAM,CAAC;;;AAG3B,aAAC,CAAC;AACN,SAAC,CAAC;;AAGN;;;;;;;;;AASG;AACH,IAAA,WAAW,CAA6B,MAAuB,EAAE,GAAW,EAAE,WAAqB,EAAE,EAAA;AACjG,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,QAAQ,IAAI,EAAE;QACtD,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;;IAGzD,iBAAiB,CAAC,MAAuB,EAAE,GAAW,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;;AAGpE,IAAA,QAAQ,CAAC,MAAuB,EAAA;AAC5B,QAAA,IAAI,MAAM,EAAE,KAAK,EAAE;YACf,OAAO,MAAM,CAAC,KAAK;;AAEvB,QAAA,OAAO,EAAE;;AAGb,IAAA,SAAS,CAAC,MAAuB,EAAA;QAC7B,IAAI,MAAM,EAAE;AACR,YAAA,OAAO,MAAM,CAAC,MAAM,IAAI,EAAE;;AAE9B,QAAA,OAAO,EAAE;;AAGb,IAAA,UAAU,CAAC,MAAuB,EAAA;QAC9B,IAAI,MAAM,EAAE;AACR,YAAA,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE;;AAE/B,QAAA,OAAO,EAAE;;AAGb,IAAA,WAAW,CAAC,MAAuB,EAAA;QAC/B,IAAI,MAAM,EAAE;AACR,YAAA,OAAO,MAAM,CAAC,QAAQ,IAAI,EAAE;;AAEhC,QAAA,OAAO,EAAE;;AAGH,IAAA,WAAW,CAAC,MAAuB,EAAA;QACzC,MAAM,MAAM,GAAQ,EAAE;AAEtB,QAAA,MAAM,CAAC,IAAI,CAAC,MAAM;AACb,aAAA,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;AACnC,aAAA,OAAO,CAAC,CAAC,GAAG,KAAI;YACb,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AAC7B,SAAC,CAAC;AAEN,QAAA,OAAO,MAAM;;IAGP,UAAU,CAAC,GAAW,EAAE,KAAa,EAAA;AAC3C,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC3B,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,GAAG,CAAC,CAAC,SAAS,CACzC,CAAC,MAAM,KAAI;AACP,gBAAA,OAAO,CAAC;oBACJ,KAAK;oBACL;AACH,iBAAA,CAAC;aACL,EACD,MAAK;gBACD,OAAO,CAAC,IAAI,CAAC;AACjB,aAAC,CACJ;AACL,SAAC,CAAC;;AAGI,IAAA,iBAAiB,CAAC,MAAwB,EAAA;QAChD,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,iBAAiB,CAAC,OAAO;YACtD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW;;AAE5C,QAAA,OAAO,MAAM;;IAGT,uBAAuB,CAAC,UAAwC,EAAE,mBAA6B,EAAA;AACnG,QAAA,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE;AAC9B,YAAA,OAAO,UAAU;;AAGrB,QAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAY,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAgB,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;;+GA7IpI,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAET,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;AC5BD;;;;;;;;;;;;;;;AAeG;AAII,MAAM,GAAG,GAAG,CAAC,OAAoB,EAAE,GAAG,IAAqB,KAAa;IAC3E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAA,OAAO,KAAK;;AAGhB,IAAA,OAAO;AACF,SAAA,KAAK,CAAC,CAAC,GAAG,KAAI;QACX,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,KAAK,CAAC;AACjD,YAAA,OAAO,KAAK;;AAEhB,QAAA,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AACzD,KAAC,CAAC;AACV,CAAC;AAEM,MAAM,KAAK,GAAG,CAAC,OAAoB,EAAE,GAAG,IAAqB,KAAa;IAC7E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAA,OAAO,KAAK;;AAGhB,IAAA,OAAO;AACF,SAAA,KAAK,CAAC,CAAC,GAAG,KAAI;QACX,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,KAAK,CAAC;AACjD,YAAA,OAAO,KAAK;;AAEhB,QAAA,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AACxD,KAAC,CAAC;AACV,CAAC;AAEM,MAAM,IAAI,GAAG,CAAC,OAAoB,EAAE,GAAG,IAAqB,KAAa;IAC5E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAA,OAAO,KAAK;;AAGhB,IAAA,OAAO;AACF,SAAA,IAAI,CAAC,CAAC,GAAG,KAAI;QACV,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,KAAK,CAAC;AACjD,YAAA,OAAO,KAAK;;AAEhB,QAAA,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AACxD,KAAC,CAAC;AACV,CAAC;;ACjED;;;;;;;;;;;;;;;AAeG;MAWU,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;QAEI,IAAU,CAAA,UAAA,GAA8B,EAAE;AAe7C;AAbG,IAAA,aAAa,CAAC,MAAiC,EAAA;QAC3C,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;;;AAIpE,IAAA,gBAAgB,CAAI,EAAU,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;;AAG9B,IAAA,gBAAgB,CAAC,EAAU,EAAA;QACvB,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;;+GAd7B,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA,CAAA;;4FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACzBlC;;;;;;;;;;;;;;;AAeG;MAUU,WAAW,CAAA;AAKpB,IAAA,WAAA,CAAsB,MAA8B,EAAA;QAA9B,IAAM,CAAA,MAAA,GAAN,MAAM;QAJ5B,IAAO,CAAA,OAAA,GAAgB,IAAI;QAC3B,IAAK,CAAA,KAAA,GAAmB,EAAE;QAC1B,IAAU,CAAA,UAAA,GAAqC,EAAE;;AAIjD,IAAA,KAAK,CAAC,MAAuB,EAAA;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;;AAG7C;;;AAGG;AACH,IAAA,aAAa,CAAC,MAAqC,EAAA;QAC/C,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;;;AAIpE;;;;AAIG;AACH,IAAA,WAAW,CAAC,EAAU,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;;AAGlD;;;;AAIG;AACH,IAAA,YAAY,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;AACtB,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC5C,YAAA,OAAO,CAAC,OAAoB,EAAE,GAAG,IAAqB,KAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;;AAE7F,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;;AAG/B;;;;;AAKG;IACH,YAAY,CAAC,MAAc,EAAE,OAAqB,EAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACxC,QAAA,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO;QAEjC,IAAI,OAAO,EAAE;YACT,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;YACjD,IAAI,SAAS,EAAE;gBACX,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;;;aAEjD;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC3C,IAAI,SAAS,EAAE;AACX,gBAAA,OAAO,SAAS,CAAC,OAAO,CAAC;;;AAGjC,QAAA,OAAO,KAAK;;+GAhEP,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFR,MAAM,EAAA,CAAA,CAAA;;4FAET,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACxBD;;;;;;;;;;;;;;;AAeG;AAcH;;;AAGG;SACa,qBAAqB,GAAA;AACjC,IAAA,OAAO,EAAE;AACb;MAEa,eAAe,GAAG,IAAI,cAAc,CAAa,iBAAiB,EAAE;AAC7E,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE;AACZ,CAAA;MAEY,qBAAqB,GAAG,IAAI,cAAc,CAAa,wBAAwB,EAAE;AAC1F,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE;AACZ,CAAA;AAED;;;;AAIG;AACG,SAAU,sBAAsB,CAAC,KAAe,EAAA;IAClD,OAAO;AACH,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,KAAK,EAAE;KACV;AACL;AAEA;;;;AAIG;AACG,SAAU,4BAA4B,CAAC,oBAAuC,EAAA;IAChF,OAAO;AACH,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,KAAK,EAAE;KACV;AACL;MAKa,gBAAgB,CAAA;IAczB,WACc,CAAA,MAA8B,EAC9B,iBAA2C,EAC3C,WAAwB,EACC,cAAwB,EAClB,mBAAsC,EAAA;QAJrE,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QACjB,IAAW,CAAA,WAAA,GAAX,WAAW;QACc,IAAc,CAAA,cAAA,GAAd,cAAc;QACR,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;QAlBhE,IAAU,CAAA,UAAA,GAAG,4BAA4B;QACzC,IAAW,CAAA,WAAA,GAAG,gBAAgB;QAE9B,IAAM,CAAA,MAAA,GAAoB,EAAE;QAC5B,IAAO,CAAA,OAAA,GAAqB,EAAE;QAC9B,IAAQ,CAAA,QAAA,GAAe,EAAE;QACzB,IAAU,CAAA,UAAA,GAA4B,EAAE;QAI9B,IAAM,CAAA,MAAA,GAAoB,IAAI;QAC9B,IAAQ,CAAA,QAAA,GAAG,IAAI,eAAe,CAAkB,IAAI,CAAC,MAAM,CAAC;QASlE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;;AAG9C;;;AAGG;AACH,IAAA,MAAM,IAAI,GAAA;AACN,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;AAErI,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAClB,QAAA,OAAO,MAAM;;AAGjB;;;AAGG;AACH,IAAA,KAAK,CAAC,MAAuB,EAAA;QACzB,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC;YACjD;;AAGJ,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QAEpB,IAAI,CAAC,aAAa,CAAC;YACf,YAAY,EAAEC,KAAU;YACxB,WAAW,EAAEC,IAAS;YACtB,UAAU,EAAEC;AACf,SAAA,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;AAE/C,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;AAG9B;;;;;AAKG;AACH,IAAA,UAAU,CAAY,GAAsB,EAAE,YAAA,GAAoB,EAAE,EAAA;QAChE,MAAM,UAAU,GAAa,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;QACtE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY;;AAGzF,IAAA,WAAW,CAA6B,GAAW,EAAE,QAAA,GAAqB,EAAE,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;;AAG9D;;;AAGG;AACH,IAAA,aAAa,CAAC,MAAqC,EAAA;AAC/C,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC;;AAG1C;;;AAGG;AACH,IAAA,aAAa,CAAC,MAA+B,EAAA;QACzC,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;;;AAIpE;;;AAGG;AACH,IAAA,aAAa,CAAC,MAAiC,EAAA;AAC3C,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC;;AAGhD;;;;AAIG;AACH,IAAA,YAAY,CAAC,EAAU,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;;AAGvD;;;;AAIG;AACH,IAAA,aAAa,CAAC,GAAa,EAAA;AACvB,QAAA,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;;AAGhF;;;;AAIG;AACH,IAAA,aAAa,CAAC,EAAU,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;;AAG1D;;;;AAIG;AACH,IAAA,YAAY,CAAC,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC;;AAG7C;;;;;AAKG;IACH,YAAY,CAAC,MAAc,EAAE,OAAqB,EAAA;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;;AAGzD;;;;AAIG;AACH,IAAA,gBAAgB,CAAI,EAAU,EAAA;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAI,EAAE,CAAC;;AAGzD;;;;AAIG;AACH,IAAA,WAAW,CAAC,EAAU,EAAA;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;;AAG3C;;;;;AAKG;IACH,aAAa,CAAC,KAAmB,EAAE,OAAa,EAAA;AAC5C,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;;aAC3C;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnC,gBAAA,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AACrE,aAAC,CAAC;AACF,YAAA,OAAO,SAAS;;;IAIhB,kBAAkB,CAAC,KAAa,EAAE,OAAa,EAAA;AACnD,QAAA,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAEnC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,YAAA,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAU,OAAA,EAAA,UAAU,CAAE,CAAA,CAAC;AAC1D,YAAA,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;AAE1B,YAAA,OAAO,MAAM;;AAEjB,QAAA,OAAO,KAAK;;+GAnMP,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAkBb,eAAe,EAAA,EAAA,EAAA,KAAA,EACf,qBAAqB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAnBxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFb,MAAM,EAAA,CAAA,CAAA;;4FAET,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;0BAmBQ,MAAM;2BAAC,eAAe;;0BACtB,MAAM;2BAAC,qBAAqB;;;AC/FrC;;;;;;;;;;;;;;;AAeG;MAYU,mBAAmB,CAAA;AAI5B,IAAA,WAAA,CAAsB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;AAF9B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAiB,EAAE,CAAC;QAGzD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;;AAGtD,IAAA,MAAM,IAAI,GAAA;QACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;AACjD,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;;AAGtB,IAAA,KAAK,CAAC,MAAuB,EAAA;QACzB,IAAI,CAAC,MAAM,EAAE;YACT;;AAGJ,QAAA,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAqB,CAAC;AAChI,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;;AAGrC;;;;;AAKG;AACH,IAAA,qBAAqB,CAAC,GAAW,EAAA;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAwB,CAAA,sBAAA,EAAyB,GAAG,CAAA,CAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;;AAGtI;;;;AAIG;IACH,mBAAmB,GAAA;QACf,OAAO,IAAI,CAAC;aACP,WAAW,CAAqB,4BAA4B;AAC5D,aAAA,MAAM,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;;AAGhE,IAAA,yBAAyB,CAAC,SAA6B,EAAA;QAC7D,IAAI,SAAS,EAAE;AACX,YAAA,IAAI,SAAS,CAAC,QAAQ,EAAE;AACpB,gBAAA,OAAO,IAAI;;AAGf,YAAA,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;AAC3B,gBAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;;;AAI3E,QAAA,OAAO,KAAK;;+GAtDP,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;AC1BD;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;MAuBU,yBAAyB,CAAA;AA2BlC,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;;QAjBpC,IAAM,CAAA,MAAA,GAAW,IAAI;AAWrB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAQ;AAEvB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;;IAMhD,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACV;;AAGJ,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,IAAI,aAAa,EAAE;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,cAAc,EAAE;;;IAI7B,WAAW,GAAA;QACP,IAAI,CAAC,cAAc,EAAE;;IAGzB,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;IAIxB,cAAc,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YAEjD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE;gBAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC9F,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AAC7B,iBAAC,CAAC;;;;+GA9DL,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACJ,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAHpC,CAAsB,oBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAEvB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAsB,oBAAA;AACnC,iBAAA;kFAGG,OAAO,EAAA,CAAA;sBADN,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAK9D,EAAE,EAAA,CAAA;sBADD;gBAKD,MAAM,EAAA,CAAA;sBADL;gBAKD,GAAG,EAAA,CAAA;sBADF;gBAKD,SAAS,EAAA,CAAA;sBADR;gBAID,aAAa,EAAA,CAAA;sBADZ;;;AC1DL;;;;;;;;;;;;;;;AAeG;MAiCU,sBAAsB,CAAA;AAY/B,IAAA,WAAA,CAAoB,UAA4B,EAAA;QAA5B,IAAU,CAAA,UAAA,GAAV,UAAU;;IAE9B,QAAQ,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,IAAI,aAAa,EAAE;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,cAAc,EAAE;;;AAI7B,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,cAAc,EAAE;;;IAI7B,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;IAIxB,cAAc,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;;;+GAtChD,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACD,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAfpC,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAc5B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAhBlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,CAAA,yBAAA,CAA2B,EACtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAA,MAAA,EAAA,CAAA,sEAAA,CAAA,EAAA;kFAarC,OAAO,EAAA,CAAA;sBADN,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAI9D,EAAE,EAAA,CAAA;sBADD;gBAID,OAAO,EAAA,CAAA;sBADN;;;ACvDL;;;;;;;;;;;;;;;AAeG;AAOH;MAKa,yBAAyB,CAAA;AAgBlC,IAAA,WAAA,CAAoB,UAA4B,EAAA;QAA5B,IAAU,CAAA,UAAA,GAAV,UAAU;QAFtB,IAAM,CAAA,MAAA,GAAY,KAAK;;AAI/B,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;AAGtB,QAAA,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY;;QAGzC,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC;;IAGtC,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;IAIhC,eAAe,GAAA;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ;;IAGjD,aAAa,GAAA;AACjB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAqB,IAAI,CAAC,EAAE,CAAC;QACnF,IAAI,aAAa,EAAE;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;;;IAI7E,cAAc,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;;;AAI3C,IAAA,KAAK,CAAC,eAAuB,EAAE,GAAG,IAAW,EAAA;AACjD,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,EAAE;;AAE7E,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC;;;IAInF,gBAAgB,GAAA;AACpB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ;;AAGtD,IAAA,0BAA0B,CAAC,eAAuB,EAAA;QACtD,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC;;+GArE/C,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACJ,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAHpC,CAAsB,oBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAEvB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAsB,oBAAA;AACnC,iBAAA;kFAGG,OAAO,EAAA,CAAA;sBADN,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAIrD,EAAE,EAAA,CAAA;sBAAV;gBAGQ,IAAI,EAAA,CAAA;sBAAZ;;;ACnCL;;;;;;;;;;;;;;;AAeG;MAUU,mBAAmB,CAAA;AAa5B,IAAA,WAAA,CAAoB,UAA4B,EAAA;QAA5B,IAAU,CAAA,UAAA,GAAV,UAAU;;IAE9B,QAAQ,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,IAAI,aAAa,EAAE;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,cAAc,EAAE;;;AAI7B,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,cAAc,EAAE;;;IAI7B,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;IAIxB,cAAc,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;;;+GAvC1C,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACE,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAHpC,CAAsB,oBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAEvB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,CAAsB,oBAAA;AACnC,iBAAA;kFAGG,OAAO,EAAA,CAAA;sBADN,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;gBAK9D,EAAE,EAAA,CAAA;sBADD;gBAID,IAAI,EAAA,CAAA;sBADH;;;ACjCL;;;;;;;;;;;;;;;AAeG;;ACfH;;;;;;;;;;;;;;;AAeG;AAKH;MAEa,gBAAgB,CAAA;AACzB,IAAA,OAAO,OAAO,GAAA;QACV,OAAO;AACH,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;gBACP,qBAAqB,CAAC,MAAK;AACvB,oBAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACvD,oBAAA,OAAO,mBAAmB,CAAC,IAAI,EAAE;AACrC,iBAAC;AACJ;SACJ;;AAGL;;;AAGG;AACH,IAAA,OAAO,QAAQ,GAAA;QACX,OAAO;AACH,YAAA,QAAQ,EAAE;SACb;;+GApBI,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAhB,gBAAgB,EAAA,CAAA,CAAA;gHAAhB,gBAAgB,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B;;;ACrBD;;;;;;;;;;;;;;;AAeG;AAOH;;;AAGG;SACa,oBAAoB,GAAA;IAChC,OAAO;QACH,qBAAqB,CAAC,MAAK;AACvB,YAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACvD,YAAA,OAAO,mBAAmB,CAAC,IAAI,EAAE;AACrC,SAAC;KACJ;AACL;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;AACG,SAAU,iBAAiB,CAAC,MAIjC,EAAA;IACG,OAAO;QACH,qBAAqB,CAAC,MAAK;AACvB,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAExC,IAAI,MAAM,EAAE;AACR,gBAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACnB,oBAAA,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;;AAE5C,gBAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACnB,oBAAA,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;;AAE5C,gBAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACnB,oBAAA,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;;;AAIhD,YAAA,OAAO,OAAO,CAAC,OAAO,EAAE;AAC5B,SAAC;KACJ;AACL;;ACtFA;;;;;;;;;;;;;;;AAeG;;ACfH;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfresco/adf-extensions",
|
|
3
3
|
"description": "Provides extensibility support for ADF applications.",
|
|
4
|
-
"version": "8.4.0-
|
|
4
|
+
"version": "8.4.0-19764492903",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Hyland Software, Inc. and its affiliates",
|
|
7
7
|
"repository": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"peerDependencies": {
|
|
15
15
|
"@angular/common": ">=14.1.3",
|
|
16
16
|
"@angular/core": ">=14.1.3",
|
|
17
|
-
"@alfresco/js-api": ">=9.4.0-
|
|
17
|
+
"@alfresco/js-api": ">=9.4.0-19764492903"
|
|
18
18
|
},
|
|
19
19
|
"keywords": [
|
|
20
20
|
"extensions",
|