@hestia-earth/ui-components 0.35.13 → 0.35.17

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.
@@ -15,7 +15,6 @@ export declare class EngineModelsStageDeepComponent<T extends NodeType> {
15
15
  protected readonly expandedNode: import("@angular/core").InputSignal<IJSONLDExtended>;
16
16
  protected readonly id: import("@angular/core").Signal<string>;
17
17
  protected readonly type: import("@angular/core").Signal<NodeType>;
18
- protected readonly nodeColour: import("@angular/core").Signal<any>;
19
18
  protected readonly recalculatedAt: import("@angular/core").Signal<any>;
20
19
  private readonly relatedNodesResource;
21
20
  protected readonly nodesLength: import("@angular/core").Signal<number>;
@@ -1124,6 +1124,7 @@ const compoundToHtml = (value, termType) => isTermTypeAllowed(termType) && !igno
1124
1124
  .replace(/([A-Z]+[\d]+)([\d]{1}[-+])/g, '$1<sup>$2</sup>')
1125
1125
  .replace(/([A-Z]+)([\d]{1})([-+])/g, '$1<sub>$2</sub><sup>$3</sup>')
1126
1126
  .replace(/([A-LN-Za-ln-z])(\d+)/g, '$1<sub>$2</sub>')
1127
+ .replace(/([A-L])([-+])/g, '$1<sup>$2</sup>')
1127
1128
  .replace(/(Ox)([^A-Za-z]|$)/g, 'O<sub>x</sub>$2')
1128
1129
  // handle m2, m3, etc.
1129
1130
  .replace(/([m])([\d]{1})\s/g, '$1<sup>$2</sup> ')
@@ -5485,11 +5486,6 @@ const nodeTypeUrl = (apiBaseUrl, type) => (type ? `${apiBaseUrl}/${nodeTypeToPar
5485
5486
  const nodeUrl = (apiBaseUrl, { dataState, ...node }) => `${nodeTypeUrl(apiBaseUrl, node['@type'] || node.type)}/${node['@id'] || node.id}${dataState ? `?dataState=${dataState}` : ''}`;
5486
5487
  const nodeLogsUrl = (apiBaseUrl, { dataState, ...node }) => `${nodeUrl(apiBaseUrl, node)}/log${dataState ? `?dataState=${dataState}` : ''}`;
5487
5488
  const lookupUrl = (filename) => filename.startsWith('http') ? filename : `${glossaryBaseUrl(false)}/lookups/${filename}.csv`;
5488
- const nodeColours$1 = {
5489
- [NodeType.ImpactAssessment]: 'blue',
5490
- [NodeType.Cycle]: 'red',
5491
- [NodeType.Site]: 'green'
5492
- };
5493
5489
  class RelatedNodeResult {
5494
5490
  constructor() {
5495
5491
  this.count = 0;
@@ -8093,6 +8089,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8093
8089
  }]
8094
8090
  }] });
8095
8091
 
8092
+ const nodeColours$1 = {
8093
+ [NodeType.Cycle]: '#ecf1ff',
8094
+ [NodeType.Site]: '#d5f3d8',
8095
+ [NodeType.ImpactAssessment]: '#e7e0cb',
8096
+ [NodeType.Source]: '#f5f5f5'
8097
+ };
8098
+ const nodeSecondaryColours = {
8099
+ [NodeType.Cycle]: '#4c7194',
8100
+ [NodeType.Site]: '#349b3e',
8101
+ [NodeType.ImpactAssessment]: '#b4a988',
8102
+ [NodeType.Source]: '#f5f5f5'
8103
+ };
8104
+
8096
8105
  /* eslint-disable max-len */
8097
8106
  const semverRegex = () => /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/gi;
8098
8107
  /* eslint-enable max-len */
@@ -8261,6 +8270,7 @@ const icons = [
8261
8270
  'private-eye',
8262
8271
  'private-eye-crossed',
8263
8272
  'private-lock',
8273
+ 'profile-checkmark',
8264
8274
  'profile-circle',
8265
8275
  'profile-gear',
8266
8276
  'progress',
@@ -8585,7 +8595,7 @@ class NodeJsonldSchemaComponent {
8585
8595
  this.nodes = computed(() => (Array.isArray(this.content()) ? this.content() : [this.content()]).map(value => omit(value, ignoredProperties)));
8586
8596
  }
8587
8597
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: NodeJsonldSchemaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8588
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: NodeJsonldSchemaComponent, isStandalone: true, selector: "he-node-jsonld-schema", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, enableCsv: { classPropertyName: "enableCsv", publicName: "enableCsv", isSignal: true, isRequired: false, transformFunction: null }, csvOptions: { classPropertyName: "csvOptions", publicName: "csvOptions", isSignal: true, isRequired: false, transformFunction: null }, csvNotice: { classPropertyName: "csvNotice", publicName: "csvNotice", isSignal: true, isRequired: false, transformFunction: null }, showSchemaButton: { classPropertyName: "showSchemaButton", publicName: "showSchemaButton", isSignal: true, isRequired: false, transformFunction: null }, useTabs: { classPropertyName: "useTabs", publicName: "useTabs", isSignal: true, isRequired: false, transformFunction: null }, selectedView: { classPropertyName: "selectedView", publicName: "selectedView", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedView: "selectedViewChange" }, ngImport: i0, template: "@if (useTabs() && views().length > 1) {\n <div class=\"tabs\">\n <ul>\n @for (view of views(); track view) {\n <li [class.is-active]=\"selectedView() === view\">\n <a\n [ngbTooltip]=\"formatTooltip\"\n [tooltipContext]=\"{ view }\"\n placement=\"right\"\n (click)=\"selectedView.set(view)\">\n <span>{{ view }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n}\n\n<div class=\"is-relative is-clipped\">\n <div\n class=\"is-flex is-justify-content-end\"\n [class.copy-clipboard]=\"selectedView() === Views.jsonld\"\n [class.is-p-2]=\"selectedView() !== Views.jsonld\">\n <div class=\"field has-addons\">\n @if (showSchemaButton()) {\n <div class=\"control\">\n <he-schema-version-link linkClass=\"button is-info is-small\" [node]=\"content()\">\n <span>View Schema</span>\n </he-schema-version-link>\n </div>\n }\n @if (selectedView() === Views.jsonld) {\n <div class=\"control\" ngbTooltip=\"Copy Content\" placement=\"bottom\" container=\"body\">\n <he-clipboard clipboardClass=\"button is-secondary is-small\" [value]=\"content()\" [hideText]=\"true\" />\n </div>\n }\n @if (!useTabs() && views().length > 1) {\n <div class=\"control\">\n <div class=\"select is-small is-fullwidth\">\n <select [(ngModel)]=\"selectedView\" name=\"selectedView\">\n @for (view of views(); track view) {\n <option [value]=\"view\">{{ view }}</option>\n }\n </select>\n </div>\n </div>\n }\n </div>\n </div>\n\n @switch (selectedView()) {\n @case (Views.jsonld) {\n <pre><code>{{nodes()?.[0] | json}}</code></pre>\n }\n @default {\n <he-node-csv-preview\n [nodes]=\"nodes()\"\n [csvOptions]=\"csvOptions()\"\n [csvNotice]=\"csvNotice()\"\n [compacted]=\"selectedView() === Views.csvCompacted\" />\n }\n }\n</div>\n\n<ng-template #formatTooltip let-view=\"view\">\n @switch (view) {\n @case (Views.jsonld) {\n <p>JSON is a structured text-based format for representing data,</p>\n <p>where the 'LD' is a specific version of JSON which includes notation for linking different Nodes.</p>\n }\n @case (Views.csv) {\n <p>CSV is a tabular or row-column format.</p>\n <p>This format has the term identifier in a separate column to the term value.</p>\n }\n @case (Views.csvCompacted) {\n <p>This format has the term identifier (term.&#64;id) in the column header.</p>\n <p>It is a typical format for most data analysis applications which expect</p>\n <p>column headers to identify the data.</p>\n }\n }\n</ng-template>\n", styles: [":host{display:block;overflow:auto;width:100%}pre{max-height:400px}he-schema-version-link ::ng-deep he-svg-icon{height:16px!important;width:auto!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i1$2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "component", type: ClipboardComponent, selector: "he-clipboard", inputs: ["icon", "value", "disabled", "hideText", "size", "clipboardClass"] }, { kind: "component", type: SchemaVersionLinkComponent, selector: "he-schema-version-link", inputs: ["node", "showExternalLink", "linkClass"] }, { kind: "component", type: NodeCsvPreviewComponent, selector: "he-node-csv-preview", inputs: ["nodes", "compacted", "showDownload", "csvOptions", "csvNotice"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8598
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: NodeJsonldSchemaComponent, isStandalone: true, selector: "he-node-jsonld-schema", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, enableCsv: { classPropertyName: "enableCsv", publicName: "enableCsv", isSignal: true, isRequired: false, transformFunction: null }, csvOptions: { classPropertyName: "csvOptions", publicName: "csvOptions", isSignal: true, isRequired: false, transformFunction: null }, csvNotice: { classPropertyName: "csvNotice", publicName: "csvNotice", isSignal: true, isRequired: false, transformFunction: null }, showSchemaButton: { classPropertyName: "showSchemaButton", publicName: "showSchemaButton", isSignal: true, isRequired: false, transformFunction: null }, useTabs: { classPropertyName: "useTabs", publicName: "useTabs", isSignal: true, isRequired: false, transformFunction: null }, selectedView: { classPropertyName: "selectedView", publicName: "selectedView", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedView: "selectedViewChange" }, ngImport: i0, template: "@if (useTabs() && views().length > 1) {\n <div class=\"tabs\">\n <ul>\n @for (view of views(); track view) {\n <li [class.is-active]=\"selectedView() === view\">\n <a\n [ngbTooltip]=\"formatTooltip\"\n [tooltipContext]=\"{ view }\"\n placement=\"right\"\n (click)=\"selectedView.set(view)\">\n <span>{{ view }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n}\n\n<div class=\"is-relative is-clipped\">\n <div\n class=\"is-flex is-justify-content-end\"\n [class.copy-clipboard]=\"selectedView() === Views.jsonld\"\n [class.is-p-2]=\"selectedView() !== Views.jsonld\">\n <div class=\"field has-addons\">\n @if (showSchemaButton()) {\n <div class=\"control\">\n <he-schema-version-link linkClass=\"button is-info is-small\" [node]=\"content()\">\n <span>View Schema</span>\n </he-schema-version-link>\n </div>\n }\n @if (selectedView() === Views.jsonld) {\n <div class=\"control\" ngbTooltip=\"Copy Content\" placement=\"bottom\" container=\"body\">\n <he-clipboard clipboardClass=\"button is-secondary is-small\" [value]=\"content()\" [hideText]=\"true\" />\n </div>\n }\n @if (!useTabs() && views().length > 1) {\n <div class=\"control\">\n <div class=\"select is-small is-fullwidth\">\n <select [(ngModel)]=\"selectedView\" name=\"selectedView\">\n @for (view of views(); track view) {\n <option [value]=\"view\">{{ view }}</option>\n }\n </select>\n </div>\n </div>\n }\n </div>\n </div>\n\n @switch (selectedView()) {\n @case (Views.jsonld) {\n <pre><code>{{nodes()?.[0] | json}}</code></pre>\n }\n @default {\n <he-node-csv-preview\n [nodes]=\"nodes()\"\n [csvOptions]=\"csvOptions()\"\n [csvNotice]=\"csvNotice()\"\n [compacted]=\"selectedView() === Views.csvCompacted\" />\n }\n }\n</div>\n\n<ng-template #formatTooltip let-view=\"view\">\n @switch (view) {\n @case (Views.jsonld) {\n <p>JSON is a structured text-based format for representing data,</p>\n <p>where the 'LD' is a specific version of JSON which includes notation for linking different Nodes.</p>\n }\n @case (Views.csv) {\n <p>CSV is a tabular or row-column format.</p>\n <p>This format has the term identifier in a separate column to the term value.</p>\n }\n @case (Views.csvCompacted) {\n <p>This format has the term identifier (term.&#64;id) in the column header.</p>\n <p>It is a typical format for most data analysis applications which expect</p>\n <p>column headers to identify the data.</p>\n }\n }\n</ng-template>\n", styles: [":host{display:block;overflow:auto;width:100%}pre{max-height:400px}he-schema-version-link ::ng-deep he-svg-icon{height:16px!important;width:16px!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i1$2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "component", type: ClipboardComponent, selector: "he-clipboard", inputs: ["icon", "value", "disabled", "hideText", "size", "clipboardClass"] }, { kind: "component", type: SchemaVersionLinkComponent, selector: "he-schema-version-link", inputs: ["node", "showExternalLink", "linkClass"] }, { kind: "component", type: NodeCsvPreviewComponent, selector: "he-node-csv-preview", inputs: ["nodes", "compacted", "showDownload", "csvOptions", "csvNotice"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8589
8599
  }
8590
8600
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: NodeJsonldSchemaComponent, decorators: [{
8591
8601
  type: Component$1,
@@ -8596,7 +8606,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8596
8606
  ClipboardComponent,
8597
8607
  SchemaVersionLinkComponent,
8598
8608
  NodeCsvPreviewComponent
8599
- ], template: "@if (useTabs() && views().length > 1) {\n <div class=\"tabs\">\n <ul>\n @for (view of views(); track view) {\n <li [class.is-active]=\"selectedView() === view\">\n <a\n [ngbTooltip]=\"formatTooltip\"\n [tooltipContext]=\"{ view }\"\n placement=\"right\"\n (click)=\"selectedView.set(view)\">\n <span>{{ view }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n}\n\n<div class=\"is-relative is-clipped\">\n <div\n class=\"is-flex is-justify-content-end\"\n [class.copy-clipboard]=\"selectedView() === Views.jsonld\"\n [class.is-p-2]=\"selectedView() !== Views.jsonld\">\n <div class=\"field has-addons\">\n @if (showSchemaButton()) {\n <div class=\"control\">\n <he-schema-version-link linkClass=\"button is-info is-small\" [node]=\"content()\">\n <span>View Schema</span>\n </he-schema-version-link>\n </div>\n }\n @if (selectedView() === Views.jsonld) {\n <div class=\"control\" ngbTooltip=\"Copy Content\" placement=\"bottom\" container=\"body\">\n <he-clipboard clipboardClass=\"button is-secondary is-small\" [value]=\"content()\" [hideText]=\"true\" />\n </div>\n }\n @if (!useTabs() && views().length > 1) {\n <div class=\"control\">\n <div class=\"select is-small is-fullwidth\">\n <select [(ngModel)]=\"selectedView\" name=\"selectedView\">\n @for (view of views(); track view) {\n <option [value]=\"view\">{{ view }}</option>\n }\n </select>\n </div>\n </div>\n }\n </div>\n </div>\n\n @switch (selectedView()) {\n @case (Views.jsonld) {\n <pre><code>{{nodes()?.[0] | json}}</code></pre>\n }\n @default {\n <he-node-csv-preview\n [nodes]=\"nodes()\"\n [csvOptions]=\"csvOptions()\"\n [csvNotice]=\"csvNotice()\"\n [compacted]=\"selectedView() === Views.csvCompacted\" />\n }\n }\n</div>\n\n<ng-template #formatTooltip let-view=\"view\">\n @switch (view) {\n @case (Views.jsonld) {\n <p>JSON is a structured text-based format for representing data,</p>\n <p>where the 'LD' is a specific version of JSON which includes notation for linking different Nodes.</p>\n }\n @case (Views.csv) {\n <p>CSV is a tabular or row-column format.</p>\n <p>This format has the term identifier in a separate column to the term value.</p>\n }\n @case (Views.csvCompacted) {\n <p>This format has the term identifier (term.&#64;id) in the column header.</p>\n <p>It is a typical format for most data analysis applications which expect</p>\n <p>column headers to identify the data.</p>\n }\n }\n</ng-template>\n", styles: [":host{display:block;overflow:auto;width:100%}pre{max-height:400px}he-schema-version-link ::ng-deep he-svg-icon{height:16px!important;width:auto!important}\n"] }]
8609
+ ], template: "@if (useTabs() && views().length > 1) {\n <div class=\"tabs\">\n <ul>\n @for (view of views(); track view) {\n <li [class.is-active]=\"selectedView() === view\">\n <a\n [ngbTooltip]=\"formatTooltip\"\n [tooltipContext]=\"{ view }\"\n placement=\"right\"\n (click)=\"selectedView.set(view)\">\n <span>{{ view }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n}\n\n<div class=\"is-relative is-clipped\">\n <div\n class=\"is-flex is-justify-content-end\"\n [class.copy-clipboard]=\"selectedView() === Views.jsonld\"\n [class.is-p-2]=\"selectedView() !== Views.jsonld\">\n <div class=\"field has-addons\">\n @if (showSchemaButton()) {\n <div class=\"control\">\n <he-schema-version-link linkClass=\"button is-info is-small\" [node]=\"content()\">\n <span>View Schema</span>\n </he-schema-version-link>\n </div>\n }\n @if (selectedView() === Views.jsonld) {\n <div class=\"control\" ngbTooltip=\"Copy Content\" placement=\"bottom\" container=\"body\">\n <he-clipboard clipboardClass=\"button is-secondary is-small\" [value]=\"content()\" [hideText]=\"true\" />\n </div>\n }\n @if (!useTabs() && views().length > 1) {\n <div class=\"control\">\n <div class=\"select is-small is-fullwidth\">\n <select [(ngModel)]=\"selectedView\" name=\"selectedView\">\n @for (view of views(); track view) {\n <option [value]=\"view\">{{ view }}</option>\n }\n </select>\n </div>\n </div>\n }\n </div>\n </div>\n\n @switch (selectedView()) {\n @case (Views.jsonld) {\n <pre><code>{{nodes()?.[0] | json}}</code></pre>\n }\n @default {\n <he-node-csv-preview\n [nodes]=\"nodes()\"\n [csvOptions]=\"csvOptions()\"\n [csvNotice]=\"csvNotice()\"\n [compacted]=\"selectedView() === Views.csvCompacted\" />\n }\n }\n</div>\n\n<ng-template #formatTooltip let-view=\"view\">\n @switch (view) {\n @case (Views.jsonld) {\n <p>JSON is a structured text-based format for representing data,</p>\n <p>where the 'LD' is a specific version of JSON which includes notation for linking different Nodes.</p>\n }\n @case (Views.csv) {\n <p>CSV is a tabular or row-column format.</p>\n <p>This format has the term identifier in a separate column to the term value.</p>\n }\n @case (Views.csvCompacted) {\n <p>This format has the term identifier (term.&#64;id) in the column header.</p>\n <p>It is a typical format for most data analysis applications which expect</p>\n <p>column headers to identify the data.</p>\n }\n }\n</ng-template>\n", styles: [":host{display:block;overflow:auto;width:100%}pre{max-height:400px}he-schema-version-link ::ng-deep he-svg-icon{height:16px!important;width:16px!important}\n"] }]
8600
8610
  }] });
8601
8611
 
8602
8612
  const cleanContextUrl = (contextUrl) => contextUrl.replace('http://localhost:4200', baseUrl(false));
@@ -8897,7 +8907,8 @@ const nestedNodesByType = {
8897
8907
  [NodeType.ImpactAssessment]: (node) => [node.cycle]
8898
8908
  };
8899
8909
  const relatedNodesByType = {
8900
- [NodeType.Site]: [NodeType.Cycle]
8910
+ [NodeType.Site]: [NodeType.Cycle],
8911
+ [NodeType.Cycle]: [NodeType.Site, NodeType.ImpactAssessment]
8901
8912
  };
8902
8913
  class EngineModelsStageDeepComponent {
8903
8914
  constructor() {
@@ -8913,7 +8924,6 @@ class EngineModelsStageDeepComponent {
8913
8924
  this.expandedNode = input();
8914
8925
  this.id = computed(() => this.node()?.['@id']);
8915
8926
  this.type = computed(() => this.node()?.['@type']);
8916
- this.nodeColour = computed(() => nodeColours$1[this.type()]);
8917
8927
  this.recalculatedAt = computed(() => this.node()?.['last-modified'] || this.node()?.updatedAt || this.node()?.createdAt);
8918
8928
  this.relatedNodesResource = rxResource({
8919
8929
  request: () => ({
@@ -8964,7 +8974,7 @@ class EngineModelsStageDeepComponent {
8964
8974
  this.service.focusedNode.set(node);
8965
8975
  }
8966
8976
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: EngineModelsStageDeepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8967
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: EngineModelsStageDeepComponent, isStandalone: true, selector: "he-engine-models-stage-deep", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, expandedNode: { classPropertyName: "expandedNode", publicName: "expandedNode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, ngImport: i0, template: "<div\n class=\"is-flex is-flex-direction-column is-gap-8 is-py-2 is-pl-2 | engine-models-stage--container is-type-{{ type }}\"\n [style.border-color]=\"nodeColour()\">\n <div class=\"is-flex is-flex-direction-row is-justify-content-space-between is-gap-8\">\n @if (canExpand()) {\n <div (click)=\"expanded.set(!expanded())\" pointer>\n <he-svg-icon [name]=\"expanded() ? 'chevron-down' : 'chevron-right'\" />\n </div>\n }\n\n <div\n class=\"is-flex is-flex-direction-row is-justify-content-space-between is-gap-8 is-flex-wrap-wrap is-flex-grow-1\">\n <he-node-link class=\"is-flex-grow-1\" [node]=\"node()\" [showExternalLink]=\"true\">\n <span>{{ type() }} {{ id() }}</span>\n </he-node-link>\n\n <div class=\"is-flex is-flex-direction-column is-gap-4 | engine-models-stage--calculations\">\n <div class=\"is-flex is-gap-4 is-pr-2\">\n <span class=\"has-text-secondary has-text-weight-bold\">Calculations:</span>\n\n @if (inProgress()) {\n <span [class.has-text-danger]=\"stage() === 0\" [class.has-text-warning]=\"stage() > 0\">\n stage {{ stage() }} / {{ maxStage() }}\n </span>\n } @else if (recalculatedAt()) {\n <span\n class=\"trigger-popover\"\n [ngbPopover]=\"popoverDetails\"\n autoClose=\"outside\"\n popoverClass=\"is-narrow\"\n placement=\"left auto\"\n container=\"body\">\n <span class=\"has-text-success\">complete</span>\n </span>\n }\n\n @if (hasError()) {\n <a\n class=\"has-text-danger\"\n ngbTooltip=\"Errors validating recalculation. Click to open\"\n (click)=\"openError(node())\">\n <he-svg-icon name=\"exclamation-triangle\" />\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n\n @if (expanded()) {\n @if (loading() && nodesLength() > 0) {\n @for (node of nodesLength() | times; track $index) {\n <he-skeleton-text [width]=\"60\" />\n }\n }\n\n @for (relatedNode of expandableNodes(); track trackNode(relatedNode)) {\n <div class=\"related-node\">\n <he-engine-models-stage-deep\n [node]=\"relatedNode\"\n [expanded]=\"false\"\n [expandedNode]=\"expandedNode() || node()\" />\n </div>\n }\n }\n</div>\n\n<ng-template #popoverDetails>\n <div class=\"is-flex is-flex-direction-column is-gap-4 has-text-white w-100\">\n <div class=\"is-flex is-align-items-center is-gap-8 w-100\">\n <span class=\"has-text-weight-bold\">Calculated Date:</span>\n <span>{{ recalculatedAt() | date: (recalculatedAt().length === 10 ? 'mediumDate' : 'medium') }}</span>\n </div>\n <div class=\"is-flex is-align-items-center is-gap-8 w-100\">\n <span class=\"has-text-weight-bold\">Calculated Version:</span>\n <he-engine-models-version-link [node]=\"node()\" />\n </div>\n </div>\n</ng-template>\n", styles: [".engine-models-stage--container{border:1px solid transparent;border-radius:3px}he-engine-models-stage-deep ::ng-deep .engine-models-stage--container{border-right:0px;border-top-right-radius:0;border-bottom-right-radius:0}\n"], dependencies: [{ kind: "component", type: EngineModelsStageDeepComponent, selector: "he-engine-models-stage-deep", inputs: ["node", "expanded", "expandedNode"], outputs: ["expandedChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: HESvgIconComponent, selector: "he-svg-icon", inputs: ["name", "size", "animation"] }, { kind: "ngmodule", type: NgbPopoverModule }, { kind: "directive", type: i1$2.NgbPopover, selector: "[ngbPopover]", inputs: ["animation", "autoClose", "ngbPopover", "popoverTitle", "placement", "popperOptions", "triggers", "positionTarget", "container", "disablePopover", "popoverClass", "popoverContext", "openDelay", "closeDelay"], outputs: ["shown", "hidden"], exportAs: ["ngbPopover"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i1$2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: EngineModelsVersionLinkComponent, selector: "he-engine-models-version-link", inputs: ["node"] }, { kind: "component", type: SkeletonTextComponent, selector: "he-skeleton-text", inputs: ["animated", "width", "height"] }, { kind: "pipe", type: TimesPipe, name: "times" }, { kind: "component", type: NodeLinkComponent, selector: "he-node-link", inputs: ["node", "dataState", "showExternalLink", "linkClass"] }] }); }
8977
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.4", type: EngineModelsStageDeepComponent, isStandalone: true, selector: "he-engine-models-stage-deep", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, expandedNode: { classPropertyName: "expandedNode", publicName: "expandedNode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, ngImport: i0, template: "@if (expandedNode()) {\n <svg\n class=\"is-absolute | related-node-icon\"\n [class.has-errors]=\"hasError()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"81\"\n viewBox=\"0 0 15 81\"\n fill=\"none\">\n <path d=\"M0.5 0V71C0.5 75.9706 4.52944 80 9.5 80H14.5\" stroke=\"#B5B5B5\" />\n </svg>\n}\n\n<div class=\"is-flex is-flex-direction-column is-gap-8\">\n <div class=\"is-flex is-flex-direction-column is-justify-content-center is-align-items-center\">\n <div\n class=\"is-flex is-align-items-flex-start is-align-self-stretch is-justify-content-space-between is-gap-8 is-p-1 | engine-models-stage--container is-type-{{\n type()\n }}\"\n [class.has-errors]=\"hasError()\">\n <div class=\"is-flex is-flex-direction-column is-justify-content-center is-align-items-center is-gap-4\">\n <div class=\"is-flex is-align-items-center is-gap-4\">\n <he-node-icon [type]=\"type()\" size=\"20\" />\n <span>{{ type() }}</span>\n </div>\n\n <div class=\"is-flex is-align-items-center is-gap-4 is-align-self-stretch\">\n <span class=\"is-size-7\">ID:</span>\n <he-node-link [node]=\"node()\">\n <span class=\"has-text-link is-size-7\">{{ id() }}</span>\n </he-node-link>\n </div>\n </div>\n\n <div class=\"divider\"></div>\n\n <div class=\"is-flex is-flex-direction-column is-justify-content-center is-align-items-center is-gap-4\">\n <span>\n @if (inProgress()) {\n <he-svg-icon name=\"loading-circle-filled\" size=\"24\" animation=\"spin\" class=\"has-text-info\" />\n } @else if (recalculatedAt()) {\n <he-svg-icon name=\"checkmark-circle-filled\" size=\"24\" class=\"has-text-success\" />\n } @else {\n <he-svg-icon name=\"exclamation-triangle-filled\" size=\"24\" class=\"has-text-danger\" />\n }\n </span>\n <span class=\"is-size-7\">\n @if (inProgress()) {\n stage {{ stage() }} / {{ maxStage() }}\n } @else if (recalculatedAt()) {\n <span\n class=\"trigger-popover\"\n [ngbPopover]=\"popoverDetails\"\n autoClose=\"outside\"\n popoverClass=\"is-narrow\"\n placement=\"left auto\"\n container=\"body\">\n <span>Complete</span>\n </span>\n } @else {\n Failed\n }\n </span>\n </div>\n\n @if (canExpand()) {\n <a (click)=\"expanded.set(!expanded())\" class=\"has-text-secondary\">\n <he-svg-icon [name]=\"expanded() ? 'chevron-up' : 'chevron-down'\" />\n </a>\n }\n </div>\n\n @if (hasError()) {\n <div\n class=\"is-flex is-justify-content-center is-align-items-center is-gap-4 is-align-self-stretch is-pl-1 is-pr-2 is-py-2 | error-container is-type-{{\n type()\n }}\">\n <div class=\"is-flex-grow-1 is-gap-4\">\n <he-svg-icon name=\"exclamation-triangle-filled\" size=\"20\" class=\"has-text-danger\" />\n <span class=\"is-size-7 has-text-weight-semibold\">Validation Error</span>\n </div>\n\n <button class=\"button is-primary is-light is-small\" (click)=\"openError(node())\">View</button>\n </div>\n }\n </div>\n\n @if (expanded()) {\n @if (loading() && nodesLength() > 0) {\n @for (node of nodesLength() | times; track $index) {\n <he-skeleton-text [width]=\"60\" />\n }\n }\n\n <div class=\"is-flex is-flex-direction-column is-gap-8 is-overflow-hidden\">\n @for (relatedNode of expandableNodes(); track trackNode(relatedNode)) {\n <div class=\"is-relative is-pl-4\">\n <he-engine-models-stage-deep\n class=\"is-flex-grow-1\"\n [node]=\"relatedNode\"\n [expanded]=\"false\"\n [expandedNode]=\"expandedNode() || node()\" />\n </div>\n }\n </div>\n }\n</div>\n\n<ng-template #popoverDetails>\n <div class=\"is-flex is-flex-direction-column is-gap-4 has-text-white w-100\">\n <div class=\"is-flex is-align-items-center is-gap-8 w-100\">\n <span class=\"has-text-weight-bold\">Calculated Date:</span>\n <span>{{ recalculatedAt() | date: (recalculatedAt().length === 10 ? 'mediumDate' : 'medium') }}</span>\n </div>\n <div class=\"is-flex is-align-items-center is-gap-8 w-100\">\n <span class=\"has-text-weight-bold\">Calculated Version:</span>\n <he-engine-models-version-link [node]=\"node()\" />\n </div>\n </div>\n</ng-template>\n", styles: [".engine-models-stage--container{border:1px solid transparent;border-radius:6px}.engine-models-stage--container.has-errors{border-bottom-left-radius:0;border-bottom-right-radius:0}.divider{border-left:1px solid #4c7194;height:52px}.is-type-Cycle{border:1px solid #4c7194}.is-type-Site{border:1px solid #349b3e}.is-type-ImpactAssessment{border:1px solid #b4a988}.is-type-Source{border:1px solid #f5f5f5}.is-type-Cycle{background-color:#ecf1ff}.is-type-Site{background-color:#d5f3d8}.is-type-ImpactAssessment{background-color:#e7e0cb}.is-type-Source{background-color:#f5f5f5}.error-container{background-color:#fefaef;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:0}.related-node-icon{top:-49px;left:8px}.related-node-icon.has-errors{top:-19px}\n"], dependencies: [{ kind: "component", type: EngineModelsStageDeepComponent, selector: "he-engine-models-stage-deep", inputs: ["node", "expanded", "expandedNode"], outputs: ["expandedChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: HESvgIconComponent, selector: "he-svg-icon", inputs: ["name", "size", "animation"] }, { kind: "ngmodule", type: NgbPopoverModule }, { kind: "directive", type: i1$2.NgbPopover, selector: "[ngbPopover]", inputs: ["animation", "autoClose", "ngbPopover", "popoverTitle", "placement", "popperOptions", "triggers", "positionTarget", "container", "disablePopover", "popoverClass", "popoverContext", "openDelay", "closeDelay"], outputs: ["shown", "hidden"], exportAs: ["ngbPopover"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "component", type: EngineModelsVersionLinkComponent, selector: "he-engine-models-version-link", inputs: ["node"] }, { kind: "component", type: SkeletonTextComponent, selector: "he-skeleton-text", inputs: ["animated", "width", "height"] }, { kind: "pipe", type: TimesPipe, name: "times" }, { kind: "component", type: NodeLinkComponent, selector: "he-node-link", inputs: ["node", "dataState", "showExternalLink", "linkClass"] }, { kind: "component", type: NodeIconComponent, selector: "he-node-icon", inputs: ["type", "size"] }] }); }
8968
8978
  }
8969
8979
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: EngineModelsStageDeepComponent, decorators: [{
8970
8980
  type: Component$1,
@@ -8976,8 +8986,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
8976
8986
  EngineModelsVersionLinkComponent,
8977
8987
  SkeletonTextComponent,
8978
8988
  TimesPipe,
8979
- NodeLinkComponent
8980
- ], template: "<div\n class=\"is-flex is-flex-direction-column is-gap-8 is-py-2 is-pl-2 | engine-models-stage--container is-type-{{ type }}\"\n [style.border-color]=\"nodeColour()\">\n <div class=\"is-flex is-flex-direction-row is-justify-content-space-between is-gap-8\">\n @if (canExpand()) {\n <div (click)=\"expanded.set(!expanded())\" pointer>\n <he-svg-icon [name]=\"expanded() ? 'chevron-down' : 'chevron-right'\" />\n </div>\n }\n\n <div\n class=\"is-flex is-flex-direction-row is-justify-content-space-between is-gap-8 is-flex-wrap-wrap is-flex-grow-1\">\n <he-node-link class=\"is-flex-grow-1\" [node]=\"node()\" [showExternalLink]=\"true\">\n <span>{{ type() }} {{ id() }}</span>\n </he-node-link>\n\n <div class=\"is-flex is-flex-direction-column is-gap-4 | engine-models-stage--calculations\">\n <div class=\"is-flex is-gap-4 is-pr-2\">\n <span class=\"has-text-secondary has-text-weight-bold\">Calculations:</span>\n\n @if (inProgress()) {\n <span [class.has-text-danger]=\"stage() === 0\" [class.has-text-warning]=\"stage() > 0\">\n stage {{ stage() }} / {{ maxStage() }}\n </span>\n } @else if (recalculatedAt()) {\n <span\n class=\"trigger-popover\"\n [ngbPopover]=\"popoverDetails\"\n autoClose=\"outside\"\n popoverClass=\"is-narrow\"\n placement=\"left auto\"\n container=\"body\">\n <span class=\"has-text-success\">complete</span>\n </span>\n }\n\n @if (hasError()) {\n <a\n class=\"has-text-danger\"\n ngbTooltip=\"Errors validating recalculation. Click to open\"\n (click)=\"openError(node())\">\n <he-svg-icon name=\"exclamation-triangle\" />\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n\n @if (expanded()) {\n @if (loading() && nodesLength() > 0) {\n @for (node of nodesLength() | times; track $index) {\n <he-skeleton-text [width]=\"60\" />\n }\n }\n\n @for (relatedNode of expandableNodes(); track trackNode(relatedNode)) {\n <div class=\"related-node\">\n <he-engine-models-stage-deep\n [node]=\"relatedNode\"\n [expanded]=\"false\"\n [expandedNode]=\"expandedNode() || node()\" />\n </div>\n }\n }\n</div>\n\n<ng-template #popoverDetails>\n <div class=\"is-flex is-flex-direction-column is-gap-4 has-text-white w-100\">\n <div class=\"is-flex is-align-items-center is-gap-8 w-100\">\n <span class=\"has-text-weight-bold\">Calculated Date:</span>\n <span>{{ recalculatedAt() | date: (recalculatedAt().length === 10 ? 'mediumDate' : 'medium') }}</span>\n </div>\n <div class=\"is-flex is-align-items-center is-gap-8 w-100\">\n <span class=\"has-text-weight-bold\">Calculated Version:</span>\n <he-engine-models-version-link [node]=\"node()\" />\n </div>\n </div>\n</ng-template>\n", styles: [".engine-models-stage--container{border:1px solid transparent;border-radius:3px}he-engine-models-stage-deep ::ng-deep .engine-models-stage--container{border-right:0px;border-top-right-radius:0;border-bottom-right-radius:0}\n"] }]
8989
+ NodeLinkComponent,
8990
+ NodeIconComponent
8991
+ ], template: "@if (expandedNode()) {\n <svg\n class=\"is-absolute | related-node-icon\"\n [class.has-errors]=\"hasError()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"81\"\n viewBox=\"0 0 15 81\"\n fill=\"none\">\n <path d=\"M0.5 0V71C0.5 75.9706 4.52944 80 9.5 80H14.5\" stroke=\"#B5B5B5\" />\n </svg>\n}\n\n<div class=\"is-flex is-flex-direction-column is-gap-8\">\n <div class=\"is-flex is-flex-direction-column is-justify-content-center is-align-items-center\">\n <div\n class=\"is-flex is-align-items-flex-start is-align-self-stretch is-justify-content-space-between is-gap-8 is-p-1 | engine-models-stage--container is-type-{{\n type()\n }}\"\n [class.has-errors]=\"hasError()\">\n <div class=\"is-flex is-flex-direction-column is-justify-content-center is-align-items-center is-gap-4\">\n <div class=\"is-flex is-align-items-center is-gap-4\">\n <he-node-icon [type]=\"type()\" size=\"20\" />\n <span>{{ type() }}</span>\n </div>\n\n <div class=\"is-flex is-align-items-center is-gap-4 is-align-self-stretch\">\n <span class=\"is-size-7\">ID:</span>\n <he-node-link [node]=\"node()\">\n <span class=\"has-text-link is-size-7\">{{ id() }}</span>\n </he-node-link>\n </div>\n </div>\n\n <div class=\"divider\"></div>\n\n <div class=\"is-flex is-flex-direction-column is-justify-content-center is-align-items-center is-gap-4\">\n <span>\n @if (inProgress()) {\n <he-svg-icon name=\"loading-circle-filled\" size=\"24\" animation=\"spin\" class=\"has-text-info\" />\n } @else if (recalculatedAt()) {\n <he-svg-icon name=\"checkmark-circle-filled\" size=\"24\" class=\"has-text-success\" />\n } @else {\n <he-svg-icon name=\"exclamation-triangle-filled\" size=\"24\" class=\"has-text-danger\" />\n }\n </span>\n <span class=\"is-size-7\">\n @if (inProgress()) {\n stage {{ stage() }} / {{ maxStage() }}\n } @else if (recalculatedAt()) {\n <span\n class=\"trigger-popover\"\n [ngbPopover]=\"popoverDetails\"\n autoClose=\"outside\"\n popoverClass=\"is-narrow\"\n placement=\"left auto\"\n container=\"body\">\n <span>Complete</span>\n </span>\n } @else {\n Failed\n }\n </span>\n </div>\n\n @if (canExpand()) {\n <a (click)=\"expanded.set(!expanded())\" class=\"has-text-secondary\">\n <he-svg-icon [name]=\"expanded() ? 'chevron-up' : 'chevron-down'\" />\n </a>\n }\n </div>\n\n @if (hasError()) {\n <div\n class=\"is-flex is-justify-content-center is-align-items-center is-gap-4 is-align-self-stretch is-pl-1 is-pr-2 is-py-2 | error-container is-type-{{\n type()\n }}\">\n <div class=\"is-flex-grow-1 is-gap-4\">\n <he-svg-icon name=\"exclamation-triangle-filled\" size=\"20\" class=\"has-text-danger\" />\n <span class=\"is-size-7 has-text-weight-semibold\">Validation Error</span>\n </div>\n\n <button class=\"button is-primary is-light is-small\" (click)=\"openError(node())\">View</button>\n </div>\n }\n </div>\n\n @if (expanded()) {\n @if (loading() && nodesLength() > 0) {\n @for (node of nodesLength() | times; track $index) {\n <he-skeleton-text [width]=\"60\" />\n }\n }\n\n <div class=\"is-flex is-flex-direction-column is-gap-8 is-overflow-hidden\">\n @for (relatedNode of expandableNodes(); track trackNode(relatedNode)) {\n <div class=\"is-relative is-pl-4\">\n <he-engine-models-stage-deep\n class=\"is-flex-grow-1\"\n [node]=\"relatedNode\"\n [expanded]=\"false\"\n [expandedNode]=\"expandedNode() || node()\" />\n </div>\n }\n </div>\n }\n</div>\n\n<ng-template #popoverDetails>\n <div class=\"is-flex is-flex-direction-column is-gap-4 has-text-white w-100\">\n <div class=\"is-flex is-align-items-center is-gap-8 w-100\">\n <span class=\"has-text-weight-bold\">Calculated Date:</span>\n <span>{{ recalculatedAt() | date: (recalculatedAt().length === 10 ? 'mediumDate' : 'medium') }}</span>\n </div>\n <div class=\"is-flex is-align-items-center is-gap-8 w-100\">\n <span class=\"has-text-weight-bold\">Calculated Version:</span>\n <he-engine-models-version-link [node]=\"node()\" />\n </div>\n </div>\n</ng-template>\n", styles: [".engine-models-stage--container{border:1px solid transparent;border-radius:6px}.engine-models-stage--container.has-errors{border-bottom-left-radius:0;border-bottom-right-radius:0}.divider{border-left:1px solid #4c7194;height:52px}.is-type-Cycle{border:1px solid #4c7194}.is-type-Site{border:1px solid #349b3e}.is-type-ImpactAssessment{border:1px solid #b4a988}.is-type-Source{border:1px solid #f5f5f5}.is-type-Cycle{background-color:#ecf1ff}.is-type-Site{background-color:#d5f3d8}.is-type-ImpactAssessment{background-color:#e7e0cb}.is-type-Source{background-color:#f5f5f5}.error-container{background-color:#fefaef;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:0}.related-node-icon{top:-49px;left:8px}.related-node-icon.has-errors{top:-19px}\n"] }]
8981
8992
  }] });
8982
8993
 
8983
8994
  const gitUrl = `${gitHome}/${Repository.orchestrator}/-/blob/${gitBranch()}`;
@@ -13153,5 +13164,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
13153
13164
  * Generated bundle index. Do not edit.
13154
13165
  */
13155
13166
 
13156
- export { ARRAY_DELIMITER, ApplyPurePipe, BarChartComponent, BibliographiesSearchConfirmComponent, BlankNodeStateComponent, BlankNodeStateNoticeComponent, BlankNodeValueDeltaComponent, CapitalizePipe, ChartComponent, ChartConfigurationDirective, ClickOutsideDirective, ClipboardComponent, CollapsibleBoxComponent, ColorPalette, CompoundDirective, CompoundPipe, ControlValueAccessor, CycleNodesKeyGroup, CyclesCompletenessComponent, CyclesEmissionsChartComponent, CyclesFunctionalUnitMeasureComponent, CyclesNodesComponent, CyclesNodesTimelineComponent, CyclesResultComponent, DataTableComponent, DefaultPipe, DeltaColour, DistributionChartComponent, DrawerContainerComponent, DurationPipe, EllipsisPipe, EngineModelsLinkComponent, EngineModelsLookupInfoComponent, EngineModelsStageComponent, EngineModelsStageDeepComponent, EngineModelsStageDeepService, EngineModelsVersionLinkComponent, EngineOrchestratorEditComponent, EngineRequirementsFormComponent, FileSizePipe, FilesErrorSummaryComponent, FilesFormComponent, FilesFormEditableComponent, FilesUploadErrorsComponent, FilterAccordionComponent, GUIDE_ENABLED, GetPipe, GlossaryMigrationFormat, GuideOverlayComponent, HESvgIconComponent, HE_API_BASE_URL, HE_CALCULATIONS_BASE_URL, HE_MAP_LOADED, HeAuthService, HeCommonService, HeEngineService, HeGlossaryService, HeMendeleyService, HeNodeCsvService, HeNodeService, HeNodeStoreService, HeSchemaService, HeSearchService, HeToastService, ImpactAssessmentsGraphComponent, ImpactAssessmentsIndicatorBreakdownChartComponent, ImpactAssessmentsIndicatorsChartComponent, ImpactAssessmentsProductsComponent, IsArrayPipe, IsObjectPipe, IssueConfirmComponent, KeyToLabelPipe, Level, LineChartComponent, LinkKeyValueComponent, LogStatus, MAX_RESULTS, MapsDrawingComponent, MapsDrawingConfirmComponent, MendeleySearchResult, MobileShellComponent, NavigationMenuComponent, NoExtPipe, NodeAggregatedComponent, NodeAggregatedInfoComponent, NodeAggregatedQualityScoreComponent, NodeCsvExportConfirmComponent, NodeCsvPreviewComponent, NodeCsvSelectHeadersComponent, NodeIconComponent, NodeJsonldComponent, NodeJsonldSchemaComponent, NodeKeyState, NodeLinkComponent, NodeLogsFileComponent, NodeLogsModelsComponent, NodeLogsTimeComponent, NodeMissingLookupFactorsComponent, NodeQualityScore, NodeRecommendationsComponent, NodeSelectComponent, NodeValueDetailsComponent, PluralizePipe, PopoverComponent, PopoverConfirmComponent, PrecisionPipe, RelatedNodeResult, RemoveMarkdownPipe, Repository, ResizedDirective, ResizedEvent, ResponsiveService, SchemaInfoComponent, SchemaVersionLinkComponent, SearchExtendComponent, ShelfDialogComponent, ShellComponent, SitesManagementChartComponent, SitesMapsComponent, SitesNodesComponent, SkeletonTextComponent, SocialTagsComponent, SortByPipe, SortSelectComponent, TagsInputDirective, Template, TermsPropertyContentComponent, TermsSubClassOfContentComponent, TermsUnitsDescriptionComponent, ThousandSuffixesPipe, ThousandsPipe, TimesPipe, ToastComponent, UncapitalizePipe, addPolygonToFeature, allCountriesQuery, allGroups, allOptions, arrayValue, availableProperties, baseApiUrl, baseUrl, bottom, buildSummary, bytesSize, calculateCycleDuration, calculateCycleDurationEnabled, calculateCycleStartDate, calculateCycleStartDateEnabled, capitalize, changelogUrl, clustererImage, code, compoundToHtml, computeKeys, computeTerms, contactUsEmail, contactUsLink, coordinatesToPoint, copyObject, countriesQuery, createMarker, cropsQuery, d3ellipse, d3wrap, dataPathLabel, dataPathToKey, defaultFeature, defaultLabel, defaultSuggestionType, defaultSvgIconSize, definitionToSchemaType, distinctUntilChangedDeep, ellipsis, engineGitBaseUrl, engineGitUrl, errorHasError, errorHasWarning, errorText, evaluateSuccess, externalLink, externalNodeLink, fillColor, fillStyle, filterBlankNode$1 as filterBlankNode, filterError, filterParams, findConfigModels, findMatchingModel, findModels, findNodeModel, findOrchestratorModel, findProperty, findPropertyById, flatFilterData, flatFilterNode, formatCustomErrorMessage, formatDate, formatError, formatPropertyError, formatter, getColor, getDatesBetween, gitBranch, gitHome, gitlabRawUrl, glossaryBaseUrl, glossaryLink, groupChanged, groupLogsByModel, groupLogsByTerm, groupNodesByTerm, groupdLogsByKey, grouppedKeys, grouppedValueKeys, guideModelUrl, guideNamespace, guidePageId, handleAPIError, handleGuideEvent, hasError, hasValidationError, hasWarning, iconSizes, icons, ignoreKeys$2 as ignoreKeys, initialFilterState, inputGroupsTermTypes, isAddPropertyEnabled, isChrome, isDateBetween, isEqual, isExternal, isGroupVisible, isKeyClosedVisible, isKeyHidden, isMaxStage, isMethodModelAllowed, isMigrationError, isMissingOneOfError, isMissingPropertyError, isNonNodeModelKey, isSchemaIri, isScrolledBelow, isState, isTermTypeAllowed, isValidKey, keyToDataPath, levels, listColor, listColorContinuous, loadMapApi, loadSvgSprite, localStorageSignal, locationQuery, logToCsv$1 as logToCsv, logValueArray, logsKey, lookupUrl, mapFilterData, mapsUrl, markerIcon, markerPie, matchAggregatedQuery, matchAggregatedValidatedQuery, matchBoolPrefixQuery, matchCountry, matchExactQuery, matchGlobalRegion, matchId, matchNameNormalized, matchNestedKey, matchPhrasePrefixQuery, matchPhraseQuery, matchPrimaryProductQuery, matchQuery, matchRegex, matchRegion, matchTermType, matchType, maxAreaSize, measurementValue, mergeDataWithHeaders, methodTierOrder, migrationErrorMessage, migrationsUrl, missingNodeErrors, modelCount, modelKeyParams, modelParams, models, multiMatchQuery, nestedProperty, nestingEnabled, nestingTypeEnabled, nodeAvailableProperties, nodeColours$1 as nodeColours, nodeDataState, nodeId, nodeLink, nodeLinkEnabled, nodeLinkTypeEnabled, nodeLogsUrl, nodeQualityScoreColor, nodeQualityScoreLevel, nodeQualityScoreMaxDefault, nodeQualityScoreOrder, nodeToAggregationFilename, nodeType, nodeTypeDataState, nodeUrl, nodeUrlParams, nodeVersion, numberGte, optionsFromGroup, parentKey, parentProperty, parseData, parseDataPath, parseLines, parseMessage$1 as parseMessage, parseNewValue, pluralize, pointToCoordinates, polygonBounds, polygonToCoordinates, polygonToMap, polygonsFromFeature, populateWithTrackIdsFilterData, postGuideEvent, primaryProduct, productsQuery, propertyError, propertyId, recursiveProperties, refToSchemaType, refreshPropertyKeys, regionsQuery, repeat, reportIssueLink, reportIssueUrl, safeJSONParse, safeJSONStringify, schemaBaseUrl, schemaDataBaseUrl, schemaLink, schemaRequiredProperties, schemaTypeToDefaultValue, scrollToEl, scrollTop, searchFilterData, searchableTypes, siblingProperty, singleProperty, siteTooBig, siteTypeToIcon, sortProperties, sortedDates, strokeColor, strokeStyle, suggestMatchQuery, suggestQuery, takeAfterViewInit, termLocation, termLocationName, termProperties, termTypeLabel, toSnakeCase, toThousands, typeToNewProperty, typeaheadFocus, uncapitalize, uniqueDatesBetween, updateProperties, valueTypeToDefault, waitFor, wildcardQuery };
13167
+ export { ARRAY_DELIMITER, ApplyPurePipe, BarChartComponent, BibliographiesSearchConfirmComponent, BlankNodeStateComponent, BlankNodeStateNoticeComponent, BlankNodeValueDeltaComponent, CapitalizePipe, ChartComponent, ChartConfigurationDirective, ClickOutsideDirective, ClipboardComponent, CollapsibleBoxComponent, ColorPalette, CompoundDirective, CompoundPipe, ControlValueAccessor, CycleNodesKeyGroup, CyclesCompletenessComponent, CyclesEmissionsChartComponent, CyclesFunctionalUnitMeasureComponent, CyclesNodesComponent, CyclesNodesTimelineComponent, CyclesResultComponent, DataTableComponent, DefaultPipe, DeltaColour, DistributionChartComponent, DrawerContainerComponent, DurationPipe, EllipsisPipe, EngineModelsLinkComponent, EngineModelsLookupInfoComponent, EngineModelsStageComponent, EngineModelsStageDeepComponent, EngineModelsStageDeepService, EngineModelsVersionLinkComponent, EngineOrchestratorEditComponent, EngineRequirementsFormComponent, FileSizePipe, FilesErrorSummaryComponent, FilesFormComponent, FilesFormEditableComponent, FilesUploadErrorsComponent, FilterAccordionComponent, GUIDE_ENABLED, GetPipe, GlossaryMigrationFormat, GuideOverlayComponent, HESvgIconComponent, HE_API_BASE_URL, HE_CALCULATIONS_BASE_URL, HE_MAP_LOADED, HeAuthService, HeCommonService, HeEngineService, HeGlossaryService, HeMendeleyService, HeNodeCsvService, HeNodeService, HeNodeStoreService, HeSchemaService, HeSearchService, HeToastService, ImpactAssessmentsGraphComponent, ImpactAssessmentsIndicatorBreakdownChartComponent, ImpactAssessmentsIndicatorsChartComponent, ImpactAssessmentsProductsComponent, IsArrayPipe, IsObjectPipe, IssueConfirmComponent, KeyToLabelPipe, Level, LineChartComponent, LinkKeyValueComponent, LogStatus, MAX_RESULTS, MapsDrawingComponent, MapsDrawingConfirmComponent, MendeleySearchResult, MobileShellComponent, NavigationMenuComponent, NoExtPipe, NodeAggregatedComponent, NodeAggregatedInfoComponent, NodeAggregatedQualityScoreComponent, NodeCsvExportConfirmComponent, NodeCsvPreviewComponent, NodeCsvSelectHeadersComponent, NodeIconComponent, NodeJsonldComponent, NodeJsonldSchemaComponent, NodeKeyState, NodeLinkComponent, NodeLogsFileComponent, NodeLogsModelsComponent, NodeLogsTimeComponent, NodeMissingLookupFactorsComponent, NodeQualityScore, NodeRecommendationsComponent, NodeSelectComponent, NodeValueDetailsComponent, PluralizePipe, PopoverComponent, PopoverConfirmComponent, PrecisionPipe, RelatedNodeResult, RemoveMarkdownPipe, Repository, ResizedDirective, ResizedEvent, ResponsiveService, SchemaInfoComponent, SchemaVersionLinkComponent, SearchExtendComponent, ShelfDialogComponent, ShellComponent, SitesManagementChartComponent, SitesMapsComponent, SitesNodesComponent, SkeletonTextComponent, SocialTagsComponent, SortByPipe, SortSelectComponent, TagsInputDirective, Template, TermsPropertyContentComponent, TermsSubClassOfContentComponent, TermsUnitsDescriptionComponent, ThousandSuffixesPipe, ThousandsPipe, TimesPipe, ToastComponent, UncapitalizePipe, addPolygonToFeature, allCountriesQuery, allGroups, allOptions, arrayValue, availableProperties, baseApiUrl, baseUrl, bottom, buildSummary, bytesSize, calculateCycleDuration, calculateCycleDurationEnabled, calculateCycleStartDate, calculateCycleStartDateEnabled, capitalize, changelogUrl, clustererImage, code, compoundToHtml, computeKeys, computeTerms, contactUsEmail, contactUsLink, coordinatesToPoint, copyObject, countriesQuery, createMarker, cropsQuery, d3ellipse, d3wrap, dataPathLabel, dataPathToKey, defaultFeature, defaultLabel, defaultSuggestionType, defaultSvgIconSize, definitionToSchemaType, distinctUntilChangedDeep, ellipsis, engineGitBaseUrl, engineGitUrl, errorHasError, errorHasWarning, errorText, evaluateSuccess, externalLink, externalNodeLink, fillColor, fillStyle, filterBlankNode$1 as filterBlankNode, filterError, filterParams, findConfigModels, findMatchingModel, findModels, findNodeModel, findOrchestratorModel, findProperty, findPropertyById, flatFilterData, flatFilterNode, formatCustomErrorMessage, formatDate, formatError, formatPropertyError, formatter, getColor, getDatesBetween, gitBranch, gitHome, gitlabRawUrl, glossaryBaseUrl, glossaryLink, groupChanged, groupLogsByModel, groupLogsByTerm, groupNodesByTerm, groupdLogsByKey, grouppedKeys, grouppedValueKeys, guideModelUrl, guideNamespace, guidePageId, handleAPIError, handleGuideEvent, hasError, hasValidationError, hasWarning, iconSizes, icons, ignoreKeys$2 as ignoreKeys, initialFilterState, inputGroupsTermTypes, isAddPropertyEnabled, isChrome, isDateBetween, isEqual, isExternal, isGroupVisible, isKeyClosedVisible, isKeyHidden, isMaxStage, isMethodModelAllowed, isMigrationError, isMissingOneOfError, isMissingPropertyError, isNonNodeModelKey, isSchemaIri, isScrolledBelow, isState, isTermTypeAllowed, isValidKey, keyToDataPath, levels, listColor, listColorContinuous, loadMapApi, loadSvgSprite, localStorageSignal, locationQuery, logToCsv$1 as logToCsv, logValueArray, logsKey, lookupUrl, mapFilterData, mapsUrl, markerIcon, markerPie, matchAggregatedQuery, matchAggregatedValidatedQuery, matchBoolPrefixQuery, matchCountry, matchExactQuery, matchGlobalRegion, matchId, matchNameNormalized, matchNestedKey, matchPhrasePrefixQuery, matchPhraseQuery, matchPrimaryProductQuery, matchQuery, matchRegex, matchRegion, matchTermType, matchType, maxAreaSize, measurementValue, mergeDataWithHeaders, methodTierOrder, migrationErrorMessage, migrationsUrl, missingNodeErrors, modelCount, modelKeyParams, modelParams, models, multiMatchQuery, nestedProperty, nestingEnabled, nestingTypeEnabled, nodeAvailableProperties, nodeColours$1 as nodeColours, nodeDataState, nodeId, nodeLink, nodeLinkEnabled, nodeLinkTypeEnabled, nodeLogsUrl, nodeQualityScoreColor, nodeQualityScoreLevel, nodeQualityScoreMaxDefault, nodeQualityScoreOrder, nodeSecondaryColours, nodeToAggregationFilename, nodeType, nodeTypeDataState, nodeUrl, nodeUrlParams, nodeVersion, numberGte, optionsFromGroup, parentKey, parentProperty, parseData, parseDataPath, parseLines, parseMessage$1 as parseMessage, parseNewValue, pluralize, pointToCoordinates, polygonBounds, polygonToCoordinates, polygonToMap, polygonsFromFeature, populateWithTrackIdsFilterData, postGuideEvent, primaryProduct, productsQuery, propertyError, propertyId, recursiveProperties, refToSchemaType, refreshPropertyKeys, regionsQuery, repeat, reportIssueLink, reportIssueUrl, safeJSONParse, safeJSONStringify, schemaBaseUrl, schemaDataBaseUrl, schemaLink, schemaRequiredProperties, schemaTypeToDefaultValue, scrollToEl, scrollTop, searchFilterData, searchableTypes, siblingProperty, singleProperty, siteTooBig, siteTypeToIcon, sortProperties, sortedDates, strokeColor, strokeStyle, suggestMatchQuery, suggestQuery, takeAfterViewInit, termLocation, termLocationName, termProperties, termTypeLabel, toSnakeCase, toThousands, typeToNewProperty, typeaheadFocus, uncapitalize, uniqueDatesBetween, updateProperties, valueTypeToDefault, waitFor, wildcardQuery };
13157
13168
  //# sourceMappingURL=hestia-earth-ui-components.mjs.map