@hestia-earth/ui-components 0.41.24 → 0.41.26
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.
|
@@ -6,7 +6,7 @@ import { FormsModule, NG_VALUE_ACCESSOR, UntypedFormBuilder, Validators, Reactiv
|
|
|
6
6
|
import { NgClass, DecimalPipe, NgTemplateOutlet, KeyValuePipe, DOCUMENT, PlatformLocation, NgStyle, UpperCasePipe, JsonPipe, DatePipe, AsyncPipe, formatDate as formatDate$1 } from '@angular/common';
|
|
7
7
|
import * as i1$1 from '@ng-bootstrap/ng-bootstrap';
|
|
8
8
|
import { NgbTooltip, NgbDropdown, NgbDropdownMenu, NgbDropdownToggle, NgbActiveModal, NgbHighlight, NgbModal, NgbDropdownItem, NgbTypeahead, NgbPopover, NgbTooltipModule, NgbDropdownModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
|
|
9
|
-
import { ReplaySubject, of, mergeMap, shareReplay, delay, map, catchError, distinctUntilChanged, timer, take, first, Subject, combineLatest, filter, tap, pipe, fromEvent, startWith, merge, skip, switchMap, EMPTY, throttleTime, animationFrameScheduler, debounceTime, skipUntil, zip,
|
|
9
|
+
import { ReplaySubject, of, mergeMap, shareReplay, delay, map, catchError, distinctUntilChanged, timer, take, first, Subject, combineLatest, filter, tap, pipe, fromEvent, startWith, merge, skip, switchMap, EMPTY, throttleTime, animationFrameScheduler, debounceTime, lastValueFrom, skipUntil, zip, forkJoin, from, reduce, firstValueFrom, mergeAll, toArray, distinct, groupBy } from 'rxjs';
|
|
10
10
|
import { HttpClient } from '@angular/common/http';
|
|
11
11
|
import get from 'lodash.get';
|
|
12
12
|
import { SCHEMA_VERSION, SchemaType, NodeType, TermTermType, productTermTermType, nestedSearchableKeys, SiteSiteType, EmissionMethodTier, isExpandable, sortKeysByType, isTypeNode, BlankNodesKey, impactAssessmentTermTermType, measurementTermTermType, emissionTermTermType, inputTermTermType, CycleFunctionalUnit, NonBlankNodesKey, jsonldPath, isTypeValid, isTypeBlankNode, typeToSchemaType, infrastructureTermTermType, managementTermTermType } from '@hestia-earth/schema';
|
|
@@ -2743,6 +2743,467 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
2743
2743
|
args: [{ selector: 'he-mobile-shell', imports: [NgTemplateOutlet, HESvgIconComponent], template: "<div class=\"is-overflow-auto | shell-content\">\n <div [class.menu-expanded]=\"expanded()\" class=\"shell__content--body | h-100\">\n <ng-content />\n </div>\n</div>\n\n<aside class=\"shell-footer | is-flex is-justify-content-space-between\">\n @for (button of buttons(); track button.id || button.label) {\n <button\n (click)=\"onMenuButtonClick(button)\"\n class=\"button is-secondary is-flex is-flex-direction-column is-align-items-center | menu-button\"\n [disabled]=\"button.disabled\">\n <ng-container\n *ngTemplateOutlet=\"\n iconTemplate() ?? defaultIconTemplate;\n context: { $implicit: button, isActive: button.isActive }\n \" />\n @if (button.isActive && button.label) {\n <span class=\"is-size-8 | menu-button-label\">{{ button.label }}</span>\n }\n </button>\n }\n</aside>\n\n<div [class.expanded]=\"expanded()\" class=\"shell-menu | is-absolute w-100 h-100\">\n <ng-template [ngTemplateOutlet]=\"menuRef()\" />\n</div>\n\n<ng-template #defaultIconTemplate let-button>\n <he-svg-icon [name]=\"button.icon\" />\n</ng-template>\n", styles: [":host{position:relative;display:grid;grid-template-rows:1fr auto;width:100%;height:100%;overflow:hidden;--menu-height: 2.875em}.shell-footer{background:#193957;z-index:10}.shell-menu{bottom:0;left:0;background:#fefaef;transform:translateY(100%);transition:transform .1s ease-out;padding-bottom:var(--menu-height)}.shell-menu.expanded{transform:translateY(0)}.menu-button-label{line-height:normal;letter-spacing:-.01rem}.menu-button{box-shadow:none;height:3.5em;width:2em}.menu-button:hover{background-color:initial}\n"] }]
|
|
2744
2744
|
}], propDecorators: { iconTemplate: [{ type: i0.ContentChild, args: ['iconTemplate', { isSignal: true }] }], menuButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "menuButtons", required: false }] }], defaultActiveButtonId: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultActiveButtonId", required: false }] }], menuShown: [{ type: i0.Output, args: ["menuShown"] }] } });
|
|
2745
2745
|
|
|
2746
|
+
var StepStatus;
|
|
2747
|
+
(function (StepStatus) {
|
|
2748
|
+
StepStatus[StepStatus["previous"] = 0] = "previous";
|
|
2749
|
+
StepStatus[StepStatus["current"] = 1] = "current";
|
|
2750
|
+
StepStatus[StepStatus["next"] = 2] = "next";
|
|
2751
|
+
StepStatus[StepStatus["error"] = 3] = "error";
|
|
2752
|
+
})(StepStatus || (StepStatus = {}));
|
|
2753
|
+
const getStepStatus = (index, statusIndex, success, processing) => index < statusIndex
|
|
2754
|
+
? StepStatus.previous
|
|
2755
|
+
: index === statusIndex
|
|
2756
|
+
? success
|
|
2757
|
+
? processing
|
|
2758
|
+
? StepStatus.current
|
|
2759
|
+
: StepStatus.next
|
|
2760
|
+
: StepStatus.error
|
|
2761
|
+
: StepStatus.next;
|
|
2762
|
+
const getStageStatus = (statuses) => statuses.every(status => status === StepStatus.previous)
|
|
2763
|
+
? 'success'
|
|
2764
|
+
: statuses.every(status => status === StepStatus.next)
|
|
2765
|
+
? 'none'
|
|
2766
|
+
: statuses.some(status => status === StepStatus.error)
|
|
2767
|
+
? 'error'
|
|
2768
|
+
: 'pending';
|
|
2769
|
+
|
|
2770
|
+
class CompletedStagesPipe {
|
|
2771
|
+
transform(statuses) {
|
|
2772
|
+
return statuses.filter(status => status.stepStatus === StepStatus.previous || status.stepStatus === StepStatus.error).length;
|
|
2773
|
+
}
|
|
2774
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: CompletedStagesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
2775
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: CompletedStagesPipe, isStandalone: true, name: "completedStages" }); }
|
|
2776
|
+
}
|
|
2777
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: CompletedStagesPipe, decorators: [{
|
|
2778
|
+
type: Pipe,
|
|
2779
|
+
args: [{
|
|
2780
|
+
name: 'completedStages'
|
|
2781
|
+
}]
|
|
2782
|
+
}] });
|
|
2783
|
+
|
|
2784
|
+
// auto-generated content using "node scripts/generate-icons.js"
|
|
2785
|
+
const iconSizes = [
|
|
2786
|
+
'16',
|
|
2787
|
+
'20',
|
|
2788
|
+
'24',
|
|
2789
|
+
'40',
|
|
2790
|
+
'48'
|
|
2791
|
+
];
|
|
2792
|
+
const icons = [
|
|
2793
|
+
'aggregation',
|
|
2794
|
+
'api',
|
|
2795
|
+
'api-circle',
|
|
2796
|
+
'archive',
|
|
2797
|
+
'arrow-down',
|
|
2798
|
+
'arrow-down-right',
|
|
2799
|
+
'arrow-left',
|
|
2800
|
+
'arrow-right',
|
|
2801
|
+
'arrow-up',
|
|
2802
|
+
'autogenerate',
|
|
2803
|
+
'autogenerate-circle',
|
|
2804
|
+
'aws',
|
|
2805
|
+
'ban',
|
|
2806
|
+
'bell',
|
|
2807
|
+
'bell-with-badge',
|
|
2808
|
+
'book',
|
|
2809
|
+
'breakdown',
|
|
2810
|
+
'bug',
|
|
2811
|
+
'buoy',
|
|
2812
|
+
'calculation-toolkit',
|
|
2813
|
+
'calculator',
|
|
2814
|
+
'caret-down',
|
|
2815
|
+
'caret-left',
|
|
2816
|
+
'caret-right',
|
|
2817
|
+
'caret-up',
|
|
2818
|
+
'certificate',
|
|
2819
|
+
'chart',
|
|
2820
|
+
'checkmark',
|
|
2821
|
+
'checkmark-circle',
|
|
2822
|
+
'checkmark-circle-filled',
|
|
2823
|
+
'checkmark-circle-filled-with-shadow',
|
|
2824
|
+
'chevron-double-left',
|
|
2825
|
+
'chevron-double-right',
|
|
2826
|
+
'chevron-down',
|
|
2827
|
+
'chevron-left',
|
|
2828
|
+
'chevron-right',
|
|
2829
|
+
'chevron-up',
|
|
2830
|
+
'circle',
|
|
2831
|
+
'citation',
|
|
2832
|
+
'citation-square',
|
|
2833
|
+
'clock',
|
|
2834
|
+
'cloud',
|
|
2835
|
+
'collapse',
|
|
2836
|
+
'collapse-panel',
|
|
2837
|
+
'commit',
|
|
2838
|
+
'community',
|
|
2839
|
+
'community-edition',
|
|
2840
|
+
'compare',
|
|
2841
|
+
'copy',
|
|
2842
|
+
'corner-drag',
|
|
2843
|
+
'csv-file',
|
|
2844
|
+
'cycle',
|
|
2845
|
+
'dashboard',
|
|
2846
|
+
'data-format',
|
|
2847
|
+
'database-wheat',
|
|
2848
|
+
'dot-circle',
|
|
2849
|
+
'dot-filled',
|
|
2850
|
+
'download',
|
|
2851
|
+
'drag',
|
|
2852
|
+
'edit',
|
|
2853
|
+
'edit-withfield',
|
|
2854
|
+
'embed',
|
|
2855
|
+
'exclamation',
|
|
2856
|
+
'exclamation-triangle',
|
|
2857
|
+
'exclamation-triangle-filled',
|
|
2858
|
+
'export',
|
|
2859
|
+
'external-link',
|
|
2860
|
+
'feedback',
|
|
2861
|
+
'fence',
|
|
2862
|
+
'film',
|
|
2863
|
+
'filter-funnel',
|
|
2864
|
+
'filter-slider',
|
|
2865
|
+
'flash',
|
|
2866
|
+
'folder',
|
|
2867
|
+
'folder-open',
|
|
2868
|
+
'foodprocessor',
|
|
2869
|
+
'globe-continents',
|
|
2870
|
+
'globe-lines',
|
|
2871
|
+
'glossary',
|
|
2872
|
+
'greenhouse',
|
|
2873
|
+
'guide',
|
|
2874
|
+
'guide-overlay',
|
|
2875
|
+
'help',
|
|
2876
|
+
'help-circle',
|
|
2877
|
+
'history',
|
|
2878
|
+
'home',
|
|
2879
|
+
'husk',
|
|
2880
|
+
'image',
|
|
2881
|
+
'incognito',
|
|
2882
|
+
'indexed',
|
|
2883
|
+
'info',
|
|
2884
|
+
'info-circle',
|
|
2885
|
+
'lake',
|
|
2886
|
+
'link',
|
|
2887
|
+
'list-indented',
|
|
2888
|
+
'livestock',
|
|
2889
|
+
'loading',
|
|
2890
|
+
'loading-bar',
|
|
2891
|
+
'loading-circle-filled',
|
|
2892
|
+
'loading-circle-filled-withshadow',
|
|
2893
|
+
'log',
|
|
2894
|
+
'mail',
|
|
2895
|
+
'map',
|
|
2896
|
+
'menu',
|
|
2897
|
+
'messages',
|
|
2898
|
+
'messages-with-badge',
|
|
2899
|
+
'metrics',
|
|
2900
|
+
'migration',
|
|
2901
|
+
'minus',
|
|
2902
|
+
'model-docs',
|
|
2903
|
+
'news',
|
|
2904
|
+
'node',
|
|
2905
|
+
'notepad',
|
|
2906
|
+
'ocean',
|
|
2907
|
+
'organisation',
|
|
2908
|
+
'overflow-menu',
|
|
2909
|
+
'pin',
|
|
2910
|
+
'plus',
|
|
2911
|
+
'pond',
|
|
2912
|
+
'private-eye',
|
|
2913
|
+
'private-eye-crossed',
|
|
2914
|
+
'private-lock',
|
|
2915
|
+
'profile-checkmark',
|
|
2916
|
+
'profile-circle',
|
|
2917
|
+
'profile-gear',
|
|
2918
|
+
'progress',
|
|
2919
|
+
'python',
|
|
2920
|
+
'refresh',
|
|
2921
|
+
'rename',
|
|
2922
|
+
'retailer',
|
|
2923
|
+
'review',
|
|
2924
|
+
'river',
|
|
2925
|
+
'save',
|
|
2926
|
+
'schema',
|
|
2927
|
+
'search',
|
|
2928
|
+
'search-with-exclamation',
|
|
2929
|
+
'search-with-minus',
|
|
2930
|
+
'search-with-plus',
|
|
2931
|
+
'settings',
|
|
2932
|
+
'share',
|
|
2933
|
+
'share-socials',
|
|
2934
|
+
'shrub',
|
|
2935
|
+
'sign-out',
|
|
2936
|
+
'slack',
|
|
2937
|
+
'socials-gitlab',
|
|
2938
|
+
'socials-google',
|
|
2939
|
+
'socials-linkedin',
|
|
2940
|
+
'socials-linkedin-circle',
|
|
2941
|
+
'socials-orcid',
|
|
2942
|
+
'socials-orcid-circle',
|
|
2943
|
+
'sort-ascending',
|
|
2944
|
+
'sort-caret-down-filled',
|
|
2945
|
+
'sort-caret-stacked-filled-stacked',
|
|
2946
|
+
'sort-caret-up-filled',
|
|
2947
|
+
'source',
|
|
2948
|
+
'star',
|
|
2949
|
+
'star-filled',
|
|
2950
|
+
'table',
|
|
2951
|
+
'tag-filled',
|
|
2952
|
+
'target',
|
|
2953
|
+
'term',
|
|
2954
|
+
'textform-list',
|
|
2955
|
+
'tool',
|
|
2956
|
+
'transport',
|
|
2957
|
+
'trash',
|
|
2958
|
+
'tree',
|
|
2959
|
+
'turn-phone',
|
|
2960
|
+
'unit',
|
|
2961
|
+
'upload',
|
|
2962
|
+
'video',
|
|
2963
|
+
'xmark',
|
|
2964
|
+
'xmark-circle',
|
|
2965
|
+
'xmark-circle-filled',
|
|
2966
|
+
'xmark-circle-filled-with-shadow',
|
|
2967
|
+
'zip'
|
|
2968
|
+
];
|
|
2969
|
+
|
|
2970
|
+
const loadSvgSprite = () => {
|
|
2971
|
+
const http = inject(HttpClient);
|
|
2972
|
+
const document = inject(DOCUMENT);
|
|
2973
|
+
const platformLocation = inject(PlatformLocation);
|
|
2974
|
+
const baseUrl = platformLocation.getBaseHrefFromDOM();
|
|
2975
|
+
return lastValueFrom(http.get(`${baseUrl}assets/svg-icons/icons-sprite.svg`, { responseType: 'text' }).pipe(tap(svgContent => {
|
|
2976
|
+
const div = document.createElement('div');
|
|
2977
|
+
div.innerHTML = svgContent;
|
|
2978
|
+
const svg = div.querySelector('svg');
|
|
2979
|
+
if (svg) {
|
|
2980
|
+
svg.style.display = 'none';
|
|
2981
|
+
document.body.insertBefore(svg, document.body.firstChild);
|
|
2982
|
+
}
|
|
2983
|
+
})));
|
|
2984
|
+
};
|
|
2985
|
+
|
|
2986
|
+
const timelineItemIconMap = {
|
|
2987
|
+
success: 'checkmark',
|
|
2988
|
+
pending: 'loading',
|
|
2989
|
+
none: '',
|
|
2990
|
+
error: 'xmark'
|
|
2991
|
+
};
|
|
2992
|
+
class PipelineProgressStatusComponent {
|
|
2993
|
+
constructor() {
|
|
2994
|
+
this.status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
|
|
2995
|
+
this.size = input('medium', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
2996
|
+
this.iconStatus = computed(() => timelineItemIconMap[this.status()], ...(ngDevMode ? [{ debugName: "iconStatus" }] : []));
|
|
2997
|
+
this.iconSize = computed(() => (this.size() === 'small' ? '18px' : '22.5px'), ...(ngDevMode ? [{ debugName: "iconSize" }] : []));
|
|
2998
|
+
this.iconAnimation = computed(() => (this.status() === 'pending' ? 'spin' : ''), ...(ngDevMode ? [{ debugName: "iconAnimation" }] : []));
|
|
2999
|
+
}
|
|
3000
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineProgressStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3001
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PipelineProgressStatusComponent, isStandalone: true, selector: "he-pipeline-progress-status", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.indicator-status": "status()", "style.--icon-size": "iconSize()" } }, ngImport: i0, template: "<div class=\"is-flex is-justify-content-center is-align-items-center | icon-circle\">\n @if (iconStatus()) {\n <he-svg-icon\n class=\"has-text-white is-flex is-align-items-center\"\n [name]=\"iconStatus()\"\n [animation]=\"iconAnimation()\" />\n }\n</div>\n", styles: [":host{--icon-circle-background-color: #dbdbdb;--icon-size: 22.5px}:host[indicator-status=success]{--icon-circle-background-color: hsl(153, 53%, 53%)}:host[indicator-status=error]{--icon-circle-background-color: #ff3844}:host[indicator-status=pending]{--icon-circle-background-color: #4c7194}.icon-circle{width:var(--icon-size);height:var(--icon-size);background-color:var(--icon-circle-background-color);border-radius:50%}\n"], dependencies: [{ kind: "component", type: HESvgIconComponent, selector: "he-svg-icon", inputs: ["name", "size", "animation"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3002
|
+
}
|
|
3003
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineProgressStatusComponent, decorators: [{
|
|
3004
|
+
type: Component$1,
|
|
3005
|
+
args: [{ selector: 'he-pipeline-progress-status', imports: [HESvgIconComponent], host: {
|
|
3006
|
+
'[attr.indicator-status]': 'status()',
|
|
3007
|
+
'[style.--icon-size]': 'iconSize()'
|
|
3008
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"is-flex is-justify-content-center is-align-items-center | icon-circle\">\n @if (iconStatus()) {\n <he-svg-icon\n class=\"has-text-white is-flex is-align-items-center\"\n [name]=\"iconStatus()\"\n [animation]=\"iconAnimation()\" />\n }\n</div>\n", styles: [":host{--icon-circle-background-color: #dbdbdb;--icon-size: 22.5px}:host[indicator-status=success]{--icon-circle-background-color: hsl(153, 53%, 53%)}:host[indicator-status=error]{--icon-circle-background-color: #ff3844}:host[indicator-status=pending]{--icon-circle-background-color: #4c7194}.icon-circle{width:var(--icon-size);height:var(--icon-size);background-color:var(--icon-circle-background-color);border-radius:50%}\n"] }]
|
|
3009
|
+
}], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
3010
|
+
|
|
3011
|
+
class PipelineProgressStageComponent {
|
|
3012
|
+
constructor() {
|
|
3013
|
+
this.group = input(...(ngDevMode ? [undefined, { debugName: "group" }] : []));
|
|
3014
|
+
this.processing = input(false, ...(ngDevMode ? [{ debugName: "processing" }] : []));
|
|
3015
|
+
}
|
|
3016
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineProgressStageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3017
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PipelineProgressStageComponent, isStandalone: true, selector: "he-pipeline-progress-stage", inputs: { group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, processing: { classPropertyName: "processing", publicName: "processing", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.stage-status": "group().groupStatus" }, classAttribute: "p-2 is-flex is-justify-content-flex-start is-clickable" }, ngImport: i0, template: "@if (group(); as group) {\n <he-pipeline-progress-status class=\"mr-2\" [status]=\"group.groupStatus\" />\n\n <div class=\"is-flex is-flex-direction-column is-align-items-start\">\n <header class=\"is-size-6 has-text-left\">{{ group.group }}</header>\n <span class=\"is-size-8 | stages-number\">\n {{ group.statuses | completedStages }}/{{ group.statuses.length }} Stages complete\n </span>\n </div>\n}\n", styles: [":root{--pipeline-stages-border-color: unset;--pipeline-stages-background: unset;--pipeline-stages-stagesCountColor: unset}:host{display:block;max-width:unset;border-radius:6px;border:2px solid;min-width:164px;background:var(--pipeline-stages-background);border-color:var(--pipeline-stages-border-color)}:host header{line-height:1.1}:host .stages-number{color:var(--pipeline-stages-stagesCountColor)}\n"], dependencies: [{ kind: "component", type: PipelineProgressStatusComponent, selector: "he-pipeline-progress-status", inputs: ["status", "size"] }, { kind: "pipe", type: CompletedStagesPipe, name: "completedStages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3018
|
+
}
|
|
3019
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineProgressStageComponent, decorators: [{
|
|
3020
|
+
type: Component$1,
|
|
3021
|
+
args: [{ selector: 'he-pipeline-progress-stage', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CompletedStagesPipe, PipelineProgressStatusComponent], host: {
|
|
3022
|
+
class: 'p-2 is-flex is-justify-content-flex-start is-clickable',
|
|
3023
|
+
'[attr.stage-status]': 'group().groupStatus'
|
|
3024
|
+
}, template: "@if (group(); as group) {\n <he-pipeline-progress-status class=\"mr-2\" [status]=\"group.groupStatus\" />\n\n <div class=\"is-flex is-flex-direction-column is-align-items-start\">\n <header class=\"is-size-6 has-text-left\">{{ group.group }}</header>\n <span class=\"is-size-8 | stages-number\">\n {{ group.statuses | completedStages }}/{{ group.statuses.length }} Stages complete\n </span>\n </div>\n}\n", styles: [":root{--pipeline-stages-border-color: unset;--pipeline-stages-background: unset;--pipeline-stages-stagesCountColor: unset}:host{display:block;max-width:unset;border-radius:6px;border:2px solid;min-width:164px;background:var(--pipeline-stages-background);border-color:var(--pipeline-stages-border-color)}:host header{line-height:1.1}:host .stages-number{color:var(--pipeline-stages-stagesCountColor)}\n"] }]
|
|
3025
|
+
}], propDecorators: { group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], processing: [{ type: i0.Input, args: [{ isSignal: true, alias: "processing", required: false }] }] } });
|
|
3026
|
+
|
|
3027
|
+
class PipelineDurationPipe {
|
|
3028
|
+
transform(duration) {
|
|
3029
|
+
const time = Math.floor(duration / (60 * 1000));
|
|
3030
|
+
return pluralize(`${time === 0 ? '<' : '~'}${time || 1}min`, time || 1);
|
|
3031
|
+
}
|
|
3032
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineDurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3033
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: PipelineDurationPipe, isStandalone: true, name: "pipelineDuration" }); }
|
|
3034
|
+
}
|
|
3035
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineDurationPipe, decorators: [{
|
|
3036
|
+
type: Pipe,
|
|
3037
|
+
args: [{
|
|
3038
|
+
name: 'pipelineDuration'
|
|
3039
|
+
}]
|
|
3040
|
+
}] });
|
|
3041
|
+
|
|
3042
|
+
const timelineItemStatusMap = {
|
|
3043
|
+
[StepStatus.previous]: 'success',
|
|
3044
|
+
[StepStatus.current]: 'pending',
|
|
3045
|
+
[StepStatus.next]: 'none',
|
|
3046
|
+
[StepStatus.error]: 'error'
|
|
3047
|
+
};
|
|
3048
|
+
class PipelineProgressItemComponent {
|
|
3049
|
+
constructor() {
|
|
3050
|
+
this.status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
|
|
3051
|
+
this.showStatus = input(...(ngDevMode ? [undefined, { debugName: "showStatus" }] : []));
|
|
3052
|
+
this.position = input('between', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
3053
|
+
this.statusToLabelMap = input.required(...(ngDevMode ? [{ debugName: "statusToLabelMap" }] : []));
|
|
3054
|
+
this.timelineStatus = computed(() => timelineItemStatusMap[this.status().stepStatus], ...(ngDevMode ? [{ debugName: "timelineStatus" }] : []));
|
|
3055
|
+
}
|
|
3056
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineProgressItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3057
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PipelineProgressItemComponent, isStandalone: true, selector: "he-pipeline-progress-item", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, showStatus: { classPropertyName: "showStatus", publicName: "showStatus", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, statusToLabelMap: { classPropertyName: "statusToLabelMap", publicName: "statusToLabelMap", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.timeline-status": "timelineStatus()", "attr.timeline-position": "position()" }, classAttribute: "is-flex is-align-items-center timeline-item" }, ngImport: i0, template: "@if (status(); as stat) {\n <he-pipeline-progress-status class=\"mr-2\" [status]=\"timelineStatus()\" size=\"small\" />\n\n <div class=\"is-size-7\" [style.opacity]=\"showStatus() ? 1 : 0\">\n <p class=\"status-label\">\n {{ statusToLabelMap()[stat.status] }}\n </p>\n\n <p class=\"has-text-grey-lighter\">\n @if (stat.duration > 0) {\n {{ stat.duration | pipelineDuration }}\n }\n </p>\n </div>\n}\n", styles: [":root{--pipeline-progress-item-background: #249da5;--pipeline-progress-item-border-color: #e1eded}:host{position:relative;line-height:1.1;z-index:1}:host:before{content:\"\";position:absolute;top:0;left:2px;width:14px;height:100%;border:0 solid;border-left-width:6px!important;border-right-width:6px!important;z-index:-1;background-color:var(--pipeline-progress-item-background);border-color:var(--pipeline-progress-item-border-color)}:host[timeline-position=top]:before{bottom:0;top:auto;height:50%}:host[timeline-position=bottom]:before{height:50%}:host[timeline-status=error] .status-label{color:#ff3844}:host[timeline-status=pending] .status-label{color:#b5b5b5}:host[timeline-status=none] .status-label{color:#b5b5b5}:host>*{transition:opacity .3s}\n"], dependencies: [{ kind: "component", type: PipelineProgressStatusComponent, selector: "he-pipeline-progress-status", inputs: ["status", "size"] }, { kind: "pipe", type: PipelineDurationPipe, name: "pipelineDuration" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3058
|
+
}
|
|
3059
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineProgressItemComponent, decorators: [{
|
|
3060
|
+
type: Component$1,
|
|
3061
|
+
args: [{ selector: 'he-pipeline-progress-item', imports: [PipelineProgressStatusComponent, PipelineDurationPipe], host: {
|
|
3062
|
+
class: 'is-flex is-align-items-center timeline-item',
|
|
3063
|
+
'[attr.timeline-status]': 'timelineStatus()',
|
|
3064
|
+
'[attr.timeline-position]': 'position()'
|
|
3065
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (status(); as stat) {\n <he-pipeline-progress-status class=\"mr-2\" [status]=\"timelineStatus()\" size=\"small\" />\n\n <div class=\"is-size-7\" [style.opacity]=\"showStatus() ? 1 : 0\">\n <p class=\"status-label\">\n {{ statusToLabelMap()[stat.status] }}\n </p>\n\n <p class=\"has-text-grey-lighter\">\n @if (stat.duration > 0) {\n {{ stat.duration | pipelineDuration }}\n }\n </p>\n </div>\n}\n", styles: [":root{--pipeline-progress-item-background: #249da5;--pipeline-progress-item-border-color: #e1eded}:host{position:relative;line-height:1.1;z-index:1}:host:before{content:\"\";position:absolute;top:0;left:2px;width:14px;height:100%;border:0 solid;border-left-width:6px!important;border-right-width:6px!important;z-index:-1;background-color:var(--pipeline-progress-item-background);border-color:var(--pipeline-progress-item-border-color)}:host[timeline-position=top]:before{bottom:0;top:auto;height:50%}:host[timeline-position=bottom]:before{height:50%}:host[timeline-status=error] .status-label{color:#ff3844}:host[timeline-status=pending] .status-label{color:#b5b5b5}:host[timeline-status=none] .status-label{color:#b5b5b5}:host>*{transition:opacity .3s}\n"] }]
|
|
3066
|
+
}], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], showStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "showStatus", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], statusToLabelMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusToLabelMap", required: true }] }] } });
|
|
3067
|
+
|
|
3068
|
+
const PIPELINE_PROGRESS_ITEM_HEIGHT = 50;
|
|
3069
|
+
const PIPELINE_PROGRESS_GROUP_ANIMATION_DURATION = 300;
|
|
3070
|
+
function getPipelineProgressGroupHeight(visible, statusesCount, leftover) {
|
|
3071
|
+
return `${visible ? statusesCount * PIPELINE_PROGRESS_ITEM_HEIGHT : leftover}px`;
|
|
3072
|
+
}
|
|
3073
|
+
const pipelineProgressGroupTransition = `height ${PIPELINE_PROGRESS_GROUP_ANIMATION_DURATION}ms ease`;
|
|
3074
|
+
|
|
3075
|
+
class PipelineProgressGroupComponent {
|
|
3076
|
+
constructor() {
|
|
3077
|
+
this.transition = pipelineProgressGroupTransition;
|
|
3078
|
+
this.visible = input(false, ...(ngDevMode ? [{ debugName: "visible" }] : []));
|
|
3079
|
+
this.isFirstStage = input(false, ...(ngDevMode ? [{ debugName: "isFirstStage" }] : []));
|
|
3080
|
+
this.isLastStage = input(false, ...(ngDevMode ? [{ debugName: "isLastStage" }] : []));
|
|
3081
|
+
this.stepStatus = input(...(ngDevMode ? [undefined, { debugName: "stepStatus" }] : []));
|
|
3082
|
+
this.statuses = input(...(ngDevMode ? [undefined, { debugName: "statuses" }] : []));
|
|
3083
|
+
this.direction = input.required(...(ngDevMode ? [{ debugName: "direction" }] : []));
|
|
3084
|
+
this.statusToLabelMap = input.required(...(ngDevMode ? [{ debugName: "statusToLabelMap" }] : []));
|
|
3085
|
+
this.steps = computed(() => this.statuses().map((s, index) => ({
|
|
3086
|
+
...s,
|
|
3087
|
+
position: this._isTopElement(index) ? 'top' : this._isBottomElement(index) ? 'bottom' : 'between'
|
|
3088
|
+
})), ...(ngDevMode ? [{ debugName: "steps" }] : []));
|
|
3089
|
+
this.height = computed(() => getPipelineProgressGroupHeight(this.visible(), this.statuses()?.length ?? 0, this._leftover()), ...(ngDevMode ? [{ debugName: "height" }] : []));
|
|
3090
|
+
this._leftover = computed(() => (this.isFirstStage() && this.direction() === 'up') || (this.isLastStage() && this.direction() === 'down') ? 0 : 10, ...(ngDevMode ? [{ debugName: "_leftover" }] : []));
|
|
3091
|
+
}
|
|
3092
|
+
_isTopElement(index) {
|
|
3093
|
+
return index === 0 && this.isFirstStage() && this.direction() === 'up';
|
|
3094
|
+
}
|
|
3095
|
+
_isBottomElement(index) {
|
|
3096
|
+
return index === this.statuses().length - 1 && this.isLastStage() && this.direction() === 'down';
|
|
3097
|
+
}
|
|
3098
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineProgressGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3099
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PipelineProgressGroupComponent, isStandalone: true, selector: "he-pipeline-progress-group", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, isFirstStage: { classPropertyName: "isFirstStage", publicName: "isFirstStage", isSignal: true, isRequired: false, transformFunction: null }, isLastStage: { classPropertyName: "isLastStage", publicName: "isLastStage", isSignal: true, isRequired: false, transformFunction: null }, stepStatus: { classPropertyName: "stepStatus", publicName: "stepStatus", isSignal: true, isRequired: false, transformFunction: null }, statuses: { classPropertyName: "statuses", publicName: "statuses", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: true, transformFunction: null }, statusToLabelMap: { classPropertyName: "statusToLabelMap", publicName: "statusToLabelMap", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "style.height": "height()", "style.transition": "transition" }, classAttribute: "is-flex is-flex-direction-column" }, ngImport: i0, template: "@for (stat of steps(); track stat.status) {\n <he-pipeline-progress-item\n [showStatus]=\"visible()\"\n [status]=\"stat\"\n [statusToLabelMap]=\"statusToLabelMap()\"\n [position]=\"stat.position\" />\n}\n", styles: [":host{overflow:hidden}he-pipeline-progress-item{left:-78px;margin-left:auto;width:50%;height:50px;min-height:50px}\n"], dependencies: [{ kind: "component", type: PipelineProgressItemComponent, selector: "he-pipeline-progress-item", inputs: ["status", "showStatus", "position", "statusToLabelMap"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3100
|
+
}
|
|
3101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineProgressGroupComponent, decorators: [{
|
|
3102
|
+
type: Component$1,
|
|
3103
|
+
args: [{ selector: 'he-pipeline-progress-group', imports: [PipelineProgressItemComponent], host: {
|
|
3104
|
+
class: 'is-flex is-flex-direction-column',
|
|
3105
|
+
'[style.height]': 'height()',
|
|
3106
|
+
'[style.transition]': 'transition'
|
|
3107
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (stat of steps(); track stat.status) {\n <he-pipeline-progress-item\n [showStatus]=\"visible()\"\n [status]=\"stat\"\n [statusToLabelMap]=\"statusToLabelMap()\"\n [position]=\"stat.position\" />\n}\n", styles: [":host{overflow:hidden}he-pipeline-progress-item{left:-78px;margin-left:auto;width:50%;height:50px;min-height:50px}\n"] }]
|
|
3108
|
+
}], propDecorators: { visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], isFirstStage: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFirstStage", required: false }] }], isLastStage: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLastStage", required: false }] }], stepStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepStatus", required: false }] }], statuses: [{ type: i0.Input, args: [{ isSignal: true, alias: "statuses", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: true }] }], statusToLabelMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusToLabelMap", required: true }] }] } });
|
|
3109
|
+
|
|
3110
|
+
const cleanStatus = (status) => (status || '').replace('Done', '').replace('Error', '');
|
|
3111
|
+
class PipelineStagesProgressComponent {
|
|
3112
|
+
constructor() {
|
|
3113
|
+
/**
|
|
3114
|
+
* The current status.
|
|
3115
|
+
*/
|
|
3116
|
+
this.status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
|
|
3117
|
+
/**
|
|
3118
|
+
* Is the current status in progress?
|
|
3119
|
+
*/
|
|
3120
|
+
this.processing = input(false, ...(ngDevMode ? [{ debugName: "processing" }] : []));
|
|
3121
|
+
/**
|
|
3122
|
+
* List of statuses, without the `Done` or `Error` suffix.
|
|
3123
|
+
*/
|
|
3124
|
+
this.statuses = input.required(...(ngDevMode ? [{ debugName: "statuses" }] : []));
|
|
3125
|
+
/**
|
|
3126
|
+
* Assign a group to each status.
|
|
3127
|
+
*/
|
|
3128
|
+
this.statusToGroupMap = input.required(...(ngDevMode ? [{ debugName: "statusToGroupMap" }] : []));
|
|
3129
|
+
/**
|
|
3130
|
+
* Label for each status.
|
|
3131
|
+
*/
|
|
3132
|
+
this.statusToLabelMap = input.required(...(ngDevMode ? [{ debugName: "statusToLabelMap" }] : []));
|
|
3133
|
+
/**
|
|
3134
|
+
* Assign colors to each group. The statuses under the same group will use the same colors.
|
|
3135
|
+
*/
|
|
3136
|
+
this.statusGroupColorFn = input.required(...(ngDevMode ? [{ debugName: "statusGroupColorFn" }] : []));
|
|
3137
|
+
/**
|
|
3138
|
+
* Duration per status, in milliseconds.
|
|
3139
|
+
*/
|
|
3140
|
+
this.statusDurationMap = input(...(ngDevMode ? [undefined, { debugName: "statusDurationMap" }] : []));
|
|
3141
|
+
this.openedStage = signal(null, ...(ngDevMode ? [{ debugName: "openedStage" }] : []));
|
|
3142
|
+
this.slideDirection = signal('up', ...(ngDevMode ? [{ debugName: "slideDirection" }] : []));
|
|
3143
|
+
this.successes = computed(() => this.statuses().map(status => `${status}Done`), ...(ngDevMode ? [{ debugName: "successes" }] : []));
|
|
3144
|
+
this.errors = computed(() => this.statuses().map(status => `${status}Error`), ...(ngDevMode ? [{ debugName: "errors" }] : []));
|
|
3145
|
+
this.success = computed(() => this.successes().includes(this.status()), ...(ngDevMode ? [{ debugName: "success" }] : []));
|
|
3146
|
+
this.statusGroups = computed(() => unique(Object.values(this.statusToGroupMap() ?? {})), ...(ngDevMode ? [{ debugName: "statusGroups" }] : []));
|
|
3147
|
+
this.statusIndex = computed(() => {
|
|
3148
|
+
const indexSuccess = this.successes().indexOf(this.status());
|
|
3149
|
+
const indexError = this.errors().indexOf(this.status());
|
|
3150
|
+
return indexError >= 0 ? indexError : indexSuccess + (this.success() ? 1 : 0);
|
|
3151
|
+
}, ...(ngDevMode ? [{ debugName: "statusIndex" }] : []));
|
|
3152
|
+
this.statusesWithStepStatus = computed(() => this.statuses().map((status, index) => ({
|
|
3153
|
+
status,
|
|
3154
|
+
group: this.statusToGroupMap()[status],
|
|
3155
|
+
stepStatus: getStepStatus(index, this.statusIndex(), this.success(), this.processing()),
|
|
3156
|
+
duration: this.statusDurationMap()?.[status]
|
|
3157
|
+
})), ...(ngDevMode ? [{ debugName: "statusesWithStepStatus" }] : []));
|
|
3158
|
+
this.groups = computed(() => {
|
|
3159
|
+
const statusesWithStepStatus = this.statusesWithStepStatus();
|
|
3160
|
+
return this.statusGroups().map(group => {
|
|
3161
|
+
const statuses = statusesWithStepStatus.filter(status => status.group === group);
|
|
3162
|
+
return {
|
|
3163
|
+
group,
|
|
3164
|
+
statuses,
|
|
3165
|
+
valid: statuses.some(({ stepStatus }) => stepStatus === StepStatus.error),
|
|
3166
|
+
palette: this._getGroupColorPalette(group),
|
|
3167
|
+
groupStatus: getStageStatus(statuses.map(({ stepStatus }) => stepStatus))
|
|
3168
|
+
};
|
|
3169
|
+
});
|
|
3170
|
+
}, ...(ngDevMode ? [{ debugName: "groups" }] : []));
|
|
3171
|
+
effect(() => {
|
|
3172
|
+
// open the status group or the first group
|
|
3173
|
+
if (this.status()) {
|
|
3174
|
+
// when processing, we need to open the group of the next status
|
|
3175
|
+
const statusIndex = this.statuses().indexOf(cleanStatus(this.status()));
|
|
3176
|
+
const status = this.statuses()[this.processing() ? statusIndex + 1 : statusIndex];
|
|
3177
|
+
this.openStatusGroup(status);
|
|
3178
|
+
}
|
|
3179
|
+
});
|
|
3180
|
+
}
|
|
3181
|
+
openStatusGroup(status) {
|
|
3182
|
+
const group = this.statusesWithStepStatus().find(group => group.status == cleanStatus(status))?.group;
|
|
3183
|
+
const index = this.groups().findIndex(value => value.group === group);
|
|
3184
|
+
this.openedStage.set(Math.max(0, Math.min(index, this.groups().length - 1)));
|
|
3185
|
+
}
|
|
3186
|
+
_getGroupColorPalette(group) {
|
|
3187
|
+
const { background, border, text } = this.statusGroupColorFn()(group);
|
|
3188
|
+
return {
|
|
3189
|
+
'--pipeline-progress-item-background': border,
|
|
3190
|
+
'--pipeline-progress-item-border-color': background,
|
|
3191
|
+
'--pipeline-stages-border-color': border,
|
|
3192
|
+
'--pipeline-stages-background': background,
|
|
3193
|
+
'--pipeline-stages-stagesCountColor': text
|
|
3194
|
+
};
|
|
3195
|
+
}
|
|
3196
|
+
toggleOpenedStage(index) {
|
|
3197
|
+
this.openedStage.set(this.openedStage() === index ? null : index);
|
|
3198
|
+
}
|
|
3199
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineStagesProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3200
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: PipelineStagesProgressComponent, isStandalone: true, selector: "he-pipeline-stages-progress", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, processing: { classPropertyName: "processing", publicName: "processing", isSignal: true, isRequired: false, transformFunction: null }, statuses: { classPropertyName: "statuses", publicName: "statuses", isSignal: true, isRequired: true, transformFunction: null }, statusToGroupMap: { classPropertyName: "statusToGroupMap", publicName: "statusToGroupMap", isSignal: true, isRequired: true, transformFunction: null }, statusToLabelMap: { classPropertyName: "statusToLabelMap", publicName: "statusToLabelMap", isSignal: true, isRequired: true, transformFunction: null }, statusGroupColorFn: { classPropertyName: "statusGroupColorFn", publicName: "statusGroupColorFn", isSignal: true, isRequired: true, transformFunction: null }, statusDurationMap: { classPropertyName: "statusDurationMap", publicName: "statusDurationMap", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@for (group of groups(); track group.group; let index = $index, first = $first, last = $last) {\n <div class=\"pipeline-stage-container is-centered\" [ngStyle]=\"group.palette\">\n <div> </div>\n <he-pipeline-progress-stage (click)=\"toggleOpenedStage(index)\" [processing]=\"processing()\" [group]=\"group\" />\n <div> </div>\n <he-pipeline-progress-group\n [style.order]=\"slideDirection() === 'up' ? -99 : 99\"\n [direction]=\"slideDirection()\"\n [statuses]=\"group.statuses\"\n [statusToLabelMap]=\"statusToLabelMap()\"\n [isFirstStage]=\"first\"\n [isLastStage]=\"last\"\n [visible]=\"openedStage() === index\" />\n </div>\n}\n", styles: [":host{display:grid;grid-template-columns:1fr auto auto 1fr}:host .pipeline-stage-container{grid-column:span 4;position:relative;overflow:hidden;display:grid;grid-template-columns:subgrid}he-pipeline-progress-stage{grid-column:span 2}he-pipeline-progress-group{grid-column:span 4}\n"], dependencies: [{ kind: "component", type: PipelineProgressStageComponent, selector: "he-pipeline-progress-stage", inputs: ["group", "processing"] }, { kind: "component", type: PipelineProgressGroupComponent, selector: "he-pipeline-progress-group", inputs: ["visible", "isFirstStage", "isLastStage", "stepStatus", "statuses", "direction", "statusToLabelMap"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3201
|
+
}
|
|
3202
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: PipelineStagesProgressComponent, decorators: [{
|
|
3203
|
+
type: Component$1,
|
|
3204
|
+
args: [{ selector: 'he-pipeline-stages-progress', changeDetection: ChangeDetectionStrategy.OnPush, imports: [PipelineProgressStageComponent, PipelineProgressGroupComponent, NgStyle], template: "@for (group of groups(); track group.group; let index = $index, first = $first, last = $last) {\n <div class=\"pipeline-stage-container is-centered\" [ngStyle]=\"group.palette\">\n <div> </div>\n <he-pipeline-progress-stage (click)=\"toggleOpenedStage(index)\" [processing]=\"processing()\" [group]=\"group\" />\n <div> </div>\n <he-pipeline-progress-group\n [style.order]=\"slideDirection() === 'up' ? -99 : 99\"\n [direction]=\"slideDirection()\"\n [statuses]=\"group.statuses\"\n [statusToLabelMap]=\"statusToLabelMap()\"\n [isFirstStage]=\"first\"\n [isLastStage]=\"last\"\n [visible]=\"openedStage() === index\" />\n </div>\n}\n", styles: [":host{display:grid;grid-template-columns:1fr auto auto 1fr}:host .pipeline-stage-container{grid-column:span 4;position:relative;overflow:hidden;display:grid;grid-template-columns:subgrid}he-pipeline-progress-stage{grid-column:span 2}he-pipeline-progress-group{grid-column:span 4}\n"] }]
|
|
3205
|
+
}], ctorParameters: () => [], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], processing: [{ type: i0.Input, args: [{ isSignal: true, alias: "processing", required: false }] }], statuses: [{ type: i0.Input, args: [{ isSignal: true, alias: "statuses", required: true }] }], statusToGroupMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusToGroupMap", required: true }] }], statusToLabelMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusToLabelMap", required: true }] }], statusGroupColorFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusGroupColorFn", required: true }] }], statusDurationMap: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusDurationMap", required: false }] }] } });
|
|
3206
|
+
|
|
2746
3207
|
class PopoverComponent {
|
|
2747
3208
|
constructor() {
|
|
2748
3209
|
this.message = input('', ...(ngDevMode ? [{ debugName: "message" }] : []));
|
|
@@ -6983,8 +7444,8 @@ const nodeTypeIcon = {
|
|
|
6983
7444
|
[NodeType.Site]: 'pin',
|
|
6984
7445
|
[NodeType.Source]: 'source',
|
|
6985
7446
|
[NodeType.Term]: 'term',
|
|
6986
|
-
[SchemaType.Property]: '
|
|
6987
|
-
[SchemaType.Transport]: '
|
|
7447
|
+
[SchemaType.Property]: 'search-with-exclamation',
|
|
7448
|
+
[SchemaType.Transport]: 'transport'
|
|
6988
7449
|
};
|
|
6989
7450
|
|
|
6990
7451
|
class NodeLinkComponent {
|
|
@@ -9275,207 +9736,6 @@ const nodeVersion = (node) => {
|
|
|
9275
9736
|
return versions?.length ? desc(versions)[0] : null;
|
|
9276
9737
|
};
|
|
9277
9738
|
|
|
9278
|
-
// auto-generated content using "node scripts/generate-icons.js"
|
|
9279
|
-
const iconSizes = [
|
|
9280
|
-
'16',
|
|
9281
|
-
'20',
|
|
9282
|
-
'24',
|
|
9283
|
-
'40',
|
|
9284
|
-
'48'
|
|
9285
|
-
];
|
|
9286
|
-
const icons = [
|
|
9287
|
-
'aggregation',
|
|
9288
|
-
'api',
|
|
9289
|
-
'api-circle',
|
|
9290
|
-
'archive',
|
|
9291
|
-
'arrow-down',
|
|
9292
|
-
'arrow-down-right',
|
|
9293
|
-
'arrow-left',
|
|
9294
|
-
'arrow-right',
|
|
9295
|
-
'arrow-up',
|
|
9296
|
-
'autogenerate',
|
|
9297
|
-
'autogenerate-circle',
|
|
9298
|
-
'aws',
|
|
9299
|
-
'ban',
|
|
9300
|
-
'bell',
|
|
9301
|
-
'bell-with-badge',
|
|
9302
|
-
'book',
|
|
9303
|
-
'breakdown',
|
|
9304
|
-
'bug',
|
|
9305
|
-
'buoy',
|
|
9306
|
-
'calculation-toolkit',
|
|
9307
|
-
'calculator',
|
|
9308
|
-
'caret-down',
|
|
9309
|
-
'caret-left',
|
|
9310
|
-
'caret-right',
|
|
9311
|
-
'caret-up',
|
|
9312
|
-
'certificate',
|
|
9313
|
-
'chart',
|
|
9314
|
-
'checkmark',
|
|
9315
|
-
'checkmark-circle',
|
|
9316
|
-
'checkmark-circle-filled',
|
|
9317
|
-
'checkmark-circle-filled-with-shadow',
|
|
9318
|
-
'chevron-double-left',
|
|
9319
|
-
'chevron-double-right',
|
|
9320
|
-
'chevron-down',
|
|
9321
|
-
'chevron-left',
|
|
9322
|
-
'chevron-right',
|
|
9323
|
-
'chevron-up',
|
|
9324
|
-
'circle',
|
|
9325
|
-
'citation',
|
|
9326
|
-
'citation-square',
|
|
9327
|
-
'clock',
|
|
9328
|
-
'cloud',
|
|
9329
|
-
'collapse',
|
|
9330
|
-
'collapse-panel',
|
|
9331
|
-
'commit',
|
|
9332
|
-
'community',
|
|
9333
|
-
'community-edition',
|
|
9334
|
-
'compare',
|
|
9335
|
-
'copy',
|
|
9336
|
-
'corner-drag',
|
|
9337
|
-
'csv-file',
|
|
9338
|
-
'cycle',
|
|
9339
|
-
'dashboard',
|
|
9340
|
-
'data-format',
|
|
9341
|
-
'database-wheat',
|
|
9342
|
-
'dot-circle',
|
|
9343
|
-
'dot-filled',
|
|
9344
|
-
'download',
|
|
9345
|
-
'drag',
|
|
9346
|
-
'edit',
|
|
9347
|
-
'edit-withfield',
|
|
9348
|
-
'embed',
|
|
9349
|
-
'exclamation',
|
|
9350
|
-
'exclamation-triangle',
|
|
9351
|
-
'exclamation-triangle-filled',
|
|
9352
|
-
'export',
|
|
9353
|
-
'external-link',
|
|
9354
|
-
'feedback',
|
|
9355
|
-
'fence',
|
|
9356
|
-
'film',
|
|
9357
|
-
'filter-funnel',
|
|
9358
|
-
'filter-slider',
|
|
9359
|
-
'flash',
|
|
9360
|
-
'folder',
|
|
9361
|
-
'folder-open',
|
|
9362
|
-
'foodprocessor',
|
|
9363
|
-
'globe-continents',
|
|
9364
|
-
'globe-lines',
|
|
9365
|
-
'glossary',
|
|
9366
|
-
'greenhouse',
|
|
9367
|
-
'guide',
|
|
9368
|
-
'guide-overlay',
|
|
9369
|
-
'help',
|
|
9370
|
-
'help-circle',
|
|
9371
|
-
'history',
|
|
9372
|
-
'home',
|
|
9373
|
-
'husk',
|
|
9374
|
-
'image',
|
|
9375
|
-
'incognito',
|
|
9376
|
-
'indexed',
|
|
9377
|
-
'info',
|
|
9378
|
-
'info-circle',
|
|
9379
|
-
'lake',
|
|
9380
|
-
'link',
|
|
9381
|
-
'list-indented',
|
|
9382
|
-
'livestock',
|
|
9383
|
-
'loading',
|
|
9384
|
-
'loading-bar',
|
|
9385
|
-
'loading-circle-filled',
|
|
9386
|
-
'loading-circle-filled-withshadow',
|
|
9387
|
-
'log',
|
|
9388
|
-
'magnifier',
|
|
9389
|
-
'mail',
|
|
9390
|
-
'map',
|
|
9391
|
-
'menu',
|
|
9392
|
-
'messages',
|
|
9393
|
-
'messages-with-badge',
|
|
9394
|
-
'metrics',
|
|
9395
|
-
'migration',
|
|
9396
|
-
'minus',
|
|
9397
|
-
'model-docs',
|
|
9398
|
-
'news',
|
|
9399
|
-
'node',
|
|
9400
|
-
'notepad',
|
|
9401
|
-
'ocean',
|
|
9402
|
-
'organisation',
|
|
9403
|
-
'overflow-menu',
|
|
9404
|
-
'pin',
|
|
9405
|
-
'plus',
|
|
9406
|
-
'pond',
|
|
9407
|
-
'private-eye',
|
|
9408
|
-
'private-eye-crossed',
|
|
9409
|
-
'private-lock',
|
|
9410
|
-
'profile-checkmark',
|
|
9411
|
-
'profile-circle',
|
|
9412
|
-
'profile-gear',
|
|
9413
|
-
'progress',
|
|
9414
|
-
'python',
|
|
9415
|
-
'refresh',
|
|
9416
|
-
'rename',
|
|
9417
|
-
'retailer',
|
|
9418
|
-
'review',
|
|
9419
|
-
'river',
|
|
9420
|
-
'save',
|
|
9421
|
-
'schema',
|
|
9422
|
-
'search',
|
|
9423
|
-
'search-with-minus',
|
|
9424
|
-
'search-with-plus',
|
|
9425
|
-
'settings',
|
|
9426
|
-
'share',
|
|
9427
|
-
'share-socials',
|
|
9428
|
-
'shrub',
|
|
9429
|
-
'sign-out',
|
|
9430
|
-
'slack',
|
|
9431
|
-
'socials-gitlab',
|
|
9432
|
-
'socials-google',
|
|
9433
|
-
'socials-linkedin',
|
|
9434
|
-
'socials-linkedin-circle',
|
|
9435
|
-
'socials-orcid',
|
|
9436
|
-
'socials-orcid-circle',
|
|
9437
|
-
'sort-ascending',
|
|
9438
|
-
'sort-caret-down-filled',
|
|
9439
|
-
'sort-caret-stacked-filled-stacked',
|
|
9440
|
-
'sort-caret-up-filled',
|
|
9441
|
-
'source',
|
|
9442
|
-
'star',
|
|
9443
|
-
'table',
|
|
9444
|
-
'tag-filled',
|
|
9445
|
-
'target',
|
|
9446
|
-
'term',
|
|
9447
|
-
'textform-list',
|
|
9448
|
-
'tool',
|
|
9449
|
-
'trash',
|
|
9450
|
-
'tree',
|
|
9451
|
-
'truck',
|
|
9452
|
-
'turn-phone',
|
|
9453
|
-
'unit',
|
|
9454
|
-
'upload',
|
|
9455
|
-
'video',
|
|
9456
|
-
'xmark',
|
|
9457
|
-
'xmark-circle',
|
|
9458
|
-
'xmark-circle-filled',
|
|
9459
|
-
'xmark-circle-filled-with-shadow',
|
|
9460
|
-
'zip'
|
|
9461
|
-
];
|
|
9462
|
-
|
|
9463
|
-
const loadSvgSprite = () => {
|
|
9464
|
-
const http = inject(HttpClient);
|
|
9465
|
-
const document = inject(DOCUMENT);
|
|
9466
|
-
const platformLocation = inject(PlatformLocation);
|
|
9467
|
-
const baseUrl = platformLocation.getBaseHrefFromDOM();
|
|
9468
|
-
return lastValueFrom(http.get(`${baseUrl}assets/svg-icons/icons-sprite.svg`, { responseType: 'text' }).pipe(tap(svgContent => {
|
|
9469
|
-
const div = document.createElement('div');
|
|
9470
|
-
div.innerHTML = svgContent;
|
|
9471
|
-
const svg = div.querySelector('svg');
|
|
9472
|
-
if (svg) {
|
|
9473
|
-
svg.style.display = 'none';
|
|
9474
|
-
document.body.insertBefore(svg, document.body.firstChild);
|
|
9475
|
-
}
|
|
9476
|
-
})));
|
|
9477
|
-
};
|
|
9478
|
-
|
|
9479
9739
|
class NodeAggregatedInfoComponent {
|
|
9480
9740
|
constructor() {
|
|
9481
9741
|
this.icon = input('info-circle', ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
@@ -10936,6 +11196,9 @@ const customErrorMessage = {
|
|
|
10936
11196
|
'the property value type is incorrect': ({ params: { expected } }) => `The value must be a ${expected}.`,
|
|
10937
11197
|
'the node value type is incorrect': ({ params: { expected } }) => `The value must be a ${expected}.`,
|
|
10938
11198
|
'can not be linked to the same type': ({ params: { current } }) => `Cannot be linked to the same ${current}.`,
|
|
11199
|
+
'must be lower or equal to siteArea': () => `The value of ${code('harvestedArea')} cannot be greater than ${code('siteArea')}.
|
|
11200
|
+
This is because ${code('harvestedArea')} corresponds to the extent of the overall ${code('siteArea')} that is actually harvested.
|
|
11201
|
+
Please amend the value of ${code('harvestedArea')} accordingly.`,
|
|
10939
11202
|
'must be above the minimum': ({ params: { min } }) => `Must be above ${min}.`,
|
|
10940
11203
|
'must be below the maximum': ({ params: { max } }) => `Must be below ${max}.`,
|
|
10941
11204
|
'must be linked to waste input': () => `The term ${code('ionisingCompoundsToAirInputsProduction')} can only have 1 entry of ${code('termType')}: ${glossaryTypeLink(TermTermType.waste)}, so that the ${code('value')} field can represent the amount of units of that waste term.`,
|
|
@@ -10954,7 +11217,7 @@ const customErrorMessage = {
|
|
|
10954
11217
|
.filter(Boolean)
|
|
10955
11218
|
.join('\n'),
|
|
10956
11219
|
'should set the depth': ({ params }) => `The value of Emission ${code(params.term['@id'])} can change significantly based on the soil depth taken into account.
|
|
10957
|
-
Please consider adding
|
|
11220
|
+
Please consider adding ${schemaLink('Emission#depthUpper', 'depthUpper')} and ${schemaLink('Emission#depthLower', 'depthLower')} fields to the Emission.`
|
|
10958
11221
|
};
|
|
10959
11222
|
const requiredPropertyError = (message, error) => {
|
|
10960
11223
|
const field = message.split("'")[1].replace("'", '');
|
|
@@ -14529,5 +14792,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
14529
14792
|
* Generated bundle index. Do not edit.
|
|
14530
14793
|
*/
|
|
14531
14794
|
|
|
14532
|
-
export { ARRAY_DELIMITER, ApplyPurePipe, BarChartComponent, BibliographiesSearchConfirmComponent, BlankNodeStateComponent, BlankNodeStateNoticeComponent, BlankNodeValueDeltaComponent, CapitalizePipe, ChartComponent, ChartConfigurationDirective, ChartExportButtonComponent, ChartTooltipComponent, ClickOutsideDirective, ClipboardComponent, CollapsibleBoxComponent, CollapsibleBoxStyle, ColorPalette, CompoundDirective, CompoundPipe, ControlValueAccessor, CycleNodesKeyGroup, CyclesCompletenessComponent, CyclesEmissionsChartComponent, CyclesFunctionalUnitMeasureComponent, CyclesMetadataComponent, CyclesNodesComponent, CyclesNodesTimelineComponent, CyclesResultComponent, DataTableComponent, DefaultPipe, DeltaColour, DistributionChartComponent, DrawerContainerComponent, DurationPipe, EllipsisPipe, EngineModelsLinkComponent, EngineModelsLookupInfoComponent, EngineModelsStageComponent, EngineModelsStageDeepComponent, EngineModelsStageDeepService, EngineModelsVersionInfoComponent, EngineModelsVersionLinkComponent, EngineOrchestratorEditComponent, EngineRequirementsFormComponent, FileSizePipe, FileUploadErrorKeys, 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, HorizontalBarChartComponent, HorizontalButtonsGroupComponent, ImpactAssessmentsGraphComponent, ImpactAssessmentsIndicatorBreakdownChartComponent, ImpactAssessmentsIndicatorsChartComponent, ImpactAssessmentsProductsComponent, IsArrayPipe, IsObjectPipe, IssueConfirmComponent, KeyToLabelPipe, Level, LineChartComponent, LinkKeyValueComponent, LogStatus, LongPressDirective, 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, RepeatPipe, 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, afterBarDrawPlugin, allCountriesQuery, allGroups, allOptions, availableProperties, axisHoverPlugin, backgroundHoverPlugin, baseApiUrl, baseUrl, bottom, buildSummary, bytesSize, calculateCycleDuration, calculateCycleDurationEnabled, calculateCycleStartDate, calculateCycleStartDateEnabled, capitalize, changelogUrl, clustererImage, code, colorToRgba, compoundToHtml, computeKeys, computeTerms, contactUsEmail, contactUsLink, convertToSvg, coordinatesToPoint, copyObject, countGroupVisibleNodes, countriesQuery, createMarker, cropsQuery, d3ellipse, d3wrap, dataPathLabel, dataPathToKey, dataVersionHeader, dataVersionHeaderKey, defaultFeature, defaultLabel, defaultSuggestionType, defaultSvgIconSize, defaultTicksFont, definitionToSchemaType, distinctUntilChangedDeep, downloadFile, downloadPng, downloadSvg, ellipsis, engineGitBaseUrl, engineGitUrl, errorHasError, errorHasWarning, errorText, evaluateSuccess, exportAsSVG, exportFormats, 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, groupsLogsByFields, guideModelUrl, guideNamespace, guidePageId, handleAPIError, handleGuideEvent, hasError, hasValidationError, hasWarning, hexToRgba, iconSizes, icons, ignoreKeys$2 as ignoreKeys, initialFilterState, injectResizeEvent$, inputGroupsTermTypes, isAddPropertyEnabled, isChrome, isDateBetween, isEqual, isExternal, isKeyClosedVisible, isKeyHidden, isMaxStage, isMethodModelAllowed, isMigrationError, isMissingOneOfError, isMissingPropertyError, isNonNodeModelKey, isSchemaIri, isScrolledBelow, isState, isTermTypeAllowed, isValidKey, keyToDataPath, levels, listColor, listColorContinuous, listColorWithAlpha, loadMapApi, loadSvgSprite, locationQuery, logToCsv$1 as logToCsv, logValueArray, logsKey, lollipopChartPlugin, 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, nodeById, nodeColours$1 as nodeColours, nodeDataState, nodeDataStates, nodeId, nodeIds, nodeLink, nodeLinkEnabled, nodeLinkTypeEnabled, nodeLogsUrl, nodeQualityScoreColor, nodeQualityScoreLevel, nodeQualityScoreMaxDefault, nodeQualityScoreOrder, nodeSecondaryColours, nodeToAggregationFilename, nodeType, nodeTypeDataState, nodeTypeIcon, nodeUrl, nodeUrlParams, nodeVersion, nodesByState, nodesByType, numberGte, optionsFromGroup, parentKey, parentProperty, parseColor, parseData, parseDataPath, parseLines, parseLogMessage, parseMessage, parseNewValue, pluralize, pointToCoordinates, polygonBounds, polygonToCoordinates, polygonToMap, polygonsFromFeature, populateWithTrackIdsFilterData, postGuideEvent, primaryProduct, productsQuery, propertyError, propertyId, recursiveProperties, refToSchemaType, refreshPropertyKeys, regionsQuery, registerChart, repeat, reportIssueLink, reportIssueUrl, safeJSONParse, safeJSONStringify, schemaBaseUrl, schemaDataBaseUrl, schemaLink, schemaRequiredProperties, schemaTypeToDefaultValue, scrollToEl, scrollTop, searchFilterData, searchableTypes, siblingProperty, singleProperty, siteTooBig, siteTypeToColor, siteTypeToIcon, sortProperties, sortedDates, strokeColor, strokeStyle, suggestMatchQuery, suggestQuery, takeAfterViewInit, termLocation, termLocationName, termProperties, termTypeLabel, toSnakeCase, toThousands, typeToNewProperty, typeaheadFocus, uncapitalize, uniqueDatesBetween, updateProperties, valueLink, valueToString, valueTypeToDefault, valueValue, waitFor, wildcardQuery };
|
|
14795
|
+
export { ARRAY_DELIMITER, ApplyPurePipe, BarChartComponent, BibliographiesSearchConfirmComponent, BlankNodeStateComponent, BlankNodeStateNoticeComponent, BlankNodeValueDeltaComponent, CapitalizePipe, ChartComponent, ChartConfigurationDirective, ChartExportButtonComponent, ChartTooltipComponent, ClickOutsideDirective, ClipboardComponent, CollapsibleBoxComponent, CollapsibleBoxStyle, ColorPalette, CompoundDirective, CompoundPipe, ControlValueAccessor, CycleNodesKeyGroup, CyclesCompletenessComponent, CyclesEmissionsChartComponent, CyclesFunctionalUnitMeasureComponent, CyclesMetadataComponent, CyclesNodesComponent, CyclesNodesTimelineComponent, CyclesResultComponent, DataTableComponent, DefaultPipe, DeltaColour, DistributionChartComponent, DrawerContainerComponent, DurationPipe, EllipsisPipe, EngineModelsLinkComponent, EngineModelsLookupInfoComponent, EngineModelsStageComponent, EngineModelsStageDeepComponent, EngineModelsStageDeepService, EngineModelsVersionInfoComponent, EngineModelsVersionLinkComponent, EngineOrchestratorEditComponent, EngineRequirementsFormComponent, FileSizePipe, FileUploadErrorKeys, 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, HorizontalBarChartComponent, HorizontalButtonsGroupComponent, ImpactAssessmentsGraphComponent, ImpactAssessmentsIndicatorBreakdownChartComponent, ImpactAssessmentsIndicatorsChartComponent, ImpactAssessmentsProductsComponent, IsArrayPipe, IsObjectPipe, IssueConfirmComponent, KeyToLabelPipe, Level, LineChartComponent, LinkKeyValueComponent, LogStatus, LongPressDirective, 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, PipelineStagesProgressComponent, PluralizePipe, PopoverComponent, PopoverConfirmComponent, PrecisionPipe, RelatedNodeResult, RemoveMarkdownPipe, RepeatPipe, 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, afterBarDrawPlugin, allCountriesQuery, allGroups, allOptions, availableProperties, axisHoverPlugin, backgroundHoverPlugin, baseApiUrl, baseUrl, bottom, buildSummary, bytesSize, calculateCycleDuration, calculateCycleDurationEnabled, calculateCycleStartDate, calculateCycleStartDateEnabled, capitalize, changelogUrl, clustererImage, code, colorToRgba, compoundToHtml, computeKeys, computeTerms, contactUsEmail, contactUsLink, convertToSvg, coordinatesToPoint, copyObject, countGroupVisibleNodes, countriesQuery, createMarker, cropsQuery, d3ellipse, d3wrap, dataPathLabel, dataPathToKey, dataVersionHeader, dataVersionHeaderKey, defaultFeature, defaultLabel, defaultSuggestionType, defaultSvgIconSize, defaultTicksFont, definitionToSchemaType, distinctUntilChangedDeep, downloadFile, downloadPng, downloadSvg, ellipsis, engineGitBaseUrl, engineGitUrl, errorHasError, errorHasWarning, errorText, evaluateSuccess, exportAsSVG, exportFormats, 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, groupsLogsByFields, guideModelUrl, guideNamespace, guidePageId, handleAPIError, handleGuideEvent, hasError, hasValidationError, hasWarning, hexToRgba, iconSizes, icons, ignoreKeys$2 as ignoreKeys, initialFilterState, injectResizeEvent$, inputGroupsTermTypes, isAddPropertyEnabled, isChrome, isDateBetween, isEqual, isExternal, isKeyClosedVisible, isKeyHidden, isMaxStage, isMethodModelAllowed, isMigrationError, isMissingOneOfError, isMissingPropertyError, isNonNodeModelKey, isSchemaIri, isScrolledBelow, isState, isTermTypeAllowed, isValidKey, keyToDataPath, levels, listColor, listColorContinuous, listColorWithAlpha, loadMapApi, loadSvgSprite, locationQuery, logToCsv$1 as logToCsv, logValueArray, logsKey, lollipopChartPlugin, 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, nodeById, nodeColours$1 as nodeColours, nodeDataState, nodeDataStates, nodeId, nodeIds, nodeLink, nodeLinkEnabled, nodeLinkTypeEnabled, nodeLogsUrl, nodeQualityScoreColor, nodeQualityScoreLevel, nodeQualityScoreMaxDefault, nodeQualityScoreOrder, nodeSecondaryColours, nodeToAggregationFilename, nodeType, nodeTypeDataState, nodeTypeIcon, nodeUrl, nodeUrlParams, nodeVersion, nodesByState, nodesByType, numberGte, optionsFromGroup, parentKey, parentProperty, parseColor, parseData, parseDataPath, parseLines, parseLogMessage, parseMessage, parseNewValue, pluralize, pointToCoordinates, polygonBounds, polygonToCoordinates, polygonToMap, polygonsFromFeature, populateWithTrackIdsFilterData, postGuideEvent, primaryProduct, productsQuery, propertyError, propertyId, recursiveProperties, refToSchemaType, refreshPropertyKeys, regionsQuery, registerChart, repeat, reportIssueLink, reportIssueUrl, safeJSONParse, safeJSONStringify, schemaBaseUrl, schemaDataBaseUrl, schemaLink, schemaRequiredProperties, schemaTypeToDefaultValue, scrollToEl, scrollTop, searchFilterData, searchableTypes, siblingProperty, singleProperty, siteTooBig, siteTypeToColor, siteTypeToIcon, sortProperties, sortedDates, strokeColor, strokeStyle, suggestMatchQuery, suggestQuery, takeAfterViewInit, termLocation, termLocationName, termProperties, termTypeLabel, toSnakeCase, toThousands, typeToNewProperty, typeaheadFocus, uncapitalize, uniqueDatesBetween, updateProperties, valueLink, valueToString, valueTypeToDefault, valueValue, waitFor, wildcardQuery };
|
|
14533
14796
|
//# sourceMappingURL=hestia-earth-ui-components.mjs.map
|