codecharta-visualization 0.0.0-staging-9882370 → 0.0.0-staging-b45b852

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.
@@ -5,10 +5,10 @@
5
5
  <meta charset="utf-8" http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' 'unsafe-eval';
6
6
  img-src 'self' https://* data:;">
7
7
  <base href="./">
8
- <link rel="icon" type="image/x-icon" href="/codeCharta/assets/favicon.ico">
8
+ <link rel="icon" type="image/x-icon" href="codeCharta/assets/favicon.ico">
9
9
  <style>@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}:root{--mat-dialog-container-min-width:500px;--mat-dialog-actions-alignment:flex-end;--mat-toolbar-container-background-color:#1b9cfc;--mat-toolbar-container-text-color:#fff;--mat-button-text-horizontal-padding:8px}html{--mat-sys-on-surface:initial}html{--mat-button-filled-container-shape:4px;--mat-button-filled-horizontal-padding:16px;--mat-button-filled-icon-offset:-4px;--mat-button-filled-icon-spacing:8px;--mat-button-filled-touch-target-size:48px;--mat-button-outlined-container-shape:4px;--mat-button-outlined-horizontal-padding:15px;--mat-button-outlined-icon-offset:-4px;--mat-button-outlined-icon-spacing:8px;--mat-button-outlined-keep-touch-target:false;--mat-button-outlined-outline-width:1px;--mat-button-outlined-touch-target-size:48px;--mat-button-protected-container-elevation-shadow:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-button-protected-container-shape:4px;--mat-button-protected-disabled-container-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-button-protected-focus-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-button-protected-horizontal-padding:16px;--mat-button-protected-hover-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-button-protected-icon-offset:-4px;--mat-button-protected-icon-spacing:8px;--mat-button-protected-pressed-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-button-protected-touch-target-size:48px;--mat-button-text-container-shape:4px;--mat-button-text-horizontal-padding:8px;--mat-button-text-icon-offset:0;--mat-button-text-icon-spacing:8px;--mat-button-text-with-icon-horizontal-padding:8px;--mat-button-text-touch-target-size:48px;--mat-button-tonal-container-shape:4px;--mat-button-tonal-horizontal-padding:16px;--mat-button-tonal-icon-offset:-4px;--mat-button-tonal-icon-spacing:8px;--mat-button-tonal-touch-target-size:48px}html{--mat-button-filled-container-color:white;--mat-button-filled-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-filled-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-filled-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-filled-focus-state-layer-opacity:.12;--mat-button-filled-hover-state-layer-opacity:.04;--mat-button-filled-label-text-color:rgba(0, 0, 0, .87);--mat-button-filled-pressed-state-layer-opacity:.12;--mat-button-filled-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-filled-state-layer-color:rgba(0, 0, 0, .87);--mat-button-outlined-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-outlined-disabled-outline-color:rgba(0, 0, 0, .12);--mat-button-outlined-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-outlined-focus-state-layer-opacity:.12;--mat-button-outlined-hover-state-layer-opacity:.04;--mat-button-outlined-label-text-color:rgba(0, 0, 0, .87);--mat-button-outlined-outline-color:rgba(0, 0, 0, .12);--mat-button-outlined-pressed-state-layer-opacity:.12;--mat-button-outlined-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-outlined-state-layer-color:rgba(0, 0, 0, .87);--mat-button-protected-container-color:white;--mat-button-protected-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-protected-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-protected-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-protected-focus-state-layer-opacity:.12;--mat-button-protected-hover-state-layer-opacity:.04;--mat-button-protected-label-text-color:rgba(0, 0, 0, .87);--mat-button-protected-pressed-state-layer-opacity:.12;--mat-button-protected-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-protected-state-layer-color:rgba(0, 0, 0, .87);--mat-button-text-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-text-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-text-focus-state-layer-opacity:.12;--mat-button-text-hover-state-layer-opacity:.04;--mat-button-text-label-text-color:rgba(0, 0, 0, .87);--mat-button-text-pressed-state-layer-opacity:.12;--mat-button-text-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-text-state-layer-color:rgba(0, 0, 0, .87);--mat-button-tonal-container-color:white;--mat-button-tonal-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-tonal-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-tonal-disabled-state-layer-color:rgba(0, 0, 0, .54);--mat-button-tonal-focus-state-layer-opacity:.12;--mat-button-tonal-hover-state-layer-opacity:.04;--mat-button-tonal-label-text-color:rgba(0, 0, 0, .87);--mat-button-tonal-pressed-state-layer-opacity:.12;--mat-button-tonal-ripple-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-tonal-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-button-filled-container-height:36px;--mat-button-filled-touch-target-display:block;--mat-button-outlined-container-height:36px;--mat-button-outlined-touch-target-display:block;--mat-button-protected-container-height:36px;--mat-button-protected-touch-target-display:block;--mat-button-text-container-height:36px;--mat-button-text-touch-target-display:block;--mat-button-tonal-container-height:36px;--mat-button-tonal-touch-target-display:block}html{--mat-button-toggle-focus-state-layer-opacity:.12;--mat-button-toggle-hover-state-layer-opacity:.04;--mat-button-toggle-legacy-focus-state-layer-opacity:1;--mat-button-toggle-legacy-height:36px;--mat-button-toggle-legacy-shape:2px;--mat-button-toggle-shape:4px}html{--mat-button-toggle-background-color:white;--mat-button-toggle-disabled-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-disabled-selected-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-disabled-state-background-color:white;--mat-button-toggle-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-divider-color:rgba(0, 0, 0, .12);--mat-button-toggle-legacy-disabled-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-disabled-state-background-color:white;--mat-button-toggle-legacy-disabled-state-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-button-toggle-legacy-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-selected-state-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-legacy-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-legacy-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-selected-state-background-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-button-toggle-selected-state-text-color:rgba(0, 0, 0, .87);--mat-button-toggle-state-layer-color:rgba(0, 0, 0, .87);--mat-button-toggle-text-color:rgba(0, 0, 0, .87)}html{--mat-button-toggle-height:48px}html{--mat-progress-spinner-active-indicator-width:4px;--mat-progress-spinner-size:48px}html{--mat-progress-spinner-active-indicator-color:#1b9cfc}html{--mat-card-elevated-container-shape:4px;--mat-card-outlined-container-shape:4px;--mat-card-filled-container-shape:4px;--mat-card-outlined-outline-width:1px}html{--mat-card-elevated-container-color:white;--mat-card-elevated-container-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-card-outlined-container-color:white;--mat-card-outlined-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-outlined-outline-color:rgba(0, 0, 0, .12);--mat-card-subtitle-text-color:rgba(0, 0, 0, .54);--mat-card-filled-container-color:white;--mat-card-filled-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html{--mat-select-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-select-placeholder-text-color:rgba(0, 0, 0, .54);--mat-select-enabled-arrow-color:rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-select-focused-arrow-color:#1b9cfc;--mat-select-invalid-arrow-color:#f44336}html{--mat-select-arrow-transform:translateY(-8px)}html{--mat-menu-container-shape:4px;--mat-menu-divider-bottom-spacing:0;--mat-menu-divider-top-spacing:0;--mat-menu-item-spacing:16px;--mat-menu-item-icon-size:24px;--mat-menu-item-leading-spacing:16px;--mat-menu-item-trailing-spacing:16px;--mat-menu-item-with-icon-leading-spacing:16px;--mat-menu-item-with-icon-trailing-spacing:16px;--mat-menu-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-menu-item-label-text-color:rgba(0, 0, 0, .87);--mat-menu-item-icon-color:rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-menu-item-focus-state-layer-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-menu-container-color:white;--mat-menu-divider-color:rgba(0, 0, 0, .12)}html{--mat-dialog-container-shape:4px;--mat-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mat-dialog-container-max-width:80vw;--mat-dialog-container-small-max-width:80vw;--mat-dialog-container-min-width:0;--mat-dialog-actions-alignment:start;--mat-dialog-actions-padding:8px;--mat-dialog-content-padding:20px 24px;--mat-dialog-with-actions-content-padding:20px 24px;--mat-dialog-headline-padding:0 24px 9px}html{--mat-dialog-container-color:white;--mat-dialog-subhead-color:rgba(0, 0, 0, .87);--mat-dialog-supporting-text-color:rgba(0, 0, 0, .54)}html{--mat-tooltip-container-shape:4px;--mat-tooltip-supporting-text-line-height:16px}html{--mat-tooltip-container-color:#424242;--mat-tooltip-supporting-text-color:white}html{--mat-checkbox-disabled-selected-checkmark-color:white;--mat-checkbox-selected-focus-state-layer-opacity:.12;--mat-checkbox-selected-hover-state-layer-opacity:.04;--mat-checkbox-selected-pressed-state-layer-opacity:.12;--mat-checkbox-unselected-focus-state-layer-opacity:.12;--mat-checkbox-unselected-hover-state-layer-opacity:.04;--mat-checkbox-unselected-pressed-state-layer-opacity:.12;--mat-checkbox-touch-target-size:48px}html{--mat-checkbox-disabled-label-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-label-text-color:rgba(0, 0, 0, .87);--mat-checkbox-disabled-selected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-disabled-unselected-icon-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-checkbox-selected-checkmark-color:#ffffff;--mat-checkbox-selected-focus-icon-color:#1b9cfc;--mat-checkbox-selected-hover-icon-color:#1b9cfc;--mat-checkbox-selected-icon-color:#1b9cfc;--mat-checkbox-selected-pressed-icon-color:#1b9cfc;--mat-checkbox-unselected-focus-icon-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-hover-icon-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mat-checkbox-selected-focus-state-layer-color:#1b9cfc;--mat-checkbox-selected-hover-state-layer-color:#1b9cfc;--mat-checkbox-selected-pressed-state-layer-color:#1b9cfc;--mat-checkbox-unselected-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-checkbox-unselected-pressed-state-layer-color:rgba(0, 0, 0, .87)}html{--mat-checkbox-touch-target-display:block;--mat-checkbox-state-layer-size:40px}html{--mat-toolbar-container-background-color:white;--mat-toolbar-container-text-color:rgba(0, 0, 0, .87)}html{--mat-toolbar-standard-height:64px;--mat-toolbar-mobile-height:56px}html{--mat-form-field-filled-active-indicator-height:1px;--mat-form-field-filled-focus-active-indicator-height:2px;--mat-form-field-filled-container-shape:4px;--mat-form-field-outlined-outline-width:1px;--mat-form-field-outlined-focus-outline-width:2px;--mat-form-field-outlined-container-shape:4px}html{--mat-form-field-focus-select-arrow-color:color-mix(in srgb, #1b9cfc 87%, transparent);--mat-form-field-filled-caret-color:#1b9cfc;--mat-form-field-filled-focus-active-indicator-color:#1b9cfc;--mat-form-field-filled-focus-label-text-color:color-mix(in srgb, #1b9cfc 87%, transparent);--mat-form-field-outlined-caret-color:#1b9cfc;--mat-form-field-outlined-focus-outline-color:#1b9cfc;--mat-form-field-outlined-focus-label-text-color:color-mix(in srgb, #1b9cfc 87%, transparent);--mat-form-field-disabled-input-text-placeholder-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-state-layer-color:rgba(0, 0, 0, .87);--mat-form-field-error-text-color:#f44336;--mat-form-field-select-option-text-color:inherit;--mat-form-field-select-disabled-option-text-color:GrayText;--mat-form-field-leading-icon-color:unset;--mat-form-field-disabled-leading-icon-color:unset;--mat-form-field-trailing-icon-color:unset;--mat-form-field-disabled-trailing-icon-color:unset;--mat-form-field-error-focus-trailing-icon-color:unset;--mat-form-field-error-hover-trailing-icon-color:unset;--mat-form-field-error-trailing-icon-color:unset;--mat-form-field-enabled-select-arrow-color:rgba(0, 0, 0, .54);--mat-form-field-disabled-select-arrow-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-hover-state-layer-opacity:.04;--mat-form-field-focus-state-layer-opacity:.12;--mat-form-field-filled-container-color:#f6f6f6;--mat-form-field-filled-disabled-container-color:color-mix(in srgb, rgba(0, 0, 0, .87) 4%, transparent);--mat-form-field-filled-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-filled-hover-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-filled-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-filled-input-text-color:rgba(0, 0, 0, .87);--mat-form-field-filled-disabled-input-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-filled-input-text-placeholder-color:rgba(0, 0, 0, .54);--mat-form-field-filled-error-hover-label-text-color:#f44336;--mat-form-field-filled-error-focus-label-text-color:#f44336;--mat-form-field-filled-error-label-text-color:#f44336;--mat-form-field-filled-error-caret-color:#f44336;--mat-form-field-filled-active-indicator-color:rgba(0, 0, 0, .54);--mat-form-field-filled-disabled-active-indicator-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-form-field-filled-hover-active-indicator-color:rgba(0, 0, 0, .87);--mat-form-field-filled-error-active-indicator-color:#f44336;--mat-form-field-filled-error-focus-active-indicator-color:#f44336;--mat-form-field-filled-error-hover-active-indicator-color:#f44336;--mat-form-field-outlined-label-text-color:rgba(0, 0, 0, .54);--mat-form-field-outlined-hover-label-text-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-outlined-input-text-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-disabled-input-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-form-field-outlined-input-text-placeholder-color:rgba(0, 0, 0, .54);--mat-form-field-outlined-error-caret-color:#f44336;--mat-form-field-outlined-error-focus-label-text-color:#f44336;--mat-form-field-outlined-error-label-text-color:#f44336;--mat-form-field-outlined-error-hover-label-text-color:#f44336;--mat-form-field-outlined-outline-color:rgba(0, 0, 0, .38);--mat-form-field-outlined-disabled-outline-color:color-mix(in srgb, rgba(0, 0, 0, .87) 12%, transparent);--mat-form-field-outlined-hover-outline-color:rgba(0, 0, 0, .87);--mat-form-field-outlined-error-focus-outline-color:#f44336;--mat-form-field-outlined-error-hover-outline-color:#f44336;--mat-form-field-outlined-error-outline-color:#f44336}html{--mat-form-field-container-height:56px;--mat-form-field-filled-label-display:block;--mat-form-field-container-vertical-padding:16px;--mat-form-field-filled-with-label-container-padding-top:24px;--mat-form-field-filled-with-label-container-padding-bottom:8px}html{--mat-list-active-indicator-color:transparent;--mat-list-active-indicator-shape:4px;--mat-list-list-item-container-shape:0;--mat-list-list-item-leading-avatar-shape:50%;--mat-list-list-item-container-color:transparent;--mat-list-list-item-selected-container-color:transparent;--mat-list-list-item-leading-avatar-color:transparent;--mat-list-list-item-leading-icon-size:24px;--mat-list-list-item-leading-avatar-size:40px;--mat-list-list-item-trailing-icon-size:24px;--mat-list-list-item-disabled-state-layer-color:transparent;--mat-list-list-item-disabled-state-layer-opacity:0;--mat-list-list-item-disabled-label-text-opacity:.38;--mat-list-list-item-disabled-leading-icon-opacity:.38;--mat-list-list-item-disabled-trailing-icon-opacity:.38}html{--mat-list-list-item-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-supporting-text-color:rgba(0, 0, 0, .54);--mat-list-list-item-leading-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-trailing-supporting-text-color:rgba(0, 0, 0, .54);--mat-list-list-item-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-selected-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-disabled-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-disabled-leading-icon-color:rgba(0, 0, 0, .87);--mat-list-list-item-disabled-trailing-icon-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-leading-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-list-list-item-hover-state-layer-opacity:.04;--mat-list-list-item-hover-trailing-icon-color:rgba(0, 0, 0, .54);--mat-list-list-item-focus-label-text-color:rgba(0, 0, 0, .87);--mat-list-list-item-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-list-list-item-focus-state-layer-opacity:.12}html{--mat-list-list-item-leading-icon-start-space:16px;--mat-list-list-item-leading-icon-end-space:32px;--mat-list-list-item-one-line-container-height:48px;--mat-list-list-item-two-line-container-height:64px;--mat-list-list-item-three-line-container-height:88px}html{--mat-divider-width:1px}html{--mat-divider-color:rgba(0, 0, 0, .12)}html{--mat-slider-active-track-height:6px;--mat-slider-active-track-shape:9999px;--mat-slider-handle-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slider-handle-height:20px;--mat-slider-handle-shape:50%;--mat-slider-handle-width:20px;--mat-slider-inactive-track-height:4px;--mat-slider-inactive-track-shape:9999px;--mat-slider-value-indicator-border-radius:4px;--mat-slider-value-indicator-caret-display:block;--mat-slider-value-indicator-container-transform:translateX(-50%);--mat-slider-value-indicator-height:32px;--mat-slider-value-indicator-padding:0 12px;--mat-slider-value-indicator-text-transform:none;--mat-slider-value-indicator-width:auto;--mat-slider-with-overlap-handle-outline-width:1px;--mat-slider-with-tick-marks-active-container-opacity:.6;--mat-slider-with-tick-marks-container-shape:50%;--mat-slider-with-tick-marks-container-size:2px;--mat-slider-with-tick-marks-inactive-container-opacity:.6;--mat-slider-value-indicator-transform-origin:bottom}html{--mat-slider-active-track-color:#1b9cfc;--mat-slider-focus-handle-color:#1b9cfc;--mat-slider-handle-color:#1b9cfc;--mat-slider-hover-handle-color:#1b9cfc;--mat-slider-focus-state-layer-color:color-mix(in srgb, #1b9cfc 12%, transparent);--mat-slider-hover-state-layer-color:color-mix(in srgb, #1b9cfc 4%, transparent);--mat-slider-inactive-track-color:#1b9cfc;--mat-slider-ripple-color:#1b9cfc;--mat-slider-with-tick-marks-active-container-color:#ffffff;--mat-slider-with-tick-marks-inactive-container-color:#1b9cfc;--mat-slider-disabled-active-track-color:rgba(0, 0, 0, .87);--mat-slider-disabled-handle-color:rgba(0, 0, 0, .87);--mat-slider-disabled-inactive-track-color:rgba(0, 0, 0, .87);--mat-slider-label-container-color:#424242;--mat-slider-label-label-text-color:white;--mat-slider-value-indicator-opacity:1;--mat-slider-with-overlap-handle-outline-color:rgba(0, 0, 0, .87);--mat-slider-with-tick-marks-disabled-container-color:rgba(0, 0, 0, .87)}html{--mat-slide-toggle-disabled-handle-opacity:.38;--mat-slide-toggle-disabled-selected-handle-opacity:.38;--mat-slide-toggle-disabled-selected-icon-opacity:.38;--mat-slide-toggle-disabled-track-opacity:.12;--mat-slide-toggle-disabled-unselected-handle-opacity:.38;--mat-slide-toggle-disabled-unselected-icon-opacity:.38;--mat-slide-toggle-disabled-unselected-track-outline-color:transparent;--mat-slide-toggle-disabled-unselected-track-outline-width:1px;--mat-slide-toggle-handle-height:20px;--mat-slide-toggle-handle-shape:10px;--mat-slide-toggle-handle-width:20px;--mat-slide-toggle-hidden-track-opacity:1;--mat-slide-toggle-hidden-track-transition:transform 75ms 0ms cubic-bezier(.4, 0, .6, 1);--mat-slide-toggle-pressed-handle-size:20px;--mat-slide-toggle-selected-focus-state-layer-opacity:.12;--mat-slide-toggle-selected-handle-horizontal-margin:0;--mat-slide-toggle-selected-handle-size:20px;--mat-slide-toggle-selected-hover-state-layer-opacity:.04;--mat-slide-toggle-selected-icon-size:18px;--mat-slide-toggle-selected-pressed-handle-horizontal-margin:0;--mat-slide-toggle-selected-pressed-state-layer-opacity:.12;--mat-slide-toggle-selected-track-outline-color:transparent;--mat-slide-toggle-selected-track-outline-width:1px;--mat-slide-toggle-selected-with-icon-handle-horizontal-margin:0;--mat-slide-toggle-track-height:14px;--mat-slide-toggle-track-outline-color:transparent;--mat-slide-toggle-track-outline-width:1px;--mat-slide-toggle-track-shape:7px;--mat-slide-toggle-track-width:36px;--mat-slide-toggle-unselected-focus-state-layer-opacity:.12;--mat-slide-toggle-unselected-handle-horizontal-margin:0;--mat-slide-toggle-unselected-handle-size:20px;--mat-slide-toggle-unselected-hover-state-layer-opacity:.12;--mat-slide-toggle-unselected-icon-size:18px;--mat-slide-toggle-unselected-pressed-handle-horizontal-margin:0;--mat-slide-toggle-unselected-pressed-state-layer-opacity:.1;--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin:0;--mat-slide-toggle-visible-track-opacity:1;--mat-slide-toggle-visible-track-transition:transform 75ms 0ms cubic-bezier(0, 0, .2, 1);--mat-slide-toggle-with-icon-handle-size:20px;--mat-slide-toggle-touch-target-size:48px}html{--mat-slide-toggle-selected-icon-color:#ffffff;--mat-slide-toggle-disabled-selected-icon-color:#ffffff;--mat-slide-toggle-selected-focus-state-layer-color:#1b9cfc;--mat-slide-toggle-selected-handle-color:#1b9cfc;--mat-slide-toggle-selected-hover-state-layer-color:#1b9cfc;--mat-slide-toggle-selected-pressed-state-layer-color:#1b9cfc;--mat-slide-toggle-selected-focus-handle-color:#1b9cfc;--mat-slide-toggle-selected-hover-handle-color:#1b9cfc;--mat-slide-toggle-selected-pressed-handle-color:#1b9cfc;--mat-slide-toggle-selected-focus-track-color:#55b5fc;--mat-slide-toggle-selected-hover-track-color:#55b5fc;--mat-slide-toggle-selected-pressed-track-color:#55b5fc;--mat-slide-toggle-selected-track-color:#55b5fc;--mat-slide-toggle-disabled-label-text-color:color-mix(in srgb, rgba(0, 0, 0, .87) 38%, transparent);--mat-slide-toggle-disabled-handle-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-disabled-selected-handle-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-selected-track-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-unselected-handle-color:rgba(0, 0, 0, .87);--mat-slide-toggle-disabled-unselected-icon-color:#f6f6f6;--mat-slide-toggle-disabled-unselected-track-color:rgba(0, 0, 0, .87);--mat-slide-toggle-handle-elevation-shadow:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slide-toggle-handle-surface-color:white;--mat-slide-toggle-label-text-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-hover-handle-color:#424242;--mat-slide-toggle-unselected-focus-handle-color:#424242;--mat-slide-toggle-unselected-focus-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-focus-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-icon-color:#f6f6f6;--mat-slide-toggle-unselected-handle-color:rgba(0, 0, 0, .54);--mat-slide-toggle-unselected-hover-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-hover-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-pressed-handle-color:#424242;--mat-slide-toggle-unselected-pressed-track-color:rgba(0, 0, 0, .12);--mat-slide-toggle-unselected-pressed-state-layer-color:rgba(0, 0, 0, .87);--mat-slide-toggle-unselected-track-color:rgba(0, 0, 0, .12)}html{--mat-slide-toggle-state-layer-size:40px;--mat-slide-toggle-touch-target-display:block}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}html,body{overflow-y:hidden;overflow-x:hidden;font-family:Roboto,Helvetica Neue,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;width:100%;height:100%;margin:0;padding:0}</style><link rel="stylesheet" href="styles-GJBRA4GU.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-GJBRA4GU.css"></noscript></head>
10
10
 
11
11
  <body>
12
12
  <cc-code-charta></cc-code-charta>
13
- <link rel="modulepreload" href="chunk-CC2IBYC7.js"><script src="polyfills-5CFQRCPP.js" type="module"></script><script src="main-NMKSXBGP.js" type="module"></script></body>
13
+ <link rel="modulepreload" href="chunk-CC2IBYC7.js"><script src="polyfills-5CFQRCPP.js" type="module"></script><script src="main-TVIKDLVD.js" type="module"></script></body>
14
14
  </html>
@@ -5181,10 +5181,10 @@ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5181
5181
  `],encapsulation:2,changeDetection:0})}return i})();var PW=(()=>{class i{constructor(e){this.isLoadingMap$=e.select(DW)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-loading-map-progress-spinner"]],decls:2,vars:4,consts:[["id","loading-gif-map","mode","indeterminate","diameter","22","title","Rendering map"]],template:function(n,r){n&1&&(J(0,"mat-progress-spinner",0),fe(1,"async")),n&2&&pi("visibility",_e(1,2,r.isLoadingMap$)?"visible":"hidden")},dependencies:[$M,dt],styles:["[_nghost-%COMP%]{display:inline-block;vertical-align:middle}"]})}}return i})();var RW=Re(hi,i=>i.isPresentationMode);var OW=(()=>{class i{constructor(e,n){this.store=e,this.elementReference=n,this.isPresentationModeEnabled$=this.store.select(RW)}setPresentationModeEnabled(e){this.store.dispatch(_h({value:e.checked})),this.elementReference.nativeElement.querySelector("mat-slide-toggle").classList.remove("cdk-focused"),this.elementReference.nativeElement.querySelector("mat-slide-toggle").classList.remove("cdk-program-focused"),this.elementReference.nativeElement.querySelector("mat-slide-toggle").classList.remove("mat-mdc-slide-toggle-focused")}static{this.\u0275fac=function(n){return new(n||i)(se(Ie),se(Ft))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-presentation-mode-button"]],decls:6,vars:6,consts:[["aria-label","Presentation Mode Toggle",1,"cc-presentation-mode-button",3,"change","checked","title"],[1,"presentation-mode-icon","fa","fa-television"]],template:function(n,r){n&1&&(S(0,"mat-slide-toggle",0),fe(1,"async"),fe(2,"async"),he("change",function(a){return r.setPresentationModeEnabled(a)}),J(3,"i",1),S(4,"span"),j(5,"Presentation Mode"),F()()),n&2&&z("checked",_e(1,2,r.isPresentationModeEnabled$))("title",_e(2,4,r.isPresentationModeEnabled$)?"Disable flashlight hover effect":"Enable flashlight hover effect")},dependencies:[nh,dt],styles:["i[_ngcontent-%COMP%]{margin-right:4px}"]})}}return i})();var LW=Re(hi,i=>i.experimentalFeaturesEnabled);var NW=Re(hi,i=>i.hideFlatBuildings);var XM=Re(hi,i=>i.resetCameraIfNewFileIsLoaded);var KM=Re(hi,i=>i.layoutAlgorithm);var UW=Re(hi,i=>i.maxTreeMapFiles);function Eo(i,t=0){let e;return(...n)=>{clearTimeout(e),e=setTimeout(()=>{i.apply(this,n),e=null},t)}}var zb=(i,t,e)=>{let n=Number.parseInt(i.target.value);return n<t?t:n>e?e:n};var Mh=(()=>{class i{constructor(){this.step=1,this.disabled=!1}handleSliderOnChange(e){e!==this.value&&this.onChange(e)}handleInputOnChange(e){let n=zb(e,this.min,this.max);n!==this.value&&!Number.isNaN(n)&&this.onChange(n)}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-slider"]],inputs:{value:"value",min:"min",max:"max",label:"label",step:"step",disabled:"disabled",onChange:"onChange"},decls:8,vars:10,consts:[[1,"cc-slider-container"],[1,"label"],[1,"slider-with-input"],[3,"disabled","step","min","max"],["matSliderThumb","",3,"input","value"],["appearance","outline","subscriptSizing","dynamic"],["matInput","","type","number",3,"input","value","disabled","min","max"]],template:function(n,r){n&1&&(S(0,"div",0)(1,"mat-label",1),j(2),F(),S(3,"div",2)(4,"mat-slider",3)(5,"input",4),he("input",function(a){return r.handleInputOnChange(a)}),F()(),S(6,"mat-form-field",5)(7,"input",6),he("input",function(a){return r.handleInputOnChange(a)}),F()()()()),n&2&&(E(2),Ai(r.label),E(2),z("disabled",r.disabled)("step",r.step)("min",r.min)("max",r.max),E(),z("value",r.value),E(2),z("value",r.value)("disabled",r.disabled)("min",r.min)("max",r.max))},dependencies:[zr,GC,Pb,Er,da],styles:["[_nghost-%COMP%]{width:100%;margin-top:8px;display:inline-block}"]})}}return i})();function dCe(i,t){if(i&1&&(S(0,"mat-option",2),j(1),F()),i&2){let e=t.$implicit;z("value",e),E(),ct(" ",e," ")}}function uCe(i,t){if(i&1&&(J(0,"cc-slider",3),fe(1,"async")),i&2){let e=me();z("label","Maximum TreeMap Files")("min",1)("max",1e3)("value",_e(1,5,e.maxTreeMapFiles$))("onChange",e.handleChangeMaxTreeMapFiles)}}var HW=(()=>{class i{constructor(e){this.store=e,this.layoutAlgorithms=Object.values(ea),this.layoutAlgorithm$=this.store.select(KM),this.maxTreeMapFiles$=this.store.select(UW),this.handleChangeMaxTreeMapFiles=Eo(n=>{this.store.dispatch(Fc({value:n}))},400)}handleSelectedLayoutAlgorithmChanged(e){this.store.dispatch(Bc({value:e.value}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-map-layout-selection"]],decls:9,vars:6,consts:[["appearance","outline","subscriptSizing","dynamic"],[3,"selectionChange","value"],[3,"value"],[1,"cc-tree-maps-max-tree-map-files",3,"label","min","max","value","onChange"]],template:function(n,r){n&1&&(S(0,"mat-form-field",0)(1,"mat-label"),j(2,"Map Layout"),F(),S(3,"mat-select",1),fe(4,"async"),he("selectionChange",function(a){return r.handleSelectedLayoutAlgorithmChanged(a)}),xi(5,dCe,2,2,"mat-option",2,En),F()(),ke(7,uCe,2,7,"cc-slider",3),fe(8,"async")),n&2&&(E(3),z("value",_e(4,2,r.layoutAlgorithm$)),E(2),wi(r.layoutAlgorithms),E(2),Pe(_e(8,4,r.layoutAlgorithm$)==="TreeMapStreet"?7:-1))},dependencies:[Er,zr,Qo,Zr,Mh,dt],encapsulation:2})}}return i})();var YM=Re(hi,i=>i.sharpnessMode);function hCe(i,t){if(i&1&&(S(0,"mat-option",2),j(1),F()),i&2){let e=t.$implicit;z("value",e),E(),ct(" ",e," ")}}var VW=(()=>{class i{constructor(e){this.store=e,this.sharpnessModes=Object.values(Wl),this.sharpnessMode$=this.store.select(YM)}handleSelectedSharpnessModeChanged(e){this.store.dispatch(Ic({value:e.value}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-display-quality-selection"]],decls:7,vars:3,consts:[["appearance","outline","subscriptSizing","dynamic"],[3,"selectionChange","value"],[3,"value"]],template:function(n,r){n&1&&(S(0,"mat-form-field",0)(1,"mat-label"),j(2,"Display Quality"),F(),S(3,"mat-select",1),fe(4,"async"),he("selectionChange",function(a){return r.handleSelectedSharpnessModeChanged(a)}),xi(5,hCe,2,2,"mat-option",2,En),F()()),n&2&&(E(3),z("value",_e(4,1,r.sharpnessMode$)),E(2),wi(r.sharpnessModes))},dependencies:[Er,zr,Qo,Zr,dt],encapsulation:2})}}return i})();function qb(i){for(let e of Object.keys(i))if(typeof i[e]=="object"&&i[e]!==null){let{x:n,y:r,z:o}=i[e];n!==void 0||r!==void 0||o!==void 0?i[e]=new ce(n??1,r??1,o??1):qb(i[e])}}var Sh=Re(br,i=>$8(i.unifiedMapNode));var fCe=100,mCe=10,fg=i=>{let t=Math.floor(i.length/fCe);return t<=vm?vm:Math.min(t,mCe)};var pCe="appSettings.amountOfTopLabels",QW=(i,t)=>{let e={},n=0;for(let r of i){let o=r.split("."),a=WM,s=e;for(let[l,c]of o.entries())a[c]!==void 0&&(s[c]||(s[c]={},n++),l===o.length-1?s[c]=a[c]:(a=a[c],s=s[c]))}return n!==0&&qb(e),i.includes(pCe)&&(e.appSettings.amountOfTopLabels=fg(Sh(t))),e};function ACe(i,t){if(i&1&&(Ut(0,"span",2),j(1),qt()),i&2){let e=me();E(),ct(" ",e.label)}}var Oc=(()=>{class i{constructor(e,n){this.store=e,this.state=n}applyDefaultSettings(){let e=QW(this.settingsKeys,this.state.getValue());this.store.dispatch(ts({value:e})),this.callback&&this.callback()}static{this.\u0275fac=function(n){return new(n||i)(se(Ie),se(bi))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-reset-settings-button"]],inputs:{settingsKeys:"settingsKeys",tooltip:"tooltip",label:"label",callback:"callback"},decls:3,vars:2,consts:[[3,"click","title"],[1,"fa","fa-undo"],[1,"reset-settings-button-label"]],template:function(n,r){n&1&&(Ut(0,"button",0),fr("click",function(){return r.applyDefaultSettings()}),Ti(1,"i",1),ke(2,ACe,2,1,"span",2),qt()),n&2&&(sn("title",r.tooltip),E(2),Pe(r.label?2:-1))},styles:["button[_ngcontent-%COMP%]{color:#1b9cfc;background:none;align-items:center;display:flex;gap:4px;margin:0;padding:0}button[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:40px;width:40px;font-size:18px}button[_ngcontent-%COMP%]:hover .fa[_ngcontent-%COMP%]{border-radius:100%;background-color:#9e9e9e33}"]})}}return i})();var gCe=()=>["appSettings.hideFlatBuildings","appSettings.isWhiteBackground","appSettings.resetCameraIfNewFileIsLoaded","appSettings.layoutAlgorithm","appSettings.maxTreeMapFiles"],zW=(()=>{class i{constructor(e){this.store=e,this.screenshotToClipboardEnabled$=this.store.select(fw),this.experimentalFeaturesEnabled$=this.store.select(LW),this.isWhiteBackground$=this.store.select(kw),this.hideFlatBuildings$=this.store.select(NW),this.resetCameraIfNewFileIsLoaded$=this.store.select(XM)}handleResetCameraIfNewFileIsLoadedChanged(e){this.store.dispatch(vh({value:e.checked}))}handleHideFlatBuildingsChanged(e){this.store.dispatch(Cc({value:e.checked}))}handleIsWhiteBackgroundChanged(e){this.store.dispatch(Ec({value:e.checked}))}handleExperimentalFeaturesEnabledChanged(e){this.store.dispatch(yh({value:e.checked}))}handleScreenshotToClipboardEnabledChanged(e){this.store.dispatch(xh({value:e.checked}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-global-configuration-dialog"]],decls:38,vars:17,consts:[["xmlns","http://www.w3.org/1999/html",1,"header"],[1,"cc-global-configuration-dialog-content"],[3,"change","checked"],["title","The camera is reset to the default position when any change in the map layout is made. Layout changes could be area changes, file changes, layout algorithm changes, focussing, excluding etc.",3,"change","checked"],[1,"fa","fa-info-circle"],["title",`Current experimental features:
5182
5182
  Dynamic Floor Label Height: Raises folder labels further up to reduce flickering on large maps (Needs site refresh)
5183
5183
  Visibility of buildings without area metric: Show buildings without area metric in the map (Needs site refresh)`,3,"change","checked"],["tooltip","Reset global settings to their defaults","label","Reset global settings",3,"settingsKeys"],[1,"cc-global-configuration-links-list"],["href","https://codecharta.com/","target","_blank","rel","noopener noreferrer",1,"weblink"],[1,"fa","fa-external-link","icon-link"],["href","https://codecharta.com/docs/overview/introduction","target","_blank","rel","noopener noreferrer",1,"weblink"],["href","https://github.com/MaibornWolff/codecharta/","target","_blank","rel","noopener noreferrer",1,"weblink"],["align","end"],["mat-flat-button","","mat-dialog-close",""]],template:function(n,r){n&1&&(S(0,"mat-toolbar",0)(1,"h2"),j(2,"Global Configuration"),F()(),S(3,"mat-dialog-content")(4,"div",1),J(5,"cc-map-layout-selection")(6,"cc-display-quality-selection"),S(7,"mat-slide-toggle",2),fe(8,"async"),he("change",function(a){return r.handleHideFlatBuildingsChanged(a)}),j(9," Hide Flattened Buildings "),F(),S(10,"mat-slide-toggle",3),fe(11,"async"),he("change",function(a){return r.handleResetCameraIfNewFileIsLoadedChanged(a)}),j(12," Reset camera when map layout changes "),J(13,"i",4),F(),S(14,"mat-slide-toggle",2),fe(15,"async"),he("change",function(a){return r.handleIsWhiteBackgroundChanged(a)}),j(16," White Background "),F(),S(17,"mat-slide-toggle",5),fe(18,"async"),he("change",function(a){return r.handleExperimentalFeaturesEnabledChanged(a)}),j(19," Enable Experimental Features "),J(20,"i",4),F(),S(21,"mat-slide-toggle",2),fe(22,"async"),he("change",function(a){return r.handleScreenshotToClipboardEnabledChanged(a)}),j(23," Screenshot to clipboard "),F(),J(24,"cc-reset-settings-button",6),S(25,"div",7)(26,"a",8),J(27,"em",9),j(28,"Website "),F(),S(29,"a",10),J(30,"em",9),j(31,"Documentation "),F(),S(32,"a",11),J(33,"em",9),j(34,"Github "),F()()()(),S(35,"mat-dialog-actions",12)(36,"button",13),j(37,"Close"),F()()),n&2&&(E(7),z("checked",_e(8,6,r.hideFlatBuildings$)),E(3),z("checked",_e(11,8,r.resetCameraIfNewFileIsLoaded$)),E(4),z("checked",_e(15,10,r.isWhiteBackground$)),E(3),z("checked",_e(18,12,r.experimentalFeaturesEnabled$)),E(4),z("checked",_e(22,14,r.screenshotToClipboardEnabled$)),E(3),z("settingsKeys",Oa(16,gCe)))},dependencies:[ca,ar,HW,VW,nh,Oc,Cr,Wi,or,dt],styles:[".cc-global-configuration-dialog-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:26px}.cc-global-configuration-links-list[_ngcontent-%COMP%]{display:flex;gap:16px}.cc-global-configuration-links-list[_ngcontent-%COMP%] .weblink[_ngcontent-%COMP%]{display:block;color:#000000de;text-decoration:none}.cc-global-configuration-links-list[_ngcontent-%COMP%] .weblink[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%]{margin:8px}"]})}}return i})();var qW=(()=>{class i{constructor(e){this.dialog=e}showGlobalConfiguration(){this.dialog.open(zW,{panelClass:"cc-global-configuration-dialog"})}static{this.\u0275fac=function(n){return new(n||i)(se(fn))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-global-configuration-button"]],decls:4,vars:1,consts:[["mat-button","","title","Global Configuration",3,"click"],[3,"icon"]],template:function(n,r){n&1&&(S(0,"button",0),he("click",function(){return r.showGlobalConfiguration()}),S(1,"span"),j(2,"Global Configuration"),F(),J(3,"cc-action-icon",1),F()),n&2&&(E(3),z("icon","fa fa-cog"))},dependencies:[Wi,La],styles:["button[_ngcontent-%COMP%]{margin:0}button[_ngcontent-%COMP%] cc-action-icon[_ngcontent-%COMP%]{margin-left:12px}button[_ngcontent-%COMP%]:hover cc-action-icon[_ngcontent-%COMP%]{background-color:#0374c9}span[_ngcontent-%COMP%]{font-size:10pt}"]})}}return i})();function _Ce(i,t){i&1&&J(0,"cc-file-panel")}function bCe(i,t){i&1&&J(0,"cc-hovered-node-path-panel")}var GW=(()=>{class i{constructor(e){this.store=e,this.hoveredNodeId$=this.store.select(Gl)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-tool-bar"]],decls:12,vars:3,consts:[[1,"right-aligned"]],template:function(n,r){n&1&&(J(0,"cc-upload-files-button")(1,"cc-screenshot-button")(2,"cc-copy-to-clipboard-button")(3,"cc-export-3d-map-button")(4,"cc-reset-map-button"),ke(5,_Ce,1,0,"cc-file-panel"),fe(6,"async"),Kc(7,bCe,1,0,"cc-hovered-node-path-panel"),S(8,"div",0),J(9,"cc-loading-map-progress-spinner")(10,"cc-presentation-mode-button")(11,"cc-global-configuration-button"),F()),n&2&&(E(5),Pe(_e(6,1,r.hoveredNodeId$)===null?5:7))},dependencies:[L7,BV,kV,Cq,hW,BW,IW,PW,OW,qW,dt],styles:["[_nghost-%COMP%]{display:flex;gap:8px;padding-left:8px;align-items:center;background-color:#f0f0f0;height:35px;border-bottom:1px solid #cdcdcd}[_nghost-%COMP%] .right-aligned[_ngcontent-%COMP%]{position:absolute;right:4px;display:inline-flex;align-items:center;width:400px;justify-content:space-between}"]})}}return i})();var WW=(()=>{class i{constructor(e){this.store=e,this.areaMetric$=this.store.select(Or),this.distributionMetric=HM}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-distribution-metric"]],decls:3,vars:3,consts:[[1,"fa","fa-pie-chart"]],template:function(n,r){n&1&&(Ti(0,"i",0),j(1),fe(2,"async")),n&2&&(E(),ct(" ",_e(2,1,r.areaMetric$),`
5184
- `))},dependencies:[dt],styles:["[_nghost-%COMP%]{min-width:max-content;display:flex;align-items:center;font-size:12px;gap:6px;margin-left:5px;margin-right:5px}"]})}}return i})();var jW=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkMenuGroup",""]],hostAttrs:["role","group",1,"cdk-menu-group"],exportAs:["cdkMenuGroup"],features:[Si([{provide:rh,useClass:rh}])]})}return i})(),zk=new Je("cdk-menu"),Eh=(function(i){return i[i.nextItem=0]="nextItem",i[i.previousItem=1]="previousItem",i[i.currentItem=2]="currentItem",i})(Eh||{}),Ud=new Je("cdk-menu-stack"),vCe={provide:Ud,deps:[[new Jv,new FE,new Km(Ud)]],useFactory:i=>i||new qk},yCe=i=>({provide:Ud,deps:[[new Jv,new FE,new Km(Ud)]],useFactory:t=>t||qk.inline(i)}),qk=(()=>{class i{id=R(hn).getId("cdk-menu-stack-");_elements=[];_close=new Bt;_empty=new Bt;_hasFocus=new Bt;closed=this._close;hasFocus=this._hasFocus.pipe(Tr(!1),vs(0),tl());emptied=this._empty;_inlineMenuOrientation=null;static inline(e){let n=new i;return n._inlineMenuOrientation=e,n}push(e){this._elements.push(e)}close(e,n){let{focusNextOnEmpty:r,focusParentTrigger:o}=$e({},n);if(this._elements.indexOf(e)>=0){let a;do a=this._elements.pop(),this._close.next({item:a,focusParentTrigger:o});while(a!==e);this.isEmpty()&&this._empty.next(r)}}closeSubMenuOf(e){let n=!1;if(this._elements.indexOf(e)>=0)for(n=this.peek()!==e;this.peek()!==e;)this._close.next({item:this._elements.pop()});return n}closeAll(e){let{focusNextOnEmpty:n,focusParentTrigger:r}=$e({},e);if(!this.isEmpty()){for(;!this.isEmpty();){let o=this._elements.pop();o&&this._close.next({item:o,focusParentTrigger:r})}this._empty.next(n)}}isEmpty(){return!this._elements.length}length(){return this._elements.length}peek(){return this._elements[this._elements.length-1]}hasInlineMenu(){return this._inlineMenuOrientation!=null}inlineMenuOrientation(){return this._inlineMenuOrientation}setHasFocus(e){this._hasFocus.next(e)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=Ue({token:i,factory:i.\u0275fac})}return i})(),ZM=new Je("cdk-menu-trigger"),xCe=new Je("cdk-menu-scroll-strategy",{providedIn:"root",factory:()=>{let i=R(_i);return()=>cl(i)}}),$W=(()=>{class i{static _openMenuTrigger;update(e){i._openMenuTrigger!==e&&(i._openMenuTrigger?.close(),i._openMenuTrigger=e)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),XW=(()=>{class i{injector=R(_i);viewContainerRef=R(Hr);menuStack=R(Ud);menuScrollStrategy=R(xCe);menuPosition;opened=new Pt;closed=new Pt;menuTemplateRef;menuData;overlayRef=null;destroyed=new Bt;stopOutsideClicksListener=wr(this.closed,this.destroyed);childMenu;_menuPortal;_childMenuInjector;ngOnDestroy(){this._destroyOverlay(),this.destroyed.next(),this.destroyed.complete()}isOpen(){return!!this.overlayRef?.hasAttached()}registerChildMenu(e){this.childMenu=e}getMenuContentPortal(){let e=this.menuTemplateRef!==this._menuPortal?.templateRef;return this.menuTemplateRef&&(!this._menuPortal||e)&&(this._menuPortal=new Za(this.menuTemplateRef,this.viewContainerRef,this.menuData,this._getChildMenuInjector())),this._menuPortal}isElementInsideMenuStack(e){for(let n=e;n;n=n?.parentElement??null)if(n.getAttribute("data-cdk-menu-stack-id")===this.menuStack.id)return!0;return!1}_destroyOverlay(){this.overlayRef&&(this.overlayRef.dispose(),this.overlayRef=null)}_getChildMenuInjector(){return this._childMenuInjector=this._childMenuInjector||_i.create({providers:[{provide:ZM,useValue:this},{provide:Ud,useValue:this.menuStack}],parent:this.injector}),this._childMenuInjector}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,hostVars:2,hostBindings:function(n,r){n&2&&ni("aria-controls",r.childMenu==null?null:r.childMenu.id)("data-cdk-menu-stack-id",r.menuStack.id)}})}return i})();var Gk=new Je("cdk-menu-aim");function KW(i,t){if(!t.isTrusted)return!1;let e=i.nativeElement,n=t.keyCode;return e.nodeName==="BUTTON"&&!e.disabled?n===13||n===32:e.nodeName==="A"?n===13:!1}var wCe=(()=>{class i extends XW{_elementRef=R(Ft);_ngZone=R(ti);_changeDetectorRef=R(Li);_inputModalityDetector=R(H0);_directionality=R(tr,{optional:!0});_renderer=R(cn);_injector=R(_i);_cleanupMouseenter;_menuTracker=R($W);_parentMenu=R(zk,{optional:!0});_menuAim=R(Gk,{optional:!0});constructor(){super(),this._setRole(),this._registerCloseHandler(),this._subscribeToMenuStackClosed(),this._subscribeToMouseEnter(),this._subscribeToMenuStackHasFocus(),this._setType()}toggle(){this.isOpen()?this.close():this.open()}open(){this._parentMenu||this._menuTracker.update(this),!this.isOpen()&&this.menuTemplateRef!=null&&(this.opened.next(),this.overlayRef=this.overlayRef||Es(this._injector,this._getOverlayConfig()),this.overlayRef.attach(this.getMenuContentPortal()),this._changeDetectorRef.markForCheck(),this._subscribeToOutsideClicks())}close(){this.isOpen()&&(this.closed.next(),this.overlayRef.detach(),this._changeDetectorRef.markForCheck()),this._closeSiblingTriggers()}getMenu(){return this.childMenu}ngOnChanges(e){e.menuPosition&&this.overlayRef&&this.overlayRef.updatePositionStrategy(this._getOverlayPositionStrategy())}ngOnDestroy(){this._cleanupMouseenter(),super.ngOnDestroy()}_toggleOnKeydown(e){let n=this._parentMenu?.orientation==="vertical";switch(e.keyCode){case 32:case 13:!bn(e)&&!KW(this._elementRef,e)&&(this.toggle(),this.childMenu?.focusFirstItem("keyboard"));break;case 39:bn(e)||this._parentMenu&&n&&this._directionality?.value!=="rtl"&&(e.preventDefault(),this.open(),this.childMenu?.focusFirstItem("keyboard"));break;case 37:bn(e)||this._parentMenu&&n&&this._directionality?.value==="rtl"&&(e.preventDefault(),this.open(),this.childMenu?.focusFirstItem("keyboard"));break;case 40:case 38:bn(e)||n||(e.preventDefault(),this.open(),e.keyCode===40?this.childMenu?.focusFirstItem("keyboard"):this.childMenu?.focusLastItem("keyboard"));break}}_handleClick(){this.toggle(),this.childMenu?.focusFirstItem("mouse")}_setHasFocus(e){this._parentMenu||this.menuStack.setHasFocus(e)}_subscribeToMouseEnter(){this._cleanupMouseenter=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"mouseenter",()=>{if(this._inputModalityDetector.mostRecentModality!=="touch"&&!this.menuStack.isEmpty()&&!this.isOpen()){let e=()=>this._ngZone.run(()=>{this._closeSiblingTriggers(),this.open()});this._menuAim?this._menuAim.toggle(e):e()}}))}_closeSiblingTriggers(){this._parentMenu?!this.menuStack.closeSubMenuOf(this._parentMenu)&&this.menuStack.peek()!==this._parentMenu&&this.menuStack.closeAll():this.menuStack.closeAll()}_getOverlayConfig(){return new Ss({positionStrategy:this._getOverlayPositionStrategy(),scrollStrategy:this.menuScrollStrategy(),direction:this._directionality||void 0})}_getOverlayPositionStrategy(){return Xl(this._injector,this._elementRef).withLockedPosition().withFlexibleDimensions(!1).withPositions(this._getOverlayPositions())}_getOverlayPositions(){return this.menuPosition??(!this._parentMenu||this._parentMenu.orientation==="horizontal"?Gy:JT)}_registerCloseHandler(){this._parentMenu||this.menuStack.closed.pipe(ln(this.destroyed)).subscribe(({item:e})=>{e===this.childMenu&&this.close()})}_subscribeToOutsideClicks(){this.overlayRef&&this.overlayRef.outsidePointerEvents().pipe(ln(this.stopOutsideClicksListener)).subscribe(e=>{let n=Ao(e),r=this._elementRef.nativeElement;n!==r&&!r.contains(n)&&(this.isElementInsideMenuStack(n)?this._closeSiblingTriggers():this.menuStack.closeAll())})}_subscribeToMenuStackHasFocus(){this._parentMenu||this.menuStack.hasFocus.pipe(ln(this.destroyed)).subscribe(e=>{e||this.menuStack.closeAll()})}_subscribeToMenuStackClosed(){this._parentMenu||this.menuStack.closed.subscribe(({focusParentTrigger:e})=>{e&&!this.menuStack.length()&&this._elementRef.nativeElement.focus()})}_setRole(){this._parentMenu||this._elementRef.nativeElement.setAttribute("role","button")}_setType(){let e=this._elementRef.nativeElement;e.nodeName==="BUTTON"&&!e.getAttribute("type")&&e.setAttribute("type","button")}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkMenuTriggerFor",""]],hostAttrs:[1,"cdk-menu-trigger"],hostVars:2,hostBindings:function(n,r){n&1&&he("focusin",function(){return r._setHasFocus(!0)})("focusout",function(){return r._setHasFocus(!1)})("keydown",function(a){return r._toggleOnKeydown(a)})("click",function(){return r._handleClick()}),n&2&&ni("aria-haspopup",r.menuTemplateRef?"menu":null)("aria-expanded",r.menuTemplateRef==null?null:r.isOpen())},inputs:{menuTemplateRef:[0,"cdkMenuTriggerFor","menuTemplateRef"],menuPosition:[0,"cdkMenuPosition","menuPosition"],menuData:[0,"cdkMenuTriggerData","menuData"]},outputs:{opened:"cdkMenuOpened",closed:"cdkMenuClosed"},exportAs:["cdkMenuTriggerFor"],features:[Si([{provide:ZM,useExisting:i},vCe]),nn,Di]})}return i})(),CCe=(()=>{class i{_dir=R(tr,{optional:!0});_elementRef=R(Ft);_ngZone=R(ti);_inputModalityDetector=R(H0);_renderer=R(cn);_cleanupMouseEnter;_menuAim=R(Gk,{optional:!0});_menuStack=R(Ud);_parentMenu=R(zk,{optional:!0});_menuTrigger=R(wCe,{optional:!0,self:!0});disabled=!1;typeaheadLabel;triggered=new Pt;get hasMenu(){return this._menuTrigger?.menuTemplateRef!=null}_tabindex=-1;closeOnSpacebarTrigger=!0;destroyed=new Bt;constructor(){this._setupMouseEnter(),this._setType(),this._isStandaloneItem()&&(this._tabindex=0)}ngOnDestroy(){this._cleanupMouseEnter?.(),this.destroyed.next(),this.destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}trigger(e){let{keepOpen:n}=$e({},e);!this.disabled&&!this.hasMenu&&(this.triggered.next(),n||this._menuStack.closeAll({focusParentTrigger:!0}))}isMenuOpen(){return!!this._menuTrigger?.isOpen()}getMenu(){return this._menuTrigger?.getMenu()}getMenuTrigger(){return this._menuTrigger}getLabel(){return this.typeaheadLabel||this._elementRef.nativeElement.textContent?.trim()||""}_resetTabIndex(){this._isStandaloneItem()||(this._tabindex=-1)}_setTabIndex(e){this.disabled||(!e||!this._menuStack.isEmpty())&&(this._tabindex=0)}_handleClick(e){this.disabled?(e.preventDefault(),e.stopPropagation()):this.trigger()}_onKeydown(e){switch(e.keyCode){case 32:case 13:if(!bn(e)&&!KW(this._elementRef,e)){let n=this._elementRef.nativeElement.nodeName;n!=="A"&&n!=="BUTTON"&&e.preventDefault(),this.trigger({keepOpen:e.keyCode===32&&!this.closeOnSpacebarTrigger})}break;case 39:bn(e)||this._parentMenu&&this._isParentVertical()&&(this._dir?.value!=="rtl"?this._forwardArrowPressed(e):this._backArrowPressed(e));break;case 37:bn(e)||this._parentMenu&&this._isParentVertical()&&(this._dir?.value!=="rtl"?this._backArrowPressed(e):this._forwardArrowPressed(e));break}}_isStandaloneItem(){return!this._parentMenu}_backArrowPressed(e){let n=this._parentMenu;(this._menuStack.hasInlineMenu()||this._menuStack.length()>1)&&(e.preventDefault(),this._menuStack.close(n,{focusNextOnEmpty:this._menuStack.inlineMenuOrientation()==="horizontal"?Eh.previousItem:Eh.currentItem,focusParentTrigger:!0}))}_forwardArrowPressed(e){!this.hasMenu&&this._menuStack.inlineMenuOrientation()==="horizontal"&&(e.preventDefault(),this._menuStack.closeAll({focusNextOnEmpty:Eh.nextItem,focusParentTrigger:!0}))}_setupMouseEnter(){if(!this._isStandaloneItem()){let e=()=>this._ngZone.run(()=>this._menuStack.closeSubMenuOf(this._parentMenu));this._cleanupMouseEnter=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"mouseenter",()=>{this._inputModalityDetector.mostRecentModality!=="touch"&&!this._menuStack.isEmpty()&&!this.hasMenu&&(this._menuAim?this._menuAim.toggle(e):e())}))}}_isParentVertical(){return this._parentMenu?.orientation==="vertical"}_setType(){let e=this._elementRef.nativeElement;e.nodeName==="BUTTON"&&!e.getAttribute("type")&&e.setAttribute("type","button")}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkMenuItem",""]],hostAttrs:["role","menuitem",1,"cdk-menu-item"],hostVars:4,hostBindings:function(n,r){n&1&&he("blur",function(){return r._resetTabIndex()})("focus",function(){return r._setTabIndex()})("click",function(a){return r._handleClick(a)})("keydown",function(a){return r._onKeydown(a)}),n&2&&(sn("tabIndex",r._tabindex),ni("aria-disabled",r.disabled||null),yt("cdk-menu-item-disabled",r.disabled))},inputs:{disabled:[2,"cdkMenuItemDisabled","disabled",kt],typeaheadLabel:[0,"cdkMenuitemTypeaheadLabel","typeaheadLabel"]},outputs:{triggered:"cdkMenuItemTriggered"},exportAs:["cdkMenuItem"]})}return i})(),Qk=class{_renderer;_items;_eventCleanups;_itemsSubscription;entered=new Bt;exited=new Bt;activeElement;previousElement;constructor(t,e){this._renderer=t,this._items=e,this._bindEvents(),this.entered.subscribe(n=>this.activeElement=n),this.exited.subscribe(()=>{this.previousElement=this.activeElement,this.activeElement=void 0})}destroy(){this._cleanupEvents(),this._itemsSubscription?.unsubscribe()}_bindEvents(){this._itemsSubscription=this._items.changes.pipe(Tr(this._items)).subscribe(()=>{this._cleanupEvents(),this._eventCleanups=[],this._items.forEach(t=>{let e=t._elementRef.nativeElement;this._eventCleanups.push(this._renderer.listen(e,"mouseenter",()=>{this.entered.next(t)}),this._renderer.listen(e,"mouseout",()=>{this.exited.next(t)}))})})}_cleanupEvents(){this._eventCleanups?.forEach(t=>t()),this._eventCleanups=void 0}},MCe=(()=>{class i extends jW{_focusMonitor=R(go);ngZone=R(ti);_renderer=R(cn);nativeElement=R(Ft).nativeElement;menuStack=R(Ud);menuAim=R(Gk,{optional:!0,self:!0});dir=R(tr,{optional:!0});_allItems;id=R(hn).getId("cdk-menu-");items=new Xc;orientation="vertical";isInline=!1;keyManager;destroyed=new Bt;triggerItem;pointerTracker;_menuStackHasFocus=Gi(!1);_tabIndexSignal=Ir(()=>{let e=this._menuStackHasFocus()?-1:0;return this.isInline?e:null});ngAfterContentInit(){this.isInline||this.menuStack.push(this),this._setItems(),this._setKeyManager(),this._handleFocus(),this._subscribeToMenuStackHasFocus(),this._subscribeToMenuOpen(),this._subscribeToMenuStackClosed(),this._setUpPointerTracker()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this.nativeElement),this.keyManager?.destroy(),this.destroyed.next(),this.destroyed.complete(),this.pointerTracker?.destroy()}focusFirstItem(e="program"){this.keyManager.setFocusOrigin(e),this.keyManager.setFirstItemActive()}focusLastItem(e="program"){this.keyManager.setFocusOrigin(e),this.keyManager.setLastItemActive()}setActiveMenuItem(e){this.keyManager?.setActiveItem(e)}_getTabIndex(){return this._tabIndexSignal()}closeOpenMenu(e,n){let{focusParentTrigger:r}=$e({},n),o=this.keyManager,a=this.triggerItem;e===a?.getMenuTrigger()?.getMenu()&&(a?.getMenuTrigger()?.close(),r&&(a?o.setActiveItem(a):o.setFirstItemActive()))}_setItems(){this._allItems.changes.pipe(Tr(this._allItems),ln(this.destroyed)).subscribe(e=>{this.items.reset(e.filter(n=>n._parentMenu===this)),this.items.notifyOnChanges()})}_setKeyManager(){this.keyManager=new cd(this.items).withWrap().withTypeAhead().withHomeAndEnd().skipPredicate(()=>!1),this.orientation==="horizontal"?this.keyManager.withHorizontalOrientation(this.dir?.value||"ltr"):this.keyManager.withVerticalOrientation()}_subscribeToMenuOpen(){let e=wr(this.items.changes,this.destroyed);this.items.changes.pipe(Tr(this.items),nf(n=>n.filter(r=>r.hasMenu).map(r=>r.getMenuTrigger().opened.pipe(Y4(r),ln(e)))),G4(),Do(n=>(this.triggerItem=n,n.getMenuTrigger().closed)),ln(this.destroyed)).subscribe(()=>this.triggerItem=void 0)}_subscribeToMenuStackClosed(){this.menuStack.closed.pipe(ln(this.destroyed)).subscribe(({item:e,focusParentTrigger:n})=>this.closeOpenMenu(e,{focusParentTrigger:n}))}_subscribeToMenuStackHasFocus(){this.isInline&&this.menuStack.hasFocus.pipe(ln(this.destroyed)).subscribe(e=>{this._menuStackHasFocus.set(e)})}_setUpPointerTracker(){this.menuAim&&(this.ngZone.runOutsideAngular(()=>{this.pointerTracker=new Qk(this._renderer,this.items)}),this.menuAim.initialize(this,this.pointerTracker))}_handleFocus(){this._focusMonitor.monitor(this.nativeElement,!1).pipe(ln(this.destroyed)).subscribe(e=>{e!==null&&e!=="mouse"&&this.focusFirstItem(e)})}static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275dir=wt({type:i,contentQueries:function(n,r,o){if(n&1&&_n(o,CCe,5),n&2){let a;mt(a=pt())&&(r._allItems=a)}},hostAttrs:["role","menu"],hostVars:4,hostBindings:function(n,r){n&1&&he("focusin",function(){return r.menuStack.setHasFocus(!0)})("focusout",function(){return r.menuStack.setHasFocus(!1)}),n&2&&(sn("tabIndex",r._getTabIndex())("id",r.id),ni("aria-orientation",r.orientation)("data-cdk-menu-stack-id",r.menuStack.id))},inputs:{id:"id"},features:[nn]})}return i})(),YW=(()=>{class i extends MCe{_parentTrigger=R(ZM,{optional:!0});closed=new Pt;orientation="vertical";isInline=!this._parentTrigger;constructor(){super(),this.destroyed.subscribe(this.closed),this._parentTrigger?.registerChildMenu(this)}ngAfterContentInit(){super.ngAfterContentInit(),this._subscribeToMenuStackEmptied()}ngOnDestroy(){super.ngOnDestroy(),this.closed.complete()}_handleKeyEvent(e){let n=this.keyManager;switch(e.keyCode){case 37:case 39:bn(e)||(e.preventDefault(),n.setFocusOrigin("keyboard"),n.onKeydown(e));break;case 27:bn(e)||(e.preventDefault(),this.menuStack.close(this,{focusNextOnEmpty:Eh.currentItem,focusParentTrigger:!0}));break;case 9:bn(e,"altKey","metaKey","ctrlKey")||this.menuStack.closeAll({focusParentTrigger:!0});break;default:n.onKeydown(e)}}_toggleMenuFocus(e){let n=this.keyManager;switch(e){case Eh.nextItem:n.setFocusOrigin("keyboard"),n.setNextItemActive();break;case Eh.previousItem:n.setFocusOrigin("keyboard"),n.setPreviousItemActive();break;case Eh.currentItem:n.activeItem&&(n.setFocusOrigin("keyboard"),n.setActiveItem(n.activeItem));break}}_subscribeToMenuStackEmptied(){this.menuStack.emptied.pipe(ln(this.destroyed)).subscribe(e=>this._toggleMenuFocus(e))}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkMenu",""]],hostAttrs:["role","menu",1,"cdk-menu"],hostVars:2,hostBindings:function(n,r){n&1&&he("keydown",function(a){return r._handleKeyEvent(a)}),n&2&&yt("cdk-menu-inline",r.isInline)},outputs:{closed:"closed"},exportAs:["cdkMenu"],features:[Si([{provide:jW,useExisting:i},{provide:zk,useExisting:i},yCe("vertical")]),nn]})}return i})();var SCe=Gy.map(i=>{let t=i.overlayX==="start"?2:-2,e=i.overlayY==="top"?2:-2;return ei($e({},i),{offsetX:t,offsetY:e})}),ZW=(()=>{class i extends XW{_injector=R(_i);_directionality=R(tr,{optional:!0});_menuTracker=R($W);_changeDetectorRef=R(Li);disabled=!1;constructor(){super(),this._setMenuStackCloseListener()}open(e){this._open(null,e),this._changeDetectorRef.markForCheck()}close(){this.menuStack.closeAll()}_openOnContextMenu(e){this.disabled||(e.preventDefault(),e.stopPropagation(),this._menuTracker.update(this),this._open(e,{x:e.clientX,y:e.clientY}),e.button===2?this.childMenu?.focusFirstItem("mouse"):e.button===0?this.childMenu?.focusFirstItem("keyboard"):this.childMenu?.focusFirstItem("program"))}_getOverlayConfig(e){return new Ss({positionStrategy:this._getOverlayPositionStrategy(e),scrollStrategy:this.menuScrollStrategy(),direction:this._directionality||void 0})}_getOverlayPositionStrategy(e){return Xl(this._injector,e).withLockedPosition().withGrowAfterOpen().withPositions(this.menuPosition??SCe)}_setMenuStackCloseListener(){this.menuStack.closed.pipe(ln(this.destroyed)).subscribe(({item:e})=>{e===this.childMenu&&this.isOpen()&&(this.closed.next(),this.overlayRef.detach(),this.childMenu=void 0,this._changeDetectorRef.markForCheck())})}_subscribeToOutsideClicks(e){if(this.overlayRef){let n=this.overlayRef.outsidePointerEvents();if(e){let[r,o]=j4(n,({type:a})=>a==="auxclick");n=wr(o.pipe(BE((a,s)=>e.ctrlKey&&s===0&&a.ctrlKey)),r.pipe(ys(1)))}n.pipe(ln(this.stopOutsideClicksListener)).subscribe(r=>{this.isElementInsideMenuStack(Ao(r))||this.menuStack.closeAll()})}}_open(e,n){this.disabled||(this.isOpen()?(this.menuStack.closeSubMenuOf(this.childMenu),this.overlayRef.getConfig().positionStrategy.setOrigin(n),this.overlayRef.updatePosition()):(this.opened.next(),this.overlayRef?(this.overlayRef.getConfig().positionStrategy.setOrigin(n),this.overlayRef.updatePosition()):this.overlayRef=Es(this._injector,this._getOverlayConfig(n)),this.overlayRef.attach(this.getMenuContentPortal()),this._subscribeToOutsideClicks(e)))}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkContextMenuTriggerFor",""]],hostVars:1,hostBindings:function(n,r){n&1&&he("contextmenu",function(a){return r._openOnContextMenu(a)}),n&2&&ni("data-cdk-menu-stack-id",null)},inputs:{menuTemplateRef:[0,"cdkContextMenuTriggerFor","menuTemplateRef"],menuPosition:[0,"cdkContextMenuPosition","menuPosition"],menuData:[0,"cdkContextMenuTriggerData","menuData"],disabled:[2,"cdkContextMenuDisabled","disabled",kt]},outputs:{opened:"cdkContextMenuOpened",closed:"cdkContextMenuClosed"},exportAs:["cdkContextMenuTriggerFor"],features:[Si([{provide:ZM,useExisting:i},{provide:Ud,useClass:qk}]),nn]})}return i})();var Gb=i=>Re(kr,t=>ECe(i,t)),ECe=(i,t)=>{let e=t.filter(n=>n.type===i);return e.sort((n,r)=>n.path.localeCompare(r.path)),e};var mg=i=>(i=i.trim(),i.startsWith("*")||i.endsWith("*")||i.startsWith("/")||i.startsWith("./")?i:!i.startsWith('"')&&!i.endsWith('"')?i.startsWith("!")?i:`*${i}*`:i);var JM=(i,t)=>{let e=[],n=t.split(",");if(n[0].startsWith("!")){n[0]=n[0].slice(1);for(let r of n)r.length>0&&e.push({path:`!${mg(r)}`,type:i})}else for(let r of n)if(r.length>0){if(r.startsWith("!"))break;r=mg(r),e.push({path:r,type:i})}return e};var JW="BlacklistExtensionAction",Wk=(i,...t)=>({type:JW,action:{type:i},extensions:t}),ej=(()=>{class i{constructor(e,n){this.actions$=e,this.store=n,this.searchPattern2BlacklistItems$=this.actions$.pipe(qr(JW),Et(r=>({blackListType:r.action.type,extensionToBlacklist:JM(r.action.type,r.extensions.join(","))})),cu()),this.blackListExtensions$=Pi(()=>this.searchPattern2BlacklistItems$.pipe(Yt(r=>r.blackListType==="flatten"||r.blackListType==="exclude"),Oi(r=>{this.store.dispatch(yc({items:r.extensionToBlacklist}))})),{dispatch:!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var tj=Re(lp,i=>i.selectedBuildingId);var eo=Re(tj,wl,(i,t)=>t?.get(i));var eS=Re(br,Or,(i,t)=>BA.getMetricDistribution(i.unifiedMapNode,t));var tS=Re(Ch,eo,Or,eS,(i,t,e,n)=>{let r=i||t;return!r||r.type===Zn.FILE?n:BA.getMetricDistribution(r,e)});function TCe(i){return`*.${i}`}function BCe(i,t){return i===om?t.others.filter(e=>e.fileExtension!==cs).map(e=>e.fileExtension):[i]}function iS(i,t,e){return BCe(i,t).map(r=>{let o=TCe(r);return e?.type===Zn.FOLDER?`${e.path}/**/${o}`:o})}var ij=(()=>{class i{constructor(e){this.store=e,this.operationContext$=Yo([this.store.select(tS),this.store.select(Ch),this.store.select(eo),this.store.select(Gb("flatten"))]).pipe(Et(([n,r,o,a])=>({distribution:n,node:r||o,flattenedItems:a})))}show(e){this.operationContext$.pipe(kn(1)).subscribe(n=>{let r=iS(e,n.distribution,n.node),o=this.createFlattenedItemsMap(n.flattenedItems),a=r.map(s=>o.get(s));this.store.dispatch(tM({items:a}))})}exclude(e){this.operationContext$.pipe(kn(1)).subscribe(n=>{let r=iS(e,n.distribution,n.node);this.store.dispatch(Wk("exclude",...r))})}flatten(e){this.operationContext$.pipe(kn(1)).subscribe(n=>{let r=iS(e,n.distribution,n.node);this.store.dispatch(Wk("flatten",...r))})}getIsFlattenedByFileExtension(e){return this.operationContext$.pipe(Et(n=>iS(e,n.distribution,n.node).every(o=>n.flattenedItems.some(a=>a.path===o))))}createFlattenedItemsMap(e){let n=new Map;for(let r of e)n.set(r.path,r);return n}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var nj=(()=>{class i{constructor(e,n){this.threeSceneService=e,this.store=n,this.metricDistribution$=this.store.select(eS),this.fileExtensionsOfOthers=new Set,this.fileExtensionsOfNone=new Set,this.metricDistribution$.pipe(J4(),Yt(r=>!!r)).subscribe(r=>{this.fileExtensionsOfOthers.clear();for(let o of r.others)this.fileExtensionsOfOthers.add(o.fileExtension);this.fileExtensionsOfNone.clear();for(let o of r.none)this.fileExtensionsOfNone.add(o.fileExtension)})}highlightExtension(e){switch(e){case om:this.threeSceneService.highlightBuildingsByExtension(this.fileExtensionsOfOthers);break;case cs:this.threeSceneService.highlightBuildingsWithoutExtensions();break;default:this.threeSceneService.highlightBuildingsByExtension(new Set([e]));break}}clearHighlightingOnFileExtensions(){this.threeSceneService.applyClearHightlights()}static{this.\u0275fac=function(n){return new(n||i)(Me(vr),Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function DCe(i,t){if(i&1){let e=st();S(0,"button",8),he("click",function(){Ve(e);let r=me(3);return Qe(r.show(r.fileExtension()))}),J(1,"i",9),S(2,"span"),j(3,"Show"),F()()}}function kCe(i,t){if(i&1){let e=st();S(0,"button",10),he("click",function(){Ve(e);let r=me(3);return Qe(r.flatten(r.fileExtension()))}),J(1,"img",11),S(2,"span"),j(3,"Flatten"),F()()}i&2&&(E(),z("width",17)("height",17))}function PCe(i,t){if(i&1){let e=st();S(0,"mat-card",3),ke(1,DCe,4,0,"button",4)(2,kCe,4,2,"button",5),S(3,"button",6),he("click",function(){Ve(e);let r=me(2);return Qe(r.exclude(r.fileExtension()))}),J(4,"i",7),S(5,"span"),j(6,"Exclude"),F()()()}if(i&2){let e=me(2);E(),Pe(e.isFlattened()?1:2)}}function RCe(i,t){if(i&1&&ke(0,PCe,7,1,"mat-card",3),i&2){let e=me();Pe(e.hasFileExtension()?0:-1)}}var rj=(()=>{class i{constructor(e,n){this.blackListExtensionService=e,this.highlightBuildingsByFileExtensionService=n,this.item=c0.required(),this.showAbsoluteValues=c0.required(),this.toggleShowAbsoluteValues=IO(),this.isFlattened=Gi(!1),this.fileExtension=Ir(()=>this.item().fileExtension),this.hasFileExtension=Ir(()=>this.fileExtension()!=="None"),this.formattedTitle=Ir(()=>this.formatTitle(this.showAbsoluteValues(),this.item(),this.fileExtension()))}ngOnInit(){this.flattenSubscription=this.blackListExtensionService.getIsFlattenedByFileExtension(this.fileExtension()).subscribe(e=>this.isFlattened.set(e))}ngOnDestroy(){this.flattenSubscription?.unsubscribe()}flatten(e){this.blackListExtensionService.flatten(e)}exclude(e){this.blackListExtensionService.exclude(e)}show(e){this.blackListExtensionService.show(e)}onHoverFileExtensionBar(e){this.highlightBuildingsByFileExtensionService.highlightExtension(e)}onUnhoverFileExtensionBar(){this.highlightBuildingsByFileExtensionService.clearHighlightingOnFileExtensions()}formatTitle(e,n,r){return e&&n.absoluteMetricValue||!e&&n.relativeMetricValue?e?`${r} ${n.absoluteMetricValue.toLocaleString()}`:`${r} ${n.relativeMetricValue.toFixed(2)}%`:"No data available"}get backgroundColor(){return this.item().color}get flexGrow(){return this.item().relativeMetricValue}get flexBasis(){return"0"}static{this.\u0275fac=function(n){return new(n||i)(se(ij),se(nj))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-file-extension-bar-segment"]],hostVars:6,hostBindings:function(n,r){n&2&&pi("background-color",r.backgroundColor)("flex-grow",r.flexGrow)("flex-basis",r.flexBasis)},inputs:{item:[1,"item"],showAbsoluteValues:[1,"showAbsoluteValues"]},outputs:{toggleShowAbsoluteValues:"toggleShowAbsoluteValues"},decls:5,vars:3,consts:[["contextMenu",""],[1,"cc-bar-section",3,"click","cdkContextMenuTriggerFor"],["data-test-id","formattedTitle",1,"cc-bar-section-text",3,"mouseover","mouseleave","title"],["cdkMenu",""],["mat-menu-item","","data-test-id","showBuilding"],["mat-menu-item","","data-test-id","flattenBuilding"],["mat-menu-item","","data-test-id","excludeBuilding",3,"click"],[1,"fa","fa-ban","menu-icon"],["mat-menu-item","","data-test-id","showBuilding",3,"click"],[1,"fa","fa-eye","menu-icon"],["mat-menu-item","","data-test-id","flattenBuilding",3,"click"],["alt","flattenIcon","ngSrc","/codeCharta/assets/flatten.png",1,"png-icon","menu-icon",3,"width","height"]],template:function(n,r){if(n&1){let o=st();S(0,"span",1),he("click",function(){return Ve(o),Qe(r.toggleShowAbsoluteValues.emit())}),S(1,"div",2),he("mouseover",function(){return Ve(o),Qe(r.onHoverFileExtensionBar(r.fileExtension()))})("mouseleave",function(){return Ve(o),Qe(r.onUnhoverFileExtensionBar())}),j(2),F()(),Sn(3,RCe,1,1,"ng-template",null,0,il)}if(n&2){let o=Pn(4);z("cdkContextMenuTriggerFor",o),E(),z("title",r.formattedTitle()),E(),ct(" ",r.formattedTitle()," ")}},dependencies:[ZW,_c,YW,Am,gL],styles:["[_nghost-%COMP%]{min-width:max-content;cursor:pointer;color:#fff;text-align:center;overflow:hidden}.cc-bar-section[_ngcontent-%COMP%] .cc-bar-section-text[_ngcontent-%COMP%]{font-size:10px;margin:2px 0;white-space:nowrap;padding:0 10px}"]})}}return i})();var oj=(()=>{class i{constructor(e){this.store=e,this.hoveredNodeMetricDistribution$=this.store.select(tS)}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var LCe=(i,t)=>t.fileExtension;function NCe(i,t){if(i&1){let e=st();S(0,"cc-file-extension-bar-segment",4),he("toggleShowAbsoluteValues",function(){Ve(e);let r=me();return Qe(r.toggleShowAbsoluteValues())}),F()}if(i&2){let e=t.$implicit,n=me();z("item",e)("showAbsoluteValues",n.showAbsoluteValues)}}var aj=(()=>{class i{constructor(e){this.metricDistributionService=e,this.showAbsoluteValues=!1}ngOnInit(){this.metricDistributionService.hoveredNodeMetricDistribution$.subscribe(e=>{this.metricDistribution=e})}toggleShowAbsoluteValues(){this.showAbsoluteValues=!this.showAbsoluteValues}static{this.\u0275fac=function(n){return new(n||i)(se(oj))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-file-extension-bar"]],decls:5,vars:0,consts:[[1,"cc-distribution"],["title","Distribution metric"],[1,"cc-bar"],[3,"item","showAbsoluteValues"],[3,"toggleShowAbsoluteValues","item","showAbsoluteValues"]],template:function(n,r){n&1&&(S(0,"div",0),J(1,"cc-distribution-metric",1),S(2,"div",2),xi(3,NCe,1,2,"cc-file-extension-bar-segment",3,LCe),F()()),n&2&&(E(3),wi(r.metricDistribution.visible))},dependencies:[WW,rj],styles:[".cc-distribution[_ngcontent-%COMP%]{display:flex;height:17px;width:100%}.cc-distribution[_ngcontent-%COMP%] .cc-bar[_ngcontent-%COMP%]{display:flex;gap:1px;width:100%}"]})}}return i})();var nS=Re(hi,i=>i.isSearchPanelPinned);var UCe=["*"],pg=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-ribbon-bar-panel-settings"]],ngContentSelectors:UCe,decls:1,vars:0,template:function(n,r){n&1&&(ki(),Gt(0))},styles:["[_nghost-%COMP%]{z-index:1;display:flex;flex-direction:column;padding:6px;position:absolute;left:6px;top:45px;background:#fff;border:1px solid #b5b5b5;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}"]})}}return i})();var HCe=["toggle"],VCe=["toggleHeader"],QCe=[[["cc-ribbon-bar-panel-settings"]],[["",8,"toggleheader"]],"*"],zCe=["cc-ribbon-bar-panel-settings",".toggleHeader","*"];function qCe(i,t){if(i&1){let e=st();S(0,"div",6,0),he("click",function(){Ve(e);let r=me();return Qe(r.toggleSettings())}),Gt(2,1),F()}}function GCe(i,t){i&1&&(S(0,"div",4),Gt(1,2),F())}function WCe(i,t){if(i&1&&J(0,"i"),i&2){let e=me(2);Xi("fa fa-angle-"+(e.isExpanded?"up":"down"))}}function jCe(i,t){if(i&1){let e=st();S(0,"div",7,1),he("click",function(){Ve(e);let r=me();return Qe(r.toggleSettings())}),j(2),ke(3,WCe,1,2,"i",8),F()}if(i&2){let e=me();E(2),ct(" ",e.title," "),E(),Pe(e.hasSettings?3:-1)}}var Wb=(()=>{class i{get hasSettings(){return!!this.settingsRef}constructor(e){this.viewReference=e,this.collapseOnPanelClick=!0,this.separator=!1,this.isExpanded=!1,this.isHeaderExpandable=!1,this.isPinned=!1,this.toggleSettingsChange=new Pt}ngOnInit(){this.mouseDownListener=e=>this.collapseOnOutsideClick(e),document.addEventListener("mousedown",this.mouseDownListener)}ngOnDestroy(){this.mouseDownListener&&document.removeEventListener("mousedown",this.mouseDownListener)}toggleSettings(){this.isExpanded=!this.isExpanded,this.toggleSettingsChange.emit(this.isExpanded)}collapseOnOutsideClick(e){if(this.isPinned)return;let n=e.target,r=document.querySelector(".cdk-overlay-container"),o=this.viewReference.element.nativeElement.contains(n),a=r?r.contains(n):!1,s=this.settingsRef?.nativeElement?.contains(n)??!1,l=this.toggleSettingsRef.nativeElement.contains(n),c=this.toggleHeaderRef?.nativeElement.contains(n)??!1;!a&&!s&&!l&&!c&&(!o||this.collapseOnPanelClick)&&(this.isExpanded=!1)}static{this.\u0275fac=function(n){return new(n||i)(se(Hr))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-ribbon-bar-panel"]],contentQueries:function(n,r,o){if(n&1&&_n(o,pg,5,Ft),n&2){let a;mt(a=pt())&&(r.settingsRef=a.first)}},viewQuery:function(n,r){if(n&1&&(Nt(HCe,5),Nt(VCe,5)),n&2){let o;mt(o=pt())&&(r.toggleSettingsRef=o.first),mt(o=pt())&&(r.toggleHeaderRef=o.first)}},hostVars:6,hostBindings:function(n,r){n&2&&yt("separator",r.separator)("expanded",r.isExpanded)("expandable",r.hasSettings)},inputs:{title:"title",collapseOnPanelClick:"collapseOnPanelClick",separator:"separator",isHeaderExpandable:"isHeaderExpandable",isPinned:"isPinned"},outputs:{toggleSettingsChange:"toggleSettingsChange"},ngContentSelectors:zCe,decls:6,vars:2,consts:[["toggleHeader",""],["toggle",""],["appearance","outlined"],[1,"section"],[1,"section-header"],[1,"section-title"],[1,"section-header",3,"click"],[1,"section-title",3,"click"],[3,"class"]],template:function(n,r){n&1&&(ki(QCe),S(0,"mat-card",2)(1,"div",3),ke(2,qCe,3,0,"div",4)(3,GCe,2,0,"div",4),ke(4,jCe,4,2,"div",5),F(),Gt(5),F()),n&2&&(E(2),Pe(r.isHeaderExpandable?2:3),E(2),Pe(r.title||r.hasSettings?4:-1))},dependencies:[_c],styles:["mat-card[_ngcontent-%COMP%]{padding:0;height:46px;border-radius:0;border-top:1px solid #cdcdcd;flex:1 1 0}[_nghost-%COMP%]:not(.expanded) mat-card[_ngcontent-%COMP%]{overflow:hidden}.section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{margin:0 5px;height:31px;color:#444;overflow:hidden;padding:5px}.section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:8pt;color:gray;text-align:center;transition:background-color .4s;border-bottom:1px solid transparent;white-space:nowrap;margin:0 5px}.separator[_nghost-%COMP%] .section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12)}.expandable[_nghost-%COMP%] .section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]:hover{background-color:#e0e0e0;cursor:pointer}"]})}}return i})();var $Ce=i=>i===""||i==="!"||i===",",Ag=Re(Ls,$Ce);var rS=(i,t,e)=>{let n=e.trim().split(",");if(e.trim().startsWith("!")){n[0]=n[0].slice(1);for(let r of n){let o=`!${mg(r)}`;if(i.some(a=>o===a.path&&t===a.type))return!0}return!1}for(let r of n)if(i.some(o=>mg(r)===o.path&&t===o.type))return!0;return!1};var sj=Re(Ls,Ag,kr,(i,t,e)=>t?!0:rS(e,"flatten",i));var lj=Re(Ls,Ag,kr,(i,t,e)=>t?!0:rS(e,"exclude",i));var cj=(i,t,e)=>{let n=[...t,...e];for(let{file:r}of i)if(!XCe(r,n))return!1;return!0},XCe=(i,t)=>{for(let e of Ni(i.map))if(KCe(e,t))return!1;return!0},KCe=(i,t)=>Yi(i)&&i.data.path&&!ga(i.data.path,t,"exclude");var oS=(()=>{class i{constructor(e,n,r){this.actions$=e,this.store=n,this.dialog=r,this.doBlacklistItemsResultInEmptyMap$=this.actions$.pipe(qr(ig),hr(this.store.select(ir),this.store.select(kr)),Et(([o,a,s])=>({items:o.items,resultsInEmptyMap:cj(a,s,o.items)})),cu()),this.showErrorDialogIfBlacklistItemsResultInEmptyMap$=Pi(()=>this.doBlacklistItemsResultInEmptyMap$.pipe(Yt(o=>o.resultsInEmptyMap),Oi(()=>{this.dialog.open(es,{data:{title:"Blacklist Error",message:"Excluding all buildings is not possible."}})})),{dispatch:!1}),this.addBlacklistItems$=Pi(()=>this.doBlacklistItemsResultInEmptyMap$.pipe(Yt(o=>!o.resultsInEmptyMap),Et(o=>yc({items:o.items}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(Ie),Me(fn))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var dj=i=>({type:"BlacklistSearchPatternAction",action:{type:i}}),uj=(()=>{class i{constructor(e,n,r){this.actions$=e,this.store=n,this.addBlacklistItemsIfNotResultsInEmptyMapEffect=r,this.searchPattern2BlacklistItems$=this.actions$.pipe(qr("BlacklistSearchPatternAction"),hr(this.store.select(Ls)),Et(([o,a])=>({type:o.action.type,blacklistItems:JM(o.action.type,a)})),cu()),this.flattenSearchPattern$=Pi(()=>this.searchPattern2BlacklistItems$.pipe(Yt(o=>o.type==="flatten"),Oi(o=>{this.store.dispatch(yc({items:o.blacklistItems})),this.store.dispatch(ja({value:""}))})),{dispatch:!1}),this.excludeSearchPattern$=Pi(()=>this.searchPattern2BlacklistItems$.pipe(Yt(o=>o.type==="exclude"),Oi(()=>{this.addBlacklistItemsIfNotResultsInEmptyMapEffect.doBlacklistItemsResultInEmptyMap$.pipe(kn(1),Yt(o=>!o.resultsInEmptyMap),Oi(()=>{this.store.dispatch(ja({value:""}))})).subscribe()}),Et(o=>ig({items:o.blacklistItems}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(Ie),Me(oS))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var gg=(()=>{class i{get vertical(){return this._vertical}set vertical(e){this._vertical=_o(e)}_vertical=!1;get inset(){return this._inset}set inset(e){this._inset=_o(e)}_inset=!1;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=re({type:i,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(n,r){n&2&&(ni("aria-orientation",r.vertical?"vertical":"horizontal"),yt("mat-divider-vertical",r.vertical)("mat-divider-horizontal",!r.vertical)("mat-divider-inset",r.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(n,r){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}
5184
+ `))},dependencies:[dt],styles:["[_nghost-%COMP%]{min-width:max-content;display:flex;align-items:center;font-size:12px;gap:6px;margin-left:5px;margin-right:5px}"]})}}return i})();var jW=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkMenuGroup",""]],hostAttrs:["role","group",1,"cdk-menu-group"],exportAs:["cdkMenuGroup"],features:[Si([{provide:rh,useClass:rh}])]})}return i})(),zk=new Je("cdk-menu"),Eh=(function(i){return i[i.nextItem=0]="nextItem",i[i.previousItem=1]="previousItem",i[i.currentItem=2]="currentItem",i})(Eh||{}),Ud=new Je("cdk-menu-stack"),vCe={provide:Ud,deps:[[new Jv,new FE,new Km(Ud)]],useFactory:i=>i||new qk},yCe=i=>({provide:Ud,deps:[[new Jv,new FE,new Km(Ud)]],useFactory:t=>t||qk.inline(i)}),qk=(()=>{class i{id=R(hn).getId("cdk-menu-stack-");_elements=[];_close=new Bt;_empty=new Bt;_hasFocus=new Bt;closed=this._close;hasFocus=this._hasFocus.pipe(Tr(!1),vs(0),tl());emptied=this._empty;_inlineMenuOrientation=null;static inline(e){let n=new i;return n._inlineMenuOrientation=e,n}push(e){this._elements.push(e)}close(e,n){let{focusNextOnEmpty:r,focusParentTrigger:o}=$e({},n);if(this._elements.indexOf(e)>=0){let a;do a=this._elements.pop(),this._close.next({item:a,focusParentTrigger:o});while(a!==e);this.isEmpty()&&this._empty.next(r)}}closeSubMenuOf(e){let n=!1;if(this._elements.indexOf(e)>=0)for(n=this.peek()!==e;this.peek()!==e;)this._close.next({item:this._elements.pop()});return n}closeAll(e){let{focusNextOnEmpty:n,focusParentTrigger:r}=$e({},e);if(!this.isEmpty()){for(;!this.isEmpty();){let o=this._elements.pop();o&&this._close.next({item:o,focusParentTrigger:r})}this._empty.next(n)}}isEmpty(){return!this._elements.length}length(){return this._elements.length}peek(){return this._elements[this._elements.length-1]}hasInlineMenu(){return this._inlineMenuOrientation!=null}inlineMenuOrientation(){return this._inlineMenuOrientation}setHasFocus(e){this._hasFocus.next(e)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=Ue({token:i,factory:i.\u0275fac})}return i})(),ZM=new Je("cdk-menu-trigger"),xCe=new Je("cdk-menu-scroll-strategy",{providedIn:"root",factory:()=>{let i=R(_i);return()=>cl(i)}}),$W=(()=>{class i{static _openMenuTrigger;update(e){i._openMenuTrigger!==e&&(i._openMenuTrigger?.close(),i._openMenuTrigger=e)}static \u0275fac=function(n){return new(n||i)};static \u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),XW=(()=>{class i{injector=R(_i);viewContainerRef=R(Hr);menuStack=R(Ud);menuScrollStrategy=R(xCe);menuPosition;opened=new Pt;closed=new Pt;menuTemplateRef;menuData;overlayRef=null;destroyed=new Bt;stopOutsideClicksListener=wr(this.closed,this.destroyed);childMenu;_menuPortal;_childMenuInjector;ngOnDestroy(){this._destroyOverlay(),this.destroyed.next(),this.destroyed.complete()}isOpen(){return!!this.overlayRef?.hasAttached()}registerChildMenu(e){this.childMenu=e}getMenuContentPortal(){let e=this.menuTemplateRef!==this._menuPortal?.templateRef;return this.menuTemplateRef&&(!this._menuPortal||e)&&(this._menuPortal=new Za(this.menuTemplateRef,this.viewContainerRef,this.menuData,this._getChildMenuInjector())),this._menuPortal}isElementInsideMenuStack(e){for(let n=e;n;n=n?.parentElement??null)if(n.getAttribute("data-cdk-menu-stack-id")===this.menuStack.id)return!0;return!1}_destroyOverlay(){this.overlayRef&&(this.overlayRef.dispose(),this.overlayRef=null)}_getChildMenuInjector(){return this._childMenuInjector=this._childMenuInjector||_i.create({providers:[{provide:ZM,useValue:this},{provide:Ud,useValue:this.menuStack}],parent:this.injector}),this._childMenuInjector}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,hostVars:2,hostBindings:function(n,r){n&2&&ni("aria-controls",r.childMenu==null?null:r.childMenu.id)("data-cdk-menu-stack-id",r.menuStack.id)}})}return i})();var Gk=new Je("cdk-menu-aim");function KW(i,t){if(!t.isTrusted)return!1;let e=i.nativeElement,n=t.keyCode;return e.nodeName==="BUTTON"&&!e.disabled?n===13||n===32:e.nodeName==="A"?n===13:!1}var wCe=(()=>{class i extends XW{_elementRef=R(Ft);_ngZone=R(ti);_changeDetectorRef=R(Li);_inputModalityDetector=R(H0);_directionality=R(tr,{optional:!0});_renderer=R(cn);_injector=R(_i);_cleanupMouseenter;_menuTracker=R($W);_parentMenu=R(zk,{optional:!0});_menuAim=R(Gk,{optional:!0});constructor(){super(),this._setRole(),this._registerCloseHandler(),this._subscribeToMenuStackClosed(),this._subscribeToMouseEnter(),this._subscribeToMenuStackHasFocus(),this._setType()}toggle(){this.isOpen()?this.close():this.open()}open(){this._parentMenu||this._menuTracker.update(this),!this.isOpen()&&this.menuTemplateRef!=null&&(this.opened.next(),this.overlayRef=this.overlayRef||Es(this._injector,this._getOverlayConfig()),this.overlayRef.attach(this.getMenuContentPortal()),this._changeDetectorRef.markForCheck(),this._subscribeToOutsideClicks())}close(){this.isOpen()&&(this.closed.next(),this.overlayRef.detach(),this._changeDetectorRef.markForCheck()),this._closeSiblingTriggers()}getMenu(){return this.childMenu}ngOnChanges(e){e.menuPosition&&this.overlayRef&&this.overlayRef.updatePositionStrategy(this._getOverlayPositionStrategy())}ngOnDestroy(){this._cleanupMouseenter(),super.ngOnDestroy()}_toggleOnKeydown(e){let n=this._parentMenu?.orientation==="vertical";switch(e.keyCode){case 32:case 13:!bn(e)&&!KW(this._elementRef,e)&&(this.toggle(),this.childMenu?.focusFirstItem("keyboard"));break;case 39:bn(e)||this._parentMenu&&n&&this._directionality?.value!=="rtl"&&(e.preventDefault(),this.open(),this.childMenu?.focusFirstItem("keyboard"));break;case 37:bn(e)||this._parentMenu&&n&&this._directionality?.value==="rtl"&&(e.preventDefault(),this.open(),this.childMenu?.focusFirstItem("keyboard"));break;case 40:case 38:bn(e)||n||(e.preventDefault(),this.open(),e.keyCode===40?this.childMenu?.focusFirstItem("keyboard"):this.childMenu?.focusLastItem("keyboard"));break}}_handleClick(){this.toggle(),this.childMenu?.focusFirstItem("mouse")}_setHasFocus(e){this._parentMenu||this.menuStack.setHasFocus(e)}_subscribeToMouseEnter(){this._cleanupMouseenter=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"mouseenter",()=>{if(this._inputModalityDetector.mostRecentModality!=="touch"&&!this.menuStack.isEmpty()&&!this.isOpen()){let e=()=>this._ngZone.run(()=>{this._closeSiblingTriggers(),this.open()});this._menuAim?this._menuAim.toggle(e):e()}}))}_closeSiblingTriggers(){this._parentMenu?!this.menuStack.closeSubMenuOf(this._parentMenu)&&this.menuStack.peek()!==this._parentMenu&&this.menuStack.closeAll():this.menuStack.closeAll()}_getOverlayConfig(){return new Ss({positionStrategy:this._getOverlayPositionStrategy(),scrollStrategy:this.menuScrollStrategy(),direction:this._directionality||void 0})}_getOverlayPositionStrategy(){return Xl(this._injector,this._elementRef).withLockedPosition().withFlexibleDimensions(!1).withPositions(this._getOverlayPositions())}_getOverlayPositions(){return this.menuPosition??(!this._parentMenu||this._parentMenu.orientation==="horizontal"?Gy:JT)}_registerCloseHandler(){this._parentMenu||this.menuStack.closed.pipe(ln(this.destroyed)).subscribe(({item:e})=>{e===this.childMenu&&this.close()})}_subscribeToOutsideClicks(){this.overlayRef&&this.overlayRef.outsidePointerEvents().pipe(ln(this.stopOutsideClicksListener)).subscribe(e=>{let n=Ao(e),r=this._elementRef.nativeElement;n!==r&&!r.contains(n)&&(this.isElementInsideMenuStack(n)?this._closeSiblingTriggers():this.menuStack.closeAll())})}_subscribeToMenuStackHasFocus(){this._parentMenu||this.menuStack.hasFocus.pipe(ln(this.destroyed)).subscribe(e=>{e||this.menuStack.closeAll()})}_subscribeToMenuStackClosed(){this._parentMenu||this.menuStack.closed.subscribe(({focusParentTrigger:e})=>{e&&!this.menuStack.length()&&this._elementRef.nativeElement.focus()})}_setRole(){this._parentMenu||this._elementRef.nativeElement.setAttribute("role","button")}_setType(){let e=this._elementRef.nativeElement;e.nodeName==="BUTTON"&&!e.getAttribute("type")&&e.setAttribute("type","button")}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkMenuTriggerFor",""]],hostAttrs:[1,"cdk-menu-trigger"],hostVars:2,hostBindings:function(n,r){n&1&&he("focusin",function(){return r._setHasFocus(!0)})("focusout",function(){return r._setHasFocus(!1)})("keydown",function(a){return r._toggleOnKeydown(a)})("click",function(){return r._handleClick()}),n&2&&ni("aria-haspopup",r.menuTemplateRef?"menu":null)("aria-expanded",r.menuTemplateRef==null?null:r.isOpen())},inputs:{menuTemplateRef:[0,"cdkMenuTriggerFor","menuTemplateRef"],menuPosition:[0,"cdkMenuPosition","menuPosition"],menuData:[0,"cdkMenuTriggerData","menuData"]},outputs:{opened:"cdkMenuOpened",closed:"cdkMenuClosed"},exportAs:["cdkMenuTriggerFor"],features:[Si([{provide:ZM,useExisting:i},vCe]),nn,Di]})}return i})(),CCe=(()=>{class i{_dir=R(tr,{optional:!0});_elementRef=R(Ft);_ngZone=R(ti);_inputModalityDetector=R(H0);_renderer=R(cn);_cleanupMouseEnter;_menuAim=R(Gk,{optional:!0});_menuStack=R(Ud);_parentMenu=R(zk,{optional:!0});_menuTrigger=R(wCe,{optional:!0,self:!0});disabled=!1;typeaheadLabel;triggered=new Pt;get hasMenu(){return this._menuTrigger?.menuTemplateRef!=null}_tabindex=-1;closeOnSpacebarTrigger=!0;destroyed=new Bt;constructor(){this._setupMouseEnter(),this._setType(),this._isStandaloneItem()&&(this._tabindex=0)}ngOnDestroy(){this._cleanupMouseEnter?.(),this.destroyed.next(),this.destroyed.complete()}focus(){this._elementRef.nativeElement.focus()}trigger(e){let{keepOpen:n}=$e({},e);!this.disabled&&!this.hasMenu&&(this.triggered.next(),n||this._menuStack.closeAll({focusParentTrigger:!0}))}isMenuOpen(){return!!this._menuTrigger?.isOpen()}getMenu(){return this._menuTrigger?.getMenu()}getMenuTrigger(){return this._menuTrigger}getLabel(){return this.typeaheadLabel||this._elementRef.nativeElement.textContent?.trim()||""}_resetTabIndex(){this._isStandaloneItem()||(this._tabindex=-1)}_setTabIndex(e){this.disabled||(!e||!this._menuStack.isEmpty())&&(this._tabindex=0)}_handleClick(e){this.disabled?(e.preventDefault(),e.stopPropagation()):this.trigger()}_onKeydown(e){switch(e.keyCode){case 32:case 13:if(!bn(e)&&!KW(this._elementRef,e)){let n=this._elementRef.nativeElement.nodeName;n!=="A"&&n!=="BUTTON"&&e.preventDefault(),this.trigger({keepOpen:e.keyCode===32&&!this.closeOnSpacebarTrigger})}break;case 39:bn(e)||this._parentMenu&&this._isParentVertical()&&(this._dir?.value!=="rtl"?this._forwardArrowPressed(e):this._backArrowPressed(e));break;case 37:bn(e)||this._parentMenu&&this._isParentVertical()&&(this._dir?.value!=="rtl"?this._backArrowPressed(e):this._forwardArrowPressed(e));break}}_isStandaloneItem(){return!this._parentMenu}_backArrowPressed(e){let n=this._parentMenu;(this._menuStack.hasInlineMenu()||this._menuStack.length()>1)&&(e.preventDefault(),this._menuStack.close(n,{focusNextOnEmpty:this._menuStack.inlineMenuOrientation()==="horizontal"?Eh.previousItem:Eh.currentItem,focusParentTrigger:!0}))}_forwardArrowPressed(e){!this.hasMenu&&this._menuStack.inlineMenuOrientation()==="horizontal"&&(e.preventDefault(),this._menuStack.closeAll({focusNextOnEmpty:Eh.nextItem,focusParentTrigger:!0}))}_setupMouseEnter(){if(!this._isStandaloneItem()){let e=()=>this._ngZone.run(()=>this._menuStack.closeSubMenuOf(this._parentMenu));this._cleanupMouseEnter=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"mouseenter",()=>{this._inputModalityDetector.mostRecentModality!=="touch"&&!this._menuStack.isEmpty()&&!this.hasMenu&&(this._menuAim?this._menuAim.toggle(e):e())}))}}_isParentVertical(){return this._parentMenu?.orientation==="vertical"}_setType(){let e=this._elementRef.nativeElement;e.nodeName==="BUTTON"&&!e.getAttribute("type")&&e.setAttribute("type","button")}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkMenuItem",""]],hostAttrs:["role","menuitem",1,"cdk-menu-item"],hostVars:4,hostBindings:function(n,r){n&1&&he("blur",function(){return r._resetTabIndex()})("focus",function(){return r._setTabIndex()})("click",function(a){return r._handleClick(a)})("keydown",function(a){return r._onKeydown(a)}),n&2&&(sn("tabIndex",r._tabindex),ni("aria-disabled",r.disabled||null),yt("cdk-menu-item-disabled",r.disabled))},inputs:{disabled:[2,"cdkMenuItemDisabled","disabled",kt],typeaheadLabel:[0,"cdkMenuitemTypeaheadLabel","typeaheadLabel"]},outputs:{triggered:"cdkMenuItemTriggered"},exportAs:["cdkMenuItem"]})}return i})(),Qk=class{_renderer;_items;_eventCleanups;_itemsSubscription;entered=new Bt;exited=new Bt;activeElement;previousElement;constructor(t,e){this._renderer=t,this._items=e,this._bindEvents(),this.entered.subscribe(n=>this.activeElement=n),this.exited.subscribe(()=>{this.previousElement=this.activeElement,this.activeElement=void 0})}destroy(){this._cleanupEvents(),this._itemsSubscription?.unsubscribe()}_bindEvents(){this._itemsSubscription=this._items.changes.pipe(Tr(this._items)).subscribe(()=>{this._cleanupEvents(),this._eventCleanups=[],this._items.forEach(t=>{let e=t._elementRef.nativeElement;this._eventCleanups.push(this._renderer.listen(e,"mouseenter",()=>{this.entered.next(t)}),this._renderer.listen(e,"mouseout",()=>{this.exited.next(t)}))})})}_cleanupEvents(){this._eventCleanups?.forEach(t=>t()),this._eventCleanups=void 0}},MCe=(()=>{class i extends jW{_focusMonitor=R(go);ngZone=R(ti);_renderer=R(cn);nativeElement=R(Ft).nativeElement;menuStack=R(Ud);menuAim=R(Gk,{optional:!0,self:!0});dir=R(tr,{optional:!0});_allItems;id=R(hn).getId("cdk-menu-");items=new Xc;orientation="vertical";isInline=!1;keyManager;destroyed=new Bt;triggerItem;pointerTracker;_menuStackHasFocus=Gi(!1);_tabIndexSignal=Ir(()=>{let e=this._menuStackHasFocus()?-1:0;return this.isInline?e:null});ngAfterContentInit(){this.isInline||this.menuStack.push(this),this._setItems(),this._setKeyManager(),this._handleFocus(),this._subscribeToMenuStackHasFocus(),this._subscribeToMenuOpen(),this._subscribeToMenuStackClosed(),this._setUpPointerTracker()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this.nativeElement),this.keyManager?.destroy(),this.destroyed.next(),this.destroyed.complete(),this.pointerTracker?.destroy()}focusFirstItem(e="program"){this.keyManager.setFocusOrigin(e),this.keyManager.setFirstItemActive()}focusLastItem(e="program"){this.keyManager.setFocusOrigin(e),this.keyManager.setLastItemActive()}setActiveMenuItem(e){this.keyManager?.setActiveItem(e)}_getTabIndex(){return this._tabIndexSignal()}closeOpenMenu(e,n){let{focusParentTrigger:r}=$e({},n),o=this.keyManager,a=this.triggerItem;e===a?.getMenuTrigger()?.getMenu()&&(a?.getMenuTrigger()?.close(),r&&(a?o.setActiveItem(a):o.setFirstItemActive()))}_setItems(){this._allItems.changes.pipe(Tr(this._allItems),ln(this.destroyed)).subscribe(e=>{this.items.reset(e.filter(n=>n._parentMenu===this)),this.items.notifyOnChanges()})}_setKeyManager(){this.keyManager=new cd(this.items).withWrap().withTypeAhead().withHomeAndEnd().skipPredicate(()=>!1),this.orientation==="horizontal"?this.keyManager.withHorizontalOrientation(this.dir?.value||"ltr"):this.keyManager.withVerticalOrientation()}_subscribeToMenuOpen(){let e=wr(this.items.changes,this.destroyed);this.items.changes.pipe(Tr(this.items),nf(n=>n.filter(r=>r.hasMenu).map(r=>r.getMenuTrigger().opened.pipe(Y4(r),ln(e)))),G4(),Do(n=>(this.triggerItem=n,n.getMenuTrigger().closed)),ln(this.destroyed)).subscribe(()=>this.triggerItem=void 0)}_subscribeToMenuStackClosed(){this.menuStack.closed.pipe(ln(this.destroyed)).subscribe(({item:e,focusParentTrigger:n})=>this.closeOpenMenu(e,{focusParentTrigger:n}))}_subscribeToMenuStackHasFocus(){this.isInline&&this.menuStack.hasFocus.pipe(ln(this.destroyed)).subscribe(e=>{this._menuStackHasFocus.set(e)})}_setUpPointerTracker(){this.menuAim&&(this.ngZone.runOutsideAngular(()=>{this.pointerTracker=new Qk(this._renderer,this.items)}),this.menuAim.initialize(this,this.pointerTracker))}_handleFocus(){this._focusMonitor.monitor(this.nativeElement,!1).pipe(ln(this.destroyed)).subscribe(e=>{e!==null&&e!=="mouse"&&this.focusFirstItem(e)})}static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275dir=wt({type:i,contentQueries:function(n,r,o){if(n&1&&_n(o,CCe,5),n&2){let a;mt(a=pt())&&(r._allItems=a)}},hostAttrs:["role","menu"],hostVars:4,hostBindings:function(n,r){n&1&&he("focusin",function(){return r.menuStack.setHasFocus(!0)})("focusout",function(){return r.menuStack.setHasFocus(!1)}),n&2&&(sn("tabIndex",r._getTabIndex())("id",r.id),ni("aria-orientation",r.orientation)("data-cdk-menu-stack-id",r.menuStack.id))},inputs:{id:"id"},features:[nn]})}return i})(),YW=(()=>{class i extends MCe{_parentTrigger=R(ZM,{optional:!0});closed=new Pt;orientation="vertical";isInline=!this._parentTrigger;constructor(){super(),this.destroyed.subscribe(this.closed),this._parentTrigger?.registerChildMenu(this)}ngAfterContentInit(){super.ngAfterContentInit(),this._subscribeToMenuStackEmptied()}ngOnDestroy(){super.ngOnDestroy(),this.closed.complete()}_handleKeyEvent(e){let n=this.keyManager;switch(e.keyCode){case 37:case 39:bn(e)||(e.preventDefault(),n.setFocusOrigin("keyboard"),n.onKeydown(e));break;case 27:bn(e)||(e.preventDefault(),this.menuStack.close(this,{focusNextOnEmpty:Eh.currentItem,focusParentTrigger:!0}));break;case 9:bn(e,"altKey","metaKey","ctrlKey")||this.menuStack.closeAll({focusParentTrigger:!0});break;default:n.onKeydown(e)}}_toggleMenuFocus(e){let n=this.keyManager;switch(e){case Eh.nextItem:n.setFocusOrigin("keyboard"),n.setNextItemActive();break;case Eh.previousItem:n.setFocusOrigin("keyboard"),n.setPreviousItemActive();break;case Eh.currentItem:n.activeItem&&(n.setFocusOrigin("keyboard"),n.setActiveItem(n.activeItem));break}}_subscribeToMenuStackEmptied(){this.menuStack.emptied.pipe(ln(this.destroyed)).subscribe(e=>this._toggleMenuFocus(e))}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkMenu",""]],hostAttrs:["role","menu",1,"cdk-menu"],hostVars:2,hostBindings:function(n,r){n&1&&he("keydown",function(a){return r._handleKeyEvent(a)}),n&2&&yt("cdk-menu-inline",r.isInline)},outputs:{closed:"closed"},exportAs:["cdkMenu"],features:[Si([{provide:jW,useExisting:i},{provide:zk,useExisting:i},yCe("vertical")]),nn]})}return i})();var SCe=Gy.map(i=>{let t=i.overlayX==="start"?2:-2,e=i.overlayY==="top"?2:-2;return ei($e({},i),{offsetX:t,offsetY:e})}),ZW=(()=>{class i extends XW{_injector=R(_i);_directionality=R(tr,{optional:!0});_menuTracker=R($W);_changeDetectorRef=R(Li);disabled=!1;constructor(){super(),this._setMenuStackCloseListener()}open(e){this._open(null,e),this._changeDetectorRef.markForCheck()}close(){this.menuStack.closeAll()}_openOnContextMenu(e){this.disabled||(e.preventDefault(),e.stopPropagation(),this._menuTracker.update(this),this._open(e,{x:e.clientX,y:e.clientY}),e.button===2?this.childMenu?.focusFirstItem("mouse"):e.button===0?this.childMenu?.focusFirstItem("keyboard"):this.childMenu?.focusFirstItem("program"))}_getOverlayConfig(e){return new Ss({positionStrategy:this._getOverlayPositionStrategy(e),scrollStrategy:this.menuScrollStrategy(),direction:this._directionality||void 0})}_getOverlayPositionStrategy(e){return Xl(this._injector,e).withLockedPosition().withGrowAfterOpen().withPositions(this.menuPosition??SCe)}_setMenuStackCloseListener(){this.menuStack.closed.pipe(ln(this.destroyed)).subscribe(({item:e})=>{e===this.childMenu&&this.isOpen()&&(this.closed.next(),this.overlayRef.detach(),this.childMenu=void 0,this._changeDetectorRef.markForCheck())})}_subscribeToOutsideClicks(e){if(this.overlayRef){let n=this.overlayRef.outsidePointerEvents();if(e){let[r,o]=j4(n,({type:a})=>a==="auxclick");n=wr(o.pipe(BE((a,s)=>e.ctrlKey&&s===0&&a.ctrlKey)),r.pipe(ys(1)))}n.pipe(ln(this.stopOutsideClicksListener)).subscribe(r=>{this.isElementInsideMenuStack(Ao(r))||this.menuStack.closeAll()})}}_open(e,n){this.disabled||(this.isOpen()?(this.menuStack.closeSubMenuOf(this.childMenu),this.overlayRef.getConfig().positionStrategy.setOrigin(n),this.overlayRef.updatePosition()):(this.opened.next(),this.overlayRef?(this.overlayRef.getConfig().positionStrategy.setOrigin(n),this.overlayRef.updatePosition()):this.overlayRef=Es(this._injector,this._getOverlayConfig(n)),this.overlayRef.attach(this.getMenuContentPortal()),this._subscribeToOutsideClicks(e)))}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","cdkContextMenuTriggerFor",""]],hostVars:1,hostBindings:function(n,r){n&1&&he("contextmenu",function(a){return r._openOnContextMenu(a)}),n&2&&ni("data-cdk-menu-stack-id",null)},inputs:{menuTemplateRef:[0,"cdkContextMenuTriggerFor","menuTemplateRef"],menuPosition:[0,"cdkContextMenuPosition","menuPosition"],menuData:[0,"cdkContextMenuTriggerData","menuData"],disabled:[2,"cdkContextMenuDisabled","disabled",kt]},outputs:{opened:"cdkContextMenuOpened",closed:"cdkContextMenuClosed"},exportAs:["cdkContextMenuTriggerFor"],features:[Si([{provide:ZM,useExisting:i},{provide:Ud,useClass:qk}]),nn]})}return i})();var Gb=i=>Re(kr,t=>ECe(i,t)),ECe=(i,t)=>{let e=t.filter(n=>n.type===i);return e.sort((n,r)=>n.path.localeCompare(r.path)),e};var mg=i=>(i=i.trim(),i.startsWith("*")||i.endsWith("*")||i.startsWith("/")||i.startsWith("./")?i:!i.startsWith('"')&&!i.endsWith('"')?i.startsWith("!")?i:`*${i}*`:i);var JM=(i,t)=>{let e=[],n=t.split(",");if(n[0].startsWith("!")){n[0]=n[0].slice(1);for(let r of n)r.length>0&&e.push({path:`!${mg(r)}`,type:i})}else for(let r of n)if(r.length>0){if(r.startsWith("!"))break;r=mg(r),e.push({path:r,type:i})}return e};var JW="BlacklistExtensionAction",Wk=(i,...t)=>({type:JW,action:{type:i},extensions:t}),ej=(()=>{class i{constructor(e,n){this.actions$=e,this.store=n,this.searchPattern2BlacklistItems$=this.actions$.pipe(qr(JW),Et(r=>({blackListType:r.action.type,extensionToBlacklist:JM(r.action.type,r.extensions.join(","))})),cu()),this.blackListExtensions$=Pi(()=>this.searchPattern2BlacklistItems$.pipe(Yt(r=>r.blackListType==="flatten"||r.blackListType==="exclude"),Oi(r=>{this.store.dispatch(yc({items:r.extensionToBlacklist}))})),{dispatch:!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var tj=Re(lp,i=>i.selectedBuildingId);var eo=Re(tj,wl,(i,t)=>t?.get(i));var eS=Re(br,Or,(i,t)=>BA.getMetricDistribution(i.unifiedMapNode,t));var tS=Re(Ch,eo,Or,eS,(i,t,e,n)=>{let r=i||t;return!r||r.type===Zn.FILE?n:BA.getMetricDistribution(r,e)});function TCe(i){return`*.${i}`}function BCe(i,t){return i===om?t.others.filter(e=>e.fileExtension!==cs).map(e=>e.fileExtension):[i]}function iS(i,t,e){return BCe(i,t).map(r=>{let o=TCe(r);return e?.type===Zn.FOLDER?`${e.path}/**/${o}`:o})}var ij=(()=>{class i{constructor(e){this.store=e,this.operationContext$=Yo([this.store.select(tS),this.store.select(Ch),this.store.select(eo),this.store.select(Gb("flatten"))]).pipe(Et(([n,r,o,a])=>({distribution:n,node:r||o,flattenedItems:a})))}show(e){this.operationContext$.pipe(kn(1)).subscribe(n=>{let r=iS(e,n.distribution,n.node),o=this.createFlattenedItemsMap(n.flattenedItems),a=r.map(s=>o.get(s));this.store.dispatch(tM({items:a}))})}exclude(e){this.operationContext$.pipe(kn(1)).subscribe(n=>{let r=iS(e,n.distribution,n.node);this.store.dispatch(Wk("exclude",...r))})}flatten(e){this.operationContext$.pipe(kn(1)).subscribe(n=>{let r=iS(e,n.distribution,n.node);this.store.dispatch(Wk("flatten",...r))})}getIsFlattenedByFileExtension(e){return this.operationContext$.pipe(Et(n=>iS(e,n.distribution,n.node).every(o=>n.flattenedItems.some(a=>a.path===o))))}createFlattenedItemsMap(e){let n=new Map;for(let r of e)n.set(r.path,r);return n}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var nj=(()=>{class i{constructor(e,n){this.threeSceneService=e,this.store=n,this.metricDistribution$=this.store.select(eS),this.fileExtensionsOfOthers=new Set,this.fileExtensionsOfNone=new Set,this.metricDistribution$.pipe(J4(),Yt(r=>!!r)).subscribe(r=>{this.fileExtensionsOfOthers.clear();for(let o of r.others)this.fileExtensionsOfOthers.add(o.fileExtension);this.fileExtensionsOfNone.clear();for(let o of r.none)this.fileExtensionsOfNone.add(o.fileExtension)})}highlightExtension(e){switch(e){case om:this.threeSceneService.highlightBuildingsByExtension(this.fileExtensionsOfOthers);break;case cs:this.threeSceneService.highlightBuildingsWithoutExtensions();break;default:this.threeSceneService.highlightBuildingsByExtension(new Set([e]));break}}clearHighlightingOnFileExtensions(){this.threeSceneService.applyClearHightlights()}static{this.\u0275fac=function(n){return new(n||i)(Me(vr),Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function DCe(i,t){if(i&1){let e=st();S(0,"button",8),he("click",function(){Ve(e);let r=me(3);return Qe(r.show(r.fileExtension()))}),J(1,"i",9),S(2,"span"),j(3,"Show"),F()()}}function kCe(i,t){if(i&1){let e=st();S(0,"button",10),he("click",function(){Ve(e);let r=me(3);return Qe(r.flatten(r.fileExtension()))}),J(1,"img",11),S(2,"span"),j(3,"Flatten"),F()()}i&2&&(E(),z("width",17)("height",17))}function PCe(i,t){if(i&1){let e=st();S(0,"mat-card",3),ke(1,DCe,4,0,"button",4)(2,kCe,4,2,"button",5),S(3,"button",6),he("click",function(){Ve(e);let r=me(2);return Qe(r.exclude(r.fileExtension()))}),J(4,"i",7),S(5,"span"),j(6,"Exclude"),F()()()}if(i&2){let e=me(2);E(),Pe(e.isFlattened()?1:2)}}function RCe(i,t){if(i&1&&ke(0,PCe,7,1,"mat-card",3),i&2){let e=me();Pe(e.hasFileExtension()?0:-1)}}var rj=(()=>{class i{constructor(e,n){this.blackListExtensionService=e,this.highlightBuildingsByFileExtensionService=n,this.item=c0.required(),this.showAbsoluteValues=c0.required(),this.toggleShowAbsoluteValues=IO(),this.isFlattened=Gi(!1),this.fileExtension=Ir(()=>this.item().fileExtension),this.hasFileExtension=Ir(()=>this.fileExtension()!=="None"),this.formattedTitle=Ir(()=>this.formatTitle(this.showAbsoluteValues(),this.item(),this.fileExtension()))}ngOnInit(){this.flattenSubscription=this.blackListExtensionService.getIsFlattenedByFileExtension(this.fileExtension()).subscribe(e=>this.isFlattened.set(e))}ngOnDestroy(){this.flattenSubscription?.unsubscribe()}flatten(e){this.blackListExtensionService.flatten(e)}exclude(e){this.blackListExtensionService.exclude(e)}show(e){this.blackListExtensionService.show(e)}onHoverFileExtensionBar(e){this.highlightBuildingsByFileExtensionService.highlightExtension(e)}onUnhoverFileExtensionBar(){this.highlightBuildingsByFileExtensionService.clearHighlightingOnFileExtensions()}formatTitle(e,n,r){return e&&n.absoluteMetricValue||!e&&n.relativeMetricValue?e?`${r} ${n.absoluteMetricValue.toLocaleString()}`:`${r} ${n.relativeMetricValue.toFixed(2)}%`:"No data available"}get backgroundColor(){return this.item().color}get flexGrow(){return this.item().relativeMetricValue}get flexBasis(){return"0"}static{this.\u0275fac=function(n){return new(n||i)(se(ij),se(nj))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-file-extension-bar-segment"]],hostVars:6,hostBindings:function(n,r){n&2&&pi("background-color",r.backgroundColor)("flex-grow",r.flexGrow)("flex-basis",r.flexBasis)},inputs:{item:[1,"item"],showAbsoluteValues:[1,"showAbsoluteValues"]},outputs:{toggleShowAbsoluteValues:"toggleShowAbsoluteValues"},decls:5,vars:3,consts:[["contextMenu",""],[1,"cc-bar-section",3,"click","cdkContextMenuTriggerFor"],["data-test-id","formattedTitle",1,"cc-bar-section-text",3,"mouseover","mouseleave","title"],["cdkMenu",""],["mat-menu-item","","data-test-id","showBuilding"],["mat-menu-item","","data-test-id","flattenBuilding"],["mat-menu-item","","data-test-id","excludeBuilding",3,"click"],[1,"fa","fa-ban","menu-icon"],["mat-menu-item","","data-test-id","showBuilding",3,"click"],[1,"fa","fa-eye","menu-icon"],["mat-menu-item","","data-test-id","flattenBuilding",3,"click"],["alt","flattenIcon","ngSrc","codeCharta/assets/flatten.png",1,"png-icon","menu-icon",3,"width","height"]],template:function(n,r){if(n&1){let o=st();S(0,"span",1),he("click",function(){return Ve(o),Qe(r.toggleShowAbsoluteValues.emit())}),S(1,"div",2),he("mouseover",function(){return Ve(o),Qe(r.onHoverFileExtensionBar(r.fileExtension()))})("mouseleave",function(){return Ve(o),Qe(r.onUnhoverFileExtensionBar())}),j(2),F()(),Sn(3,RCe,1,1,"ng-template",null,0,il)}if(n&2){let o=Pn(4);z("cdkContextMenuTriggerFor",o),E(),z("title",r.formattedTitle()),E(),ct(" ",r.formattedTitle()," ")}},dependencies:[ZW,_c,YW,Am,gL],styles:["[_nghost-%COMP%]{min-width:max-content;cursor:pointer;color:#fff;text-align:center;overflow:hidden}.cc-bar-section[_ngcontent-%COMP%] .cc-bar-section-text[_ngcontent-%COMP%]{font-size:10px;margin:2px 0;white-space:nowrap;padding:0 10px}"]})}}return i})();var oj=(()=>{class i{constructor(e){this.store=e,this.hoveredNodeMetricDistribution$=this.store.select(tS)}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var LCe=(i,t)=>t.fileExtension;function NCe(i,t){if(i&1){let e=st();S(0,"cc-file-extension-bar-segment",4),he("toggleShowAbsoluteValues",function(){Ve(e);let r=me();return Qe(r.toggleShowAbsoluteValues())}),F()}if(i&2){let e=t.$implicit,n=me();z("item",e)("showAbsoluteValues",n.showAbsoluteValues)}}var aj=(()=>{class i{constructor(e){this.metricDistributionService=e,this.showAbsoluteValues=!1}ngOnInit(){this.metricDistributionService.hoveredNodeMetricDistribution$.subscribe(e=>{this.metricDistribution=e})}toggleShowAbsoluteValues(){this.showAbsoluteValues=!this.showAbsoluteValues}static{this.\u0275fac=function(n){return new(n||i)(se(oj))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-file-extension-bar"]],decls:5,vars:0,consts:[[1,"cc-distribution"],["title","Distribution metric"],[1,"cc-bar"],[3,"item","showAbsoluteValues"],[3,"toggleShowAbsoluteValues","item","showAbsoluteValues"]],template:function(n,r){n&1&&(S(0,"div",0),J(1,"cc-distribution-metric",1),S(2,"div",2),xi(3,NCe,1,2,"cc-file-extension-bar-segment",3,LCe),F()()),n&2&&(E(3),wi(r.metricDistribution.visible))},dependencies:[WW,rj],styles:[".cc-distribution[_ngcontent-%COMP%]{display:flex;height:17px;width:100%}.cc-distribution[_ngcontent-%COMP%] .cc-bar[_ngcontent-%COMP%]{display:flex;gap:1px;width:100%}"]})}}return i})();var nS=Re(hi,i=>i.isSearchPanelPinned);var UCe=["*"],pg=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-ribbon-bar-panel-settings"]],ngContentSelectors:UCe,decls:1,vars:0,template:function(n,r){n&1&&(ki(),Gt(0))},styles:["[_nghost-%COMP%]{z-index:1;display:flex;flex-direction:column;padding:6px;position:absolute;left:6px;top:45px;background:#fff;border:1px solid #b5b5b5;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}"]})}}return i})();var HCe=["toggle"],VCe=["toggleHeader"],QCe=[[["cc-ribbon-bar-panel-settings"]],[["",8,"toggleheader"]],"*"],zCe=["cc-ribbon-bar-panel-settings",".toggleHeader","*"];function qCe(i,t){if(i&1){let e=st();S(0,"div",6,0),he("click",function(){Ve(e);let r=me();return Qe(r.toggleSettings())}),Gt(2,1),F()}}function GCe(i,t){i&1&&(S(0,"div",4),Gt(1,2),F())}function WCe(i,t){if(i&1&&J(0,"i"),i&2){let e=me(2);Xi("fa fa-angle-"+(e.isExpanded?"up":"down"))}}function jCe(i,t){if(i&1){let e=st();S(0,"div",7,1),he("click",function(){Ve(e);let r=me();return Qe(r.toggleSettings())}),j(2),ke(3,WCe,1,2,"i",8),F()}if(i&2){let e=me();E(2),ct(" ",e.title," "),E(),Pe(e.hasSettings?3:-1)}}var Wb=(()=>{class i{get hasSettings(){return!!this.settingsRef}constructor(e){this.viewReference=e,this.collapseOnPanelClick=!0,this.separator=!1,this.isExpanded=!1,this.isHeaderExpandable=!1,this.isPinned=!1,this.toggleSettingsChange=new Pt}ngOnInit(){this.mouseDownListener=e=>this.collapseOnOutsideClick(e),document.addEventListener("mousedown",this.mouseDownListener)}ngOnDestroy(){this.mouseDownListener&&document.removeEventListener("mousedown",this.mouseDownListener)}toggleSettings(){this.isExpanded=!this.isExpanded,this.toggleSettingsChange.emit(this.isExpanded)}collapseOnOutsideClick(e){if(this.isPinned)return;let n=e.target,r=document.querySelector(".cdk-overlay-container"),o=this.viewReference.element.nativeElement.contains(n),a=r?r.contains(n):!1,s=this.settingsRef?.nativeElement?.contains(n)??!1,l=this.toggleSettingsRef.nativeElement.contains(n),c=this.toggleHeaderRef?.nativeElement.contains(n)??!1;!a&&!s&&!l&&!c&&(!o||this.collapseOnPanelClick)&&(this.isExpanded=!1)}static{this.\u0275fac=function(n){return new(n||i)(se(Hr))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-ribbon-bar-panel"]],contentQueries:function(n,r,o){if(n&1&&_n(o,pg,5,Ft),n&2){let a;mt(a=pt())&&(r.settingsRef=a.first)}},viewQuery:function(n,r){if(n&1&&(Nt(HCe,5),Nt(VCe,5)),n&2){let o;mt(o=pt())&&(r.toggleSettingsRef=o.first),mt(o=pt())&&(r.toggleHeaderRef=o.first)}},hostVars:6,hostBindings:function(n,r){n&2&&yt("separator",r.separator)("expanded",r.isExpanded)("expandable",r.hasSettings)},inputs:{title:"title",collapseOnPanelClick:"collapseOnPanelClick",separator:"separator",isHeaderExpandable:"isHeaderExpandable",isPinned:"isPinned"},outputs:{toggleSettingsChange:"toggleSettingsChange"},ngContentSelectors:zCe,decls:6,vars:2,consts:[["toggleHeader",""],["toggle",""],["appearance","outlined"],[1,"section"],[1,"section-header"],[1,"section-title"],[1,"section-header",3,"click"],[1,"section-title",3,"click"],[3,"class"]],template:function(n,r){n&1&&(ki(QCe),S(0,"mat-card",2)(1,"div",3),ke(2,qCe,3,0,"div",4)(3,GCe,2,0,"div",4),ke(4,jCe,4,2,"div",5),F(),Gt(5),F()),n&2&&(E(2),Pe(r.isHeaderExpandable?2:3),E(2),Pe(r.title||r.hasSettings?4:-1))},dependencies:[_c],styles:["mat-card[_ngcontent-%COMP%]{padding:0;height:46px;border-radius:0;border-top:1px solid #cdcdcd;flex:1 1 0}[_nghost-%COMP%]:not(.expanded) mat-card[_ngcontent-%COMP%]{overflow:hidden}.section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{margin:0 5px;height:31px;color:#444;overflow:hidden;padding:5px}.section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:8pt;color:gray;text-align:center;transition:background-color .4s;border-bottom:1px solid transparent;white-space:nowrap;margin:0 5px}.separator[_nghost-%COMP%] .section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{border-top:1px solid rgba(0,0,0,.12)}.expandable[_nghost-%COMP%] .section[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]:hover{background-color:#e0e0e0;cursor:pointer}"]})}}return i})();var $Ce=i=>i===""||i==="!"||i===",",Ag=Re(Ls,$Ce);var rS=(i,t,e)=>{let n=e.trim().split(",");if(e.trim().startsWith("!")){n[0]=n[0].slice(1);for(let r of n){let o=`!${mg(r)}`;if(i.some(a=>o===a.path&&t===a.type))return!0}return!1}for(let r of n)if(i.some(o=>mg(r)===o.path&&t===o.type))return!0;return!1};var sj=Re(Ls,Ag,kr,(i,t,e)=>t?!0:rS(e,"flatten",i));var lj=Re(Ls,Ag,kr,(i,t,e)=>t?!0:rS(e,"exclude",i));var cj=(i,t,e)=>{let n=[...t,...e];for(let{file:r}of i)if(!XCe(r,n))return!1;return!0},XCe=(i,t)=>{for(let e of Ni(i.map))if(KCe(e,t))return!1;return!0},KCe=(i,t)=>Yi(i)&&i.data.path&&!ga(i.data.path,t,"exclude");var oS=(()=>{class i{constructor(e,n,r){this.actions$=e,this.store=n,this.dialog=r,this.doBlacklistItemsResultInEmptyMap$=this.actions$.pipe(qr(ig),hr(this.store.select(ir),this.store.select(kr)),Et(([o,a,s])=>({items:o.items,resultsInEmptyMap:cj(a,s,o.items)})),cu()),this.showErrorDialogIfBlacklistItemsResultInEmptyMap$=Pi(()=>this.doBlacklistItemsResultInEmptyMap$.pipe(Yt(o=>o.resultsInEmptyMap),Oi(()=>{this.dialog.open(es,{data:{title:"Blacklist Error",message:"Excluding all buildings is not possible."}})})),{dispatch:!1}),this.addBlacklistItems$=Pi(()=>this.doBlacklistItemsResultInEmptyMap$.pipe(Yt(o=>!o.resultsInEmptyMap),Et(o=>yc({items:o.items}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(Ie),Me(fn))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var dj=i=>({type:"BlacklistSearchPatternAction",action:{type:i}}),uj=(()=>{class i{constructor(e,n,r){this.actions$=e,this.store=n,this.addBlacklistItemsIfNotResultsInEmptyMapEffect=r,this.searchPattern2BlacklistItems$=this.actions$.pipe(qr("BlacklistSearchPatternAction"),hr(this.store.select(Ls)),Et(([o,a])=>({type:o.action.type,blacklistItems:JM(o.action.type,a)})),cu()),this.flattenSearchPattern$=Pi(()=>this.searchPattern2BlacklistItems$.pipe(Yt(o=>o.type==="flatten"),Oi(o=>{this.store.dispatch(yc({items:o.blacklistItems})),this.store.dispatch(ja({value:""}))})),{dispatch:!1}),this.excludeSearchPattern$=Pi(()=>this.searchPattern2BlacklistItems$.pipe(Yt(o=>o.type==="exclude"),Oi(()=>{this.addBlacklistItemsIfNotResultsInEmptyMapEffect.doBlacklistItemsResultInEmptyMap$.pipe(kn(1),Yt(o=>!o.resultsInEmptyMap),Oi(()=>{this.store.dispatch(ja({value:""}))})).subscribe()}),Et(o=>ig({items:o.blacklistItems}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(Ie),Me(oS))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var gg=(()=>{class i{get vertical(){return this._vertical}set vertical(e){this._vertical=_o(e)}_vertical=!1;get inset(){return this._inset}set inset(e){this._inset=_o(e)}_inset=!1;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=re({type:i,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(n,r){n&2&&(ni("aria-orientation",r.vertical?"vertical":"horizontal"),yt("mat-divider-vertical",r.vertical)("mat-divider-horizontal",!r.vertical)("mat-divider-inset",r.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(n,r){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}
5185
5185
  `],encapsulation:2,changeDetection:0})}return i})();function ZCe(i,t){if(i&1){let e=st();S(0,"button",12),he("click",function(){Ve(e);let r=me();return Qe(r.resetSearchPattern())}),J(1,"i",13),F()}}var hj=(()=>{class i{constructor(e){this.store=e,this.searchPattern$=this.store.select(Ls),this.isSearchPatternEmpty$=this.store.select(Ag),this.isFlattenPatternDisabled$=this.store.select(sj),this.isExcludePatternDisabled$=this.store.select(lj),this.setSearchPatternDebounced=Eo(n=>this.setSearchPattern(n),400)}setSearchPattern(e){let n=e.target;this.store.dispatch(ja({value:n.value}))}resetSearchPattern(){this.store.dispatch(ja({value:""}))}blacklistSearchPattern(e){this.store.dispatch(dj(e))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-search-bar"]],decls:21,vars:13,consts:[["menu","matMenu"],[1,"fa","fa-search","cc-search-icon"],[1,"cc-search-input"],["type","text","placeholder","Search: *.js, **/app/*",3,"input","value"],["data-testid","search-bar-clear-button",1,"cc-small-action-button","cc-clear-icon"],["title","Add to Blacklist",1,"cc-small-action-button",3,"matMenuTriggerFor"],[1,"fa","fa-ellipsis-h"],["mat-menu-item","","disabled",""],["mat-menu-item","","data-testid","search-bar-flatten-button",3,"click","disabled"],[1,"fa","fa-eye-slash"],["mat-menu-item","","data-testid","search-bar-exclude-button",3,"click","disabled"],[1,"fa","fa-ban"],["data-testid","search-bar-clear-button",1,"cc-small-action-button","cc-clear-icon",3,"click"],[1,"fa","fa-times"]],template:function(n,r){if(n&1){let o=st();J(0,"i",1),S(1,"div",2)(2,"input",3),fe(3,"async"),he("input",function(s){return Ve(o),Qe(r.setSearchPatternDebounced(s))}),F(),ke(4,ZCe,2,0,"button",4),fe(5,"async"),F(),S(6,"button",5),J(7,"i",6),F(),S(8,"mat-menu",null,0)(10,"button",7),j(11,"Add Pattern to Blacklist"),F(),J(12,"mat-divider"),S(13,"button",8),fe(14,"async"),he("click",function(){return Ve(o),Qe(r.blacklistSearchPattern("flatten"))}),J(15,"i",9),j(16," Flatten "),F(),S(17,"button",10),fe(18,"async"),he("click",function(){return Ve(o),Qe(r.blacklistSearchPattern("exclude"))}),J(19,"i",11),j(20," Exclude "),F()()}if(n&2){let o=Pn(9);E(2),z("value",_e(3,5,r.searchPattern$)),E(2),Pe(_e(5,7,r.isSearchPatternEmpty$)?-1:4),E(2),z("matMenuTriggerFor",o),E(7),z("disabled",_e(14,9,r.isFlattenPatternDisabled$)),E(4),z("disabled",_e(18,11,r.isExcludePatternDisabled$))}},dependencies:[bc,za,Am,gg,dt],styles:["[_nghost-%COMP%]{display:inline-block;text-wrap:nowrap}[_nghost-%COMP%] .cc-search-icon[_ngcontent-%COMP%]{margin-right:8px;min-width:16px}[_nghost-%COMP%] .cc-search-input[_ngcontent-%COMP%]{display:inline-block;position:relative}[_nghost-%COMP%] .cc-search-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:204px;border-width:0 0 1px;border-color:#d3d3d3;outline:0;font-size:11pt;height:24px}[_nghost-%COMP%] .cc-search-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{border-color:#0374c9;box-shadow:0 1px #0374c9}[_nghost-%COMP%] .cc-search-input[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{vertical-align:middle;display:inline-block;position:relative;height:30px}[_nghost-%COMP%] .cc-search-input[_ngcontent-%COMP%] .cc-clear-icon[_ngcontent-%COMP%]{position:absolute;right:0;margin:0;height:24px;width:24px;display:flex;justify-content:center;align-items:center;top:0}[_nghost-%COMP%] button[_ngcontent-%COMP%]{background-color:transparent;box-shadow:none;margin-top:2px;font-size:14px}[_nghost-%COMP%] button.cc-small-action-button[_ngcontent-%COMP%]{margin:0 5px;display:inline-block;height:24px;width:24px;vertical-align:top}[_nghost-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:#d3d3d3;border-radius:50%}"]})}}return i})();var fj=Re(kr,i=>i.length===0);var JCe=["button"],eMe=["*"];function tMe(i,t){if(i&1&&(S(0,"div",2),J(1,"mat-pseudo-checkbox",6),F()),i&2){let e=me();E(),z("disabled",e.disabled)}}var mj=new Je("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:iMe});function iMe(){return{hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1,disabledInteractive:!1}}var pj=new Je("MatButtonToggleGroup"),nMe={provide:Ca,useExisting:Br(()=>jb),multi:!0},aS=class{source;value;constructor(t,e){this.source=t,this.value=e}},jb=(()=>{class i{_changeDetector=R(Li);_dir=R(tr,{optional:!0});_multiple=!1;_disabled=!1;_disabledInteractive=!1;_selectionModel;_rawValue;_controlValueAccessorChangeFn=()=>{};_onTouched=()=>{};_buttonToggles;appearance;get name(){return this._name}set name(e){this._name=e,this._markButtonsForCheck()}_name=R(hn).getId("mat-button-toggle-group-");vertical;get value(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e.map(n=>n.value):e[0]?e[0].value:void 0}set value(e){this._setSelectionByValue(e),this.valueChange.emit(this.value)}valueChange=new Pt;get selected(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e:e[0]||null}get multiple(){return this._multiple}set multiple(e){this._multiple=e,this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._markButtonsForCheck()}get disabledInteractive(){return this._disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e,this._markButtonsForCheck()}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}change=new Pt;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._markButtonsForCheck()}_hideSingleSelectionIndicator;get hideMultipleSelectionIndicator(){return this._hideMultipleSelectionIndicator}set hideMultipleSelectionIndicator(e){this._hideMultipleSelectionIndicator=e,this._markButtonsForCheck()}_hideMultipleSelectionIndicator;constructor(){let e=R(mj,{optional:!0});this.appearance=e&&e.appearance?e.appearance:"standard",this.hideSingleSelectionIndicator=e?.hideSingleSelectionIndicator??!1,this.hideMultipleSelectionIndicator=e?.hideMultipleSelectionIndicator??!1}ngOnInit(){this._selectionModel=new pm(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(e=>e.checked)),this.multiple||this._initializeTabIndex()}writeValue(e){this.value=e,this._changeDetector.markForCheck()}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_keydown(e){if(this.multiple||this.disabled||bn(e))return;let r=e.target.id,o=this._buttonToggles.toArray().findIndex(s=>s.buttonId===r),a=null;switch(e.keyCode){case 32:case 13:a=this._buttonToggles.get(o)||null;break;case 38:a=this._getNextButton(o,-1);break;case 37:a=this._getNextButton(o,this.dir==="ltr"?-1:1);break;case 40:a=this._getNextButton(o,1);break;case 39:a=this._getNextButton(o,this.dir==="ltr"?1:-1);break;default:return}a&&(e.preventDefault(),a._onButtonClick(),a.focus())}_emitChangeEvent(e){let n=new aS(e,this.value);this._rawValue=n.value,this._controlValueAccessorChangeFn(n.value),this.change.emit(n)}_syncButtonToggle(e,n,r=!1,o=!1){!this.multiple&&this.selected&&!e.checked&&(this.selected.checked=!1),this._selectionModel?n?this._selectionModel.select(e):this._selectionModel.deselect(e):o=!0,o?Promise.resolve().then(()=>this._updateModelValue(e,r)):this._updateModelValue(e,r)}_isSelected(e){return this._selectionModel&&this._selectionModel.isSelected(e)}_isPrechecked(e){return typeof this._rawValue>"u"?!1:this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(n=>e.value!=null&&n===e.value):e.value===this._rawValue}_initializeTabIndex(){if(this._buttonToggles.forEach(e=>{e.tabIndex=-1}),this.selected)this.selected.tabIndex=0;else for(let e=0;e<this._buttonToggles.length;e++){let n=this._buttonToggles.get(e);if(!n.disabled){n.tabIndex=0;break}}}_getNextButton(e,n){let r=this._buttonToggles;for(let o=1;o<=r.length;o++){let a=(e+n*o+r.length)%r.length,s=r.get(a);if(s&&!s.disabled)return s}return null}_setSelectionByValue(e){if(this._rawValue=e,!this._buttonToggles)return;let n=this._buttonToggles.toArray();if(this.multiple&&e?(Array.isArray(e),this._clearSelection(),e.forEach(r=>this._selectValue(r,n))):(this._clearSelection(),this._selectValue(e,n)),!this.multiple&&n.every(r=>r.tabIndex===-1)){for(let r of n)if(!r.disabled){r.tabIndex=0;break}}}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(e=>{e.checked=!1,this.multiple||(e.tabIndex=-1)})}_selectValue(e,n){for(let r of n)if(r.value===e){r.checked=!0,this._selectionModel.select(r),this.multiple||(r.tabIndex=0);break}}_updateModelValue(e,n){n&&this._emitChangeEvent(e),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach(e=>e._markForCheck())}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["mat-button-toggle-group"]],contentQueries:function(n,r,o){if(n&1&&_n(o,xm,5),n&2){let a;mt(a=pt())&&(r._buttonToggles=a)}},hostAttrs:[1,"mat-button-toggle-group"],hostVars:6,hostBindings:function(n,r){n&1&&he("keydown",function(a){return r._keydown(a)}),n&2&&(ni("role",r.multiple?"group":"radiogroup")("aria-disabled",r.disabled),yt("mat-button-toggle-vertical",r.vertical)("mat-button-toggle-group-appearance-standard",r.appearance==="standard"))},inputs:{appearance:"appearance",name:"name",vertical:[2,"vertical","vertical",kt],value:"value",multiple:[2,"multiple","multiple",kt],disabled:[2,"disabled","disabled",kt],disabledInteractive:[2,"disabledInteractive","disabledInteractive",kt],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",kt],hideMultipleSelectionIndicator:[2,"hideMultipleSelectionIndicator","hideMultipleSelectionIndicator",kt]},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],features:[Si([nMe,{provide:pj,useExisting:i}])]})}return i})(),xm=(()=>{class i{_changeDetectorRef=R(Li);_elementRef=R(Ft);_focusMonitor=R(go);_idGenerator=R(hn);_animationDisabled=vn();_checked=!1;ariaLabel;ariaLabelledby=null;_buttonElement;buttonToggleGroup;get buttonId(){return`${this.id}-button`}id;name;value;get tabIndex(){return this._tabIndex()}set tabIndex(e){this._tabIndex.set(e)}_tabIndex;disableRipple;get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(e){this._appearance=e}_appearance;get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(e){e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(e){this._disabled=e}_disabled=!1;get disabledInteractive(){return this._disabledInteractive||this.buttonToggleGroup!==null&&this.buttonToggleGroup.disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e}_disabledInteractive;change=new Pt;constructor(){R(Tn).load(bo);let e=R(pj,{optional:!0}),n=R(new Vl("tabindex"),{optional:!0})||"",r=R(mj,{optional:!0});this._tabIndex=Gi(parseInt(n)||0),this.buttonToggleGroup=e,this.appearance=r&&r.appearance?r.appearance:"standard",this.disabledInteractive=r?.disabledInteractive??!1}ngOnInit(){let e=this.buttonToggleGroup;this.id=this.id||this._idGenerator.getId("mat-button-toggle-"),e&&(e._isPrechecked(this)?this.checked=!0:e._isSelected(this)!==this._checked&&e._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._animationDisabled||this._elementRef.nativeElement.classList.add("mat-button-toggle-animations-enabled"),this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){let e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&e._syncButtonToggle(this,!1,!1,!0)}focus(e){this._buttonElement.nativeElement.focus(e)}_onButtonClick(){if(this.disabled)return;let e=this.isSingleSelector()?!0:!this._checked;if(e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.isSingleSelector()){let n=this.buttonToggleGroup._buttonToggles.find(r=>r.tabIndex===0);n&&(n.tabIndex=-1),this.tabIndex=0}this.change.emit(new aS(this,this.value))}_markForCheck(){this._changeDetectorRef.markForCheck()}_getButtonName(){return this.isSingleSelector()?this.buttonToggleGroup.name:this.name||null}isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=re({type:i,selectors:[["mat-button-toggle"]],viewQuery:function(n,r){if(n&1&&Nt(JCe,5),n&2){let o;mt(o=pt())&&(r._buttonElement=o.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:14,hostBindings:function(n,r){n&1&&he("focus",function(){return r.focus()}),n&2&&(ni("aria-label",null)("aria-labelledby",null)("id",r.id)("name",null),yt("mat-button-toggle-standalone",!r.buttonToggleGroup)("mat-button-toggle-checked",r.checked)("mat-button-toggle-disabled",r.disabled)("mat-button-toggle-disabled-interactive",r.disabledInteractive)("mat-button-toggle-appearance-standard",r.appearance==="standard"))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",disableRipple:[2,"disableRipple","disableRipple",kt],appearance:"appearance",checked:[2,"checked","checked",kt],disabled:[2,"disabled","disabled",kt],disabledInteractive:[2,"disabledInteractive","disabledInteractive",kt]},outputs:{change:"change"},exportAs:["matButtonToggle"],ngContentSelectors:eMe,decls:7,vars:13,consts:[["button",""],["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"click","id","disabled"],[1,"mat-button-toggle-checkbox-wrapper"],[1,"mat-button-toggle-label-content"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"],["state","checked","aria-hidden","true","appearance","minimal",3,"disabled"]],template:function(n,r){if(n&1){let o=st();ki(),S(0,"button",1,0),he("click",function(){return Ve(o),Qe(r._onButtonClick())}),ke(2,tMe,2,1,"div",2),S(3,"span",3),Gt(4),F()(),J(5,"span",4)(6,"span",5)}if(n&2){let o=Pn(1);z("id",r.buttonId)("disabled",r.disabled&&!r.disabledInteractive||null),ni("role",r.isSingleSelector()?"radio":"button")("tabindex",r.disabled&&!r.disabledInteractive?-1:r.tabIndex)("aria-pressed",r.isSingleSelector()?null:r.checked)("aria-checked",r.isSingleSelector()?r.checked:null)("name",r._getButtonName())("aria-label",r.ariaLabel)("aria-labelledby",r.ariaLabelledby)("aria-disabled",r.disabled&&r.disabledInteractive?"true":null),E(2),Pe(r.buttonToggleGroup&&(!r.buttonToggleGroup.multiple&&!r.buttonToggleGroup.hideSingleSelectionIndicator||r.buttonToggleGroup.multiple&&!r.buttonToggleGroup.hideMultipleSelectionIndicator)?2:-1),E(4),z("matRippleTrigger",o)("matRippleDisabled",r.disableRipple||r.disabled)}},dependencies:[Ja,UC],styles:[`.mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:var(--mat-button-toggle-legacy-shape);transform:translateZ(0)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}@media(forced-colors: active){.mat-button-toggle-standalone,.mat-button-toggle-group{outline:solid 1px}}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}@media(forced-colors: active){.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{outline:0}}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-button-toggle-legacy-text-color);font-family:var(--mat-button-toggle-legacy-label-text-font);font-size:var(--mat-button-toggle-legacy-label-text-size);line-height:var(--mat-button-toggle-legacy-label-text-line-height);font-weight:var(--mat-button-toggle-legacy-label-text-weight);letter-spacing:var(--mat-button-toggle-legacy-label-text-tracking);--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-legacy-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-legacy-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle-checkbox-wrapper{display:inline-block;justify-content:flex-start;align-items:center;width:0;height:18px;line-height:18px;overflow:hidden;box-sizing:border-box;position:absolute;top:50%;left:16px;transform:translate3d(0, -50%, 0)}[dir=rtl] .mat-button-toggle-checkbox-wrapper{left:auto;right:16px}.mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:12px}[dir=rtl] .mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper{left:auto;right:12px}.mat-button-toggle-checked .mat-button-toggle-checkbox-wrapper{width:18px}.mat-button-toggle-animations-enabled .mat-button-toggle-checkbox-wrapper{transition:width 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-checkbox-wrapper{transition:none}.mat-button-toggle-checked{color:var(--mat-button-toggle-legacy-selected-state-text-color);background-color:var(--mat-button-toggle-legacy-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-button-toggle-legacy-disabled-state-text-color);background-color:var(--mat-button-toggle-legacy-disabled-state-background-color);--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-legacy-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-button-toggle-legacy-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-button-toggle-text-color, var(--mat-sys-on-surface));background-color:var(--mat-button-toggle-background-color, transparent);font-family:var(--mat-button-toggle-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-toggle-label-text-size, var(--mat-sys-label-large-size));line-height:var(--mat-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));font-weight:var(--mat-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-button-toggle-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-toggle-disabled-state-background-color, transparent)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-toggle-disabled-selected-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-button-toggle-state-layer-color, var(--mat-sys-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-button-toggle-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-button-toggle-legacy-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-button-toggle-height, 40px)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-button-toggle-legacy-state-layer-color)}@media(forced-colors: active){.mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-animations-enabled .mat-button-toggle-button{transition:padding 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-button-toggle-vertical .mat-button-toggle-button{transition:none}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:30px}[dir=rtl] .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper){padding-left:0;padding-right:30px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-bottom-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-bottom-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));border-top-left-radius:var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large))}
5186
5186
  `],encapsulation:2,changeDetection:0})}return i})();var Aj=(()=>{class i{constructor(e){this.hideBlacklistItemsIndicator$=e.select(fj)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-search-panel-mode-selector"]],inputs:{searchPanelMode:"searchPanelMode",updateSearchPanelMode:"updateSearchPanelMode"},decls:4,vars:3,consts:[["id","blacklist","value","blacklist",3,"click"],[1,"fa","fa-eye-slash"],[1,"has-blacklist-items-indicator",3,"hidden"]],template:function(n,r){n&1&&(S(0,"mat-button-toggle",0),he("click",function(){return r.updateSearchPanelMode("blacklist")}),J(1,"i",1)(2,"div",2),fe(3,"async"),F()),n&2&&(E(2),z("hidden",_e(3,1,r.hideBlacklistItemsIndicator$)))},dependencies:[xm,dt],styles:["[_nghost-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{height:100%;align-items:center}[_nghost-%COMP%] .has-blacklist-items-indicator[_ngcontent-%COMP%]{position:absolute;margin-left:18px;margin-top:-32px;border-radius:50%;background-color:red;width:5px;height:5px}[_nghost-%COMP%] .mat-button-toggle-checked[_ngcontent-%COMP%] .mat-pseudo-checkbox[_ngcontent-%COMP%]{display:none}"]})}}return i})();var rMe=["*"],oMe=`.mdc-list{margin:0;padding:8px 0;list-style-type:none}.mdc-list:focus{outline:none}.mdc-list-item{display:flex;position:relative;justify-content:flex-start;overflow:hidden;padding:0;align-items:stretch;cursor:pointer;padding-left:16px;padding-right:16px;background-color:var(--mat-list-list-item-container-color, transparent);border-radius:var(--mat-list-list-item-container-shape, var(--mat-sys-corner-none))}.mdc-list-item.mdc-list-item--selected{background-color:var(--mat-list-list-item-selected-container-color)}.mdc-list-item:focus{outline:0}.mdc-list-item.mdc-list-item--disabled{cursor:auto}.mdc-list-item.mdc-list-item--with-one-line{height:var(--mat-list-list-item-one-line-container-height, 48px)}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__start{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines{height:var(--mat-list-list-item-two-line-container-height, 64px)}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-three-lines{height:var(--mat-list-list-item-three-line-container-height, 88px)}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--selected::before,.mdc-list-item.mdc-list-item--selected:focus::before,.mdc-list-item:not(.mdc-list-item--selected):focus::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;content:"";pointer-events:none}a.mdc-list-item{color:inherit;text-decoration:none}.mdc-list-item__start{fill:currentColor;flex-shrink:0;pointer-events:none}.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mat-list-list-item-leading-icon-color, var(--mat-sys-on-surface-variant));width:var(--mat-list-list-item-leading-icon-size, 24px);height:var(--mat-list-list-item-leading-icon-size, 24px);margin-left:16px;margin-right:32px}[dir=rtl] .mdc-list-item--with-leading-icon .mdc-list-item__start{margin-left:32px;margin-right:16px}.mdc-list-item--with-leading-icon:hover .mdc-list-item__start{color:var(--mat-list-list-item-hover-leading-icon-color)}.mdc-list-item--with-leading-avatar .mdc-list-item__start{width:var(--mat-list-list-item-leading-avatar-size, 40px);height:var(--mat-list-list-item-leading-avatar-size, 40px);margin-left:16px;margin-right:16px;border-radius:50%}.mdc-list-item--with-leading-avatar .mdc-list-item__start,[dir=rtl] .mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-left:16px;margin-right:16px;border-radius:50%}.mdc-list-item__end{flex-shrink:0;pointer-events:none}.mdc-list-item--with-trailing-meta .mdc-list-item__end{font-family:var(--mat-list-list-item-trailing-supporting-text-font, var(--mat-sys-label-small-font));line-height:var(--mat-list-list-item-trailing-supporting-text-line-height, var(--mat-sys-label-small-line-height));font-size:var(--mat-list-list-item-trailing-supporting-text-size, var(--mat-sys-label-small-size));font-weight:var(--mat-list-list-item-trailing-supporting-text-weight, var(--mat-sys-label-small-weight));letter-spacing:var(--mat-list-list-item-trailing-supporting-text-tracking, var(--mat-sys-label-small-tracking))}.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mat-list-list-item-trailing-icon-color, var(--mat-sys-on-surface-variant));width:var(--mat-list-list-item-trailing-icon-size, 24px);height:var(--mat-list-list-item-trailing-icon-size, 24px)}.mdc-list-item--with-trailing-icon:hover .mdc-list-item__end{color:var(--mat-list-list-item-hover-trailing-icon-color)}.mdc-list-item.mdc-list-item--with-trailing-meta .mdc-list-item__end{color:var(--mat-list-list-item-trailing-supporting-text-color, var(--mat-sys-on-surface-variant))}.mdc-list-item--selected.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mat-list-list-item-selected-trailing-icon-color, var(--mat-sys-primary))}.mdc-list-item__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;align-self:center;flex:1;pointer-events:none}.mdc-list-item--with-two-lines .mdc-list-item__content,.mdc-list-item--with-three-lines .mdc-list-item__content{align-self:stretch}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--mat-list-list-item-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-list-list-item-label-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-list-list-item-label-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-list-list-item-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-list-list-item-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-list-list-item-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-list-item:hover .mdc-list-item__primary-text{color:var(--mat-list-list-item-hover-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item:focus .mdc-list-item__primary-text{color:var(--mat-list-list-item-focus-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item__secondary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;color:var(--mat-list-list-item-supporting-text-color, var(--mat-sys-on-surface-variant));font-family:var(--mat-list-list-item-supporting-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-list-list-item-supporting-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-list-list-item-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mat-list-list-item-supporting-text-weight, var(--mat-sys-body-medium-weight));letter-spacing:var(--mat-list-list-item-supporting-text-tracking, var(--mat-sys-body-medium-tracking))}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__secondary-text{white-space:normal;line-height:20px}.mdc-list-item--with-overline .mdc-list-item__secondary-text{white-space:nowrap;line-height:auto}.mdc-list-item--with-leading-radio.mdc-list-item,.mdc-list-item--with-leading-checkbox.mdc-list-item,.mdc-list-item--with-leading-icon.mdc-list-item,.mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:0;padding-right:16px}[dir=rtl] .mdc-list-item--with-leading-radio.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-checkbox.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-icon.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:16px;padding-right:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-trailing-icon.mdc-list-item,[dir=rtl] .mdc-list-item--with-trailing-icon.mdc-list-item{padding-left:0;padding-right:0}.mdc-list-item--with-trailing-icon .mdc-list-item__end{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:16px;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:0;padding-right:16px}.mdc-list-item--with-trailing-meta .mdc-list-item__end{-webkit-user-select:none;user-select:none;margin-left:28px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-meta .mdc-list-item__end{margin-left:16px;margin-right:28px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end,.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{display:block;line-height:normal;align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end::before,.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio .mdc-list-item__start,.mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-radio .mdc-list-item__start,[dir=rtl] .mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__start,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-radio.mdc-list-item,.mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:16px;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:0;padding-right:16px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-icon,.mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-avatar,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-icon,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-avatar{padding-left:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-icon,[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-avatar,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-icon,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-avatar{padding-right:0}.mdc-list-item--with-trailing-radio .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-radio .mdc-list-item__end,[dir=rtl] .mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-three-lines .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-group__subheader{margin:.75rem 16px}.mdc-list-item--disabled .mdc-list-item__start,.mdc-list-item--disabled .mdc-list-item__content,.mdc-list-item--disabled .mdc-list-item__end{opacity:1}.mdc-list-item--disabled .mdc-list-item__primary-text,.mdc-list-item--disabled .mdc-list-item__secondary-text{opacity:var(--mat-list-list-item-disabled-label-text-opacity, 0.3)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mat-list-list-item-disabled-leading-icon-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-disabled-leading-icon-opacity, 0.38)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mat-list-list-item-disabled-trailing-icon-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-disabled-trailing-icon-opacity, 0.38)}.mat-mdc-list-item.mat-mdc-list-item-both-leading-and-trailing,[dir=rtl] .mat-mdc-list-item.mat-mdc-list-item-both-leading-and-trailing{padding-left:0;padding-right:0}.mdc-list-item.mdc-list-item--disabled .mdc-list-item__primary-text{color:var(--mat-list-list-item-disabled-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item:hover::before{background-color:var(--mat-list-list-item-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-list-item.mdc-list-item--disabled::before{background-color:var(--mat-list-list-item-disabled-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-disabled-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-list-item:focus::before{background-color:var(--mat-list-list-item-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-list-item--disabled .mdc-radio,.mdc-list-item--disabled .mdc-checkbox{opacity:var(--mat-list-list-item-disabled-label-text-opacity, 0.3)}.mdc-list-item--with-leading-avatar .mat-mdc-list-item-avatar{border-radius:var(--mat-list-list-item-leading-avatar-shape, var(--mat-sys-corner-full));background-color:var(--mat-list-list-item-leading-avatar-color, var(--mat-sys-primary-container))}.mat-mdc-list-item-icon{font-size:var(--mat-list-list-item-leading-icon-size, 24px)}@media(forced-colors: active){a.mdc-list-item--activated::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}a.mdc-list-item--activated [dir=rtl]::after{right:auto;left:16px}}.mat-mdc-list-base{display:block}.mat-mdc-list-base .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item__end,.mat-mdc-list-base .mdc-list-item__content{pointer-events:auto}.mat-mdc-list-item,.mat-mdc-list-option{width:100%;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-list-item:not(.mat-mdc-list-item-interactive),.mat-mdc-list-option:not(.mat-mdc-list-item-interactive){cursor:default}.mat-mdc-list-item .mat-divider-inset,.mat-mdc-list-option .mat-divider-inset{position:absolute;left:0;right:0;bottom:0}.mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,.mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-left:72px}[dir=rtl] .mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,[dir=rtl] .mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-right:72px}.mat-mdc-list-item-interactive::before{top:0;left:0;right:0;bottom:0;position:absolute;content:"";opacity:0;pointer-events:none;border-radius:inherit}.mat-mdc-list-item>.mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-list-item:focus>.mat-focus-indicator::before{content:""}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-line.mdc-list-item__secondary-text{white-space:nowrap;line-height:normal}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-unscoped-content.mdc-list-item__secondary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:start}mat-action-list button::-moz-focus-inner{border:0}.mdc-list-item--with-leading-icon .mdc-list-item__start{margin-inline-start:var(--mat-list-list-item-leading-icon-start-space, 16px);margin-inline-end:var(--mat-list-list-item-leading-icon-end-space, 16px)}.mat-mdc-nav-list .mat-mdc-list-item{border-radius:var(--mat-list-active-indicator-shape, var(--mat-sys-corner-full));--mat-focus-indicator-border-radius: var(--mat-list-active-indicator-shape, var(--mat-sys-corner-full))}.mat-mdc-nav-list .mat-mdc-list-item.mdc-list-item--activated{background-color:var(--mat-list-active-indicator-color, var(--mat-sys-secondary-container))}
5187
- `,aMe=["unscopedContent"],sMe=["text"],lMe=[[["","matListItemAvatar",""],["","matListItemIcon",""]],[["","matListItemTitle",""]],[["","matListItemLine",""]],"*",[["","matListItemMeta",""]],[["mat-divider"]]],cMe=["[matListItemAvatar],[matListItemIcon]","[matListItemTitle]","[matListItemLine]","*","[matListItemMeta]","mat-divider"];var dMe=new Je("ListOption"),uMe=(()=>{class i{_elementRef=R(Ft);constructor(){}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","matListItemTitle",""]],hostAttrs:[1,"mat-mdc-list-item-title","mdc-list-item__primary-text"]})}return i})(),hMe=(()=>{class i{_elementRef=R(Ft);constructor(){}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","matListItemLine",""]],hostAttrs:[1,"mat-mdc-list-item-line","mdc-list-item__secondary-text"]})}return i})(),fMe=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","matListItemMeta",""]],hostAttrs:[1,"mat-mdc-list-item-meta","mdc-list-item__end"]})}return i})(),gj=(()=>{class i{_listOption=R(dMe,{optional:!0});constructor(){}_isAlignedAtStart(){return!this._listOption||this._listOption?._getTogglePosition()==="after"}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,hostVars:4,hostBindings:function(n,r){n&2&&yt("mdc-list-item__start",r._isAlignedAtStart())("mdc-list-item__end",!r._isAlignedAtStart())}})}return i})(),mMe=(()=>{class i extends gj{static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275dir=wt({type:i,selectors:[["","matListItemAvatar",""]],hostAttrs:[1,"mat-mdc-list-item-avatar"],features:[nn]})}return i})(),pMe=(()=>{class i extends gj{static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275dir=wt({type:i,selectors:[["","matListItemIcon",""]],hostAttrs:[1,"mat-mdc-list-item-icon"],features:[nn]})}return i})(),AMe=new Je("MAT_LIST_CONFIG"),jk=(()=>{class i{_isNonInteractive=!0;get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=_o(e)}_disableRipple=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(_o(e))}_disabled=Gi(!1);_defaultOptions=R(AMe,{optional:!0});static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,hostVars:1,hostBindings:function(n,r){n&2&&ni("aria-disabled",r.disabled)},inputs:{disableRipple:"disableRipple",disabled:"disabled"}})}return i})(),gMe=(()=>{class i{_elementRef=R(Ft);_ngZone=R(ti);_listBase=R(jk,{optional:!0});_platform=R(Ki);_hostElement;_isButtonElement;_noopAnimations=vn();_avatars;_icons;set lines(e){this._explicitLines=ma(e,null),this._updateItemLines(!1)}_explicitLines=null;get disableRipple(){return this.disabled||this._disableRipple||this._noopAnimations||!!this._listBase?.disableRipple}set disableRipple(e){this._disableRipple=_o(e)}_disableRipple=!1;get disabled(){return this._disabled()||!!this._listBase?.disabled}set disabled(e){this._disabled.set(_o(e))}_disabled=Gi(!1);_subscriptions=new rr;_rippleRenderer=null;_hasUnscopedTextContent=!1;rippleConfig;get rippleDisabled(){return this.disableRipple||!!this.rippleConfig.disabled}constructor(){R(Tn).load(bo);let e=R(Sf,{optional:!0});this.rippleConfig=e||{},this._hostElement=this._elementRef.nativeElement,this._isButtonElement=this._hostElement.nodeName.toLowerCase()==="button",this._listBase&&!this._listBase._isNonInteractive&&this._initInteractiveListItem(),this._isButtonElement&&!this._hostElement.hasAttribute("type")&&this._hostElement.setAttribute("type","button")}ngAfterViewInit(){this._monitorProjectedLinesAndTitle(),this._updateItemLines(!0)}ngOnDestroy(){this._subscriptions.unsubscribe(),this._rippleRenderer!==null&&this._rippleRenderer._removeTriggerEvents()}_hasIconOrAvatar(){return!!(this._avatars.length||this._icons.length)}_initInteractiveListItem(){this._hostElement.classList.add("mat-mdc-list-item-interactive"),this._rippleRenderer=new Mf(this,this._ngZone,this._hostElement,this._platform,R(_i)),this._rippleRenderer.setupTriggerEvents(this._hostElement)}_monitorProjectedLinesAndTitle(){this._ngZone.runOutsideAngular(()=>{this._subscriptions.add(wr(this._lines.changes,this._titles.changes).subscribe(()=>this._updateItemLines(!1)))})}_updateItemLines(e){if(!this._lines||!this._titles||!this._unscopedContent)return;e&&this._checkDomForUnscopedTextContent();let n=this._explicitLines??this._inferLinesFromContent(),r=this._unscopedContent.nativeElement;if(this._hostElement.classList.toggle("mat-mdc-list-item-single-line",n<=1),this._hostElement.classList.toggle("mdc-list-item--with-one-line",n<=1),this._hostElement.classList.toggle("mdc-list-item--with-two-lines",n===2),this._hostElement.classList.toggle("mdc-list-item--with-three-lines",n===3),this._hasUnscopedTextContent){let o=this._titles.length===0&&n===1;r.classList.toggle("mdc-list-item__primary-text",o),r.classList.toggle("mdc-list-item__secondary-text",!o)}else r.classList.remove("mdc-list-item__primary-text"),r.classList.remove("mdc-list-item__secondary-text")}_inferLinesFromContent(){let e=this._titles.length+this._lines.length;return this._hasUnscopedTextContent&&(e+=1),e}_checkDomForUnscopedTextContent(){this._hasUnscopedTextContent=Array.from(this._unscopedContent.nativeElement.childNodes).filter(e=>e.nodeType!==e.COMMENT_NODE).some(e=>!!(e.textContent&&e.textContent.trim()))}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,contentQueries:function(n,r,o){if(n&1&&(_n(o,mMe,4),_n(o,pMe,4)),n&2){let a;mt(a=pt())&&(r._avatars=a),mt(a=pt())&&(r._icons=a)}},hostVars:4,hostBindings:function(n,r){n&2&&(ni("aria-disabled",r.disabled)("disabled",r._isButtonElement&&r.disabled||null),yt("mdc-list-item--disabled",r.disabled))},inputs:{lines:"lines",disableRipple:"disableRipple",disabled:"disabled"}})}return i})();var sS=(()=>{class i extends jk{static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275cmp=re({type:i,selectors:[["mat-list"]],hostAttrs:[1,"mat-mdc-list","mat-mdc-list-base","mdc-list"],exportAs:["matList"],features:[Si([{provide:jk,useExisting:i}]),nn],ngContentSelectors:rMe,decls:1,vars:0,template:function(n,r){n&1&&(ki(),Gt(0))},styles:[oMe],encapsulation:2,changeDetection:0})}return i})(),lS=(()=>{class i extends gMe{_lines;_titles;_meta;_unscopedContent;_itemText;get activated(){return this._activated}set activated(e){this._activated=_o(e)}_activated=!1;_getAriaCurrent(){return this._hostElement.nodeName==="A"&&this._activated?"page":null}_hasBothLeadingAndTrailing(){return this._meta.length!==0&&(this._avatars.length!==0||this._icons.length!==0)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275cmp=re({type:i,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(n,r,o){if(n&1&&(_n(o,hMe,5),_n(o,uMe,5),_n(o,fMe,5)),n&2){let a;mt(a=pt())&&(r._lines=a),mt(a=pt())&&(r._titles=a),mt(a=pt())&&(r._meta=a)}},viewQuery:function(n,r){if(n&1&&(Nt(aMe,5),Nt(sMe,5)),n&2){let o;mt(o=pt())&&(r._unscopedContent=o.first),mt(o=pt())&&(r._itemText=o.first)}},hostAttrs:[1,"mat-mdc-list-item","mdc-list-item"],hostVars:13,hostBindings:function(n,r){n&2&&(ni("aria-current",r._getAriaCurrent()),yt("mdc-list-item--activated",r.activated)("mdc-list-item--with-leading-avatar",r._avatars.length!==0)("mdc-list-item--with-leading-icon",r._icons.length!==0)("mdc-list-item--with-trailing-meta",r._meta.length!==0)("mat-mdc-list-item-both-leading-and-trailing",r._hasBothLeadingAndTrailing())("_mat-animation-noopable",r._noopAnimations))},inputs:{activated:"activated"},exportAs:["matListItem"],features:[nn],ngContentSelectors:cMe,decls:10,vars:0,consts:[["unscopedContent",""],[1,"mdc-list-item__content"],[1,"mat-mdc-list-item-unscoped-content",3,"cdkObserveContent"],[1,"mat-focus-indicator"]],template:function(n,r){if(n&1){let o=st();ki(lMe),Gt(0),S(1,"span",1),Gt(2,1),Gt(3,2),S(4,"span",2,0),he("cdkObserveContent",function(){return Ve(o),Qe(r._updateItemLines(!0))}),Gt(6,3),F()(),Gt(7,4),Gt(8,5),J(9,"div",3)}},dependencies:[g5],encapsulation:2,changeDetection:0})}return i})();function _Me(i,t){i&1&&(S(0,"mat-list-item"),j(1,"Add pattern via search or node context-menu"),F())}function bMe(i,t){if(i&1){let e=st();S(0,"mat-list-item",4)(1,"button",5),he("click",function(){let r=Ve(e).$implicit,o=me(2);return Qe(o.removeBlacklistEntry(r))}),J(2,"em",6),j(3),F()()}if(i&2){let e=t.$implicit;z("title",e.path),E(3),ct(" ",e.path," ")}}function vMe(i,t){if(i&1&&(S(0,"div"),ke(1,_Me,2,0,"mat-list-item"),xi(2,bMe,4,2,"mat-list-item",4,En),F()),i&2){let e=t;E(),Pe(e.length===0?1:-1),E(),wi(e)}}function yMe(i,t){i&1&&(S(0,"mat-list-item"),j(1,"Add pattern via search or node context-menu"),F())}function xMe(i,t){if(i&1){let e=st();S(0,"mat-list-item",4)(1,"button",5),he("click",function(){let r=Ve(e).$implicit,o=me(2);return Qe(o.removeBlacklistEntry(r))}),J(2,"em",6),j(3),F()()}if(i&2){let e=t.$implicit;z("title",e.path),E(3),ct(" ",e.path," ")}}function wMe(i,t){if(i&1&&(S(0,"div"),ke(1,yMe,2,0,"mat-list-item"),xi(2,xMe,4,2,"mat-list-item",4,En),F()),i&2){let e=t;E(),Pe(e.length===0?1:-1),E(),wi(e)}}var _j=(()=>{class i{constructor(e){this.store=e,this.flattenedItems$=this.store.select(Gb("flatten")),this.excludedItems$=this.store.select(Gb("exclude"))}removeBlacklistEntry(e){this.store.dispatch(dh({item:e}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-blacklist-panel"]],decls:14,vars:6,consts:[[1,"cc-blacklist-panel-list"],[1,"cc-header-text"],["matTooltip","Flattened nodes are shown as flat/short buildings and are included in folder metrics",1,"fa","fa-question-circle-o"],["matTooltip","Excluded buildings are not shown in the map and are not included in folder metrics",1,"fa","fa-question-circle-o"],[3,"title"],["mat-button","",3,"click"],["title","Remove list item",1,"fa","fa-minus-square"]],template:function(n,r){if(n&1&&(S(0,"mat-list",0)(1,"div")(2,"h3",1),j(3,"Flattened"),F(),J(4,"em",2),F(),ke(5,vMe,4,1,"div"),fe(6,"async"),F(),S(7,"mat-list",0)(8,"div")(9,"h3",1),j(10,"Excluded"),F(),J(11,"em",3),F(),ke(12,wMe,4,1,"div"),fe(13,"async"),F()),n&2){let o,a;E(5),Pe((o=_e(6,2,r.flattenedItems$))?5:-1,o),E(7),Pe((a=_e(13,4,r.excludedItems$))?12:-1,a)}},dependencies:[sS,ym,lS,Wi,dt],styles:["[_nghost-%COMP%] .cc-header-text[_ngcontent-%COMP%]{display:inline-block;margin:0 .25em 0 0}"]})}}return i})();var cS=(i,t,e)=>t.reduce((n,r)=>ga(r.path,e,i)?n+1:n,0),CMe=(i,t,e)=>{let n=i.filter(r=>Yi(r));return{fileCount:`${n.length}/${e.length}`,flattenCount:`${cS("flatten",n,t)}/${cS("flatten",e,t)}`,excludeCount:`${cS("exclude",n,t)}/${cS("exclude",e,t)}`}},bj=Re(ww,kr,Sh,CMe);var vj=(()=>{class i{constructor(e){this.store=e}ngOnInit(){this.isSearchPanelPinned$=this.store.select(nS)}onClick(){this.store.dispatch(dg())}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-thumb-tack-button"]],decls:3,vars:3,consts:[["title","Pin file explorer",1,"box-rounded",3,"click","ngClass"],[1,"fa","fa-thumb-tack"]],template:function(n,r){n&1&&(S(0,"button",0),fe(1,"async"),he("click",function(){return r.onClick()}),J(2,"i",1),F()),n&2&&z("ngClass",_e(1,1,r.isSearchPanelPinned$)?"pinned":"")},dependencies:[ko,dt],styles:[".pinned[_ngcontent-%COMP%]{background-color:#979797}button[_ngcontent-%COMP%]{height:25px;background:#e6e6e6;padding:1px 8px}.box-rounded[_ngcontent-%COMP%]{display:inline-block;font-weight:400;line-height:17px;font-size:10pt;margin-top:2px;min-width:20px;border-radius:4px;text-align:center}"]})}}return i})();var dS=Re(hi,i=>i.sortingOrderAscending);var yj=(()=>{class i{constructor(e){this.store=e}ngOnInit(){this.sortingOrderAscending$=this.store.select(dS)}onClick(){this.store.dispatch(sg())}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-sorting-button"]],decls:4,vars:7,consts:[[1,"box-rounded",3,"click","title"],[3,"className"]],template:function(n,r){n&1&&(Ut(0,"button",0),fe(1,"async"),fr("click",function(){return r.onClick()}),Ti(2,"i",1),fe(3,"async"),qt()),n&2&&(sn("title",fo("Toggle sort order (currently ",_e(1,3,r.sortingOrderAscending$)?"ascending":"descending",")")),E(2),sn("className",_e(3,5,r.sortingOrderAscending$)?"fa fa-sort-amount-asc":"fa fa-sort-amount-desc"))},dependencies:[dt],styles:["button[_ngcontent-%COMP%]{height:25px;background:#e6e6e6;padding:1px 8px}.box-rounded[_ngcontent-%COMP%]{display:inline-block;font-weight:400;line-height:17px;font-size:10pt;margin-top:2px;min-width:20px;border-radius:4px;text-align:center}"]})}}return i})();var uS=Re(_r,i=>i.sortingOption);function MMe(i,t){if(i&1&&(S(0,"mat-option",1),j(1),F()),i&2){let e=t.$implicit;z("value",e),E(),ct(" ",e," ")}}var xj=(()=>{class i{constructor(e){this.store=e,this.sortingOptions=Object.values(mu),this.selectedSortingOption$=e.select(uS)}handleSelectedSortingOptionChanged(e){this.store.dispatch(fh({value:e.value}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-sorting-option"]],decls:4,vars:3,consts:[["title","Sort by","panelClass","cc-sorting-option",1,"sorting-option-select",3,"selectionChange","value"],[3,"value"]],template:function(n,r){n&1&&(S(0,"mat-select",0),fe(1,"async"),he("selectionChange",function(a){return r.handleSelectedSortingOptionChanged(a)}),xi(2,MMe,2,2,"mat-option",1,En),F()),n&2&&(z("value",_e(1,1,r.selectedSortingOption$)),E(2),wi(r.sortingOptions))},dependencies:[Qo,Zr,dt],styles:[".sorting-option-select[_ngcontent-%COMP%]{max-width:88px}"]})}}return i})();function SMe(i,t){if(i&1&&(S(0,"span",0),j(1),J(2,"i",1),F(),S(3,"span",2),j(4),J(5,"img",3),F(),S(6,"span",4),j(7),J(8,"i",5),F(),S(9,"div",6),J(10,"cc-thumb-tack-button"),F(),S(11,"div",6),J(12,"cc-sorting-button")(13,"cc-sorting-option"),F()),i&2){let e=t;E(),Ai(e.fileCount),E(3),Ai(e.flattenCount),E(3),Ai(e.excludeCount)}}var wj=(()=>{class i{constructor(e){this.matchingFileCounters$=e.select(bj)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-matching-files-counter"]],decls:2,vars:3,consts:[["title","Files matching search pattern",1,"box-rounded","node-count"],[1,"fa","fa-file"],["title","Files flattened",1,"box-rounded","node-count",2,"display","inline-flex"],["alt","flattenIcon","src","/codeCharta/assets/flatten.png",1,"fa","png-icon-files-counter"],["title","Files excluded",1,"box-rounded","node-count"],[1,"fa","fa-ban"],[1,"clickable-component"]],template:function(n,r){if(n&1&&(ke(0,SMe,14,3),fe(1,"async")),n&2){let o;Pe((o=_e(1,1,r.matchingFileCounters$))?0:-1,o)}},dependencies:[vj,yj,xj,dt],styles:["[_nghost-%COMP%] .node-count[_ngcontent-%COMP%]{background:#eee;color:#000;padding:4px 8px;margin-right:8px}[_nghost-%COMP%] .node-count[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-left:6px}[_nghost-%COMP%] .box-rounded[_ngcontent-%COMP%]{display:inline-block;font-weight:400;line-height:17px;font-size:10pt;margin-top:2px;min-width:20px;border-radius:4px;text-align:center}[_nghost-%COMP%] .png-icon-files-counter[_ngcontent-%COMP%]{width:19px;height:16px;margin-left:6px}[_nghost-%COMP%] .clickable-component[_ngcontent-%COMP%]{display:inline-block;color:#000;margin-left:-9px}"]})}}return i})();function Lc(i){if(typeof i!="object")return i;var t,e,n=Object.prototype.toString.call(i);if(n==="[object Object]"){if(i.constructor!==Object&&typeof i.constructor=="function"){e=new i.constructor;for(t in i)i.hasOwnProperty(t)&&e[t]!==i[t]&&(e[t]=Lc(i[t]))}else{e={};for(t in i)t==="__proto__"?Object.defineProperty(e,t,{value:Lc(i[t]),configurable:!0,enumerable:!0,writable:!0}):e[t]=Lc(i[t])}return e}if(n==="[object Array]"){for(t=i.length,e=Array(t);t--;)e[t]=Lc(i[t]);return e}return n==="[object Set]"?(e=new Set,i.forEach(function(r){e.add(Lc(r))}),e):n==="[object Map]"?(e=new Map,i.forEach(function(r,o){e.set(Lc(o),Lc(r))}),e):n==="[object Date]"?new Date(+i):n==="[object RegExp]"?(e=new RegExp(i.source,i.flags),e.lastIndex=i.lastIndex,e):n==="[object DataView]"?new i.constructor(Lc(i.buffer)):n==="[object ArrayBuffer]"?i.slice(0):n.slice(-6)==="Array]"?new i.constructor(i):i}var EMe=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),Cj=i=>(t,e)=>{let n=EMe.compare(t.name,e.name);return i?n:n*-1},TMe=i=>(t,e)=>{let n=t.attributes.unary-e.attributes.unary;return i?n:n*-1},BMe=(i,t)=>(e,n)=>{let r=e.attributes[i]??0,o=n.attributes[i]??0;return(t?r-o:o-r)||Cj(t)(e,n)},FMe=(i,t,e)=>{switch(i){case mu.AREA_SIZE:return BMe(e,t);case mu.NUMBER_OF_FILES:return TMe(t);default:return Cj(t)}},IMe=(i,t)=>{let e=[],n=[];for(let r of t.children)r.type===Zn.FOLDER?e.push(r):n.push(r);return e.sort(i),n.sort(i),[...e,...n]},$k=(i,t,e,n)=>{if(!i?.children||i.children.length===0)return i;for(let o of i.children)o.type===Zn.FOLDER&&$k(o,t,e,n);let r=FMe(t,e,n);return i.children=IMe(r,i),i};var Mj=Re(br,uS,dS,Or,(i,t,e,n)=>$k(Lc(i.unifiedMapNode),t,e,n));var hS=Re(lp,i=>i.rightClickedNodeData);var fS=(()=>{class i{transform(e,n){return $b(e,n)}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"areaMetricValid",type:i,pure:!0})}}return i})();function $b(i,t){return i.deltas?.[t]<0||i.attributes?.[t]>0}var Sj=(()=>{class i{transform(e,n){return Yi(e)?"fa fa-file-o":n?"fa fa-folder-open":"fa fa-folder"}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"mapTreeViewItemIconClass",type:i,pure:!0})}}return i})();var Ej=(()=>{class i{static{this.defaultColor="#000000"}static{this.areMetricZeroColor="#BDBDBD"}constructor(e){this.state=e}transform(e){let{areaMetric:n}=this.state.getValue().dynamicSettings;return $b(e,n)?Yi(e)?void 0:Ff(e,this.state.getValue().fileSettings.markedPackages)||i.defaultColor:i.areMetricZeroColor}static{this.\u0275fac=function(n){return new(n||i)(se(bi,16))}}static{this.\u0275pipe=an({name:"mapTreeViewItemIconColor",type:i,pure:!1})}}return i})();var Tj=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-map-tree-view-item-icon"]],inputs:{node:"node",isOpen:"isOpen"},decls:3,vars:9,consts:[["role","img","aria-hidden","true"]],template:function(n,r){n&1&&(Ti(0,"span",0),fe(1,"mapTreeViewItemIconClass"),fe(2,"mapTreeViewItemIconColor")),n&2&&(Xi(dn(1,4,r.node,r.isOpen)),pi("color",_e(2,7,r.node)))},dependencies:[Sj,Ej],encapsulation:2})}}return i})();var Bj=Re(br,i=>i.unifiedMapNode?.attributes.unary);var mS=(()=>{class i{transform(e){return Yi(e)}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"isNodeLeaf",type:i,pure:!0})}}return i})();function DMe(i,t){if(i&1&&(S(0,"span"),j(1),fe(2,"async"),F()),i&2){let e=me(2);E(),ct("",(100*e.unaryValue/_e(2,1,e.rootUnary$)).toFixed(0),"%")}}function kMe(i,t){i&1&&j(0,"File")}function PMe(i,t){i&1&&j(0,"Files")}function RMe(i,t){if(i&1&&(S(0,"span",2),j(1),Sn(2,kMe,1,0,"ng-template",3)(3,PMe,1,0,"ng-template",4),F()),i&2){let e=me(2);z("ngPlural",e.unaryValue),E(),ct(" ",e.unaryValue," ")}}function OMe(i,t){if(i&1&&(S(0,"span",1),ke(1,DMe,3,3,"span")(2,RMe,4,2,"span",2),F()),i&2){let e=me();E(),Pe(e.isHovered?2:1)}}var Fj=(()=>{class i{constructor(e){this.searchedNodePaths$=e.select(tb),this.rootUnary$=e.select(Bj),this.areaMetric$=e.select(Or)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-map-tree-view-item-name"]],inputs:{node:"node",isHovered:"isHovered",unaryValue:"unaryValue",unaryPercentage:"unaryPercentage"},decls:7,vars:17,consts:[[1,"node-name"],[1,"unary-number"],[3,"ngPlural"],["ngPluralCase","=1"],["ngPluralCase","other"]],template:function(n,r){n&1&&(S(0,"span",0),fe(1,"async"),fe(2,"areaMetricValid"),fe(3,"async"),j(4),F(),ke(5,OMe,3,1,"span",1),fe(6,"isNodeLeaf")),n&2&&(yt("flattened",r.node.isFlattened)("noAreaMetric",!dn(2,10,r.node,_e(1,8,r.areaMetric$)))("tree-search-result",_e(3,13,r.searchedNodePaths$).has(r.node.path)),E(4),ct(" ",r.node.name,`
5187
+ `,aMe=["unscopedContent"],sMe=["text"],lMe=[[["","matListItemAvatar",""],["","matListItemIcon",""]],[["","matListItemTitle",""]],[["","matListItemLine",""]],"*",[["","matListItemMeta",""]],[["mat-divider"]]],cMe=["[matListItemAvatar],[matListItemIcon]","[matListItemTitle]","[matListItemLine]","*","[matListItemMeta]","mat-divider"];var dMe=new Je("ListOption"),uMe=(()=>{class i{_elementRef=R(Ft);constructor(){}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","matListItemTitle",""]],hostAttrs:[1,"mat-mdc-list-item-title","mdc-list-item__primary-text"]})}return i})(),hMe=(()=>{class i{_elementRef=R(Ft);constructor(){}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","matListItemLine",""]],hostAttrs:[1,"mat-mdc-list-item-line","mdc-list-item__secondary-text"]})}return i})(),fMe=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["","matListItemMeta",""]],hostAttrs:[1,"mat-mdc-list-item-meta","mdc-list-item__end"]})}return i})(),gj=(()=>{class i{_listOption=R(dMe,{optional:!0});constructor(){}_isAlignedAtStart(){return!this._listOption||this._listOption?._getTogglePosition()==="after"}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,hostVars:4,hostBindings:function(n,r){n&2&&yt("mdc-list-item__start",r._isAlignedAtStart())("mdc-list-item__end",!r._isAlignedAtStart())}})}return i})(),mMe=(()=>{class i extends gj{static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275dir=wt({type:i,selectors:[["","matListItemAvatar",""]],hostAttrs:[1,"mat-mdc-list-item-avatar"],features:[nn]})}return i})(),pMe=(()=>{class i extends gj{static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275dir=wt({type:i,selectors:[["","matListItemIcon",""]],hostAttrs:[1,"mat-mdc-list-item-icon"],features:[nn]})}return i})(),AMe=new Je("MAT_LIST_CONFIG"),jk=(()=>{class i{_isNonInteractive=!0;get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=_o(e)}_disableRipple=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(_o(e))}_disabled=Gi(!1);_defaultOptions=R(AMe,{optional:!0});static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,hostVars:1,hostBindings:function(n,r){n&2&&ni("aria-disabled",r.disabled)},inputs:{disableRipple:"disableRipple",disabled:"disabled"}})}return i})(),gMe=(()=>{class i{_elementRef=R(Ft);_ngZone=R(ti);_listBase=R(jk,{optional:!0});_platform=R(Ki);_hostElement;_isButtonElement;_noopAnimations=vn();_avatars;_icons;set lines(e){this._explicitLines=ma(e,null),this._updateItemLines(!1)}_explicitLines=null;get disableRipple(){return this.disabled||this._disableRipple||this._noopAnimations||!!this._listBase?.disableRipple}set disableRipple(e){this._disableRipple=_o(e)}_disableRipple=!1;get disabled(){return this._disabled()||!!this._listBase?.disabled}set disabled(e){this._disabled.set(_o(e))}_disabled=Gi(!1);_subscriptions=new rr;_rippleRenderer=null;_hasUnscopedTextContent=!1;rippleConfig;get rippleDisabled(){return this.disableRipple||!!this.rippleConfig.disabled}constructor(){R(Tn).load(bo);let e=R(Sf,{optional:!0});this.rippleConfig=e||{},this._hostElement=this._elementRef.nativeElement,this._isButtonElement=this._hostElement.nodeName.toLowerCase()==="button",this._listBase&&!this._listBase._isNonInteractive&&this._initInteractiveListItem(),this._isButtonElement&&!this._hostElement.hasAttribute("type")&&this._hostElement.setAttribute("type","button")}ngAfterViewInit(){this._monitorProjectedLinesAndTitle(),this._updateItemLines(!0)}ngOnDestroy(){this._subscriptions.unsubscribe(),this._rippleRenderer!==null&&this._rippleRenderer._removeTriggerEvents()}_hasIconOrAvatar(){return!!(this._avatars.length||this._icons.length)}_initInteractiveListItem(){this._hostElement.classList.add("mat-mdc-list-item-interactive"),this._rippleRenderer=new Mf(this,this._ngZone,this._hostElement,this._platform,R(_i)),this._rippleRenderer.setupTriggerEvents(this._hostElement)}_monitorProjectedLinesAndTitle(){this._ngZone.runOutsideAngular(()=>{this._subscriptions.add(wr(this._lines.changes,this._titles.changes).subscribe(()=>this._updateItemLines(!1)))})}_updateItemLines(e){if(!this._lines||!this._titles||!this._unscopedContent)return;e&&this._checkDomForUnscopedTextContent();let n=this._explicitLines??this._inferLinesFromContent(),r=this._unscopedContent.nativeElement;if(this._hostElement.classList.toggle("mat-mdc-list-item-single-line",n<=1),this._hostElement.classList.toggle("mdc-list-item--with-one-line",n<=1),this._hostElement.classList.toggle("mdc-list-item--with-two-lines",n===2),this._hostElement.classList.toggle("mdc-list-item--with-three-lines",n===3),this._hasUnscopedTextContent){let o=this._titles.length===0&&n===1;r.classList.toggle("mdc-list-item__primary-text",o),r.classList.toggle("mdc-list-item__secondary-text",!o)}else r.classList.remove("mdc-list-item__primary-text"),r.classList.remove("mdc-list-item__secondary-text")}_inferLinesFromContent(){let e=this._titles.length+this._lines.length;return this._hasUnscopedTextContent&&(e+=1),e}_checkDomForUnscopedTextContent(){this._hasUnscopedTextContent=Array.from(this._unscopedContent.nativeElement.childNodes).filter(e=>e.nodeType!==e.COMMENT_NODE).some(e=>!!(e.textContent&&e.textContent.trim()))}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,contentQueries:function(n,r,o){if(n&1&&(_n(o,mMe,4),_n(o,pMe,4)),n&2){let a;mt(a=pt())&&(r._avatars=a),mt(a=pt())&&(r._icons=a)}},hostVars:4,hostBindings:function(n,r){n&2&&(ni("aria-disabled",r.disabled)("disabled",r._isButtonElement&&r.disabled||null),yt("mdc-list-item--disabled",r.disabled))},inputs:{lines:"lines",disableRipple:"disableRipple",disabled:"disabled"}})}return i})();var sS=(()=>{class i extends jk{static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275cmp=re({type:i,selectors:[["mat-list"]],hostAttrs:[1,"mat-mdc-list","mat-mdc-list-base","mdc-list"],exportAs:["matList"],features:[Si([{provide:jk,useExisting:i}]),nn],ngContentSelectors:rMe,decls:1,vars:0,template:function(n,r){n&1&&(ki(),Gt(0))},styles:[oMe],encapsulation:2,changeDetection:0})}return i})(),lS=(()=>{class i extends gMe{_lines;_titles;_meta;_unscopedContent;_itemText;get activated(){return this._activated}set activated(e){this._activated=_o(e)}_activated=!1;_getAriaCurrent(){return this._hostElement.nodeName==="A"&&this._activated?"page":null}_hasBothLeadingAndTrailing(){return this._meta.length!==0&&(this._avatars.length!==0||this._icons.length!==0)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=Fr(i)))(r||i)}})();static \u0275cmp=re({type:i,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(n,r,o){if(n&1&&(_n(o,hMe,5),_n(o,uMe,5),_n(o,fMe,5)),n&2){let a;mt(a=pt())&&(r._lines=a),mt(a=pt())&&(r._titles=a),mt(a=pt())&&(r._meta=a)}},viewQuery:function(n,r){if(n&1&&(Nt(aMe,5),Nt(sMe,5)),n&2){let o;mt(o=pt())&&(r._unscopedContent=o.first),mt(o=pt())&&(r._itemText=o.first)}},hostAttrs:[1,"mat-mdc-list-item","mdc-list-item"],hostVars:13,hostBindings:function(n,r){n&2&&(ni("aria-current",r._getAriaCurrent()),yt("mdc-list-item--activated",r.activated)("mdc-list-item--with-leading-avatar",r._avatars.length!==0)("mdc-list-item--with-leading-icon",r._icons.length!==0)("mdc-list-item--with-trailing-meta",r._meta.length!==0)("mat-mdc-list-item-both-leading-and-trailing",r._hasBothLeadingAndTrailing())("_mat-animation-noopable",r._noopAnimations))},inputs:{activated:"activated"},exportAs:["matListItem"],features:[nn],ngContentSelectors:cMe,decls:10,vars:0,consts:[["unscopedContent",""],[1,"mdc-list-item__content"],[1,"mat-mdc-list-item-unscoped-content",3,"cdkObserveContent"],[1,"mat-focus-indicator"]],template:function(n,r){if(n&1){let o=st();ki(lMe),Gt(0),S(1,"span",1),Gt(2,1),Gt(3,2),S(4,"span",2,0),he("cdkObserveContent",function(){return Ve(o),Qe(r._updateItemLines(!0))}),Gt(6,3),F()(),Gt(7,4),Gt(8,5),J(9,"div",3)}},dependencies:[g5],encapsulation:2,changeDetection:0})}return i})();function _Me(i,t){i&1&&(S(0,"mat-list-item"),j(1,"Add pattern via search or node context-menu"),F())}function bMe(i,t){if(i&1){let e=st();S(0,"mat-list-item",4)(1,"button",5),he("click",function(){let r=Ve(e).$implicit,o=me(2);return Qe(o.removeBlacklistEntry(r))}),J(2,"em",6),j(3),F()()}if(i&2){let e=t.$implicit;z("title",e.path),E(3),ct(" ",e.path," ")}}function vMe(i,t){if(i&1&&(S(0,"div"),ke(1,_Me,2,0,"mat-list-item"),xi(2,bMe,4,2,"mat-list-item",4,En),F()),i&2){let e=t;E(),Pe(e.length===0?1:-1),E(),wi(e)}}function yMe(i,t){i&1&&(S(0,"mat-list-item"),j(1,"Add pattern via search or node context-menu"),F())}function xMe(i,t){if(i&1){let e=st();S(0,"mat-list-item",4)(1,"button",5),he("click",function(){let r=Ve(e).$implicit,o=me(2);return Qe(o.removeBlacklistEntry(r))}),J(2,"em",6),j(3),F()()}if(i&2){let e=t.$implicit;z("title",e.path),E(3),ct(" ",e.path," ")}}function wMe(i,t){if(i&1&&(S(0,"div"),ke(1,yMe,2,0,"mat-list-item"),xi(2,xMe,4,2,"mat-list-item",4,En),F()),i&2){let e=t;E(),Pe(e.length===0?1:-1),E(),wi(e)}}var _j=(()=>{class i{constructor(e){this.store=e,this.flattenedItems$=this.store.select(Gb("flatten")),this.excludedItems$=this.store.select(Gb("exclude"))}removeBlacklistEntry(e){this.store.dispatch(dh({item:e}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-blacklist-panel"]],decls:14,vars:6,consts:[[1,"cc-blacklist-panel-list"],[1,"cc-header-text"],["matTooltip","Flattened nodes are shown as flat/short buildings and are included in folder metrics",1,"fa","fa-question-circle-o"],["matTooltip","Excluded buildings are not shown in the map and are not included in folder metrics",1,"fa","fa-question-circle-o"],[3,"title"],["mat-button","",3,"click"],["title","Remove list item",1,"fa","fa-minus-square"]],template:function(n,r){if(n&1&&(S(0,"mat-list",0)(1,"div")(2,"h3",1),j(3,"Flattened"),F(),J(4,"em",2),F(),ke(5,vMe,4,1,"div"),fe(6,"async"),F(),S(7,"mat-list",0)(8,"div")(9,"h3",1),j(10,"Excluded"),F(),J(11,"em",3),F(),ke(12,wMe,4,1,"div"),fe(13,"async"),F()),n&2){let o,a;E(5),Pe((o=_e(6,2,r.flattenedItems$))?5:-1,o),E(7),Pe((a=_e(13,4,r.excludedItems$))?12:-1,a)}},dependencies:[sS,ym,lS,Wi,dt],styles:["[_nghost-%COMP%] .cc-header-text[_ngcontent-%COMP%]{display:inline-block;margin:0 .25em 0 0}"]})}}return i})();var cS=(i,t,e)=>t.reduce((n,r)=>ga(r.path,e,i)?n+1:n,0),CMe=(i,t,e)=>{let n=i.filter(r=>Yi(r));return{fileCount:`${n.length}/${e.length}`,flattenCount:`${cS("flatten",n,t)}/${cS("flatten",e,t)}`,excludeCount:`${cS("exclude",n,t)}/${cS("exclude",e,t)}`}},bj=Re(ww,kr,Sh,CMe);var vj=(()=>{class i{constructor(e){this.store=e}ngOnInit(){this.isSearchPanelPinned$=this.store.select(nS)}onClick(){this.store.dispatch(dg())}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-thumb-tack-button"]],decls:3,vars:3,consts:[["title","Pin file explorer",1,"box-rounded",3,"click","ngClass"],[1,"fa","fa-thumb-tack"]],template:function(n,r){n&1&&(S(0,"button",0),fe(1,"async"),he("click",function(){return r.onClick()}),J(2,"i",1),F()),n&2&&z("ngClass",_e(1,1,r.isSearchPanelPinned$)?"pinned":"")},dependencies:[ko,dt],styles:[".pinned[_ngcontent-%COMP%]{background-color:#979797}button[_ngcontent-%COMP%]{height:25px;background:#e6e6e6;padding:1px 8px}.box-rounded[_ngcontent-%COMP%]{display:inline-block;font-weight:400;line-height:17px;font-size:10pt;margin-top:2px;min-width:20px;border-radius:4px;text-align:center}"]})}}return i})();var dS=Re(hi,i=>i.sortingOrderAscending);var yj=(()=>{class i{constructor(e){this.store=e}ngOnInit(){this.sortingOrderAscending$=this.store.select(dS)}onClick(){this.store.dispatch(sg())}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-sorting-button"]],decls:4,vars:7,consts:[[1,"box-rounded",3,"click","title"],[3,"className"]],template:function(n,r){n&1&&(Ut(0,"button",0),fe(1,"async"),fr("click",function(){return r.onClick()}),Ti(2,"i",1),fe(3,"async"),qt()),n&2&&(sn("title",fo("Toggle sort order (currently ",_e(1,3,r.sortingOrderAscending$)?"ascending":"descending",")")),E(2),sn("className",_e(3,5,r.sortingOrderAscending$)?"fa fa-sort-amount-asc":"fa fa-sort-amount-desc"))},dependencies:[dt],styles:["button[_ngcontent-%COMP%]{height:25px;background:#e6e6e6;padding:1px 8px}.box-rounded[_ngcontent-%COMP%]{display:inline-block;font-weight:400;line-height:17px;font-size:10pt;margin-top:2px;min-width:20px;border-radius:4px;text-align:center}"]})}}return i})();var uS=Re(_r,i=>i.sortingOption);function MMe(i,t){if(i&1&&(S(0,"mat-option",1),j(1),F()),i&2){let e=t.$implicit;z("value",e),E(),ct(" ",e," ")}}var xj=(()=>{class i{constructor(e){this.store=e,this.sortingOptions=Object.values(mu),this.selectedSortingOption$=e.select(uS)}handleSelectedSortingOptionChanged(e){this.store.dispatch(fh({value:e.value}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-sorting-option"]],decls:4,vars:3,consts:[["title","Sort by","panelClass","cc-sorting-option",1,"sorting-option-select",3,"selectionChange","value"],[3,"value"]],template:function(n,r){n&1&&(S(0,"mat-select",0),fe(1,"async"),he("selectionChange",function(a){return r.handleSelectedSortingOptionChanged(a)}),xi(2,MMe,2,2,"mat-option",1,En),F()),n&2&&(z("value",_e(1,1,r.selectedSortingOption$)),E(2),wi(r.sortingOptions))},dependencies:[Qo,Zr,dt],styles:[".sorting-option-select[_ngcontent-%COMP%]{max-width:88px}"]})}}return i})();function SMe(i,t){if(i&1&&(S(0,"span",0),j(1),J(2,"i",1),F(),S(3,"span",2),j(4),J(5,"img",3),F(),S(6,"span",4),j(7),J(8,"i",5),F(),S(9,"div",6),J(10,"cc-thumb-tack-button"),F(),S(11,"div",6),J(12,"cc-sorting-button")(13,"cc-sorting-option"),F()),i&2){let e=t;E(),Ai(e.fileCount),E(3),Ai(e.flattenCount),E(3),Ai(e.excludeCount)}}var wj=(()=>{class i{constructor(e){this.matchingFileCounters$=e.select(bj)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-matching-files-counter"]],decls:2,vars:3,consts:[["title","Files matching search pattern",1,"box-rounded","node-count"],[1,"fa","fa-file"],["title","Files flattened",1,"box-rounded","node-count",2,"display","inline-flex"],["alt","flattenIcon","src","codeCharta/assets/flatten.png",1,"fa","png-icon-files-counter"],["title","Files excluded",1,"box-rounded","node-count"],[1,"fa","fa-ban"],[1,"clickable-component"]],template:function(n,r){if(n&1&&(ke(0,SMe,14,3),fe(1,"async")),n&2){let o;Pe((o=_e(1,1,r.matchingFileCounters$))?0:-1,o)}},dependencies:[vj,yj,xj,dt],styles:["[_nghost-%COMP%] .node-count[_ngcontent-%COMP%]{background:#eee;color:#000;padding:4px 8px;margin-right:8px}[_nghost-%COMP%] .node-count[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-left:6px}[_nghost-%COMP%] .box-rounded[_ngcontent-%COMP%]{display:inline-block;font-weight:400;line-height:17px;font-size:10pt;margin-top:2px;min-width:20px;border-radius:4px;text-align:center}[_nghost-%COMP%] .png-icon-files-counter[_ngcontent-%COMP%]{width:19px;height:16px;margin-left:6px}[_nghost-%COMP%] .clickable-component[_ngcontent-%COMP%]{display:inline-block;color:#000;margin-left:-9px}"]})}}return i})();function Lc(i){if(typeof i!="object")return i;var t,e,n=Object.prototype.toString.call(i);if(n==="[object Object]"){if(i.constructor!==Object&&typeof i.constructor=="function"){e=new i.constructor;for(t in i)i.hasOwnProperty(t)&&e[t]!==i[t]&&(e[t]=Lc(i[t]))}else{e={};for(t in i)t==="__proto__"?Object.defineProperty(e,t,{value:Lc(i[t]),configurable:!0,enumerable:!0,writable:!0}):e[t]=Lc(i[t])}return e}if(n==="[object Array]"){for(t=i.length,e=Array(t);t--;)e[t]=Lc(i[t]);return e}return n==="[object Set]"?(e=new Set,i.forEach(function(r){e.add(Lc(r))}),e):n==="[object Map]"?(e=new Map,i.forEach(function(r,o){e.set(Lc(o),Lc(r))}),e):n==="[object Date]"?new Date(+i):n==="[object RegExp]"?(e=new RegExp(i.source,i.flags),e.lastIndex=i.lastIndex,e):n==="[object DataView]"?new i.constructor(Lc(i.buffer)):n==="[object ArrayBuffer]"?i.slice(0):n.slice(-6)==="Array]"?new i.constructor(i):i}var EMe=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),Cj=i=>(t,e)=>{let n=EMe.compare(t.name,e.name);return i?n:n*-1},TMe=i=>(t,e)=>{let n=t.attributes.unary-e.attributes.unary;return i?n:n*-1},BMe=(i,t)=>(e,n)=>{let r=e.attributes[i]??0,o=n.attributes[i]??0;return(t?r-o:o-r)||Cj(t)(e,n)},FMe=(i,t,e)=>{switch(i){case mu.AREA_SIZE:return BMe(e,t);case mu.NUMBER_OF_FILES:return TMe(t);default:return Cj(t)}},IMe=(i,t)=>{let e=[],n=[];for(let r of t.children)r.type===Zn.FOLDER?e.push(r):n.push(r);return e.sort(i),n.sort(i),[...e,...n]},$k=(i,t,e,n)=>{if(!i?.children||i.children.length===0)return i;for(let o of i.children)o.type===Zn.FOLDER&&$k(o,t,e,n);let r=FMe(t,e,n);return i.children=IMe(r,i),i};var Mj=Re(br,uS,dS,Or,(i,t,e,n)=>$k(Lc(i.unifiedMapNode),t,e,n));var hS=Re(lp,i=>i.rightClickedNodeData);var fS=(()=>{class i{transform(e,n){return $b(e,n)}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"areaMetricValid",type:i,pure:!0})}}return i})();function $b(i,t){return i.deltas?.[t]<0||i.attributes?.[t]>0}var Sj=(()=>{class i{transform(e,n){return Yi(e)?"fa fa-file-o":n?"fa fa-folder-open":"fa fa-folder"}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"mapTreeViewItemIconClass",type:i,pure:!0})}}return i})();var Ej=(()=>{class i{static{this.defaultColor="#000000"}static{this.areMetricZeroColor="#BDBDBD"}constructor(e){this.state=e}transform(e){let{areaMetric:n}=this.state.getValue().dynamicSettings;return $b(e,n)?Yi(e)?void 0:Ff(e,this.state.getValue().fileSettings.markedPackages)||i.defaultColor:i.areMetricZeroColor}static{this.\u0275fac=function(n){return new(n||i)(se(bi,16))}}static{this.\u0275pipe=an({name:"mapTreeViewItemIconColor",type:i,pure:!1})}}return i})();var Tj=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-map-tree-view-item-icon"]],inputs:{node:"node",isOpen:"isOpen"},decls:3,vars:9,consts:[["role","img","aria-hidden","true"]],template:function(n,r){n&1&&(Ti(0,"span",0),fe(1,"mapTreeViewItemIconClass"),fe(2,"mapTreeViewItemIconColor")),n&2&&(Xi(dn(1,4,r.node,r.isOpen)),pi("color",_e(2,7,r.node)))},dependencies:[Sj,Ej],encapsulation:2})}}return i})();var Bj=Re(br,i=>i.unifiedMapNode?.attributes.unary);var mS=(()=>{class i{transform(e){return Yi(e)}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"isNodeLeaf",type:i,pure:!0})}}return i})();function DMe(i,t){if(i&1&&(S(0,"span"),j(1),fe(2,"async"),F()),i&2){let e=me(2);E(),ct("",(100*e.unaryValue/_e(2,1,e.rootUnary$)).toFixed(0),"%")}}function kMe(i,t){i&1&&j(0,"File")}function PMe(i,t){i&1&&j(0,"Files")}function RMe(i,t){if(i&1&&(S(0,"span",2),j(1),Sn(2,kMe,1,0,"ng-template",3)(3,PMe,1,0,"ng-template",4),F()),i&2){let e=me(2);z("ngPlural",e.unaryValue),E(),ct(" ",e.unaryValue," ")}}function OMe(i,t){if(i&1&&(S(0,"span",1),ke(1,DMe,3,3,"span")(2,RMe,4,2,"span",2),F()),i&2){let e=me();E(),Pe(e.isHovered?2:1)}}var Fj=(()=>{class i{constructor(e){this.searchedNodePaths$=e.select(tb),this.rootUnary$=e.select(Bj),this.areaMetric$=e.select(Or)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-map-tree-view-item-name"]],inputs:{node:"node",isHovered:"isHovered",unaryValue:"unaryValue",unaryPercentage:"unaryPercentage"},decls:7,vars:17,consts:[[1,"node-name"],[1,"unary-number"],[3,"ngPlural"],["ngPluralCase","=1"],["ngPluralCase","other"]],template:function(n,r){n&1&&(S(0,"span",0),fe(1,"async"),fe(2,"areaMetricValid"),fe(3,"async"),j(4),F(),ke(5,OMe,3,1,"span",1),fe(6,"isNodeLeaf")),n&2&&(yt("flattened",r.node.isFlattened)("noAreaMetric",!dn(2,10,r.node,_e(1,8,r.areaMetric$)))("tree-search-result",_e(3,13,r.searchedNodePaths$).has(r.node.path)),E(4),ct(" ",r.node.name,`
5188
5188
  `),E(),Pe(_e(6,15,r.node)?-1:5))},dependencies:[Ay,rT,dt,fS,mS],styles:[".unary-number[_ngcontent-%COMP%]{color:#a3a3a3;font-size:.8em;margin-top:1px}.node-name.flattened[_ngcontent-%COMP%]{color:gray}.node-name.noAreaMetric[_ngcontent-%COMP%]{color:#bdbdbd}.tree-search-result[_ngcontent-%COMP%]{background-color:#fc801bab}"]})}}return i})();function LMe(i,t){i&1&&Ti(0,"i",1)}var Ij=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-map-tree-view-item-option-buttons"]],inputs:{isFlattened:"isFlattened",openNodeContextMenu:"openNodeContextMenu"},decls:5,vars:1,consts:[["role","button","aria-hidden","true",1,"right-aligned"],["title","Flattened",1,"flattened","fa","fa-eye-slash"],[1,"small-action-button"],["title","Open Node-Context-Menu",3,"click"],[1,"fa","fa-ellipsis-h"]],template:function(n,r){n&1&&(Ut(0,"span",0),ke(1,LMe,1,0,"i",1),Ut(2,"div",2)(3,"button",3),fr("click",function(a){return r.openNodeContextMenu(a)}),Ti(4,"i",4),qt()()()),n&2&&(E(),Pe(r.isFlattened?1:-1))},styles:["button[_ngcontent-%COMP%]{display:inline-block;height:19px;width:24px;min-height:0;margin:0;background-color:transparent;box-shadow:none;vertical-align:top}button[_ngcontent-%COMP%]:hover{background-color:#ddd;color:#000000de}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{position:absolute;top:2px;left:6px}.right-aligned[_ngcontent-%COMP%]{position:absolute;right:6px}.right-aligned[_ngcontent-%COMP%] i.flattened[_ngcontent-%COMP%]{color:gray}"]})}}return i})();var pS=class extends ju{constructor(t,e){super(t,e),this.screenSpacePanning=!1,this.mouseButtons={LEFT:wa.PAN,MIDDLE:wa.DOLLY,RIGHT:wa.ROTATE},this.touches={ONE:dc.PAN,TWO:dc.DOLLY_ROTATE}}};var yr=(()=>{class i{static{this.CAMERA_CHANGED_EVENT_NAME="camera-changed"}constructor(e,n,r){this.threeCameraService=e,this.threeSceneService=n,this.threeRendererService=r,this.MAX_ZOOM=200,this.MIN_ZOOM=10,this.eventEmitter=new Wu,this.zoomPercentage$=new Ol(100)}setControlTarget(e){this.controls.target.set(e.x,e.y,e.z)}updateControls(){this.controls.update()}rotateCameraInVectorDirection(e,n,r){let o=this.getZoom();this.lookAtDirectionFromTarget(e,n,r),this.applyOldZoom(o),this.threeRendererService.render(),this.onInput(this.threeCameraService.camera)}autoFitTo(){setTimeout(()=>{let e=this.getBoundingSphere();if(e.radius===-1)return;let n=this.cameraPerspectiveLengthCalculation(e);this.threeCameraService.camera.position.set(n,n,e.center.z),this.updateControls(),this.focusCameraViewToCenter(e),this.threeRendererService.render(),this.onInput(this.threeCameraService.camera);let o=1.3;this.controls.maxDistance=n*4,this.controls.minDistance=e.radius/(10*o),this.setZoomPercentage(140)})}cameraPerspectiveLengthCalculation(e){let o=this.threeCameraService.camera.fov*Math.PI/180*1.3,a=e.radius/Math.tan(o/2);return Math.sqrt(Math.pow(a,2)+Math.pow(a,2))}focusCameraViewToCenter(e){let n=e.center.clone();n.setY(0),this.controls.target.set(n.x,n.y,n.z),this.threeCameraService.camera.lookAt(n),this.threeCameraService.camera.updateProjectionMatrix()}getBoundingSphere(){return new Lo().setFromObject(this.threeSceneService.mapGeometry).getBoundingSphere(new sc)}lookAtDirectionFromTarget(e,n,r){this.threeCameraService.camera.position.set(this.controls.target.x,this.controls.target.y,this.controls.target.z);let o=new Ui(new xa(20,20,20),new Jx);this.threeSceneService.scene.add(o),o.position.set(this.controls.target.x,this.controls.target.y,this.controls.target.z),o.translateX(e),o.translateY(n),o.translateZ(r),this.threeCameraService.camera.lookAt(o.getWorldPosition(o.position)),this.threeSceneService.scene.remove(o)}getZoom(){return this.threeCameraService.camera.position.distanceTo(this.controls.target)}applyOldZoom(e){this.threeCameraService.camera.translateZ(e)}init(e){this.controls=new pS(this.threeCameraService.camera,e),this.controls.mouseButtons={LEFT:wa.ROTATE,MIDDLE:wa.DOLLY,RIGHT:wa.PAN},this.controls.zoomToCursor=!0;let n=r=>{this.controls.zoomToCursor=!r.altKey};window.addEventListener("keydown",n),window.addEventListener("keyup",n),window.addEventListener("mousemove",n),this.controls.minPolarAngle=0,this.controls.maxPolarAngle=Math.PI/2,this.controls.listenToKeyEvents(window),this.controls.addEventListener("change",()=>{this.onInput(this.threeCameraService.camera),this.updateZoomPercentage(),this.threeRendererService.render()}),this.updateZoomPercentage()}onInput(e){this.setControlTarget(this.controls.target),this.eventEmitter.emit("onCameraChanged",{camera:e})}subscribe(e,n){this.eventEmitter.on(e,r=>{n(r)})}getZoomPercentage(e){let n=this.controls.minDistance,r=this.controls.maxDistance;if(e<=n)return this.MAX_ZOOM;if(e>=r)return this.MIN_ZOOM;let o=r-n;return this.MAX_ZOOM-(e-n)/o*(this.MAX_ZOOM-this.MIN_ZOOM)}getDistanceFromZoomPercentage(e){let n=this.controls.minDistance,o=this.controls.maxDistance-n;return n+(this.MAX_ZOOM-e)/(this.MAX_ZOOM-this.MIN_ZOOM)*o}updateZoomPercentage(){let e=this.threeCameraService.camera.position.distanceTo(this.controls.target),n=this.getZoomPercentage(e);this.zoomPercentage$.next(n)}setZoomPercentage(e){let n=this.getDistanceFromZoomPercentage(e),r=new ce().subVectors(this.threeCameraService.camera.position,this.controls.target).normalize();this.threeCameraService.camera.position.copy(this.controls.target).add(r.multiplyScalar(n)),this.updateControls(),this.zoomPercentage$.next(e)}static{this.\u0275fac=function(n){return new(n||i)(Me(Kr),Me(vr),Me(Rr))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var AS=(()=>{class i{constructor(e,n,r,o){this.state=e,this.threeCameraService=n,this.threeSceneService=r,this.threeMapControlsService=o,this.mapLabelColors=sa.labelColorAndAlpha,this.LABEL_COLOR_RGB=Ji.convertHexToRgba(this.mapLabelColors.rgb),this.LABEL_WIDTH_DIVISOR=2100,this.LABEL_HEIGHT_DIVISOR=35,this.LABEL_CORNER_RADIUS=40,this.LABEL_SCALE_FACTOR=.7,this.LABEL_HEIGHT_COEFFICIENT=15/4,this.LABEL_HEIGHT_POSITION=60,this.previousScaling=new ce(1,1,1),this.lineCount=1,this.nodeHeight=0,this.labels=new Array,this.threeMapControlsService.subscribe("onCameraChanged",()=>this.onCameraChanged())}addLeafLabel(e,n,r=!1){let{appSettings:o,dynamicSettings:a}=this.state.getValue(),{scaling:s,layoutAlgorithm:l,showMetricLabelNodeName:c,showMetricLabelNameValue:d}=o,{margin:h,heightMetric:u}=a,f=new ce(s.x,s.y,s.z),_="";if(c||r&&!d)_=`${e.name}`;else if(!d)return;d&&(_!==""&&(_+=`
5189
5189
  `),_+=`${e.attributes[u]} ${u}`);let y=this.makeText(_,30,e),b=e.height+Math.abs(e.heightDelta??0);b=b*f.y>n*f.y?b:n,this.nodeHeight=this.nodeHeight>b?this.nodeHeight:b;let v=e.x0-jn,M=e.z0,x=e.y0-jn,w=(v+e.width/2)*f.x,k=(M+this.nodeHeight)*f.y,P=(M+e.height)*f.y,D=(x+e.length/2)*f.z,O=this.LABEL_HEIGHT_COEFFICIENT*h*this.LABEL_SCALE_FACTOR,T=O+y.heightValue/2;switch(l){case ea.StreetMap:case ea.TreeMapStreet:T/=10,this.LABEL_HEIGHT_POSITION=0,y.line=this.makeLine(w,k+T,P,D);break;default:y.line=this.makeLine(w,k+O/2,P,D)}y.sprite.position.set(w,k+T,D),y.sprite.material.color=new di(this.mapLabelColors.rgb),y.sprite.material.opacity=this.mapLabelColors.alpha,y.sprite.userData={node:e},this.threeSceneService.labels.add(y.sprite),this.threeSceneService.labels.add(y.line),this.labels.push(y)}clearLabels(){this.threeSceneService.resetLabel(),this.threeSceneService.resetLineHighlight(),this.dispose(this.labels),this.labels=[],this.nodeHeight=0,this.LABEL_HEIGHT_POSITION=60,this.dispose(this.threeSceneService.labels.children),this.threeSceneService.labels.children=[]}disposeSprite(e){e.material.dispose(),e.material.map.dispose(),e.geometry.dispose()}disposeLine(e){e.material.dispose(),e.geometry.dispose()}dispose(e){for(let n of e)n instanceof q_&&this.disposeSprite(n),n instanceof vl&&this.disposeLine(n),n.sprite!==void 0&&this.disposeSprite(n.sprite),n.line!==void 0&&this.disposeLine(n.line)}clearTemporaryLabel(e){let n=this.labels.findIndex(({node:r})=>r===e);n>-1&&(this.labels.splice(n,1),this.dispose(this.threeSceneService.labels.children),this.threeSceneService.labels.children.length-=2,this.threeSceneService.resetLineHighlight())}scale(){let{scaling:e}=this.state.getValue().appSettings,n=new ce(e.x,e.y,e.z),{margin:r}=this.state.getValue().dynamicSettings,o=new ce(0,this.LABEL_HEIGHT_COEFFICIENT*r*this.LABEL_SCALE_FACTOR,0);for(let a of this.labels){let s=n.clone();a.sprite.position.sub(o).divide(this.previousScaling).multiply(s).add(o),s.y>1&&(s.y=1);let c=a.line.geometry.attributes.position;c.setX(0,c.getX(0)*s.x),c.setY(0,c.getY(0)*s.y),c.setZ(0,c.getZ(0)*s.z),c.setX(1,a.sprite.position.x),c.setY(1,a.sprite.position.y),c.setZ(1,a.sprite.position.z),c.needsUpdate=!0}this.previousScaling.copy(n)}onCameraChanged(){for(let e of this.labels)this.setLabelSize(e.sprite,e,e.sprite.material.map.image.width)}makeText(e,n,r){let o=document.createElement("canvas"),a=o.getContext("2d");a.font=`${n}px Roboto`;let s=25,l=e.split(`
5190
5190
  `),c=a.measureText(l[0]).width,d=a.measureText(l[1]).width;o.width=c>d?c+s:d+s,o.height=s+n*l.length,a.font=`${n}px Roboto`,a.fillStyle="rgba(255,255,255,1)",a.lineJoin="round",a.lineCap="round",a.lineWidth=5,i.drawRectangleWithRoundedCorners(a,0,0,o.width,o.height,this.LABEL_CORNER_RADIUS),a.fillStyle="rgba(0,0,0,1)",a.textAlign="center",a.textBaseline="middle";for(let[_,y]of l.entries())a.fillText(y,o.width/2,o.height*(_+1)/(l.length+1));let h=new uc(o);h.minFilter=as,h.needsUpdate=!0;let u=new z_({map:h}),f=new q_(u);return this.lineCount=l.length,this.setLabelSize(f,null,o.width),{sprite:f,heightValue:o.height,line:null,lineCount:l.length,node:r}}static drawRectangleWithRoundedCorners(e,n,r,o,a,s){o<2*s&&(s=o/2),a<2*s&&(s=a/2),e.beginPath(),e.moveTo(n+s,r),e.arcTo(n+o,r,n+o,r+a,s),e.arcTo(n+o,r+a,n,r+a,s),e.arcTo(n,r+a,n,r,s),e.arcTo(n,r,n+o,r,s),e.closePath(),e.fill()}setLabelSize(e,n,r=e.material.map.image.width){let o=new Lo().setFromObject(this.threeSceneService.mapGeometry).getBoundingSphere(new sc).center;if(this.threeCameraService.camera){let a=this.threeCameraService.camera.position.distanceTo(o);n!==null&&(this.lineCount=n.lineCount),this.lineCount>1?e.scale.set(a/this.LABEL_WIDTH_DIVISOR*r,a/25,1):e.scale.set(a/this.LABEL_WIDTH_DIVISOR*r,a/this.LABEL_HEIGHT_DIVISOR,1)}}makeLine(e,n,r,o){let a=new cc({color:this.LABEL_COLOR_RGB,linewidth:2}),s=new wn().setFromPoints([new ce(e,r,o),new ce(e,n+this.LABEL_HEIGHT_POSITION,o)]);return new vl(s,a)}static{this.\u0275fac=function(n){return new(n||i)(Me(bi),Me(Kr),Me(vr),Me(yr))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var gS=(()=>{class i{constructor(e){this.threeMapControlsService=e,this.eventEmitter=new Wu,this.currentlyHovered=null,this.isDragging=!1}init(e,n,r){this.cubeGroup=e,this.camera=n,this.renderer=r,this.initOrbitalControl(n,r),this.initRendererEventListeners(r)}resetIsDragging(){this.isDragging=!1}initOrbitalControl(e,n){this.controls=new ju(e,n.domElement),this.controls.maxPolarAngle=Math.PI/2,this.controls.enableZoom=!1,this.controls.enablePan=!1,this.controls.rotateSpeed=1}initRendererEventListeners(e){e.domElement.addEventListener("mousemove",n=>this.onDocumentMouseMove(n)),e.domElement.addEventListener("mouseup",n=>this.onDocumentMouseUp(n)),e.domElement.addEventListener("mousedown",n=>this.onDocumentMouseClick(n,"mousedown")),e.domElement.addEventListener("dblclick",n=>this.onDocumentMouseClick(n,"dblclick")),e.domElement.addEventListener("mouseleave",n=>this.onWindowMouseLeave(n)),e.domElement.addEventListener("mouseenter",()=>this.onDocumentMouseEnter())}onDocumentMouseClick(e,n){this.isDragging=!0,this.checkMouseIntersection(e,n)}onWindowMouseLeave(e){(e.relatedTarget==null||!(e.relatedTarget instanceof HTMLCanvasElement))&&this.enableRotation(!1)}onDocumentMouseEnter(){this.enableRotation(!0)}enableRotation(e){this.controls.enableRotate=e}checkMouseIntersection(e,n){this.getCubeIntersectedByMouse(e)||this.eventEmitter.emit("viewCubeEventPropagation",{type:n,event:e})}getCubeIntersectedByMouse(e){let n=this.transformIntoCanvasVector(e),r=new yA;r.setFromCamera(n,this.camera);let o=[];for(let s of Ni(this.cubeGroup))Yi(s)&&o.push(s.data);let[a]=r.intersectObjects(o);return a?a.object:null}transformIntoCanvasVector(e){let{domElement:n}=this.renderer,r=this.renderer.getPixelRatio(),o=n.getBoundingClientRect(),a=(e.clientX-o.left)/n.width*r*2-1,s=-((e.clientY-o.top)/n.height*r)*2+1;return new qe(a,s)}propagateMovement(){if(this.isDragging){let e=this.camera.position;this.threeMapControlsService.rotateCameraInVectorDirection(-e.x,-e.y,-e.z)}return this.isDragging}onDocumentMouseMove(e){if(this.propagateMovement())return;let n=this.getCubeIntersectedByMouse(e);n?this.currentlyHovered&&n.uuid!==this.currentlyHovered.uuid?this.triggerViewCubeUnhoverEvent():this.currentlyHovered||this.triggerViewCubeHoverEvent(n):(this.currentlyHovered&&this.triggerViewCubeUnhoverEvent(),this.eventEmitter.emit("viewCubeEventPropagation",{type:"mousemove",event:e}))}onDocumentMouseUp(e){this.isDragging=!1;let n=this.getCubeIntersectedByMouse(e);n?this.eventEmitter.emit("viewCubeClicked",{cube:n}):this.eventEmitter.emit("viewCubeEventPropagation",{type:"mouseup",event:e})}triggerViewCubeHoverEvent(e){this.currentlyHovered=e,Hd.changeCursorIndicator(Nc.Pointer),this.eventEmitter.emit("viewCubeHoveredEvent",{cube:e})}triggerViewCubeUnhoverEvent(){this.currentlyHovered=null,Hd.changeCursorIndicator(Nc.Default),this.eventEmitter.emit("viewCubeUnHoveredEvent")}subscribe(e,n){this.eventEmitter.on(e,r=>{n(r)})}static{this.\u0275fac=function(n){return new(n||i)(Me(yr))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Xb=function(){var i=0,t=document.createElement("div");t.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",t.addEventListener("click",function(d){d.preventDefault(),n(++i%t.children.length)},!1);function e(d){return t.appendChild(d.dom),d}function n(d){for(var h=0;h<t.children.length;h++)t.children[h].style.display=h===d?"block":"none";i=d}var r=(performance||Date).now(),o=r,a=0,s=e(new Xb.Panel("FPS","#0ff","#002")),l=e(new Xb.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var c=e(new Xb.Panel("MB","#f08","#201"));return n(0),{REVISION:16,dom:t,addPanel:e,showPanel:n,begin:function(){r=(performance||Date).now()},end:function(){a++;var d=(performance||Date).now();if(l.update(d-r,200),d>=o+1e3&&(s.update(a*1e3/(d-o),100),o=d,a=0,c)){var h=performance.memory;c.update(h.usedJSHeapSize/1048576,h.jsHeapSizeLimit/1048576)}return d},update:function(){r=this.end()},domElement:t,setMode:n}};Xb.Panel=function(i,t,e){var n=1/0,r=0,o=Math.round,a=o(window.devicePixelRatio||1),s=80*a,l=48*a,c=3*a,d=2*a,h=3*a,u=15*a,f=74*a,_=30*a,y=document.createElement("canvas");y.width=s,y.height=l,y.style.cssText="width:80px;height:48px";var b=y.getContext("2d");return b.font="bold "+9*a+"px Helvetica,Arial,sans-serif",b.textBaseline="top",b.fillStyle=e,b.fillRect(0,0,s,l),b.fillStyle=t,b.fillText(i,c,d),b.fillRect(h,u,f,_),b.fillStyle=e,b.globalAlpha=.9,b.fillRect(h,u,f,_),{dom:y,update:function(v,M){n=Math.min(n,v),r=Math.max(r,v),b.fillStyle=e,b.globalAlpha=1,b.fillRect(0,0,s,u),b.fillStyle=t,b.fillText(o(v)+" "+i+" ("+o(n)+"-"+o(r)+")",c,d),b.drawImage(y,h+a,u,f-a,_,h,u,f-a,_),b.fillRect(h+f-a,u,a,_),b.fillStyle=e,b.globalAlpha=.9,b.fillRect(h+f-a,u,a,o((1-v/M)*_))}}};var _g=Xb;var NMe=1e3,_S=(()=>{class i{constructor(e){this.threeRendererService=e,this.isDevelopmentMode=Jm(),this.init=n=>{this.isDevelopmentMode&&(this.stats=new _g,this.stats.dom.style.position="absolute",this.stats.dom.style.left="0",this.stats.dom.style.top="0",n.append(this.stats.dom),this.generateStatPanels(),this.prevTime=this.getTimeFunctor().now())},this.getTimeFunctor=()=>typeof performance>"u"?Date:performance,this.generateStatPanels=()=>{this.trianglesPanel={panel:this.stats.addPanel(new _g.Panel("triangles","#ff8","#221")),maxHeight:0},this.glCallsPanel={panel:this.stats.addPanel(new _g.Panel("calls","#f8f","#212")),maxHeight:0},this.geometryMemoryPanel={panel:this.stats.addPanel(new _g.Panel("geo. mem","#f08","#221")),maxHeight:0},this.textureMemoryPanel={panel:this.stats.addPanel(new _g.Panel("tex. mem","#0f8","#221")),maxHeight:0},this.stats.showPanel(3)},this.updateStats=()=>{if(this.isDevelopmentMode){let n=this.getTimeFunctor().now();if(n>=this.prevTime+NMe){this.prevTime=n;let r=this.threeRendererService.getInfo(),o=this.threeRendererService.getMemoryInfo();this.processPanel(this.trianglesPanel,r.triangles),this.processPanel(this.glCallsPanel,r.calls),this.processPanel(this.geometryMemoryPanel,o.geometries),this.processPanel(this.textureMemoryPanel,o.textures)}this.stats.update()}},this.resetPanels=()=>{if(this.isDevelopmentMode)for(let n of[this.trianglesPanel,this.glCallsPanel,this.geometryMemoryPanel,this.textureMemoryPanel])n!==void 0&&(n.maxHeight=0)},this.processPanel=(n,r)=>{n.maxHeight=Math.max(n.maxHeight,r),n.panel.update(r,n.maxHeight*1.3)},this.destroy=()=>{this.isDevelopmentMode&&this.stats.dom.remove()}}static{this.\u0275fac=function(n){return new(n||i)(Me(Rr))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var bS=(()=>{class i{constructor(e,n,r,o,a){this.threeSceneService=e,this.threeCameraService=n,this.threeMapControlsService=r,this.threeRendererService=o,this.threeStatsService=a,this.onWindowResize=()=>{this.threeSceneService.scene.updateMatrixWorld(!1),this.threeRendererService.renderer.setSize(window.innerWidth,window.innerHeight),this.threeCameraService.camera.aspect=window.innerWidth/window.innerHeight,this.threeCameraService.camera.updateProjectionMatrix(),this.animate()},this.onFocusIn=s=>{s.target.nodeName==="INPUT"&&this.threeMapControlsService.controls.stopListenToKeyEvents()},this.onFocusOut=s=>{s.target.nodeName==="INPUT"&&this.threeMapControlsService.controls.listenToKeyEvents(window)}}init(e){this.threeCameraService.init(window.innerWidth,window.innerHeight);let n=this.threeCameraService.camera,r=this.threeSceneService.scene;n.lookAt(r.position),r.add(n),this.threeRendererService.init(window.innerWidth,window.innerHeight,r,n),this.threeStatsService.init(e),this.threeMapControlsService.init(this.threeRendererService.renderer.domElement),e.append(this.threeRendererService.renderer.domElement),window.addEventListener("resize",this.onWindowResize),window.addEventListener("focusin",this.onFocusIn),window.addEventListener("focusout",this.onFocusOut),this.animate(),this.animateStats()}restart(e){this.stopAnimate(),this.destroy(),this.init(e),this.autoFitTo(),this.animate(),this.animateStats()}enableRotation(e){this.threeMapControlsService.controls.enableRotate=e}animate(){this.threeMapControlsService.controls.update(),this.threeRendererService.render()}animateStats(){this.animationFrameId=requestAnimationFrame(()=>this.animateStats()),this.threeStatsService.updateStats()}getRenderCanvas(){return this.threeRendererService.renderer.domElement}getRenderLoseExtention(){return this.threeRendererService.renderer.getContext().getExtension("WEBGL_lose_context")}autoFitTo(){this.threeMapControlsService.autoFitTo()}stopAnimate(){cancelAnimationFrame(this.animationFrameId)}dispose(){this.threeRendererService?.composer?.dispose(),this.threeRendererService?.renderer?.dispose()}destroy(){window.removeEventListener("resize",this.onWindowResize),window.removeEventListener("focusin",this.onFocusIn),window.removeEventListener("focusout",this.onFocusOut),this.dispose(),this.threeStatsService.destroy(),this.getRenderCanvas().remove(),this.dispose()}static{this.\u0275fac=function(n){return new(n||i)(Me(vr),Me(Kr),Me(yr),Me(Rr),Me(_S))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var vS=(function(i){return i[i.LeftClick=0]="LeftClick",i[i.RightClick=2]="RightClick",i})(vS||{}),Nc=(function(i){return i.Default="default",i.Grabbing="grabbing",i.Pointer="pointer",i.Moving="move",i})(Nc||{}),Hd=(()=>{class i{constructor(e,n,r,o,a,s,l,c,d){this.threeCameraService=e,this.threeRendererService=n,this.threeSceneService=r,this.store=o,this.state=a,this.codeMapLabelService=s,this.viewCubeMouseEvents=l,this.threeViewerService=c,this.idToBuilding=d,this.THRESHOLD_FOR_MOUSE_MOVEMENT_TRACKING=3,this.mouse={x:0,y:0},this.oldMouse={x:0,y:0},this.mouseOnLastClick={x:0,y:0},this.isGrabbing=!1,this.isMoving=!1,this.raycaster=new yA,this.labelHoveredBuilding=null,this.labelSelectedBuilding=null,this.subscriptions=[this.store.select(ir).pipe(Oi(()=>this.onFilesSelectionChanged())).subscribe(),this.store.select(kr).pipe(Oi(h=>this.onBlacklistChanged(h))).subscribe(),this.store.select(Gl).pipe(Oi(h=>{h!==null?this.hoverNode(h):this.unhoverNode(!1)})).subscribe()],this.onViewCubeEventPropagation=h=>{switch(h.type){case"mousemove":this.onDocumentMouseMove(h.event);break;case"mouseup":this.onDocumentMouseUp(h.event);break;case"mousedown":this.onDocumentMouseDown(h.event);break;case"dblclick":this.onDocumentDoubleClick();break}},this.onDocumentMouseMove=h=>{this.mouse.x=h.clientX,this.mouse.y=h.clientY,this.updateHovering(),this.viewCubeMouseEvents.propagateMovement()}}ngOnDestroy(){for(let e of this.subscriptions)e.unsubscribe()}static changeCursorIndicator(e){document.body.style.cursor=e}start(){this.threeRendererService.renderer.domElement.addEventListener("mousemove",Eo(this.onDocumentMouseMove,1)),this.threeRendererService.renderer.domElement.addEventListener("mouseup",e=>this.onDocumentMouseUp(e)),this.threeRendererService.renderer.domElement.addEventListener("mousedown",e=>this.onDocumentMouseDown(e)),this.threeRendererService.renderer.domElement.addEventListener("dblclick",()=>this.onDocumentDoubleClick()),this.threeRendererService.renderer.domElement.addEventListener("mouseleave",e=>this.onDocumentMouseLeave(e)),this.threeRendererService.renderer.domElement.addEventListener("mouseenter",()=>this.onDocumentMouseEnter()),this.threeRendererService.renderer.domElement.addEventListener("wheel",Eo(()=>this.threeRendererService.render())),this.viewCubeMouseEvents.subscribe("viewCubeEventPropagation",this.onViewCubeEventPropagation)}hoverNode(e){if(this.isGrabbingOrMoving())return;let{buildings:n}=this.threeSceneService.getMapMesh().getMeshDescription();for(let r of n)if(r.node.id===e){this.hoverBuilding(r,!1);break}this.threeRendererService.render()}unhoverNode(e=!0){this.unhoverBuilding(e),this.threeRendererService.render()}onFilesSelectionChanged(){this.threeSceneService.clearSelection(),this.threeSceneService.clearConstantHighlight(),this.clearLabelHoveredBuilding()}onBlacklistChanged(e){let n=this.threeSceneService.getSelectedBuilding();this.clearLabelHoveredBuilding(),n&&X8(n.node.path,e)&&this.threeSceneService.clearSelection(),this.unhoverBuilding()}updateHovering(){if(this.hasMouseMoved(this.oldMouse)){let e=this.threeSceneService.labels?.children;if(this.isGrabbingOrMoving()){this.threeSceneService.resetLabel(),this.clearLabelHoveredBuilding(),this.threeRendererService.render();return}this.oldMouse.x=this.mouse.x,this.oldMouse.y=this.mouse.y;let n=this.threeSceneService.getMapMesh();if(n){this.threeCameraService.camera.updateMatrixWorld(!1);let r="",o=this.transformHTMLToSceneCoordinates(),a=this.threeCameraService.camera;a.isPerspectiveCamera&&this.raycaster.setFromCamera(o,a);let s=this.calculateHoveredLabel(e);s&&(this.threeSceneService.animateLabel(s.object,this.raycaster,e),r=s.object.userData.node.path),this.intersectedBuilding=r!==""?n.getBuildingByPath(r):n.checkMouseRayMeshIntersection(o,a);let l=this.threeSceneService.getHighlightedBuilding(),c=this.intersectedBuilding;l?.id!==c?.id&&(this.clearLabelHoveredBuilding(),this.threeSceneService.resetLabel(),this.unhoverBuilding(),c&&!this.isGrabbingOrMoving()&&(this.setLabelHoveredLeaf(c,e),this.hoverBuilding(c)))}}}setLabelHoveredLeaf(e,n){if(e?.node?.isLeaf){let r=this.threeSceneService.getLabelForHoveredNode(e,n)??this.drawLabelHoveredBuilding(e);this.threeSceneService.animateLabel(r,this.raycaster,n)}}drawLabelHoveredBuilding(e){this.codeMapLabelService.addLeafLabel(e.node,0,!0);let r=this.threeSceneService.labels?.children,o=this.threeSceneService.getLabelForHoveredNode(e,r);return this.labelHoveredBuilding=e.node,o}drawLabelSelectedBuilding(e){if(this.clearLabelHoveredBuilding(),this.labelSelectedBuilding!==null&&this.codeMapLabelService.clearTemporaryLabel(this.labelSelectedBuilding),!e?.node?.isLeaf)return;this.codeMapLabelService.addLeafLabel(e.node,0,!0);let n=this.threeSceneService.labels?.children,r=this.threeSceneService.getLabelForHoveredNode(e,n);return this.threeSceneService.animateLabel(r,this.raycaster,n),this.labelSelectedBuilding=e.node,r}clearLabelHoveredBuilding(){this.labelHoveredBuilding!==null&&(this.codeMapLabelService.clearTemporaryLabel(this.labelHoveredBuilding),this.labelHoveredBuilding=null)}clearLabelSelectedBuilding(){this.labelSelectedBuilding!==null&&(this.codeMapLabelService.clearTemporaryLabel(this.labelSelectedBuilding),this.labelSelectedBuilding=null)}EnableOrbitalsRotation(e){this.threeViewerService.enableRotation(e),this.viewCubeMouseEvents.enableRotation(e)}onDocumentMouseEnter(){this.EnableOrbitalsRotation(!0)}onDocumentMouseLeave(e){e.relatedTarget instanceof HTMLCanvasElement||this.EnableOrbitalsRotation(!1)}onDocumentDoubleClick(){let e=this.threeSceneService.getHighlightedBuilding(),n=this.threeSceneService.getSelectedBuilding(),r=e?.node.link;if(r&&!this.hasMouseMoved(this.mouseOnLastClick)&&window.open(r,"_blank"),n?.node.isLeaf){let o=n.node.link;if(o){window.open(o,"_blank");return}}}onDocumentMouseDown(e){e.button===vS.RightClick&&(this.isMoving=!0,i.changeCursorIndicator(Nc.Moving)),e.button===vS.LeftClick&&(this.isGrabbing=!0,i.changeCursorIndicator(Nc.Grabbing)),this.mouseOnLastClick={x:e.clientX,y:e.clientY},document.activeElement.blur()}onDocumentMouseUp(e){this.viewCubeMouseEvents.resetIsDragging(),e.button===vS.LeftClick?this.onLeftClick():this.onRightClick(),this.intersectedBuilding!==void 0?i.changeCursorIndicator(Nc.Pointer):i.changeCursorIndicator(Nc.Default)}calculateHoveredLabel(e){let n=null;for(let r=0;r<e?.length;r+=2){let o=this.raycaster.intersectObject(this.threeSceneService.labels.children[r]);o.length>0&&(n===null?n=o[0]:n=n.distance<o[0].distance?n:o[0])}return n}onRightClick(){this.isMoving=!1,this.intersectedBuilding&&!this.hasMouseMovedMoreThanThreePixels(this.mouseOnLastClick)&&this.store.dispatch(El({value:{nodeId:this.intersectedBuilding.node.id,xPositionOfRightClickEvent:this.mouse.x,yPositionOfRightClickEvent:this.mouse.y}})),this.threeRendererService.render()}onLeftClick(){this.isGrabbing=!1,this.hasMouseMovedMoreThanThreePixels(this.mouseOnLastClick)||(this.intersectedBuilding?(this.threeSceneService.selectBuilding(this.intersectedBuilding),this.drawLabelSelectedBuilding(this.intersectedBuilding)):(this.threeSceneService.clearSelection(),this.clearLabelSelectedBuilding()),this.threeSceneService.clearConstantHighlight()),this.threeRendererService.render()}hasMouseMovedMoreThanThreePixels({x:e,y:n}){return Math.abs(this.mouse.x-e)>this.THRESHOLD_FOR_MOUSE_MOVEMENT_TRACKING||Math.abs(this.mouse.y-n)>this.THRESHOLD_FOR_MOUSE_MOVEMENT_TRACKING}hasMouseMoved({x:e,y:n}){return this.mouse.x!==e||this.mouse.y!==n}isGrabbingOrMoving(){return this.isGrabbing||this.isMoving}hoverBuilding(e,n=!0){i.changeCursorIndicator(Nc.Pointer);let o=wl(this.state.getValue()).get(e.node.id);for(let{data:a}of Ni(o)){let s=this.idToBuilding.get(a.id);s&&this.threeSceneService.addBuildingsToHighlightingList(s)}this.threeSceneService.applyHighlights(),n&&this.store.dispatch(Rc({value:e.node.id}))}transformHTMLToSceneCoordinates(){let{renderer:e,renderer:{domElement:n}}=this.threeRendererService,r=e.getPixelRatio(),o=n.getBoundingClientRect(),a=this.mouse.x/n.width*r*2-1,s=-((this.mouse.y-o.top)/n.height*r)*2+1;return{x:a,y:s}}unhoverBuilding(e=!0){this.isGrabbingOrMoving()||i.changeCursorIndicator(Nc.Default),this.threeSceneService.getConstantHighlight().size>0?this.threeSceneService.clearHoverHighlight():this.threeSceneService.clearHighlight(),e&&this.store.dispatch(Rc({value:null}))}static{this.\u0275fac=function(n){return new(n||i)(Me(Kr),Me(Rr),Me(vr),Me(Ie),Me(bi),Me(AS),Me(gS),Me(bS),Me(mc))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var UMe=(i,t)=>t.name;function HMe(i,t){if(i&1&&J(0,"cc-map-tree-view-item-option-buttons",4),i&2){let e=me(2);z("isFlattened",e.node.isFlattened)("openNodeContextMenu",e.openNodeContextMenu)}}function VMe(i,t){if(i&1&&(S(0,"div"),J(1,"cc-map-tree-view-level",5),F()),i&2){let e=t.$implicit,n=me(3);E(),z("node",e)("depth",n.depth+1)}}function QMe(i,t){if(i&1&&xi(0,VMe,2,2,"div",null,UMe),i&2){let e=me(2);wi(e.node.children)}}function zMe(i,t){if(i&1){let e=st();S(0,"div"),fe(1,"isNodeLeaf"),S(2,"div",1),fe(3,"async"),fe(4,"async"),fe(5,"async"),fe(6,"areaMetricValid"),he("mouseenter",function(){Ve(e);let r=me();return Qe(r.onMouseEnter())})("mouseleave",function(){Ve(e);let r=me();return Qe(r.onMouseLeave())})("click",function(){Ve(e);let r=me();return Qe(r.onClick())})("contextmenu",function(r){Ve(e);let o=me();return Qe(o.openNodeContextMenu(r))}),J(7,"cc-map-tree-view-item-icon",2)(8,"cc-map-tree-view-item-name",3),fe(9,"async"),ke(10,HMe,1,2,"cc-map-tree-view-item-option-buttons",4),fe(11,"async"),fe(12,"async"),fe(13,"areaMetricValid"),F(),S(14,"div"),ke(15,QMe,2,0),F()()}if(i&2){let e,n=me();Xi(BO("tree-element-",n.depth," ",_e(1,24,n.node)?"tree-leaf":"tree-parent")),E(2),Xi(fo("tree-element-label-",n.depth," tree-element-label")),yt("hovered",_e(3,26,n.hoveredNodeId$)===n.node.id)("marked",((e=_e(4,28,n.rightClickedNodeData$))==null?null:e.nodeId)===n.node.id),z("id",mr(n.node.path))("title",dn(6,32,n.node,_e(5,30,n.areaMetric$))?"":"No Node Area for Chosen Metric"),E(5),z("node",n.node)("isOpen",n.isOpen),E(),z("node",n.node)("isHovered",_e(9,35,n.hoveredNodeId$)===n.node.id)("unaryValue",n.node.attributes.unary),E(2),Pe(_e(11,37,n.hoveredNodeId$)===n.node.id&&dn(13,41,n.node,_e(12,39,n.areaMetric$))?10:-1),E(4),Xi(fo("tree-element-children tree-element-children-",n.depth)),E(),Pe(n.isOpen?15:-1)}}var Oj=(()=>{class i{constructor(e,n,r,o,a){this.store=e,this.threeSceneService=n,this.idToBuildingService=r,this.threeRendererService=o,this.codeMapMouseEventService=a,this.hoveredNodeId$=this.store.select(Gl),this.rightClickedNodeData$=this.store.select(hS),this.areaMetric$=this.store.select(Or),this.isOpen=!1,this.areMetricValid=!1,this.openNodeContextMenu=s=>{s.preventDefault(),s.stopPropagation(),this.areaMetric$.subscribe(l=>this.areMetricValid=$b(this.node,l)).unsubscribe(),this.areMetricValid&&(this.store.dispatch(El({value:{nodeId:this.node.id,xPositionOfRightClickEvent:s.clientX,yPositionOfRightClickEvent:s.clientY}})),document.querySelector(".tree-element-0").addEventListener("scroll",this.scrollFunction))},this.scrollFunction=()=>{this.store.dispatch(El({value:null})),document.querySelector(".tree-element-0").removeEventListener("scroll",this.scrollFunction)}}ngOnInit(){this.isOpen=this.depth===0}onMouseEnter(){let e=this.idToBuildingService.get(this.node.id),n=this.threeSceneService.labels?.children;this.codeMapMouseEventService.setLabelHoveredLeaf(e,n),this.codeMapMouseEventService.hoverNode(this.node.id),this.store.dispatch(Rc({value:this.node.id}))}onMouseLeave(){this.threeSceneService.resetLabel(),this.codeMapMouseEventService.unhoverNode(),this.codeMapMouseEventService.clearLabelHoveredBuilding(),this.store.dispatch(Rc({value:null}))}onClick(){this.isOpen=!this.isOpen;let e=this.idToBuildingService.get(this.node.id);this.codeMapMouseEventService.drawLabelSelectedBuilding(e),this.threeSceneService.selectBuilding(e),this.threeSceneService.clearConstantHighlight(),this.threeRendererService.render()}static{this.\u0275fac=function(n){return new(n||i)(se(Ie),se(vr),se(mc),se(Rr),se(Hd))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-map-tree-view-level"]],inputs:{node:"node",depth:"depth"},decls:1,vars:1,consts:[[3,"class"],[3,"mouseenter","mouseleave","click","contextmenu","id","title"],[3,"node","isOpen"],[3,"node","isHovered","unaryValue"],[3,"isFlattened","openNodeContextMenu"],[3,"node","depth"]],template:function(n,r){n&1&&ke(0,zMe,16,44,"div",0),n&2&&Pe(r.node.isExcluded?-1:0)},dependencies:[i,Tj,Fj,Ij,dt,fS,mS],styles:["[_nghost-%COMP%]{white-space:nowrap}.tree-element-label[_ngcontent-%COMP%]{cursor:default}.tree-element-label[_ngcontent-%COMP%]:focus{outline:none}.tree-element-label[_ngcontent-%COMP%]:hover, .tree-element-label.hovered[_ngcontent-%COMP%]{background-color:#efefef;border-radius:2px;cursor:pointer}.tree-element-label.marked[_ngcontent-%COMP%]{background-color:#efefef;border-radius:2px}.tree-element-0[_ngcontent-%COMP%]{overflow-y:auto;max-height:400px;margin-left:3px;margin-top:10px}.tree-element-0[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{margin:0;padding:0;position:relative}.tree-element-0[_ngcontent-%COMP%] .tree-element-children[_ngcontent-%COMP%]{margin-left:19px;margin-right:4px}"]})}}return i})();function qMe(i,t){i&1&&J(0,"cc-map-tree-view-level",0),i&2&&z("node",t)("depth",0)}var Lj=(()=>{class i{constructor(e){this.mapTreeViewNode$=e.select(Mj)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-map-tree-view"]],decls:2,vars:3,consts:[[3,"node","depth"]],template:function(n,r){if(n&1&&(ke(0,qMe,1,2,"cc-map-tree-view-level",0),fe(1,"async")),n&2){let o;Pe((o=_e(1,1,r.mapTreeViewNode$))?0:-1,o)}},dependencies:[Oj,dt],encapsulation:2})}}return i})();var Nj=(()=>{class i{constructor(e){this.store=e,this.searchPanelMode="minimized",this.updateSearchPanelMode=n=>{this.searchPanelMode=this.searchPanelMode===n?"minimized":n,this.panelRef.isExpanded=this.searchPanelMode!=="minimized"}}ngOnInit(){this.isSearchPanelPinnedSubscription=this.store.select(nS).subscribe(e=>{this.isSearchPanelPinned=e})}ngOnDestroy(){this.isSearchPanelPinnedSubscription.unsubscribe()}openSearchPanel(){this.searchPanelMode="treeView",this.panelRef.isExpanded=!0}onToggleSettings(e){this.searchPanelMode=e?"treeView":"minimized"}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-search-panel"]],viewQuery:function(n,r){if(n&1&&Nt(Wb,5),n&2){let o;mt(o=pt())&&(r.panelRef=o.first)}},decls:7,vars:7,consts:[["title","File/Node Explorer",3,"toggleSettingsChange","isPinned","collapseOnPanelClick"],[3,"click"],[3,"searchPanelMode","updateSearchPanelMode"],[3,"hidden"]],template:function(n,r){n&1&&(S(0,"cc-ribbon-bar-panel",0),he("toggleSettingsChange",function(a){return r.onToggleSettings(a)}),S(1,"cc-search-bar",1),he("click",function(){return r.openSearchPanel()}),F(),J(2,"cc-search-panel-mode-selector",2),S(3,"cc-ribbon-bar-panel-settings"),J(4,"cc-blacklist-panel",3)(5,"cc-matching-files-counter",3)(6,"cc-map-tree-view",3),F()()),n&2&&(z("isPinned",r.isSearchPanelPinned)("collapseOnPanelClick",!1),E(2),z("searchPanelMode",r.searchPanelMode)("updateSearchPanelMode",r.updateSearchPanelMode),E(2),z("hidden",r.searchPanelMode!=="blacklist"),E(),z("hidden",r.searchPanelMode!=="treeView"),E(),z("hidden",r.searchPanelMode!=="treeView"))},dependencies:[Wb,hj,Aj,pg,_j,wj,Lj],styles:["cc-search-panel[_ngcontent-%COMP%] .search-panel-card[_ngcontent-%COMP%]{border-left:none;width:100%}cc-search-panel[_ngcontent-%COMP%] .search-panel-card[_ngcontent-%COMP%] .section-body[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:6px;position:absolute;top:45px;background:#fff;border:1px solid #b5b5b5;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}cc-search-panel[_ngcontent-%COMP%] .search-panel-card[_ngcontent-%COMP%] .section-body.hidden[_ngcontent-%COMP%]{display:none;pointer-events:none}cc-blacklist-panel[_ngcontent-%COMP%]{overflow-y:auto;max-height:calc(100vh - 120px)}"]})}}return i})();var GMe=["*"],bg=(()=>{class i{static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-ribbon-bar-menu-button"]],inputs:{icon:"icon",title:"title"},ngContentSelectors:GMe,decls:3,vars:3,consts:[[3,"title"]],template:function(n,r){n&1&&(ki(),Ut(0,"button",0),Ti(1,"i"),Gt(2),qt()),n&2&&(sn("title",r.title),E(),Xi("fa "+r.icon))},styles:["button[_ngcontent-%COMP%]{height:22px;line-height:22px;min-width:45px;margin:0;padding:0;font-size:9pt;background-color:#e6e6e6f5;color:#444}button[_ngcontent-%COMP%]:hover{background-color:#c8c8c8}"]})}}return i})();var Uj=[{name:"Complexity",settings:{appSettings:{},dynamicSettings:{areaMetric:"rloc",heightMetric:"sonar_complexity",colorMetric:"sonar_complexity",distributionMetric:"rloc"}}},{name:"Average Complexity*",settings:{appSettings:{},dynamicSettings:{areaMetric:"unary",heightMetric:"Average Complexity*",colorMetric:"Average Complexity*",distributionMetric:"unary"}}},{name:"Coverage",settings:{appSettings:{},dynamicSettings:{areaMetric:"rloc",heightMetric:"sonar_complexity",colorMetric:"line_coverage",distributionMetric:"rloc"}}},{name:"Code Churn",settings:{appSettings:{},dynamicSettings:{areaMetric:"rloc",heightMetric:"abs_code_churn",colorMetric:"weeks_with_commits",distributionMetric:"rloc"}}}];var Tl=class i{static{this.SCENARIOS_LOCAL_STORAGE_VERSION="1.0.0"}static{this.SCENARIOS_LOCAL_STORAGE_ELEMENT="scenarios"}static{this.scenarios=i.loadScenarios()}static getScenarioItems(t){let e=[];for(let n of this.scenarios.values())e.push({scenarioName:n.name,isScenarioApplicable:this.isScenarioApplicable(n,t),icons:[{faIconClass:"fa-video-camera",isSaved:!!n.camera,tooltip:"Camera angle"},{faIconClass:"fa-arrows-alt",isSaved:!!n.area,tooltip:"Area metric"},{faIconClass:"fa-arrows-v",isSaved:!!n.height,tooltip:"Height metric"},{faIconClass:"fa-paint-brush",isSaved:!!n.color,tooltip:"Color metric"},{faIconClass:"fa-exchange",isSaved:!!n.edge,tooltip:"Edge metric"}]});return e}static isScenarioApplicable(t,e){let{area:n,color:r,height:o,edge:a}=t;if(n||r||o){let s=new Set(e.nodeMetricData.map(l=>l.name));if(n&&!s.has(n.areaMetric)||r&&!s.has(r.colorMetric)||o&&!s.has(o.heightMetric))return!1}return!(a&&!e.edgeMetricData.some(s=>s.name===a.edgeMetric))}static getPreLoadScenarios(){let t=this.importScenarios(Uj),e=new Map;for(let n of t)e.set(n.name,this.transformScenarioAsSettingsToScenario(n));return e}static transformScenarioAsSettingsToScenario(t){let e={name:t.name},{dynamicSettings:n,appSettings:r}=t.settings;return n.areaMetric!==void 0&&(e.area={areaMetric:n.areaMetric,margin:n.margin}),n.heightMetric!==void 0&&(e.height={heightMetric:n.heightMetric,labelSlider:r.amountOfTopLabels,heightSlider:r.scaling}),n.colorMetric!==void 0&&(e.color={colorMetric:n.colorMetric,colorRange:n.colorRange,mapColors:r.mapColors}),n.edgeMetric!==void 0&&(e.edge={edgeMetric:n.edgeMetric,edgeHeight:r.edgeHeight,edgePreview:r.amountOfEdgePreviews}),e}static setScenariosToLocalStorage(t){let e={version:this.SCENARIOS_LOCAL_STORAGE_VERSION,scenarios:[...t]};localStorage.setItem(this.SCENARIOS_LOCAL_STORAGE_ELEMENT,JSON.stringify(e))}static loadScenarios(){let t=JSON.parse(localStorage.getItem(this.SCENARIOS_LOCAL_STORAGE_ELEMENT));if(t)return new Map(t.scenarios);let e=this.getPreLoadScenarios();return this.setScenariosToLocalStorage(e),e}static addScenario(t,e){let n=i.createNewScenario(t,e);this.scenarios.set(n.name,n),this.setScenariosToLocalStorage(this.scenarios)}static createNewScenario(t,e){let n={name:t};for(let r of e.filter(o=>o.isSelected))switch(r.metricType){case"Camera-Position":n.camera={camera:r.savedValues.camera,cameraTarget:r.savedValues.cameraTarget};break;case"Area-Metric":n.area={areaMetric:r.metricName,margin:r.savedValues};break;case"Height-Metric":n.height={heightMetric:r.metricName,heightSlider:r.savedValues.heightSlider,labelSlider:r.savedValues.labelSlider};break;case"Color-Metric":n.color={colorMetric:r.metricName,colorRange:r.savedValues.colorRange,mapColors:r.savedValues.mapColors};break;case"Edge-Metric":n.edge={edgeMetric:r.metricName,edgePreview:r.savedValues.edgePreview,edgeHeight:r.savedValues.edgeHeight};break;default:throw new Error(`Unknown metric type "${r.metricType}" detected`)}return n}static deleteScenario(t){this.scenarios.delete(t),this.setScenariosToLocalStorage(this.scenarios)}static getScenarioSettings(t){let e={},n={};return t&&(t.area&&(e.areaMetric=t.area.areaMetric,e.margin=t.area.margin),t.height&&(e.heightMetric=t.height.heightMetric,n.amountOfTopLabels=t.height.labelSlider,n.scaling=t.height.heightSlider),t.color&&(e.colorMetric=t.color.colorMetric,e.colorRange=t.color.colorRange,n.mapColors=t.color.mapColors),t.edge&&(e.edgeMetric=t.edge.edgeMetric,n.edgeHeight=t.edge.edgeHeight,n.amountOfEdgePreviews=t.edge.edgePreview)),{appSettings:n,dynamicSettings:e}}static importScenarios(t){for(let e of t)qb(e.settings),e.camera&&(e.camera.camera=new ce(e.camera.camera.x,e.camera.camera.y,e.camera.camera.z),e.camera.cameraTarget=new ce(e.camera.camera.x,e.camera.camera.y,e.camera.camera.z));return t}static isScenarioExisting(t){return this.scenarios.has(t)}};function Hj(){return i=>i.value.length===0?{Error:"Scenario name is required"}:Tl.isScenarioExisting(i.value)?{Error:"A Scenario with this name already exists"}:null}var Vj=(i,t)=>{let{dynamicSettings:e,appSettings:n,fileSettings:r}=i,o=[{metricType:"Camera-Position",metricName:"",savedValues:$e({},t),isSelected:!0,isDisabled:!1},{metricType:"Area-Metric",metricName:e.areaMetric,savedValues:e.margin,isSelected:!0,isDisabled:!1},{metricType:"Height-Metric",metricName:e.heightMetric,savedValues:{heightSlider:n.scaling,labelSlider:n.amountOfTopLabels},isSelected:!0,isDisabled:!1},{metricType:"Color-Metric",metricName:e.colorMetric,savedValues:{colorRange:e.colorRange,mapColors:n.mapColors},isSelected:!0,isDisabled:!1}];return r.edges.length>0&&o.push({metricType:"Edge-Metric",metricName:e.edgeMetric,savedValues:{edgePreview:n.amountOfEdgePreviews,edgeHeight:n.edgeHeight},isSelected:!0,isDisabled:!1}),o};function jMe(i,t){if(i&1&&(S(0,"mat-error"),j(1),F()),i&2){let e=me();E(),Ai(e.scenarioName.getError("Error"))}}function $Me(i,t){if(i&1){let e=st();S(0,"mat-slide-toggle",6),he("change",function(){let r=Ve(e).$implicit,o=me();return Qe(o.handleScenarioMetricPropertySelectionChange(r))}),j(1),F()}if(i&2){let e=t.$implicit;z("checked",e.isSelected),E(),ct(" ",e.metricName?e.metricType+" ("+e.metricName+")":e.metricType," ")}}function XMe(i,t){i&1&&(S(0,"mat-error"),j(1,"You cannot create an empty Scenario."),F())}var Qj=(()=>{class i{constructor(e,n,r){this.state=e,this.scenarioName=new PC("",[Hj()]),this.areAnyScenarioMetricPropertiesSelected=!0,this.scenarioContent=Vj(this.state.getValue(),{camera:n.camera.position.clone(),cameraTarget:r.controls.target.clone()})}handleScenarioMetricPropertySelectionChange(e){e.isSelected=!e.isSelected,this.areAnyScenarioMetricPropertiesSelected=this.scenarioContent.some(n=>n.isSelected)}addCustomScenario(){Tl.addScenario(this.scenarioName.value,this.scenarioContent)}static{this.\u0275fac=function(n){return new(n||i)(se(bi),se(Kr),se(yr))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-add-custom-scenario-dialog"]],decls:19,vars:4,consts:[["xmlns","http://www.w3.org/1999/html",1,"header"],["subscriptSizing","dynamic"],["matInput","",3,"formControl"],[1,"cc-add-custom-scenario-toggles"],[3,"checked"],["mat-flat-button","","mat-dialog-close","",3,"click","disabled"],[3,"change","checked"]],template:function(n,r){n&1&&(S(0,"mat-toolbar",0)(1,"h2"),j(2,"Add Scenario"),F()(),S(3,"mat-dialog-content")(4,"p")(5,"mat-form-field",1)(6,"mat-label"),j(7,"Scenario Name"),F(),J(8,"input",2),ke(9,jMe,2,1,"mat-error"),F()(),S(10,"p"),j(11,"The scenario includes:"),F(),S(12,"div",3),xi(13,$Me,2,2,"mat-slide-toggle",4,En),ke(15,XMe,2,0,"mat-error"),F()(),S(16,"mat-dialog-actions")(17,"button",5),he("click",function(){return r.addCustomScenario()}),j(18," ADD "),F()()),n&2&&(E(8),z("formControl",r.scenarioName),E(),Pe(r.scenarioName.invalid?9:-1),E(4),wi(r.scenarioContent),E(2),Pe(r.areAnyScenarioMetricPropertiesSelected?-1:15),E(2),z("disabled",r.scenarioName.invalid||!r.areAnyScenarioMetricPropertiesSelected))},dependencies:[ca,ar,Er,zr,da,gc,zs,Ac,RC,Eb,Ib,nh,Cr,Wi,or],styles:[".cc-add-custom-scenario-toggles[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}mat-slide-toggle[_ngcontent-%COMP%]{display:block}"]})}}return i})();var wm=i=>{let t=i.maxValue-i.minValue,e=Math.round(t/3),n=e+i.minValue,r=e*2+i.minValue;return{from:n,to:r}};var yS=(()=>{class i{constructor(e,n,r,o,a){this.state=e,this.store=n,this.dialog=r,this.threeCameraService=o,this.threeOrbitControlsService=a}getScenarios(){return Tl.getScenarioItems(In(this.state.getValue()))}applyScenario(e){let n=Tl.scenarios.get(e),r=Tl.getScenarioSettings(n);this.store.dispatch(ts({value:r})),r.appSettings.amountOfTopLabels||this.store.select(Sh).pipe(lu()).subscribe(o=>{let a=fg(o);this.store.dispatch(Ma({value:a}))}),r.appSettings.mapColors||this.store.dispatch(Uo({value:sa})),r.appSettings.edgeHeight||this.store.dispatch(Ws({value:cg})),r.appSettings.amountOfEdgePreviews||this.store.dispatch(hs({value:wh})),r.appSettings.scaling||this.store.dispatch(js({value:lg})),r.dynamicSettings.colorRange||this.store.select(aa).pipe(lu()).subscribe(o=>{this.store.dispatch(Mo({value:wm(o)}))}),r.dynamicSettings.margin||this.store.dispatch(Gs({value:ug})),r.dynamicSettings.edgeMetric||this.store.select(In).pipe(lu()).subscribe(o=>{this.store.dispatch(qo({value:o.edgeMetricData[0]?.name}))}),n.camera&&(this.threeCameraService.setPosition(n.camera.camera),this.threeOrbitControlsService.setControlTarget(n.camera.cameraTarget),this.threeOrbitControlsService.updateControls())}removeScenario(e){e!=="Complexity"?(Tl.deleteScenario(e),this.dialog.open(es,{data:{title:"Info",message:`${e} deleted.`}})):this.dialog.open(es,{data:{title:"Error",message:`${e} cannot be deleted as it is the default Scenario.`}})}static{this.\u0275fac=function(n){return new(n||i)(Me(bi),Me(Ie),Me(fn),Me(Kr),Me(yr))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function KMe(i,t){if(i&1&&(S(0,"span",5),J(1,"i"),F()),i&2){let e=t.$implicit;z("title",e.tooltip),E(),Xi(fo("fa ",e.faIconClass)),yt("cc-is-saved",e.isSaved)}}function YMe(i,t){if(i&1){let e=st();S(0,"div",0)(1,"button",4),he("click",function(){let r=Ve(e).$implicit,o=me();return Qe(o.scenarioService.applyScenario(r.scenarioName))}),j(2),F(),xi(3,KMe,2,6,"span",5,En),S(5,"button",6),he("click",function(){let r=Ve(e).$implicit,o=me();return Qe(o.scenarioService.removeScenario(r.scenarioName))}),J(6,"i",7),F()()}if(i&2){let e=t.$implicit;E(),z("disabled",!e.isScenarioApplicable),E(),ct(" ",e.scenarioName," "),E(),wi(e.icons)}}var qj=(()=>{class i{constructor(e,n){this.scenarioService=e,this.dialog=n,this.scenarios=[]}addScenario(){this.dialog.open(Qj,{panelClass:"cc-add-custom-scenario"})}static{this.\u0275fac=function(n){return new(n||i)(se(yS),se(fn))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-scenarios"]],inputs:{scenarios:"scenarios"},decls:8,vars:0,consts:[[1,"cc-row"],["disabled","",1,"cc-apply-scenario-button"],["title","Create a custom scenario",1,"cc-action-button","cc-add",3,"click"],[1,"fa","fa-plus"],["title","Apply scenario",1,"cc-apply-scenario-button",3,"click","disabled"],[1,"cc-scenario-content-icons",3,"title"],["title","Remove custom scenario",1,"cc-action-button","cc-remove",3,"click"],[1,"fa","fa-minus-square"]],template:function(n,r){n&1&&(S(0,"div",0)(1,"button",1),j(2,"Metric Scenarios"),F(),S(3,"button",2),he("click",function(){return r.addScenario()}),J(4,"i",3),F()(),J(5,"mat-divider"),xi(6,YMe,7,2,"div",0,En)),n&2&&(E(6),wi(r.scenarios))},dependencies:[gg],styles:[".cc-row[_ngcontent-%COMP%]{display:flex;height:48px;align-items:center}.cc-row[_ngcontent-%COMP%] [disabled][_ngcontent-%COMP%]{color:#00000061}.cc-row[_ngcontent-%COMP%] .cc-apply-scenario-button[_ngcontent-%COMP%]{padding-left:16px;padding-right:16px;height:100%;flex:1;text-align:left;background-color:unset}.cc-row[_ngcontent-%COMP%] .cc-apply-scenario-button[_ngcontent-%COMP%]:hover:not([disabled]){background-color:#9e9e9e33}.cc-row[_ngcontent-%COMP%] .cc-action-button[_ngcontent-%COMP%]{width:52px;height:100%;display:inline-flex;justify-content:center;align-items:center}.cc-row[_ngcontent-%COMP%] .cc-action-button.cc-add[_ngcontent-%COMP%]{background-color:#1b9cfc}.cc-row[_ngcontent-%COMP%] .cc-action-button.cc-remove[_ngcontent-%COMP%]{border-left:1px solid rgba(0,0,0,.12);color:#b30000;background-color:unset}.cc-row[_ngcontent-%COMP%] .cc-action-button.cc-remove[_ngcontent-%COMP%]:hover:not([disabled]){background-color:#9e9e9e33}.cc-row[_ngcontent-%COMP%] i.fa[_ngcontent-%COMP%]{font-size:x-small}.cc-row[_ngcontent-%COMP%] .cc-scenario-content-icons[_ngcontent-%COMP%]{padding:0 8px;color:#d3d3d3}.cc-row[_ngcontent-%COMP%] .cc-scenario-content-icons[_ngcontent-%COMP%] i.fa.cc-is-saved[_ngcontent-%COMP%]{color:#000}"]})}}return i})();var Gj=(()=>{class i{constructor(e){this.scenarioService=e,this.scenarios=[]}loadScenarios(){this.scenarios=this.scenarioService.getScenarios()}static{this.\u0275fac=function(n){return new(n||i)(se(yS))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-show-scenarios-button"]],decls:4,vars:3,consts:[["menu","matMenu"],["icon","fa-star",3,"click","title","matMenuTriggerFor"],[1,"cc-scenarios-menu"],[3,"scenarios"]],template:function(n,r){if(n&1){let o=st();S(0,"cc-ribbon-bar-menu-button",1),he("click",function(){return Ve(o),Qe(r.loadScenarios())}),F(),S(1,"mat-menu",2,0),J(3,"cc-scenarios",3),F()}if(n&2){let o=Pn(2);z("title","Open the scenario list")("matMenuTriggerFor",o),E(3),z("scenarios",r.scenarios)}},dependencies:[bg,bc,za,qj],styles:["[_nghost-%COMP%]{display:flex;justify-content:center}"]})}}return i})();var Wj=(()=>{class i{upload(){let e=E1();e.addEventListener("change",()=>{this.uploadOnEvent(e)}),e.click()}uploadOnEvent(e){return ft(this,null,function*(){let n=yield Promise.all(Q1(e.files));for(let r of n)try{Bn.importCustomConfigs(r)}catch{}})}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-upload-custom-config-button"]],decls:2,vars:0,consts:[["title","Upload Custom View (.cc.config.json file).",1,"action-button",3,"click"],[1,"fa","fa-folder-open"]],template:function(n,r){n&1&&(Ut(0,"button",0),fr("click",function(){return r.upload()}),Ti(1,"i",1),qt())},styles:["button[_ngcontent-%COMP%]{margin:0 3px;min-width:12%;height:48px;width:48px;border-radius:100%;line-height:48px;background-color:#fff;color:#1b9cfc}button[_ngcontent-%COMP%]:disabled, button[disabled][_ngcontent-%COMP%]{background-color:#e6e6e6;color:#ccc}button[_ngcontent-%COMP%] i.fa[_ngcontent-%COMP%]{font-size:12px;margin-left:0}"]})}}return i})();var ZMe=".cc.config.json",JMe="1.0.1";function jj(i){let t={downloadApiVersion:JMe,timestamp:Date.now(),customConfigs:i},e=Na.getNewTimestamp()+ZMe;xu.downloadData(JSON.stringify(t,Af),e)}var $j=({assignedMaps:i})=>{let t=new Map,e=Bn.getCustomConfigs();for(let[n,r]of e.entries())eSe(r.assignedMaps,i)&&t.set(n,Bn.createExportCustomConfigFromConfig(r));return t};function eSe(i,t){return[...i.keys()].some(n=>t.has(n))}function Xj({assignedMaps:i}){let t={applicableItems:new Map,nonApplicableItems:new Map},e=new Map;for(let n of Bn.loadCustomConfigsFromLocalStorage().values()){let r=[...n.assignedMaps.values()],o=`${r.join("_")}_${n.mapSelectionMode}`,a=[...n.assignedMaps.keys()].some(v=>i.has(v));e.has(o)||e.set(o,{mapNames:r.join(" "),mapSelectionMode:n.mapSelectionMode,hasApplicableItems:a,customConfigItems:[]});let{positive:s,neutral:l,negative:c,selected:d,positiveDelta:h,negativeDelta:u}=n.stateSettings.appSettings.mapColors,{areaMetric:f,heightMetric:_,colorMetric:y,edgeMetric:b}=n.stateSettings.dynamicSettings;e.get(o).customConfigItems.push($e({id:n.id,name:n.name,assignedMaps:n.assignedMaps,mapSelectionMode:n.mapSelectionMode,metrics:{areaMetric:f,heightMetric:_,colorMetric:y,edgeMetric:b},mapColors:{positive:s,neutral:l,negative:c,selected:d,positiveDelta:h,negativeDelta:u},isApplicable:a},n.note&&{note:n.note})),e.get(o).hasApplicableItems?t.applicableItems.set(o,e.get(o)):t.nonApplicableItems.set(o,e.get(o))}return t}var vg=(function(i){return i.MULTIPLE="STANDARD",i.DELTA="DELTA",i})(vg||{});var tSe=i=>{let t=new Map,e;for(let{selectedAs:n,file:r}of i)e=n===vi.Partial?vg.MULTIPLE:vg.DELTA,t.set(r.fileMeta.fileChecksum,r.fileMeta.fileName);return{mapSelectionMode:e,assignedMaps:t}},Vd=Re(ir,tSe);var xS=(()=>{class i{constructor(e){this.store=e,this.downloadableCustomConfigs$=Yo([this.store.select(Vd),Bn.customConfigChange$]).pipe(Et(([n])=>$j(n))),this.customConfigItemGroups$=Yo([this.store.select(Vd),Bn.customConfigChange$]).pipe(Et(([n])=>Xj(n)))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Yj=(()=>{class i{constructor(e){this.downloadCustomConfigService=e}ngOnInit(){this.subscription=this.downloadCustomConfigService.downloadableCustomConfigs$.subscribe(e=>{this.downloadableConfigs=e})}ngOnDestroy(){this.subscription.unsubscribe()}downloadPreloadedCustomConfigs(){jj(this.downloadableConfigs)}static{this.\u0275fac=function(n){return new(n||i)(se(xS))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-download-custom-configs-button"]],decls:2,vars:1,consts:[["title","Download Custom View related to currently uploaded maps, if any.",3,"click","disabled"],[1,"fa","fa-download"]],template:function(n,r){n&1&&(Ut(0,"button",0),fr("click",function(){return r.downloadPreloadedCustomConfigs()}),Ti(1,"i",1),qt()),n&2&&sn("disabled",r.downloadableConfigs.size===0)},styles:["button[_ngcontent-%COMP%]{margin:0 3px;min-width:12%;height:48px;width:48px;border-radius:100%;line-height:48px;background-color:#fff;color:#1b9cfc}button[_ngcontent-%COMP%]:disabled, button[disabled][_ngcontent-%COMP%]{background-color:#e6e6e6;color:#ccc}button[_ngcontent-%COMP%] i.fa[_ngcontent-%COMP%]{font-size:12px;margin-left:0}"]})}}return i})();var Zj=el(Jy());var iSe="1.0.0";function Jj(i,t,e,n){let{mapSelectionMode:r,assignedMaps:o}=Vd(t),a=$e({id:"",name:i,creationTime:Date.now(),mapSelectionMode:r,assignedMaps:o,customConfigVersion:iSe,stateSettings:{appSettings:void 0,dynamicSettings:void 0,fileSettings:void 0},camera:e},n&&{note:n});return nSe(a),rSe(a),oSe(a),e$(t,a.stateSettings),a.stateSettings.fileSettings.edges=[],a.id=(0,Zj.default)(JSON.stringify(a,Af)),a}function nSe(i){i.stateSettings.appSettings={showMetricLabelNameValue:!1,showMetricLabelNodeName:!1,colorLabels:{positive:!1,negative:!1,neutral:!1},amountOfEdgePreviews:0,amountOfTopLabels:0,edgeHeight:0,hideFlatBuildings:!1,invertHeight:!1,invertArea:!1,isLoadingFile:!1,isLoadingMap:!1,isPresentationMode:!1,isWhiteBackground:!1,resetCameraIfNewFileIsLoaded:!1,scaling:void 0,showIncomingEdges:!0,showOutgoingEdges:!0,showOnlyBuildingsWithEdges:!1,isEdgeMetricVisible:!0,sortingOrderAscending:!1,isSearchPanelPinned:!1,experimentalFeaturesEnabled:!1,screenshotToClipboardEnabled:!1,layoutAlgorithm:void 0,maxTreeMapFiles:0,sharpnessMode:void 0,isColorMetricLinkedToHeightMetric:!1,enableFloorLabels:!0,mapColors:{labelColorAndAlpha:{alpha:0,rgb:""},base:"",flat:"",incomingEdge:"",markingColors:[],negative:"",negativeDelta:"",neutral:"",outgoingEdge:"",positive:"",positiveDelta:"",selected:""}}}function rSe(i){i.stateSettings.dynamicSettings={areaMetric:"",colorMetric:"",distributionMetric:"",edgeMetric:"",focusedNodePath:[],heightMetric:"",margin:0,searchPattern:"",sortingOption:void 0,colorRange:{from:0,to:0},colorMode:void 0}}function oSe(i){i.stateSettings.fileSettings={blacklist:void 0,edges:[],attributeDescriptors:{},markedPackages:[]}}function e$(i,t){for(let[e,n]of Object.entries(i))Object.prototype.hasOwnProperty.call(t,e)&&(typeof n!="object"||Array.isArray(n)||n===null||t[e]===void 0?t[e]=n:e$(n,t[e]))}var t$=(()=>{class i{constructor(e){this.data=e}static{this.\u0275fac=function(n){return new(n||i)(se(Ts))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-confirmation-dialog"]],decls:10,vars:4,consts:[[1,"confirmation-message"],["mat-dialog-title",""],["mat-dialog-content",""],["mat-dialog-actions",""],["mat-button","",3,"mat-dialog-close"],["mat-button","","cdkFocusInitial","",1,"submit-button",3,"mat-dialog-close"]],template:function(n,r){n&1&&(S(0,"div",0)(1,"h1",1),j(2),F(),S(3,"div",2),j(4),F()(),S(5,"div",3)(6,"button",4),j(7,"CANCEL"),F(),S(8,"button",5),j(9,"OK"),F()()),n&2&&(E(2),Ai(r.data.title),E(2),Ai(r.data.message),E(2),z("mat-dialog-close",!1),E(2),z("mat-dialog-close",!0))},dependencies:[Cf,ar,Cr,Wi,or],encapsulation:2})}}return i})();var i$=()=>{let t="";for(let[n,r]of Object.entries(localStorage))t+=n+r;return 3+t.length*16/8/1024<=768};var aSe=6;function n$(){let i=new Set,t=Bn.getCustomConfigs(),e=new Map,n=1e3*60*60*24*30;for(let[r,o]of t.entries())o?.creationTime===void 0&&(o.creationTime=Date.now()),(Date.now()-o.creationTime)/n>=aSe&&(e.set(r,Bn.createExportCustomConfigFromConfig(o)),i.add(o));return e.size>0&&Bn.downloadCustomConfigs(e),i}function sSe(i,t){if(i&1){let e=st();S(0,"span",0),j(1,"Do you want to download and then purge old unused Configs to make space for new ones?"),F(),S(2,"button",1),he("click",function(){Ve(e);let r=me();return Qe(r.showPurgeConfirmDialog())}),j(3," DOWNLOAD & PURGE... "),F()}}var r$=(()=>{class i{constructor(e){this.dialog=e,this.isLocalStorageSizeValid=!0}ngOnInit(){this.isLocalStorageSizeValid=i$()}showPurgeConfirmDialog(){let e=n$();if(e.size===0){this.dialog.open(es,{data:{title:"Download Error",message:"Could not download and purge old configs automatically! Please try it by yourself."}});return}this.dialog.open(t$,{panelClass:"cc-confirmation-dialog",data:{title:"Confirm to purge old Configs",message:"Are you sure to delete old Configs now?"}}).afterClosed().subscribe(r=>{r&&Bn.deleteCustomConfigs([...e])})}static{this.\u0275fac=function(n){return new(n||i)(se(fn))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-download-and-purge-configs"]],decls:1,vars:1,consts:[[1,"exceed-local-storage-message"],["mat-flat-button","","title","Download old unused Custom Views as a backup file and then delete them in the browser.",1,"exceed-local-storage-button",3,"click"]],template:function(n,r){n&1&&ke(0,sSe,4,0),n&2&&Pe(r.isLocalStorageSizeValid?-1:0)},dependencies:[Wi],styles:["[_nghost-%COMP%]{text-align:right;display:flex;flex-wrap:wrap;justify-content:center}.exceed-local-storage-message[_ngcontent-%COMP%]{display:block;text-align:left;padding:0 16px;color:#b02929}.exceed-local-storage-button[_ngcontent-%COMP%]{color:#fff;background-color:#b02929}.exceed-local-storage-button[_ngcontent-%COMP%]:hover{background-color:#8c1f1f}"]})}}return i})();function lSe(i,t){if(i&1&&(S(0,"mat-error"),j(1),F()),i&2){let e=me();E(),Ai(e.getErrorMessage())}}var wS=(()=>{class i{constructor(e,n,r){this.state=e,this.threeCameraService=n,this.threeOrbitControlsService=r}ngOnInit(){let e=Vd(this.state.getValue());this.customConfigName=new PC("",[th.required,cSe(e)]),this.customConfigName.setValue(Bn.getConfigNameSuggestionByFileState(e))}getErrorMessage(){return this.customConfigName.hasError("required")?"Please enter a view name.":this.customConfigName.hasError("Error")?this.customConfigName.getError("Error"):""}addCustomConfig(){let e=Jj(this.customConfigName.value,this.state.getValue(),{camera:this.threeCameraService.camera.position,cameraTarget:this.threeOrbitControlsService.controls.target},this.customConfigNote);Bn.addCustomConfig(e)}static{this.\u0275fac=function(n){return new(n||i)(se(bi),se(Kr),se(yr))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-add-custom-config-dialog"]],decls:24,vars:4,consts:[["xmlns","http://www.w3.org/1999/html",1,"header"],["matInput","","required","",1,"cc-custom-config-input",3,"formControl"],["cdkAutosizeMinRows","8","cdkTextareaAutosize","","matInput","","required","",1,"cc-custom-config-input",3,"ngModelChange","ngModel"],[1,"cc-add-custom-config"],["mat-flat-button","","mat-dialog-close","",3,"click","disabled"]],template:function(n,r){n&1&&(S(0,"mat-toolbar",0)(1,"h2"),j(2,"Add Custom View"),F()(),S(3,"mat-dialog-content")(4,"p")(5,"mat-form-field")(6,"mat-label"),j(7,"Save individual configurations for your map."),F(),J(8,"input",1),S(9,"mat-hint"),j(10,"Config View Name"),F(),ke(11,lSe,2,1,"mat-error"),F()(),S(12,"p")(13,"mat-form-field")(14,"mat-label"),j(15,"Provide custom note for configuration (optional)"),F(),S(16,"textarea",2),Ra("ngModelChange",function(a){return Pa(r.customConfigNote,a)||(r.customConfigNote=a),a}),j(17," "),F(),S(18,"mat-hint"),j(19,"Config Note"),F()()()(),S(20,"mat-dialog-actions",3),J(21,"cc-download-and-purge-configs"),S(22,"button",4),he("click",function(){return r.addCustomConfig()}),j(23,"ADD"),F()()),n&2&&(E(8),z("formControl",r.customConfigName),E(3),Pe(r.customConfigName.invalid?11:-1),E(5),ka("ngModel",r.customConfigNote),E(6),z("disabled",r.customConfigName.invalid))},dependencies:[ca,ar,Er,zr,da,gc,zs,Ac,$D,Od,RC,Eb,Fb,Ib,WC,Cr,r$,Wi,or],encapsulation:2})}}return i})();function cSe(i){return t=>{let e=t.value;return Bn.hasCustomConfigByName(i.mapSelectionMode,i.assignedMaps,e)?{Error:"A Custom View with this name already exists."}:null}}var o$=(()=>{class i{constructor(e){this.dialog=e}showAddCustomConfigDialog(){this.dialog.open(wS,{panelClass:"cc-add-custom-config-dialog"})}static{this.\u0275fac=function(n){return new(n||i)(se(fn))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-add-custom-config-button"]],decls:2,vars:0,consts:[["title","Create new Custom View",3,"click"],[1,"fa","fa-plus"]],template:function(n,r){n&1&&(Ut(0,"button",0),fr("click",function(){return r.showAddCustomConfigDialog()}),Ti(1,"i",1),qt())},styles:["button[_ngcontent-%COMP%]{margin:0 3px;min-width:12%;height:48px;width:48px;border-radius:100%;line-height:48px;background-color:#fff;color:#1b9cfc}button[_ngcontent-%COMP%]:disabled, button[disabled][_ngcontent-%COMP%]{background-color:#e6e6e6;color:#ccc}button[_ngcontent-%COMP%] i.fa[_ngcontent-%COMP%]{font-size:12px;margin-left:0}"]})}}return i})();var Kk=new Je("CdkAccordion"),a$=(()=>{class i{_stateChanges=new Bt;_openCloseAllActions=new Bt;id=R(hn).getId("cdk-accordion-");multi=!1;openAll(){this.multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",kt]},exportAs:["cdkAccordion"],features:[Si([{provide:Kk,useExisting:i}]),Di]})}return i})(),s$=(()=>{class i{accordion=R(Kk,{optional:!0,skipSelf:!0});_changeDetectorRef=R(Li);_expansionDispatcher=R(rh);_openCloseAllSubscription=rr.EMPTY;closed=new Pt;opened=new Pt;destroyed=new Pt;expandedChange=new Pt;id=R(hn).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(e){if(this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();let n=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,n)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}_expanded=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e)}_disabled=Gi(!1);_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,n)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===n&&this.id!==e&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",kt],disabled:[2,"disabled","disabled",kt]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[Si([{provide:Kk,useValue:void 0}])]})}return i})();var dSe=["body"],uSe=["bodyWrapper"],hSe=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],fSe=["mat-expansion-panel-header","*","mat-action-row"];function mSe(i,t){}var pSe=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],ASe=["mat-panel-title","mat-panel-description","*"];function gSe(i,t){i&1&&(Ut(0,"span",1),Zo(),Ut(1,"svg",2),Ti(2,"path",3),qt()())}var Yk=new Je("MAT_ACCORDION"),l$=new Je("MAT_EXPANSION_PANEL"),_Se=(()=>{class i{_template=R(Ka);_expansionPanel=R(l$,{optional:!0});constructor(){}static \u0275fac=function(n){return new(n||i)};static \u0275dir=wt({type:i,selectors:[["ng-template","matExpansionPanelContent",""]]})}return i})(),c$=new Je("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Zk=(()=>{class i extends s${_viewContainerRef=R(Hr);_animationsDisabled=vn();_document=R(yi);_ngZone=R(ti);_elementRef=R(Ft);_renderer=R(cn);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_togglePosition;afterExpand=new Pt;afterCollapse=new Pt;_inputChanges=new Bt;accordion=R(Yk,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=R(hn).getId("mat-expansion-panel-header-");constructor(){super();let e=R(c$,{optional:!0});this._expansionDispatcher=R(rh),e&&(this.hideToggle=e.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(Tr(null),Yt(()=>this.expanded&&!this._portal),kn(1)).subscribe(()=>{this._portal=new Za(this._lazyContent._template,this._viewContainerRef)}),this._setupAnimationEvents()}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete()}_containsFocus(){if(this._body){let e=this._document.activeElement,n=this._body.nativeElement;return e===n||n.contains(e)}return!1}_transitionEndListener=({target:e,propertyName:n})=>{e===this._bodyWrapper?.nativeElement&&n==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit()})};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let e=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this._transitionEndListener),e.classList.add("mat-expansion-panel-animations-enabled")},200)})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=re({type:i,selectors:[["mat-expansion-panel"]],contentQueries:function(n,r,o){if(n&1&&_n(o,_Se,5),n&2){let a;mt(a=pt())&&(r._lazyContent=a.first)}},viewQuery:function(n,r){if(n&1&&(Nt(dSe,5),Nt(uSe,5)),n&2){let o;mt(o=pt())&&(r._body=o.first),mt(o=pt())&&(r._bodyWrapper=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(n,r){n&2&&yt("mat-expanded",r.expanded)("mat-expansion-panel-spacing",r._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",kt],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[Si([{provide:Yk,useValue:void 0},{provide:l$,useExisting:i}]),nn,Di],ngContentSelectors:fSe,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(n,r){n&1&&(ki(hSe),Gt(0),S(1,"div",2,0)(3,"div",3,1)(5,"div",4),Gt(6,1),Sn(7,mSe,0,0,"ng-template",5),F(),Gt(8,2),F()()),n&2&&(E(),ni("inert",r.expanded?null:""),E(2),z("id",r.id),ni("aria-labelledby",r._headerId),E(4),z("cdkPortalOutlet",r._portal))},dependencies:[_f],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}
@@ -5207,7 +5207,7 @@ Low Values: ${e.hintLowValue}`:"",o.length>0?`${r}:${o}`:r}static{this.\u0275fac
5207
5207
  v${-this.frameHeight}`).attr("fill","none").attr("stroke","#888").attr("stroke-width","1px")}drawAxes(e,n,r){e.append("g").attr("id","axis-x").attr("transform",`translate(${this.framePadding},${this.frameHeight})`).call(gP(n).ticks(5)).attr("font-size","13px").attr("color","#888"),e.append("g").attr("id","axis-y").attr("transform",`translate(0,${this.framePadding})`).call(_P(r).ticks(5).tickFormat(function(o){return o>=1e4?`${Pm(".0f")(o/1e3)}k`:o>=1e3?`${Pm(".1f")(o/1e3)}k`:o.toString()})).attr("font-size","13px").attr("color","#888")}createXScale(){return Rg().domain(XS(this.percentileRanks,e=>e.x)).range([0,this.frameWidth-2*this.framePadding])}createYScale(){let e=[0,Zb(this.percentileRanks,r=>r.y)],n=[Zb(this.percentileRanks,r=>r.y),0];return Rg().domain(this.isAttributeDirectionInverted?n:e).range([this.frameHeight-2*this.framePadding,0])}drawLabels(e){e.append("text").attr("id","y-label").attr("class","y label").attr("text-anchor","middle").attr("transform","rotate(-90)").attr("x",-this.frameHeight/2-this.frameMarginTop).attr("y",this.frameMarginLeft-this.yLabelXOffset).attr("fill","#888").text(`${this.colorMetric}`),e.append("text").attr("id","x-label").attr("class","x label").attr("text-anchor","middle").attr("x",this.frameWidth/2).attr("y",this.frameHeight+this.frameMarginTop+this.xLabelYOffset).attr("fill","#888").text(`Quantiles (% of ${this.colorMetric})`)}drawAreas(e,n){let r=n(this.isAttributeDirectionInverted?this.calculateReversedPercentileFromMetricValue(this.currentRightValue):this.calculatePercentileFromMetricValue(this.currentLeftValue)),o=n(this.isAttributeDirectionInverted?this.calculateReversedPercentileFromMetricValue(this.currentLeftValue):this.calculatePercentileFromMetricValue(this.currentRightValue));e.append("rect").attr("class","left-area").attr("x",this.framePadding).attr("width",r).attr("height",this.frameHeight).style("fill",this.isAttributeDirectionInverted?this.rightColor:this.leftColor).style("fill-opacity","0.3"),e.append("rect").attr("class","middle-area").attr("x",r+this.framePadding).attr("width",o-r).attr("height",this.frameHeight).style("fill",this.middleColor).style("fill-opacity","0.3"),e.append("rect").attr("class","right-area").attr("x",o+this.framePadding).attr("width",this.frameWidth-2*this.framePadding-o).attr("height",this.frameHeight).style("fill",this.isAttributeDirectionInverted?this.leftColor:this.rightColor).style("fill-opacity","0.3")}drawLine(e){e.append("path").attr("id","diagram-path").datum(this.percentileRanks).attr("fill","none").attr("stroke","#888").attr("stroke-width",1).attr("d",YP().curve(ZP).x(n=>this.createXScale()(n.x)).y(n=>this.createYScale()(n.y))).attr("transform",`translate(${this.framePadding}, ${this.framePadding})`)}calculatePercentileRanks(e){let n=[...new Set(e)].sort((a,s)=>a-s),r=e.length,o=[{x:0,y:n[0]}];for(let a of n){let l=e.filter(c=>c<=a).length/r*100;o.push({x:l,y:a})}return o}calculateReversedPercentileRanks(e){let n=[...new Set(e)].sort((a,s)=>a-s).reverse(),r=e.length,o=[{x:0,y:n[0]}];for(let a of n){let l=e.filter(c=>c>=a).length/r*100;o.push({x:l,y:a})}return o.sort((a,s)=>a.x-s.x)}calculatePercentileFromMetricValue(e){if(e===this.minValue)return 0;if(e===this.maxValue)return 100;let n=null;for(let r of this.percentileRanks)if(r.y<e)n=r.x;else return n}calculateReversedPercentileFromMetricValue(e){if(e===this.maxValue)return 0;if(e===this.minValue)return 100;let n=null;for(let r of this.percentileRanks)if(r.y>e)n=r.x;else return n}addCrossHair(e,n,r){let o=e.append("text").attr("class","cross-tooltip").attr("fill","#000").attr("font-size","13px").style("display","none"),a=e.append("line").attr("class","dashed-vertical-line").attr("stroke","#000").attr("stroke-width","0.7px").attr("stroke-dasharray","4").style("display","none"),s=e.append("line").attr("class","straight-vertical-line").attr("stroke","#000").attr("stroke-width","0.7px").style("display","none"),l=e.append("line").attr("class","horizontal-line").attr("stroke","#000").attr("stroke-width","0.7px").style("display","none"),c=e.append("rect").attr("class","mouse-event-rect").attr("width",this.frameWidth).attr("height",this.frameHeight+this.frameMarginBottom/2).attr("fill","none").attr("pointer-events","all");this.addOnMouseMoveEvent(c,n,r,o,a,s,l),this.addOnMouseOutEvent(c,o,a,s,l)}addOnMouseMoveEvent(e,n,r,o,a,s,l){e.on("mousemove",c=>{let d=CP(c)[0],h=Math.round(n.invert(d-this.framePadding));h=Math.max(0,Math.min(h,100));let u=this.percentileToMetricValueMap.get(h),f=r(u)+this.framePadding,_=d<this.frameWidth/2?d+10:d-80,y=f<this.frameHeight/2?f+20:f-20;o.style("display","block").attr("x",_).attr("y",y).text(`Quantile: ${h}`).append("tspan").attr("x",_).attr("dy","1.2em").text(`Value: ${u}`),a.attr("x1",d).attr("x2",d).attr("y2",this.frameHeight).style("display","block"),s.attr("x1",d).attr("x2",d).attr("y1",f).attr("y2",this.frameHeight).style("display","block"),l.attr("x2",d).attr("y1",f).attr("y2",f).style("display","block")})}addOnMouseOutEvent(e,n,r,o,a){e.on("mouseout",()=>{n.style("display","none"),r.style("display","none"),o.style("display","none"),a.style("display","none")})}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-metric-color-range-diagram"]],inputs:{minValue:"minValue",maxValue:"maxValue",colorMetric:"colorMetric",values:"values",currentLeftValue:"currentLeftValue",currentRightValue:"currentRightValue",leftColor:"leftColor",middleColor:"middleColor",rightColor:"rightColor",isAttributeDirectionInverted:"isAttributeDirectionInverted"},features:[Di],decls:1,vars:0,consts:[["id","cc-range-diagram-container",1,"cc-range-diagram-container"]],template:function(n,r){n&1&&Ti(0,"div",0)},styles:["[_nghost-%COMP%]{display:flex;justify-content:center}"]})}}return i})();var PY=(()=>{class i{transform(e,n,r,o){switch(e){case"positive":{let a=o==="unary",s=r.minValue===n.from,l=r.maxValue===n.from;return a?`${r.minValue} - ${r.maxValue}`:s?"-":l?`${r.minValue} to ${this.formatNumber(n.from)}`:`${r.minValue} to ${this.formatNumber(n.from-1)}`}case"neutral":{let a=n.from===n.to,s=n.to===r.maxValue;return a?"-":s?`${this.formatNumber(n.from)} to ${this.formatNumber(n.to)}`:`${this.formatNumber(n.from)} to ${this.formatNumber(n.to-1)}`}case"negative":return r.maxValue===n.to?"-":`${this.formatNumber(n.to)} to ${this.formatNumber(r.maxValue)}`;case"positiveDelta":return"+\u0394 positive delta";case"negativeDelta":return"\u2013\u0394 negative delta";case"selected":return"selected";case"outgoingEdge":return"Outgoing Edge";case"incomingEdge":return"Incoming Edge"}}formatNumber(e){return(e||0).toLocaleString()}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"mapColorLabel",type:i,pure:!0})}}return i})();var vBe=i=>[i],Og=(()=>{class i{constructor(e){this.store=e,this.colorMetric$=this.store.select(oa),this.mapColors$=this.store.select(Ns),this.colorRange$=this.store.select(jS),this.nodeMetricRange$=this.store.select(aa)}handleColorChange(e){this.store.dispatch(Uo({value:{[this.mapColorFor]:e}}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-color-picker-for-map-color"]],inputs:{mapColorFor:"mapColorFor"},decls:6,vars:17,consts:[[3,"colorChange","hexColor","labels"]],template:function(n,r){n&1&&(S(0,"cc-labelled-color-picker",0),fe(1,"async"),fe(2,"async"),fe(3,"async"),fe(4,"async"),fe(5,"mapColorLabel"),he("colorChange",function(a){return r.handleColorChange(a)}),F()),n&2&&z("hexColor",_e(1,2,r.mapColors$)[r.mapColorFor])("labels",oy(15,vBe,FO(5,10,r.mapColorFor,_e(2,4,r.colorRange$),_e(3,6,r.nodeMetricRange$),_e(4,8,r.colorMetric$))))},dependencies:[$A,dt,PY],encapsulation:2})}}return i})();var yBe=()=>["appSettings.mapColors.positiveDelta","appSettings.mapColors.negativeDelta","appSettings.mapColors.selected"],xBe=()=>["appSettings.mapColors.positive","appSettings.mapColors.negative","appSettings.mapColors.neutral","appSettings.mapColors.selected"],wBe=()=>["appSettings.mapColors.positiveDelta","appSettings.mapColors.negativeDelta"];function CBe(i,t){if(i&1){let e=st();S(0,"div"),J(1,"cc-metric-color-range-slider",4),fe(2,"async"),fe(3,"async"),fe(4,"async"),fe(5,"async"),fe(6,"async"),fe(7,"async"),fe(8,"async"),fe(9,"async"),J(10,"cc-reset-settings-button",5)(11,"cc-metric-color-range-diagram",6),fe(12,"async"),fe(13,"async"),fe(14,"async"),fe(15,"async"),fe(16,"async"),fe(17,"async"),fe(18,"async"),fe(19,"async"),fe(20,"async"),fe(21,"async"),S(22,"mat-form-field",7)(23,"mat-label"),j(24,"Gradient Mode"),F(),S(25,"mat-select",8),fe(26,"async"),he("selectionChange",function(r){Ve(e);let o=me();return Qe(o.handleColorModeChange(r.value))}),S(27,"div",9),he("mousedown",function(r){return Ve(e),Qe(r.stopPropagation())}),S(28,"mat-option",10),j(29,"Absolute"),F(),S(30,"mat-option",11),j(31,"Focused Gradient"),F(),S(32,"mat-option",12),j(33,"Weighted Gradient"),F(),S(34,"mat-option",13),j(35,"True Gradient"),F()()()()()}if(i&2){let e=me();E(),z("minValue",_e(2,22,e.sliderValues$).min)("maxValue",_e(3,24,e.sliderValues$).max)("currentLeftValue",_e(4,26,e.sliderValues$).from)("currentRightValue",_e(5,28,e.sliderValues$).to)("leftColor",_e(6,30,e.sliderColors$).leftColor)("middleColor",_e(7,32,e.sliderColors$).middleColor)("rightColor",_e(8,34,e.sliderColors$).rightColor)("handleValueChange",e.handleValueChange)("isAttributeDirectionInversed",_e(9,36,e.isAttributeDescriptionInversed$)),E(9),z("settingsKeys",Oa(60,wBe))("callback",e.resetColorRange),E(),z("minValue",_e(12,38,e.sliderValues$).min)("maxValue",_e(13,40,e.sliderValues$).max)("currentLeftValue",_e(14,42,e.sliderValues$).from)("currentRightValue",_e(15,44,e.sliderValues$).to)("leftColor",_e(16,46,e.sliderColors$).leftColor)("middleColor",_e(17,48,e.sliderColors$).middleColor)("rightColor",_e(18,50,e.sliderColors$).rightColor)("colorMetric",_e(19,52,e.colorMetric$))("values",_e(20,54,e.sliderValues$).values)("isAttributeDirectionInverted",_e(21,56,e.isAttributeDescriptionInversed$)),E(14),z("value",_e(26,58,e.colorMode$))}}function MBe(i,t){if(i&1){let e=st();S(0,"div",1),J(1,"cc-color-picker-for-map-color",0),S(2,"mat-checkbox",14),fe(3,"async"),he("change",function(r){Ve(e);let o=me();return Qe(o.toggleColorLabel(r,"positive"))}),j(4,"Show labels"),F()(),S(5,"div",1),J(6,"cc-color-picker-for-map-color",0),S(7,"mat-checkbox",14),fe(8,"async"),he("change",function(r){Ve(e);let o=me();return Qe(o.toggleColorLabel(r,"neutral"))}),j(9,"Show labels"),F()(),S(10,"div",1),J(11,"cc-color-picker-for-map-color",0),S(12,"mat-checkbox",14),fe(13,"async"),he("change",function(r){Ve(e);let o=me();return Qe(o.toggleColorLabel(r,"negative"))}),j(14,"Show labels"),F()()}if(i&2){let e=me();E(),z("mapColorFor","positive"),E(),z("checked",_e(3,6,e.colorLabels$).positive),E(4),z("mapColorFor","neutral"),E(),z("checked",_e(8,8,e.colorLabels$).neutral),E(4),z("mapColorFor","negative"),E(),z("checked",_e(13,10,e.colorLabels$).negative)}}function SBe(i,t){i&1&&J(0,"cc-color-picker-for-map-color",0)(1,"cc-color-picker-for-map-color",0),i&2&&(z("mapColorFor","positiveDelta"),E(),z("mapColorFor","negativeDelta"))}function EBe(i,t){if(i&1){let e=st();S(0,"mat-checkbox",14),he("change",function(r){Ve(e);let o=me();return Qe(o.handleIsColorRangeInvertedChange(r.checked))}),j(1,"Invert Colors"),F()}if(i&2){let e=me();z("checked",e.isColorRangeInverted)}}function TBe(i,t){if(i&1){let e=st();S(0,"mat-checkbox",14),he("change",function(r){Ve(e);let o=me();return Qe(o.handleAreDeltaColorsInverted(r.checked))}),j(1,"Invert Colors"),F()}if(i&2){let e=me();z("checked",e.areDeltaColorsInverted)}}var RY=(()=>{class i{constructor(e,n){this.store=e,this.state=n,this.colorMode$=this.store.select(YC),this.colorLabels$=this.store.select(Tg),this.colorMetric$=this.store.select(oa),this.isDeltaState$=this.store.select(So),this.sliderValues$=this.store.select(AX),this.sliderColors$=this.store.select(pX),this.isAttributeDescriptionInversed$=this.checkIsAttributeDirectionReversed(),this.isColorRangeInverted=!1,this.areDeltaColorsInverted=!1,this.newLeftValue=null,this.newRightValue=null,this.handleValueChange=({newLeftValue:r,newRightValue:o})=>{this.newLeftValue=r??this.newLeftValue,this.newRightValue=o??this.newRightValue,this.updateColorRangeDebounced()},this.updateColorRangeDebounced=Eo(()=>{let r={};this.newLeftValue!==null&&(r.from=this.newLeftValue),this.newRightValue!==null&&(r.to=this.newRightValue),this.store.dispatch(Mo({value:r})),this.newLeftValue=null,this.newRightValue=null},400),this.resetInvertColorCheckboxes=()=>{this.isColorRangeInverted=!1,this.areDeltaColorsInverted=!1},this.resetColorRange=()=>{let r=aa(this.state.getValue());this.store.dispatch(Mo({value:wm(r)}))}}checkIsAttributeDirectionReversed(){return this.colorMetric$.pipe(Et(e=>this.state.getValue().fileSettings.attributeDescriptors[e]?.direction===1))}handleColorModeChange(e){this.store.dispatch(qs({value:e}))}toggleColorLabel(e,n){this.store.dispatch(Dc({value:{[n]:e.checked}}))}handleIsColorRangeInvertedChange(e){this.isColorRangeInverted=e,this.store.dispatch(zu())}handleAreDeltaColorsInverted(e){this.areDeltaColorsInverted=e,this.store.dispatch(qu())}static{this.\u0275fac=function(n){return new(n||i)(se(Ie),se(bi))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-color-settings-panel"]],decls:13,vars:18,consts:[[3,"mapColorFor"],[1,"color-row"],["tooltip","Reset color values to default","label","Reset colors",3,"settingsKeys","callback"],[3,"checked"],[3,"minValue","maxValue","currentLeftValue","currentRightValue","leftColor","middleColor","rightColor","handleValueChange","isAttributeDirectionInversed"],["tooltip","Reset slider thresholds to default","label","Reset thresholds",3,"settingsKeys","callback"],[3,"minValue","maxValue","currentLeftValue","currentRightValue","leftColor","middleColor","rightColor","colorMetric","values","isAttributeDirectionInverted"],["appearance","outline","subscriptSizing","dynamic",1,"gradient-mode-selector"],[3,"selectionChange","value"],[3,"mousedown"],["value","absolute"],["value","focusedGradient"],["value","weightedGradient"],["value","trueGradient"],[3,"change","checked"]],template:function(n,r){n&1&&(ke(0,CBe,36,61,"div"),fe(1,"async"),fe(2,"async"),ke(3,MBe,15,12),fe(4,"async"),Kc(5,SBe,2,2),J(6,"cc-color-picker-for-map-color",0),S(7,"div",1),J(8,"cc-reset-settings-button",2),fe(9,"async"),ke(10,EBe,2,1,"mat-checkbox",3),fe(11,"async"),Kc(12,TBe,2,1,"mat-checkbox",3),F()),n&2&&(Pe(!_e(1,6,r.isDeltaState$)&&_e(2,8,r.colorMetric$)!=="unary"?0:-1),E(3),Pe(_e(4,10,r.isDeltaState$)?5:3),E(3),z("mapColorFor","selected"),E(2),z("settingsKeys",_e(9,12,r.isDeltaState$)?Oa(16,yBe):Oa(17,xBe))("callback",r.resetInvertColorCheckboxes),E(2),Pe(_e(11,14,r.isDeltaState$)?12:10))},dependencies:[mX,Oc,kY,Er,zr,Qo,Zr,Og,Xs,dt],styles:[".gradient-mode-selector[_ngcontent-%COMP%]{--mat-form-field-container-vertical-padding: 8px;--mat-form-field-container-height: 16px;margin:5px 10px;width:93%}.color-row[_ngcontent-%COMP%]{display:flex;align-items:center}cc-color-picker-for-map-color[_ngcontent-%COMP%]{width:50%}cc-reset-settings-button[_ngcontent-%COMP%]{width:50%}"]})}}return i})();var Lg=Re(hi,i=>i.isEdgeMetricVisible);function BBe(i,t){i&1&&(S(0,"cc-rounded-box"),J(1,"cc-metric-chooser-type",3),j(2),F()),i&2&&(E(),z("metricFor","edgeMetric"),E(),ct(" ",t," "))}function FBe(i,t){if(i&1&&(S(0,"cc-metric-chooser",1),fe(1,"async"),S(2,"div",2),ke(3,BBe,3,2,"cc-rounded-box"),fe(4,"async"),F()()),i&2){let e,n=me();yt("is-edge-metric-disabled",!_e(1,6,n.isEdgeMetricVisible$)),z("selectedMetricName",t)("searchPlaceholder","Edge Metric (highest value)")("handleMetricChanged",n.handleEdgeMetricChanged),E(3),Pe((e=_e(4,8,n.edgeValue$))?3:-1,e)}}var OY=(()=>{class i{constructor(e,n){this.store=e,this.nodeSelectionService=n,this.edgeValue$=this.createEdgeValue(),this.edgeMetric$=this.store.select(Wo),this.isEdgeMetricVisible$=this.store.select(Lg),this.formatHoveredEdgeValue=(r,o)=>{if(!o)return null;let a=o.edgeAttributes[r];return a?`${this.formatValue(a.incoming)} / ${this.formatValue(a.outgoing)}`:null},this.formatValue=r=>typeof r=="number"?r.toLocaleString():"-"}handleEdgeMetricChanged(e){this.store.dispatch(qo({value:e}))}createEdgeValue(){return Yo([this.store.select(Wo),this.nodeSelectionService.createNodeObservable()]).pipe(Et(([e,n])=>this.formatHoveredEdgeValue(e,n)))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie),se(Eg))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-edge-metric-chooser"]],decls:2,vars:3,consts:[["icon","fa-exchange","type","edge","title","Change edge metric",3,"is-edge-metric-disabled","selectedMetricName","searchPlaceholder","handleMetricChanged"],["icon","fa-exchange","type","edge","title","Change edge metric",3,"selectedMetricName","searchPlaceholder","handleMetricChanged"],["hoveredInformation","",1,"cc-metric-chooser-container"],["attributeType","edges",3,"metricFor"]],template:function(n,r){if(n&1&&(ke(0,FBe,5,10,"cc-metric-chooser",0),fe(1,"async")),n&2){let o;Pe((o=_e(1,1,r.edgeMetric$))?0:-1,o)}},dependencies:[Ph,TS,VS,dt],styles:["cc-rounded-box[_ngcontent-%COMP%]{position:absolute;top:10%;right:28px}"]})}}return i})();var LY=Re(hi,i=>i.edgeHeight);var NY=Re(hi,i=>i.showOnlyBuildingsWithEdges);var T2=Re(In,Wo,Ih,Dh,IBe);function IBe({edgeMetricData:i,nodeEdgeMetricsMap:t,nodeMetricData:e},n,r,o){let a=t.get(n);if(!a||!r&&!o)return 0;let l=0;for(let c of a.values()){let d=r&&c.incoming>0,h=o&&c.outgoing>0;(d||h)&&l++}return l}var UY=(()=>{class i{constructor(e){this.store=e}ngOnInit(){this.isEdgeMetricVisible$=this.store.select(Lg)}toggleEdgeMetric(){this.store.dispatch(bh())}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-edge-metric-toggle"]],decls:3,vars:3,consts:[[1,"edgeMetricCheckbox",3,"change","checked"]],template:function(n,r){n&1&&(S(0,"mat-checkbox",0),fe(1,"async"),he("change",function(){return r.toggleEdgeMetric()}),j(2,` Disable edge metric
5208
5208
  `),F()),n&2&&z("checked",!_e(1,1,r.isEdgeMetricVisible$))},dependencies:[Xs,dt],encapsulation:2})}}return i})();var DBe=()=>["appSettings.amountOfEdgePreviews","appSettings.edgeHeight","appSettings.mapColors.outgoingEdge","appSettings.showOutgoingEdges","appSettings.mapColors.incomingEdge","appSettings.showIncomingEdges","appSettings.showOnlyBuildingsWithEdges","appSettings.isEdgeMetricVisible"],HY=(()=>{class i{constructor(e){this.store=e,this.amountOfBuildingsWithSelectedEdgeMetric$=this.store.select(T2),this.edgePreviewLabel$=this.amountOfBuildingsWithSelectedEdgeMetric$.pipe(Et(n=>`Preview the edges of up to ${n} buildings with the highest amount of incoming and outgoing edges`)),this.amountOfEdgePreviews$=this.store.select(Sg),this.edgeHeight$=this.store.select(LY),this.showOutgoingEdges$=this.store.select(Dh),this.showIncomingEdges$=this.store.select(Ih),this.showOnlyBuildingsWithEdges$=this.store.select(NY),this.applySettingsAmountOfEdgePreviews=n=>{this.store.dispatch(hs({value:n}))},this.applySettingsEdgeHeight=n=>{this.store.dispatch(Ws({value:n}))}}applyShowOutgoingEdges(e){this.store.dispatch(lh({value:e}))}applyShowIncomingEdges(e){this.store.dispatch(ch({value:e}))}applyShowOnlyBuildingsWithEdges(e){this.store.dispatch(Tc({value:e.checked}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-edge-settings-panel"]],decls:25,vars:41,consts:[[3,"title","label","value","onChange","min","max","disabled"],["title","Adjust the curve height",3,"label","value","onChange","min","max","disabled"],[1,"wrapper"],[1,"edge-row"],[3,"mapColorFor"],[3,"change","checked"],[3,"change","checked","disabled"],["tooltip","Reset edge metric settings to their defaults","label","Reset edge metric settings",3,"settingsKeys"]],template:function(n,r){n&1&&(J(0,"cc-slider",0),fe(1,"async"),fe(2,"async"),fe(3,"async"),fe(4,"async"),J(5,"cc-slider",1),fe(6,"async"),fe(7,"async"),S(8,"div",2)(9,"div",3),J(10,"cc-color-picker-for-map-color",4),S(11,"mat-checkbox",5),fe(12,"async"),he("change",function(a){return r.applyShowOutgoingEdges(a.checked)}),j(13,"Show"),F()(),S(14,"div",3),J(15,"cc-color-picker-for-map-color",4),S(16,"mat-checkbox",5),fe(17,"async"),he("change",function(a){return r.applyShowIncomingEdges(a.checked)}),j(18,"Show"),F()()(),S(19,"mat-checkbox",6),fe(20,"async"),fe(21,"async"),he("change",function(a){return r.applyShowOnlyBuildingsWithEdges(a)}),j(22,` Only show nodes with edges
5209
5209
  `),F(),J(23,"cc-edge-metric-toggle")(24,"cc-reset-settings-button",7)),n&2&&(z("title",_e(1,20,r.edgePreviewLabel$))("label","Preview")("value",_e(2,22,r.amountOfEdgePreviews$))("onChange",r.applySettingsAmountOfEdgePreviews)("min",0)("max",_e(3,24,r.amountOfBuildingsWithSelectedEdgeMetric$))("disabled",_e(4,26,r.amountOfBuildingsWithSelectedEdgeMetric$)===0),E(5),z("label","Height")("value",_e(6,28,r.edgeHeight$))("onChange",r.applySettingsEdgeHeight)("min",1)("max",9)("disabled",_e(7,30,r.amountOfBuildingsWithSelectedEdgeMetric$)===0),E(5),z("mapColorFor","outgoingEdge"),E(),z("checked",_e(12,32,r.showOutgoingEdges$)),E(4),z("mapColorFor","incomingEdge"),E(),z("checked",_e(17,34,r.showIncomingEdges$)),E(3),z("checked",_e(20,36,r.showOnlyBuildingsWithEdges$))("disabled",_e(21,38,r.amountOfBuildingsWithSelectedEdgeMetric$)===0),E(5),z("settingsKeys",Oa(40,DBe)))},dependencies:[Mh,Og,Xs,UY,Oc,dt],styles:[".edge-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:105px}"]})}}return i})();function kBe(i,t){i&1&&(S(0,"mat-card",8),J(1,"cc-link-color-metric-to-height-metric-button"),F(),S(2,"cc-ribbon-bar-panel",9),J(3,"cc-color-metric-chooser"),S(4,"cc-ribbon-bar-panel-settings"),J(5,"cc-color-settings-panel",4),F()()),i&2&&(E(2),z("separator",!0))}function PBe(i,t){i&1&&(S(0,"cc-ribbon-bar-panel",6),J(1,"cc-edge-metric-chooser"),S(2,"cc-ribbon-bar-panel-settings"),J(3,"cc-edge-settings-panel",4),F()()),i&2&&z("separator",!0)}function RBe(i,t){i&1&&(S(0,"cc-ribbon-bar-panel",7)(1,"div",10),J(2,"i",11),S(3,"span"),j(4,"Color Settings"),F()(),S(5,"cc-ribbon-bar-panel-settings"),J(6,"cc-color-settings-panel",4),F()()),i&2&&z("separator",!0)("isHeaderExpandable",!0)}var VY=(()=>{class i{constructor(e){this.store=e,this.isDeltaState$=this.store.select(So),this.hasEdgeMetric$=this.store.select(In).pipe(Et(n=>n.edgeMetricData.length>0))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-ribbon-bar"]],decls:21,vars:11,consts:[["id","scenario-card","title","Metric Scenarios"],["id","custom-configs-card","title","Custom Views"],["id","ai-card","title","Suspicious Metrics"],["id","area-metric-card","title","Area Metric Options",1,"ribbon-bar-panel-wide",3,"separator"],[1,"cc-metric-settings-panel"],["id","height-metric-card","title","Height Metric Options",1,"ribbon-bar-panel-wide",3,"separator"],["id","edge-metric-card","title","Edge Metric Options",1,"ribbon-bar-panel-wide",3,"separator"],["id","color-settings-card",1,"ribbon-bar-panel-wide",3,"separator","isHeaderExpandable"],["appearance","outlined",1,"color-height-metric-link"],["id","color-metric-card","title","Color Metric Options",1,"ribbon-bar-panel-wide",3,"separator"],[1,"color-settings-header","toggleHeader"],[1,"fa","fa-paint-brush","color-icon"]],template:function(n,r){n&1&&(J(0,"cc-search-panel"),S(1,"cc-ribbon-bar-panel",0),J(2,"cc-show-scenarios-button"),F(),S(3,"cc-ribbon-bar-panel",1),J(4,"cc-custom-configs"),F(),S(5,"cc-ribbon-bar-panel",2),J(6,"cc-artificial-intelligence"),F(),S(7,"cc-ribbon-bar-panel",3),J(8,"cc-area-metric-chooser"),S(9,"cc-ribbon-bar-panel-settings"),J(10,"cc-area-settings-panel",4),F()(),S(11,"cc-ribbon-bar-panel",5),J(12,"cc-height-metric-chooser"),S(13,"cc-ribbon-bar-panel-settings"),J(14,"cc-height-settings-panel",4),F()(),ke(15,kBe,6,1),fe(16,"async"),ke(17,PBe,4,1,"cc-ribbon-bar-panel",6),fe(18,"async"),ke(19,RBe,7,2,"cc-ribbon-bar-panel",7),fe(20,"async")),n&2&&(E(7),z("separator",!0),E(4),z("separator",!0),E(4),Pe(_e(16,5,r.isDeltaState$)?-1:15),E(2),Pe(_e(18,7,r.hasEdgeMetric$)?17:-1),E(2),Pe(_e(20,9,r.isDeltaState$)?19:-1))},dependencies:[Nj,Wb,Gj,y$,O$,J$,pg,eX,tX,aX,_c,sX,lX,RY,OY,HY,dt],styles:["[_nghost-%COMP%]{z-index:10;width:100%;display:flex;flex-wrap:nowrap}cc-ribbon-bar-panel[_ngcontent-%COMP%]{flex:0}cc-ribbon-bar-panel.ribbon-bar-panel-wide[_ngcontent-%COMP%]{flex-grow:1}cc-ribbon-bar-panel[_ngcontent-%COMP%] cc-ribbon-bar-panel-settings[_ngcontent-%COMP%]{font-size:.9em;left:0;right:auto}cc-ribbon-bar-panel[_ngcontent-%COMP%]:last-child cc-ribbon-bar-panel-settings[_ngcontent-%COMP%]{left:auto;right:0}mat-card.color-height-metric-link[_ngcontent-%COMP%]{display:flex;justify-content:center;flex-grow:0;padding:0;height:46px;border-radius:0;border-top:1px solid #cdcdcd}.color-settings-header[_ngcontent-%COMP%]{display:flex;gap:8px;line-height:24px;align-items:baseline}"]})}}return i})();var Uh=()=>new _A({color:16580095}),Om=()=>new _A({color:16580095}),Av=()=>new _A({color:16580095});var B2=class i{static buildCube(t){let e=1/t,n=(1-e)/2,r=new xa(e,n,n),o=new xa(n,e+n,n),a=new xa(n,n,n),s=new xa(e,e,n),l=new xa(e,e+n,n);return i.newBuildCubeGroup(r,o,a,s,l)}static newBuildCubeGroup(t,e,n,r,o){let a=new wo,{group:s,frontLeft:l,frontCenter:c,frontRight:d,middleLeft:h,middleCenter:u,middleRight:f,backLeft:_,backCenter:y,backRight:b}=i.buildCubeTopFace(t,n,r);a.add(s);let{group:v,frontLeftEdge:M,frontCenterFace:x,frontRightEdge:w,middleLeftFace:k,middleRightFace:P,backLeftEdge:D,backCenterFace:O,backRightEdge:T}=i.buildCubeSides(e,o);return a.add(v),{group:a,top:{front:{left:l,center:c,right:d},middle:{left:h,center:u,right:f},back:{left:_,center:y,right:b}},sides:{front:{left:M,center:x,right:w},middle:{left:k,right:P},back:{left:D,center:O,right:T}}}}static buildCubeTopFace(t,e,n){let r=new Ui(e,Av()),o=new Ui(t,Uh()),a=new Ui(e,Av()),s=new Ui(t,Uh()),l=new Ui(n,Om()),c=new Ui(t,Om()),d=new Ui(e,Av()),h=new Ui(t,Uh()),u=new Ui(e,Av()),f=n.parameters.height/2+e.parameters.height/2;r.position.x-=f,r.position.y-=f,o.position.y-=f,a.position.x+=f,a.position.y-=f,s.position.x-=f,s.rotation.z=Math.PI/2,c.position.x+=f,c.rotation.z=Math.PI/2,d.position.x-=f,d.position.y+=f,h.position.y+=f,u.position.x+=f,u.position.y+=f;let _=new wo;return _.rotation.x=Math.PI/2,_.position.y+=f,_.add(r),_.add(o),_.add(a),_.add(s),_.add(l),_.add(c),_.add(d),_.add(h),_.add(u),{group:_,frontLeft:r,frontCenter:o,frontRight:a,middleLeft:s,middleCenter:l,middleRight:c,backLeft:d,backCenter:h,backRight:u}}static buildCubeSides(t,e){let n=new Ui(t,Uh()),r=new Ui(e,Om()),o=new Ui(t,Uh()),a=new Ui(e,Om()),s=new Ui(e,Om()),l=new Ui(t,Uh()),c=new Ui(e,Om()),d=new Ui(t,Uh()),h=e.parameters.width/2+t.parameters.width/2,u=t.parameters.width/2;n.position.x-=h,n.position.z+=h,r.position.z+=h,o.position.x+=h,o.position.z+=h,a.position.x-=h,a.rotation.y=Math.PI/2,s.position.x+=h,s.rotation.y=Math.PI/2,l.position.x-=h,l.position.z-=h,c.position.z-=h,d.position.x+=h,d.position.z-=h;let f=new wo;return f.position.y-=u,f.add(n),f.add(r),f.add(o),f.add(a),f.add(s),f.add(l),f.add(c),f.add(d),{group:f,frontLeftEdge:n,frontCenterFace:r,frontRightEdge:o,middleLeftFace:a,middleRightFace:s,backLeftEdge:l,backCenterFace:c,backRightEdge:d}}};var QY=(()=>{class i{constructor(e){this.threeMapControlsService=e}centerMap(){this.threeMapControlsService.autoFitTo()}static{this.\u0275fac=function(n){return new(n||i)(se(yr))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-center-map-button"]],decls:2,vars:0,consts:[["aria-label","Center map in View","title","Center map",1,"cc-shadow",3,"click"],[1,"fa","fa-compass"]],template:function(n,r){n&1&&(Ut(0,"button",0),fr("click",function(){return r.centerMap()}),Ti(1,"i",1),qt())},styles:["button[_ngcontent-%COMP%]{position:absolute;right:15px;width:36px;height:36px;font-size:28px;border-radius:100%;color:#fff;background-color:#1b9cfc}button.cc-shadow[_ngcontent-%COMP%]{box-shadow:0 1px 5px #0003!important}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-top:2px}button[_ngcontent-%COMP%]:hover{cursor:pointer;background-color:#0374c9}"]})}}return i})();var zY=(()=>{class i{constructor(e,n){this.threeMapControlsService=e,this.cdr=n}ngOnInit(){this.maxZoom=this.threeMapControlsService.MAX_ZOOM,this.minZoom=this.threeMapControlsService.MIN_ZOOM,this.threeMapControlsService.zoomPercentage$.subscribe(e=>{this.zoomPercentage=e,this.cdr.detectChanges()})}onInput(e){let n=e.target,r=Number.parseFloat(n.value);this.threeMapControlsService.setZoomPercentage(r)}zoomIn(){this.threeMapControlsService.setZoomPercentage(Math.min(this.zoomPercentage+10,this.maxZoom))}zoomOut(){this.threeMapControlsService.setZoomPercentage(Math.max(this.zoomPercentage-10,this.minZoom))}static{this.\u0275fac=function(n){return new(n||i)(se(yr),se(Li))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-zoom-slider"]],decls:8,vars:4,consts:[[1,"zoom-slider"],["data-testid","zoomOut",1,"zoom-button",3,"click"],["type","range","id","zoomRange","data-testid","zoomRange",3,"input","min","max","value"],["data-testid","zoomIn",1,"zoom-button",3,"click"],["id","zoomValue"]],template:function(n,r){n&1&&(Ut(0,"div",0)(1,"button",1),fr("click",function(){return r.zoomOut()}),j(2,"-"),qt(),Ut(3,"input",2),fr("input",function(a){return r.onInput(a)}),qt(),Ut(4,"button",3),fr("click",function(){return r.zoomIn()}),j(5,"+"),qt(),Ut(6,"span",4),j(7),qt()()),n&2&&(E(3),sn("min",r.minZoom)("max",r.maxZoom)("value",r.zoomPercentage),E(4),ct("",r.zoomPercentage==null?null:r.zoomPercentage.toFixed(0),"%"))},styles:[".mat-elevation-z0[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z0[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-0, 0px 0px 0px 0px --mat-sys-shadow, 0px 0px 0px 0px --mat-sys-shadow, 0px 0px 0px 0px --mat-sys-shadow)}.mat-elevation-z1[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z1[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-1, 0px 2px 1px -1px --mat-sys-shadow, 0px 1px 1px 0px --mat-sys-shadow, 0px 1px 3px 0px --mat-sys-shadow)}.mat-elevation-z2[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z2[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-2, 0px 3px 1px -2px --mat-sys-shadow, 0px 2px 2px 0px --mat-sys-shadow, 0px 1px 5px 0px --mat-sys-shadow)}.mat-elevation-z3[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z3[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-3, 0px 3px 3px -2px --mat-sys-shadow, 0px 3px 4px 0px --mat-sys-shadow, 0px 1px 8px 0px --mat-sys-shadow)}.mat-elevation-z4[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z4[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-4, 0px 2px 4px -1px --mat-sys-shadow, 0px 4px 5px 0px --mat-sys-shadow, 0px 1px 10px 0px --mat-sys-shadow)}.mat-elevation-z5[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z5[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-5, 0px 3px 5px -1px --mat-sys-shadow, 0px 5px 8px 0px --mat-sys-shadow, 0px 1px 14px 0px --mat-sys-shadow)}.mat-elevation-z6[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z6[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-6, 0px 3px 5px -1px --mat-sys-shadow, 0px 6px 10px 0px --mat-sys-shadow, 0px 1px 18px 0px --mat-sys-shadow)}.mat-elevation-z7[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z7[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-7, 0px 4px 5px -2px --mat-sys-shadow, 0px 7px 10px 1px --mat-sys-shadow, 0px 2px 16px 1px --mat-sys-shadow)}.mat-elevation-z8[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z8[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-8, 0px 5px 5px -3px --mat-sys-shadow, 0px 8px 10px 1px --mat-sys-shadow, 0px 3px 14px 2px --mat-sys-shadow)}.mat-elevation-z9[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z9[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-9, 0px 5px 6px -3px --mat-sys-shadow, 0px 9px 12px 1px --mat-sys-shadow, 0px 3px 16px 2px --mat-sys-shadow)}.mat-elevation-z10[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z10[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-10, 0px 6px 6px -3px --mat-sys-shadow, 0px 10px 14px 1px --mat-sys-shadow, 0px 4px 18px 3px --mat-sys-shadow)}.mat-elevation-z11[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z11[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-11, 0px 6px 7px -4px --mat-sys-shadow, 0px 11px 15px 1px --mat-sys-shadow, 0px 4px 20px 3px --mat-sys-shadow)}.mat-elevation-z12[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z12[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-12, 0px 7px 8px -4px --mat-sys-shadow, 0px 12px 17px 2px --mat-sys-shadow, 0px 5px 22px 4px --mat-sys-shadow)}.mat-elevation-z13[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z13[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-13, 0px 7px 8px -4px --mat-sys-shadow, 0px 13px 19px 2px --mat-sys-shadow, 0px 5px 24px 4px --mat-sys-shadow)}.mat-elevation-z14[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z14[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-14, 0px 7px 9px -4px --mat-sys-shadow, 0px 14px 21px 2px --mat-sys-shadow, 0px 5px 26px 4px --mat-sys-shadow)}.mat-elevation-z15[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z15[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-15, 0px 8px 9px -5px --mat-sys-shadow, 0px 15px 22px 2px --mat-sys-shadow, 0px 6px 28px 5px --mat-sys-shadow)}.mat-elevation-z16[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z16[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-16, 0px 8px 10px -5px --mat-sys-shadow, 0px 16px 24px 2px --mat-sys-shadow, 0px 6px 30px 5px --mat-sys-shadow)}.mat-elevation-z17[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z17[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-17, 0px 8px 11px -5px --mat-sys-shadow, 0px 17px 26px 2px --mat-sys-shadow, 0px 6px 32px 5px --mat-sys-shadow)}.mat-elevation-z18[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z18[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-18, 0px 9px 11px -5px --mat-sys-shadow, 0px 18px 28px 2px --mat-sys-shadow, 0px 7px 34px 6px --mat-sys-shadow)}.mat-elevation-z19[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z19[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-19, 0px 9px 12px -6px --mat-sys-shadow, 0px 19px 29px 2px --mat-sys-shadow, 0px 7px 36px 6px --mat-sys-shadow)}.mat-elevation-z20[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z20[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-20, 0px 10px 13px -6px --mat-sys-shadow, 0px 20px 31px 3px --mat-sys-shadow, 0px 8px 38px 7px --mat-sys-shadow)}.mat-elevation-z21[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z21[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-21, 0px 10px 13px -6px --mat-sys-shadow, 0px 21px 33px 3px --mat-sys-shadow, 0px 8px 40px 7px --mat-sys-shadow)}.mat-elevation-z22[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z22[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-22, 0px 10px 14px -6px --mat-sys-shadow, 0px 22px 35px 3px --mat-sys-shadow, 0px 8px 42px 7px --mat-sys-shadow)}.mat-elevation-z23[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z23[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-23, 0px 11px 14px -7px --mat-sys-shadow, 0px 23px 36px 3px --mat-sys-shadow, 0px 9px 44px 8px --mat-sys-shadow)}.mat-elevation-z24[_ngcontent-%COMP%], .mat-mdc-elevation-specific.mat-elevation-z24[_ngcontent-%COMP%]{box-shadow:var(--mat-app-elevation-shadow-level-24, 0px 11px 15px -7px --mat-sys-shadow, 0px 24px 38px 3px --mat-sys-shadow, 0px 9px 46px 8px --mat-sys-shadow)}html[_ngcontent-%COMP%]{--mat-sys-on-surface: initial}.mat-app-background[_ngcontent-%COMP%]{background-color:var(--mat-app-background-color, var(--mat-sys-background, transparent));color:var(--mat-app-text-color, var(--mat-sys-on-background, inherit))}[_ngcontent-%COMP%]:root{--mat-dialog-container-min-width: 500px;--mat-dialog-actions-alignment: flex-end;--mat-toolbar-container-background-color: #1b9cfc;--mat-toolbar-container-text-color: #fff;--mat-button-text-horizontal-padding: 8px}[_ngcontent-%COMP%]:root .mat-mdc-checkbox.mat-accent[_ngcontent-%COMP%]{--mat-checkbox-selected-checkmark-color: #fff !important}[_ngcontent-%COMP%]:root .cdk-overlay-pane.cc-incompatible-maps-dialog[_ngcontent-%COMP%]{--mat-dialog-supporting-text-color: vars.$cc-font-color}.zoom-slider[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;width:150px;position:absolute;top:190px;right:26px;margin:10px}.zoom-slider[_ngcontent-%COMP%] .zoom-button[_ngcontent-%COMP%], .zoom-slider[_ngcontent-%COMP%] #zoomValue[_ngcontent-%COMP%]{font-size:10px;color:#737373}.zoom-slider[_ngcontent-%COMP%] .zoom-button.zoom-button[_ngcontent-%COMP%], .zoom-slider[_ngcontent-%COMP%] #zoomValue.zoom-button[_ngcontent-%COMP%]{background:none;border:none;font-size:16px;cursor:pointer;padding:0;margin:0}input[type=range][_ngcontent-%COMP%]{-webkit-appearance:none;color:#737373;width:100px;height:3px;background:#737373;outline:none;opacity:.7;transition:opacity .2s}input[type=range][_ngcontent-%COMP%]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:3px;height:10px;background:#737373;cursor:pointer}input[type=range][_ngcontent-%COMP%]::-moz-range-thumb{width:3px;height:10px;background:#737373;cursor:pointer}"],changeDetection:0})}}return i})();var qY=(()=>{class i{constructor(e,n,r){this.elementReference=e,this.threeMapControlsService=n,this.viewCubeMouseEvents=r,this.WIDTH=200,this.HEIGHT=200,this.LENGTH_VIEWCUBE=1,this.hoverInfo={cube:null,originalMaterial:null},this.cubeDefinition={top:null,sides:null},this.onCameraChanged=o=>{let a=this.calculateCameraPosition(o.camera);this.setCameraPosition(a),this.renderer.render(this.scene,this.camera)},this.onCubeHovered=o=>{this.hoverInfo={cube:o.cube,originalMaterial:o.cube.material},this.hoverInfo.cube.material.emissive=new di(16777215),this.renderer.render(this.scene,this.camera)},this.onCubeUnhovered=()=>{this.hoverInfo.cube.material.emissive=new di(0),this.hoverInfo.cube=null,this.renderer.render(this.scene,this.camera)},this.onCubeClicked=o=>{switch(o.cube){case this.cubeDefinition.top.front.left:this.threeMapControlsService.rotateCameraInVectorDirection(1,-1,1);break;case this.cubeDefinition.top.front.center:this.threeMapControlsService.rotateCameraInVectorDirection(0,-1,1);break;case this.cubeDefinition.top.front.right:this.threeMapControlsService.rotateCameraInVectorDirection(-1,-1,1);break;case this.cubeDefinition.top.middle.left:this.threeMapControlsService.rotateCameraInVectorDirection(1,-1,0);break;case this.cubeDefinition.top.middle.center:this.threeMapControlsService.rotateCameraInVectorDirection(0,-1,0);break;case this.cubeDefinition.top.middle.right:this.threeMapControlsService.rotateCameraInVectorDirection(-1,-1,0);break;case this.cubeDefinition.top.back.left:this.threeMapControlsService.rotateCameraInVectorDirection(1,-1,-1);break;case this.cubeDefinition.top.back.center:this.threeMapControlsService.rotateCameraInVectorDirection(0,-1,-1);break;case this.cubeDefinition.top.back.right:this.threeMapControlsService.rotateCameraInVectorDirection(-1,-1,-1);break;case this.cubeDefinition.sides.front.left:this.threeMapControlsService.rotateCameraInVectorDirection(1,0,-1);break;case this.cubeDefinition.sides.front.center:this.threeMapControlsService.rotateCameraInVectorDirection(0,0,0);break;case this.cubeDefinition.sides.front.right:this.threeMapControlsService.rotateCameraInVectorDirection(-1,0,-1);break;case this.cubeDefinition.sides.middle.left:this.threeMapControlsService.rotateCameraInVectorDirection(1,0,0);break;case this.cubeDefinition.sides.middle.right:this.threeMapControlsService.rotateCameraInVectorDirection(-1,0,0);break;case this.cubeDefinition.sides.back.left:this.threeMapControlsService.rotateCameraInVectorDirection(1,0,1);break;case this.cubeDefinition.sides.back.center:this.threeMapControlsService.rotateCameraInVectorDirection(0,0,1);break;case this.cubeDefinition.sides.back.right:this.threeMapControlsService.rotateCameraInVectorDirection(-1,0,1);break}}}ngOnInit(){this.initScene(),this.initLights(),this.initRenderer(this.elementReference.nativeElement),this.initCube(),this.initAxesHelper(),this.initCamera(),this.viewCubeMouseEvents.init(this.cubeGroup,this.camera,this.renderer),this.threeMapControlsService.subscribe("onCameraChanged",this.onCameraChanged),this.viewCubeMouseEvents.subscribe("viewCubeHoveredEvent",this.onCubeHovered),this.viewCubeMouseEvents.subscribe("viewCubeUnHoveredEvent",this.onCubeUnhovered),this.viewCubeMouseEvents.subscribe("viewCubeClicked",this.onCubeClicked)}initAxesHelper(){let e=new aw(1.3),n=-(this.LENGTH_VIEWCUBE/2)+.01;e.position.x+=n,e.position.y+=n,e.position.z+=n,this.scene.add(e)}initCube(){let{group:e,top:n,sides:r}=B2.buildCube(1.9);this.cubeGroup=e,this.cubeDefinition.top=n,this.cubeDefinition.sides=r;let o=new rw(this.cubeGroup,new di(0));this.scene.add(this.cubeGroup),this.scene.add(o)}setCameraPosition(e){this.camera.position.set(e.x,e.y,e.z),this.camera.lookAt(0,0,0),this.camera.updateProjectionMatrix()}calculateCameraPosition(e){let n=this.threeMapControlsService.controls.target.clone();return e.position.clone().sub(n).normalize().multiplyScalar(3)}initScene(){this.scene=new Uu}initRenderer(e){this.renderer=new Nu({alpha:!0,antialias:!0}),this.renderer.setSize(this.WIDTH,this.HEIGHT),this.renderer.setPixelRatio(window.devicePixelRatio),e.appendChild(this.renderer.domElement)}initCamera(){this.camera=new no(45,this.WIDTH/this.HEIGHT,.1,1e3),this.camera.position.z=4}initLights(){this.lights=new wo;let e=new vA(7368816,2.8),n=new Vu(14737632,1.8);n.position.set(50,10,8).normalize();let r=new Vu(14737632,1.8);r.position.set(-50,10,-8).normalize(),this.lights.add(e),this.lights.add(n),this.lights.add(r),this.scene.add(this.lights)}static{this.\u0275fac=function(n){return new(n||i)(se(Ft),se(yr),se(gS))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-view-cube"]],decls:2,vars:0,template:function(n,r){n&1&&J(0,"cc-center-map-button")(1,"cc-zoom-slider")},dependencies:[QY,zY],styles:["[_nghost-%COMP%]{transition:right .3s ease;position:absolute;z-index:11;right:0;top:10px}.sideBarVisible[_nghost-%COMP%]{right:350px}"]})}}return i})();var OBe=i=>{if(i)return{all:i.attributes?.unary??0,added:i.fileCount?.added??0,removed:i.fileCount?.removed??0,changed:i.fileCount?.changed??0}},GY=Re(eo,OBe);function LBe(i,t){if(i&1&&(Ut(0,"span",2),j(1," | "),Ut(2,"span",3),j(3),qt(),j(4," | "),Ut(5,"span",4),j(6),qt(),j(7," | "),Ut(8,"span",5),j(9),qt()()),i&2){let e=me();E(3),ct(" \u0394",e.added),E(3),ct(" \u0394",e.removed>0?-e.removed:0),E(3),ct(" \u0394",e.changed)}}function NBe(i,t){if(i&1&&(Ut(0,"span",2),j(1),ke(2,LBe,10,3,"span",2),fe(3,"async"),j(4," ) "),qt()),i&2){let e=t,n=me(2);E(),xs(" ( ",e.all," ",e.all===1?"file":"files"," "),E(),Pe(n.node.children!=null&&n.node.children.length&&_e(3,3,n.isDeltaMode$)?2:-1)}}function UBe(i,t){if(i&1&&(Ut(0,"span",1),j(1),ke(2,NBe,5,5,"span",2),fe(3,"async"),qt()),i&2){let e,n=me();E(),ct(" ",n.node.path," "),E(),Pe((e=_e(3,2,(n.node.children==null?null:n.node.children.length)&&n.fileCount$))?2:-1,e)}}var WY=(()=>{class i{constructor(e){this.fileCount$=e.select(GY),this.isDeltaMode$=e.select(So)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-node-path"]],inputs:{node:"node"},decls:2,vars:1,consts:[[1,"cc-node-path"],[1,"file-path"],[1,"cc-node-file-count"],["title","Number of added files",1,"added-files"],["title","Number of removed files",1,"removed-files"],["title","Number of files with metric changes",1,"files-with-metric-changes"]],template:function(n,r){n&1&&(Ut(0,"p",0),ke(1,UBe,4,4,"span",1),qt()),n&2&&(E(),Pe(r.node?1:-1))},dependencies:[dt],styles:[".cc-node-path[_ngcontent-%COMP%]{color:gray;margin:5px 0}.cc-node-path[_ngcontent-%COMP%] .file-path[_ngcontent-%COMP%]{word-wrap:break-word}.cc-node-path[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%]{background:#f0f0f0;border-radius:3px;padding:1px 3px;color:#000}.cc-node-path[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .added-files[_ngcontent-%COMP%]{color:#64d051}.cc-node-path[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .removed-files[_ngcontent-%COMP%]{color:#ff0e0e}.cc-node-path[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .changed-files[_ngcontent-%COMP%]{color:#0e2eff}"]})}}return i})();var Hh=(()=>{class i{constructor(e){this.threeSceneService=e,this.isOpen=!1,this.threeSceneService.subscribe("onBuildingSelected",()=>{this.isOpen=!0}),this.threeSceneService.subscribe("onBuildingDeselected",()=>{this.isOpen=!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(vr))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function HBe(i,t){if(i&1&&(S(0,"div",1)(1,"a",4)(2,"h2"),j(3),F(),J(4,"i",5),F()()),i&2){let e=me(2);z("matTooltip",mr(e.node.link))("matTooltipShowDelay",200),E(),z("href",mr(e.node.link),Nl),E(2),ct("",e.node.name,"\xA0")}}function VBe(i,t){if(i&1){let e=st();S(0,"i",0),he("click",function(){Ve(e);let r=me();return Qe(r.closeSideBar())}),F(),ke(1,HBe,5,6,"div",1),S(2,"p",2),j(3),fe(4,"removeExtension"),F(),J(5,"cc-node-path",3)}if(i&2){let e=me();E(),Pe(e.node.link?1:-1),E(2),Ai(_e(4,3,e.fileName)),E(2),z("node",e.node)}}var jY=(()=>{class i{constructor(e){this.isAttributeSideBarVisibleService=e}closeSideBar(){this.isAttributeSideBarVisibleService.isOpen=!1}static{this.\u0275fac=function(n){return new(n||i)(se(Hh))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-attribute-side-bar-header-section"]],inputs:{node:"node",fileName:"fileName"},decls:1,vars:1,consts:[[1,"close-icon","fa","fa-times",3,"click"],["data-testid","file-link",1,"node-name",3,"matTooltip","matTooltipShowDelay"],[1,"node-origin"],[3,"node"],["target","_blank","rel","noopener noreferrer",1,"node-link",3,"href"],[1,"fa","fa-external-link"]],template:function(n,r){n&1&&ke(0,VBe,6,5),n&2&&Pe(r.node?0:-1)},dependencies:[ym,WY,hg],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .close-icon[_ngcontent-%COMP%], [_nghost-%COMP%] .node-link[_ngcontent-%COMP%]{color:gray;padding:0;cursor:pointer;outline:none;transition:.2s}[_nghost-%COMP%] .close-icon[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .node-link[_ngcontent-%COMP%]:hover{color:#444}[_nghost-%COMP%] .close-icon[_ngcontent-%COMP%]{align-self:flex-end;font-size:20px}[_nghost-%COMP%] .node-name[_ngcontent-%COMP%]{width:90%;cursor:pointer}[_nghost-%COMP%] .node-name[_ngcontent-%COMP%] .node-link[_ngcontent-%COMP%]{font-size:11pt}[_nghost-%COMP%] .node-name[_ngcontent-%COMP%] .node-link[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#000;display:inline}[_nghost-%COMP%] .node-origin[_ngcontent-%COMP%], [_nghost-%COMP%] .cc-node-path[_ngcontent-%COMP%]{color:gray;margin:5px 0}[_nghost-%COMP%] .node-origin[_ngcontent-%COMP%] .file-path[_ngcontent-%COMP%], [_nghost-%COMP%] .cc-node-path[_ngcontent-%COMP%] .file-path[_ngcontent-%COMP%]{word-wrap:break-word}[_nghost-%COMP%] .node-origin[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%], [_nghost-%COMP%] .cc-node-path[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%]{background:#f0f0f0;border-radius:3px;padding:1px 3px;color:#000}[_nghost-%COMP%] .node-origin[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .added-files[_ngcontent-%COMP%], [_nghost-%COMP%] .cc-node-path[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .added-files[_ngcontent-%COMP%]{color:#64d051}[_nghost-%COMP%] .node-origin[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .removed-files[_ngcontent-%COMP%], [_nghost-%COMP%] .cc-node-path[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .removed-files[_ngcontent-%COMP%]{color:#ff0e0e}[_nghost-%COMP%] .node-origin[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .changed-files[_ngcontent-%COMP%], [_nghost-%COMP%] .cc-node-path[_ngcontent-%COMP%] .cc-node-file-count[_ngcontent-%COMP%] .changed-files[_ngcontent-%COMP%]{color:#0e2eff}"]})}}return i})();var QBe=i=>i&&!Yi(i),Ng=Re(eo,QBe);var $Y=Re(eo,Bh,(i,t)=>{if(i)return{area:{name:t.areaMetric,value:i.attributes[t.areaMetric]},height:{name:t.heightMetric,value:i.attributes[t.heightMetric]},color:{name:t.colorMetric,value:i.attributes[t.colorMetric]},edge:zBe(t.edgeMetric,i)}});function zBe(i,t){return i==null?null:{name:i,incoming:t.edgeAttributes[i]?t.edgeAttributes[i].incoming??0:0,outgoing:t.edgeAttributes[i]?t.edgeAttributes[i].outgoing??0:0}}var Ug=(()=>{class i{constructor(e){this.store=e,this.attributeTypes$=this.store.select(EA)}setToAbsolute(){this.setAttributeType(al.absolute)}setToRelative(){this.setAttributeType(al.relative)}setAttributeType(e){this.store.dispatch(ZA({category:this.metricType,name:this.metricName,attributeType:e}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-attribute-type-selector"]],inputs:{metricName:"metricName",metricType:"metricType"},decls:6,vars:3,consts:[[3,"value"],["title","Select Sum","value","absolute",3,"click"],["title","Select Median","value","relative",3,"click"]],template:function(n,r){n&1&&(S(0,"mat-button-toggle-group",0),fe(1,"async"),S(2,"mat-button-toggle",1),he("click",function(){return r.setToAbsolute()}),j(3,"\u03A3"),F(),S(4,"mat-button-toggle",2),he("click",function(){return r.setToRelative()}),j(5,"x\u0342"),F()()),n&2&&z("value",_e(1,1,r.attributeTypes$)[r.metricType][r.metricName]??"absolute")},dependencies:[jb,xm,dt],encapsulation:2})}}return i})();function qBe(i,t){if(i&1&&(Ut(0,"span"),fe(1,"async"),j(2),fe(3,"number"),qt()),i&2){let e=t,n=me();pi("color",_e(1,3,n.mapColors$)[e>0?"positiveDelta":"negativeDelta"]),E(2),ct(" \u0394",dn(3,5,e,"1.1-2")," ")}}var I2=(()=>{class i{constructor(e){this.store=e}ngOnInit(){this.selectedNode$=this.store.select(eo),this.mapColors$=this.store.select(Ns)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-metric-delta-selected"]],inputs:{metricName:"metricName"},decls:2,vars:3,consts:[[3,"color"]],template:function(n,r){if(n&1&&(ke(0,qBe,4,8,"span",0),fe(1,"async")),n&2){let o;Pe((o=(o=_e(1,1,r.selectedNode$))==null||o.deltas==null?null:o.deltas[r.metricName])?0:-1,o)}},dependencies:[dt,id],styles:["[_nghost-%COMP%]:has(span){margin-top:5px}"]})}}return i})();function GBe(i,t){if(i&1&&J(0,"cc-attribute-type-selector",2),i&2){let e=me();z("metricName",e.metric.name)("metricType","nodes")}}function WBe(i,t){if(i&1&&(S(0,"a",5),j(1),J(2,"i",7),F()),i&2){let e=me();z("href",t,Nl),E(),ct(" ",e.metric.name," ")}}function jBe(i,t){if(i&1&&(S(0,"span",6),j(1),F()),i&2){let e=me();E(),Ai(e.metric.name)}}var XY=(()=>{class i{constructor(e){this.showAttributeTypeSelector$=e.select(Ng)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-attribute-side-bar-primary-metric"]],inputs:{iconName:"iconName",metric:"metric",metricLink:"metricLink"},decls:11,vars:11,consts:[[1,"primary-metric-box"],[1,"primary-metric-row"],[1,"attribute-type-select",3,"metricName","metricType"],[1,"primary-metric-value"],[3,"metricName"],["target","_blank",1,"metric-name",3,"href"],[1,"metric-name"],[1,"fa","fa-external-link"]],template:function(n,r){if(n&1&&(S(0,"div",0)(1,"div",1),J(2,"i"),ke(3,GBe,1,2,"cc-attribute-type-selector",2),fe(4,"async"),S(5,"span",3),j(6),fe(7,"number"),F()(),J(8,"cc-metric-delta-selected",4),ke(9,WBe,3,2,"a",5)(10,jBe,2,1,"span",6),F()),n&2){let o;E(2),Xi(r.iconName),E(),Pe(_e(4,6,r.showAttributeTypeSelector$)?3:-1),E(3),Ai(dn(7,8,r.metric.value,"1.0-0")),E(2),z("metricName",r.metric.name),E(),Pe((o=r.metricLink)?9:10,o)}},dependencies:[Ug,I2,dt,id],styles:[".primary-metric-box[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;width:100%}.primary-metric-row[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.metric-name[_ngcontent-%COMP%]{margin-top:5px;color:gray;word-break:break-word;vertical-align:middle}.primary-metric-value[_ngcontent-%COMP%]{margin-right:-5px}i.fa[_ngcontent-%COMP%]{font-size:12pt;min-width:17px;text-align:center}"]})}}return i})();function $Be(i,t){if(i&1&&J(0,"cc-attribute-type-selector",8),i&2){let e=me();z("metricName",e.name)("metricType","edges")}}function XBe(i,t){if(i&1&&(S(0,"a",10),j(1),J(2,"i",12),F()),i&2){let e=me();z("href",t,Nl),E(),ct(" ",e.name," (in/out) ")}}function KBe(i,t){if(i&1&&(S(0,"span",11),j(1),F()),i&2){let e=me();E(),ct("",e.name," (in/out)")}}function YBe(i,t){if(i&1&&(S(0,"td",3),fe(1,"attributeDescriptorTooltip"),S(2,"div",5)(3,"div",6),J(4,"i",7),ke(5,$Be,1,2,"cc-attribute-type-selector",8),fe(6,"async"),S(7,"span",9),j(8),fe(9,"number"),S(10,"span"),j(11,"/"),F(),j(12),fe(13,"number"),F()(),ke(14,XBe,3,2,"a",10)(15,KBe,2,1,"span",11),F()()),i&2){let e,n=t,r=me(2),o=me();z("title",dn(1,5,r[n.name],n.name)),E(5),Pe(_e(6,8,o.showAttributeTypeSelector$)?5:-1),E(3),ct(" ",dn(9,10,n.incoming,"1.0-0")," "),E(4),ct(" ",dn(13,13,n.outgoing,"1.0-0")," "),E(2),Pe((e=r[n.name]==null?null:r[n.name].link)?14:15,e)}}function ZBe(i,t){i&1&&(S(0,"td")(1,"span",11),j(2,"No edge metric available"),F()())}function JBe(i,t){if(i&1&&(S(0,"table",1)(1,"th",2),j(2,"Primary Metrics"),F(),S(3,"tr")(4,"td",3),fe(5,"attributeDescriptorTooltip"),J(6,"cc-attribute-side-bar-primary-metric",4),F(),S(7,"td",3),fe(8,"attributeDescriptorTooltip"),J(9,"cc-attribute-side-bar-primary-metric",4),F()(),S(10,"tr")(11,"td",3),fe(12,"attributeDescriptorTooltip"),J(13,"cc-attribute-side-bar-primary-metric",4),F(),ke(14,YBe,16,16,"td",3)(15,ZBe,3,0,"td"),F()()),i&2){let e,n=t,r=me();E(4),z("title",dn(5,13,r[n.area.name],n.area.name)),E(2),z("iconName","fa fa-arrows-alt")("metric",n.area)("metricLink",r[n.area.name]==null?null:r[n.area.name].link),E(),z("title",dn(8,16,r[n.height.name],n.height.name)),E(2),z("iconName","fa fa-arrows-v")("metric",n.height)("metricLink",r[n.height.name]==null?null:r[n.height.name].link),E(2),z("title",dn(12,19,r[n.color.name],n.color.name)),E(2),z("iconName","fa fa-paint-brush")("metric",n.color)("metricLink",r[n.color.name]==null?null:r[n.color.name].link),E(),Pe((e=n.edge)?14:15,e)}}function eFe(i,t){if(i&1&&(S(0,"div",0),ke(1,JBe,16,22,"table",1),fe(2,"async"),F()),i&2){let e,n=me();E(),Pe((e=_e(2,1,n.primaryMetrics$))?1:-1,e)}}var KY=(()=>{class i{constructor(e){this.store=e,this.primaryMetrics$=this.store.select($Y),this.showAttributeTypeSelector$=this.store.select(Ng),this.attributeDescriptors$=this.store.select(Th)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-attribute-side-bar-primary-metrics"]],decls:2,vars:3,consts:[[1,"metric-box"],["aria-hidden","true",1,"primary-metrics"],["scope","col"],[3,"title"],[3,"iconName","metric","metricLink"],[1,"primary-metric-box"],[1,"primary-metric-row"],[1,"fa","fa-exchange"],[1,"attribute-type-select",3,"metricName","metricType"],[1,"text-content"],["target","_blank",1,"metric-name",3,"href"],[1,"metric-name"],[1,"fa","fa-external-link"]],template:function(n,r){if(n&1&&(ke(0,eFe,3,3,"div",0),fe(1,"async")),n&2){let o;Pe((o=_e(1,1,r.attributeDescriptors$))?0:-1,o)}},dependencies:[XY,Ug,dt,id,kh],styles:["[_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] i.fa.fa-external-link[_ngcontent-%COMP%], [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] i.fa.fa-external-link[_ngcontent-%COMP%]{font-size:10px;min-width:10px;text-align:center}[_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{text-decoration:none}[_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#00f;text-decoration:solid;text-decoration-line:underline}[_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active, [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active{color:red}.metric-box[_ngcontent-%COMP%]{border-radius:5px;background-color:#f0f0f0;padding:5px}.metric-box.scrollable-content[_ngcontent-%COMP%]{max-height:100%;overflow:auto}.metric-box[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{text-align:left}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%]{table-layout:fixed;width:100%;border-collapse:collapse}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:not(:last-child) td[_ngcontent-%COMP%]{border-bottom:3px solid white}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{border-right:3px solid white}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] .primary-metric-box[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;width:100%}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] .primary-metric-row[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] i.fa[_ngcontent-%COMP%]{font-size:12pt;min-width:17px;text-align:center}.metric-box[_ngcontent-%COMP%] table.secondary-metrics[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-left:5px}.metric-box[_ngcontent-%COMP%] table.secondary-metrics[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{padding-left:4px}.metric-box[_ngcontent-%COMP%] table.secondary-metrics[_ngcontent-%COMP%] .secondary-metric-box[_ngcontent-%COMP%]{border-radius:3px;padding:4px;vertical-align:middle;background:#d5d5d5}.metric-box[_ngcontent-%COMP%] table.secondary-metrics[_ngcontent-%COMP%] .secondary-metric-row[_ngcontent-%COMP%]{flex-wrap:nowrap}.metric-box[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .metric-name[_ngcontent-%COMP%]{color:gray;word-break:break-word;vertical-align:middle;margin-top:5px}.metric-box[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .delta-value-box[_ngcontent-%COMP%]{vertical-align:middle}.secondary-metric-row[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:5px}"]})}}return i})();var tFe=i=>!!i?.deltas,YY=Re(eo,tFe);var iFe=(i,t)=>{if(!t)return[];let e=Object.values(i);return Object.keys(t.attributes).filter(r=>r!=="unary"&&!e.includes(r)).sort((r,o)=>r.localeCompare(o)).map(r=>({name:r,value:t.attributes[r]}))},ZY=Re(Bh,eo,iFe);var nFe=(i,t)=>t.name;function rFe(i,t){if(i&1&&J(0,"cc-attribute-type-selector",8),i&2){let e=me().$implicit;z("metricName",e.name)("metricType","nodes")}}function oFe(i,t){if(i&1&&(S(0,"a",12),j(1),J(2,"i",14),F()),i&2){let e=me().$implicit;z("href",t,Nl),E(),ct(" ",e.name," ")}}function aFe(i,t){if(i&1&&(S(0,"span",13),j(1),F()),i&2){let e=me().$implicit;E(),Ai(e.name)}}function sFe(i,t){if(i&1&&(S(0,"tr",5),fe(1,"attributeDescriptorTooltip"),S(2,"td",6)(3,"div",7),ke(4,rFe,1,2,"cc-attribute-type-selector",8),fe(5,"async"),S(6,"span",9),j(7),fe(8,"number"),F()()(),S(9,"td",10),fe(10,"async"),J(11,"cc-metric-delta-selected",11),F(),S(12,"td"),ke(13,oFe,3,2,"a",12)(14,aFe,2,1,"span",13),F()()),i&2){let e,n=t.$implicit,r=me(),o=me();z("title",dn(1,6,r[n.name],n.name)),E(4),Pe(_e(5,9,o.showAttributeTypeSelector$)?4:-1),E(3),Ai(dn(8,11,n.value,"1.0-0")),E(2),z("hidden",!_e(10,14,o.showDeltaValue$)),E(2),z("metricName",n.name),E(2),Pe((e=r[n.name]==null?null:r[n.name].link)?13:14,e)}}function lFe(i,t){if(i&1&&(S(0,"div",2)(1,"table",3)(2,"tr")(3,"th",4),j(4,"Secondary Metrics"),F()(),xi(5,sFe,15,16,"tr",5,nFe),fe(7,"async"),F()()),i&2){let e=me();E(5),wi(_e(7,0,e.secondaryMetrics$))}}var JY=(()=>{class i{constructor(e){this.store=e,this.secondaryMetrics$=this.store.select(ZY),this.showAttributeTypeSelector$=this.store.select(Ng),this.showDeltaValue$=this.store.select(YY),this.attributeDescriptors$=this.store.select(Th)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-attribute-side-bar-secondary-metrics"]],decls:4,vars:3,consts:[[1,"secondary-metrics-wrapper"],[1,"metrics-wrapper"],[1,"metric-box","scrollable-content"],["aria-hidden","true",1,"secondary-metrics"],["scope","col","colspan","2"],[3,"title"],[1,"secondary-metric-box"],[1,"secondary-metric-row"],[1,"attribute-type-select",3,"metricName","metricType"],[1,"metric-value"],[1,"delta-value-box",3,"hidden"],[3,"metricName"],["target","_blank",1,"metric-name",3,"href"],[1,"metric-name"],[1,"fa","fa-external-link"]],template:function(n,r){if(n&1&&(S(0,"div",0)(1,"div",1),ke(2,lFe,8,2,"div",2),fe(3,"async"),F()()),n&2){let o;E(2),Pe((o=_e(3,1,r.attributeDescriptors$))?2:-1,o)}},dependencies:[Ug,I2,dt,id,kh],styles:["[_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] i.fa.fa-external-link[_ngcontent-%COMP%], [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] i.fa.fa-external-link[_ngcontent-%COMP%]{font-size:10px;min-width:10px;text-align:center}[_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited, [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:link, [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{text-decoration:none}[_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#00f;text-decoration:solid;text-decoration-line:underline}[_nghost-%COMP%] .metric-box[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active, [_nghost-%COMP%] .metrics-wrapper[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active{color:red}.metric-box[_ngcontent-%COMP%]{border-radius:5px;background-color:#f0f0f0;padding:5px}.metric-box.scrollable-content[_ngcontent-%COMP%]{max-height:100%;overflow:auto}.metric-box[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{text-align:left}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%]{table-layout:fixed;width:100%;border-collapse:collapse}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:not(:last-child) td[_ngcontent-%COMP%]{border-bottom:3px solid white}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{border-right:3px solid white}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] .primary-metric-box[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;width:100%}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] .primary-metric-row[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.metric-box[_ngcontent-%COMP%] table.primary-metrics[_ngcontent-%COMP%] i.fa[_ngcontent-%COMP%]{font-size:12pt;min-width:17px;text-align:center}.metric-box[_ngcontent-%COMP%] table.secondary-metrics[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-left:5px}.metric-box[_ngcontent-%COMP%] table.secondary-metrics[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{padding-left:4px}.metric-box[_ngcontent-%COMP%] table.secondary-metrics[_ngcontent-%COMP%] .secondary-metric-box[_ngcontent-%COMP%]{border-radius:3px;padding:4px;vertical-align:middle;background:#d5d5d5}.metric-box[_ngcontent-%COMP%] table.secondary-metrics[_ngcontent-%COMP%] .secondary-metric-row[_ngcontent-%COMP%]{flex-wrap:nowrap}.metric-box[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .metric-name[_ngcontent-%COMP%]{color:gray;word-break:break-word;vertical-align:middle;margin-top:5px}.metric-box[_ngcontent-%COMP%] table[_ngcontent-%COMP%] .delta-value-box[_ngcontent-%COMP%]{vertical-align:middle}.secondary-metric-row[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:5px}",'.secondary-metrics-wrapper[_ngcontent-%COMP%]{position:relative}.secondary-metrics-wrapper[_ngcontent-%COMP%]:after{content:"";clear:both;display:block}.secondary-metrics-wrapper[_ngcontent-%COMP%] .metrics-wrapper[_ngcontent-%COMP%]{position:absolute;width:100%;height:100%;padding-top:12px}']})}}return i})();var eZ=(()=>{class i{constructor(e,n){this.isAttributeSideBarVisibleService=e,this.store=n,this.selectedNode$=this.store.select(eo),this.fileName$=this.store.select(br).pipe(Et(r=>r.unifiedFileMeta?.fileName??""))}static{this.\u0275fac=function(n){return new(n||i)(se(Hh),se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-attribute-side-bar"]],decls:6,vars:8,consts:[[1,"side-bar-container","cc-shadow"],[3,"node","fileName"]],template:function(n,r){n&1&&(S(0,"div",0),J(1,"cc-attribute-side-bar-header-section",1),fe(2,"async"),fe(3,"async"),J(4,"cc-attribute-side-bar-primary-metrics")(5,"cc-attribute-side-bar-secondary-metrics"),F()),n&2&&(yt("expanded",r.isAttributeSideBarVisibleService.isOpen),E(),z("node",_e(2,4,r.selectedNode$))("fileName",_e(3,6,r.fileName$)))},dependencies:[jY,KY,JY,dt],styles:['[_nghost-%COMP%] .side-bar-container[_ngcontent-%COMP%]{transition:right .3s ease;width:350px;height:calc(100% - 98px);padding:8px;font-size:11pt;position:absolute;right:-355px;background:#fff}[_nghost-%COMP%] .side-bar-container.expanded[_ngcontent-%COMP%]{display:block;right:0}[_nghost-%COMP%] .side-bar-container.cc-shadow[_ngcontent-%COMP%]{box-shadow:0 1px 5px #0003!important}[_nghost-%COMP%] .side-bar-container[_ngcontent-%COMP%]:before{content:"";height:100%;float:left}']})}}return i})();var tZ=(()=>{class i{constructor(e,n,r,o,a){this.isAttributeSideBarVisibleService=e,this.store=n,this.threeViewerService=r,this.codeMapMouseEventService=o,this.elementReference=a,this.isLoadingFile$=this.store.select(Mg),this.restartOnSharpnessModeChangesSubscription=this.store.select(YM).pipe(ys(1),Oi(()=>{this.threeViewerService.restart(this.elementReference.nativeElement.querySelector("#codeMap")),this.codeMapMouseEventService.start()})).subscribe()}ngAfterViewInit(){this.threeViewerService.init(this.elementReference.nativeElement.querySelector("#codeMap")),this.codeMapMouseEventService.start()}ngOnDestroy(){this.restartOnSharpnessModeChangesSubscription.unsubscribe()}static{this.\u0275fac=function(n){return new(n||i)(se(Hh),se(Ie),se(bS),se(Hd),se(Ft))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-code-map"]],decls:4,vars:6,consts:[["id","codeMap"]],template:function(n,r){n&1&&(S(0,"div",0),fe(1,"async"),J(2,"cc-view-cube")(3,"cc-attribute-side-bar"),F()),n&2&&(yt("hidden",_e(1,4,r.isLoadingFile$)),E(2),yt("sideBarVisible",r.isAttributeSideBarVisibleService.isOpen))},dependencies:[qY,eZ,dt],styles:["[_nghost-%COMP%] .hidden[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] #codeMap[_ngcontent-%COMP%]{position:fixed;z-index:0;top:98px;left:0;width:100%;height:100%}"]})}}return i})();function cFe(i,t){if(i&1&&(Ut(0,"a",2)(1,"span",3),j(2),qt(),j(3),Ti(4,"i",4),qt()),i&2){let e=me(),n=me(2);sn("href",t,Nl),E(2),Ai(e),E(),ct(" (",n.metricName,") ")}}function dFe(i,t){if(i&1&&(Ut(0,"span",3),j(1),qt(),j(2)),i&2){let e=me(),n=me(2);E(),Ai(e),E(),ct(" (",n.metricName,") ")}}function uFe(i,t){if(i&1&&(CO(0,0),Ut(1,"div",1),fe(2,"attributeDescriptorTooltip"),j(3),ke(4,cFe,5,3,"a",2)(5,dFe,3,2),qt(),MO()),i&2){let e,n=me(),r=me();E(),sn("title",dn(2,3,n[r.metricName],r.metricName)),E(2),ct(" ",r.metricSpecification," metric: "),E(),Pe((e=n[r.metricName].link)?4:5,e)}}function hFe(i,t){if(i&1&&(Ut(0,"span",3),j(1),qt(),j(2)),i&2){let e=me(3);E(),Ai(t),E(),ct(" (",e.metricName,") ")}}function fFe(i,t){if(i&1&&(Ut(0,"span",3),j(1),qt()),i&2){let e=me(3);E(),ct(" ",e.metricName," ")}}function mFe(i,t){if(i&1&&(Ut(0,"div"),j(1),ke(2,hFe,3,2)(3,fFe,2,1,"span",3),qt()),i&2){let e,n=me(2);E(),ct(" ",n.metricSpecification," metric: "),E(),Pe((e=n.fallbackTitles.get(n.metricName))?2:3,e)}}function pFe(i,t){if(i&1&&ke(0,uFe,6,6,"ng-container",0)(1,mFe,4,2,"div"),i&2){let e,n=t,r=me();Pe((e=n[r.metricName]==null?null:n[r.metricName].title)?0:1,e)}}var iZ=(()=>{class i{constructor(e){this.store=e,this.attributeDescriptors$=this.store.select(Th),this.fallbackTitles=Cl}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-legend-block"]],inputs:{metricName:"metricName",metricSpecification:"metricSpecification"},decls:2,vars:3,consts:[[1,"legend-block"],[3,"title"],["target","_blank",3,"href"],[1,"bold"],[1,"fa","fa-external-link"]],template:function(n,r){if(n&1&&(ke(0,pFe,2,1),fe(1,"async")),n&2){let o;Pe((o=_e(1,1,r.attributeDescriptors$))?0:-1,o)}},dependencies:[dt,kh],styles:["[_nghost-%COMP%] a[_ngcontent-%COMP%]:link, [_nghost-%COMP%] a[_ngcontent-%COMP%]:visited{text-decoration:none;color:#000}[_nghost-%COMP%] a[_ngcontent-%COMP%]:hover{color:#00f;text-decoration:solid;text-decoration-line:underline}[_nghost-%COMP%] a[_ngcontent-%COMP%]:active{color:red}[_nghost-%COMP%] i.fa.fa-external-link[_ngcontent-%COMP%]{font-size:10px;min-width:10px;text-align:center}[_nghost-%COMP%] span[_ngcontent-%COMP%]{display:inline-block}[_nghost-%COMP%] span.bold[_ngcontent-%COMP%]{font-weight:600}"]})}}return i})();var D2=Re(fc,i=>i.markedPackages);var nZ=Re(D2,i=>i.reduce((t,{color:e,path:n})=>(Object.prototype.hasOwnProperty.call(t,e)||(t[e]=[]),t[e].push(n),t),{}));function AFe(i,t){if(i&1){let e=st();S(0,"cc-labelled-color-picker",1),he("colorChange",function(r){let o=Ve(e).$implicit,a=me(2);return Qe(a.handleColorChange(r,o.value))}),F()}if(i&2){let e=t.$implicit;z("hexColor",e.key)("labels",e.value)}}function gFe(i,t){if(i&1&&(J(0,"hr"),xi(1,AFe,1,2,"cc-labelled-color-picker",0,xO().trackMarkedPackage,!0),fe(3,"async"),fe(4,"keyvalue")),i&2){let e=me();E(),wi(dn(4,2,_e(3,0,e.markedPackagesMap$),e.sortMarkedPackagesMap))}}var rZ=(()=>{class i{constructor(e){this.store=e,this.markedPackagesMap$=e.select(nZ),this.hasMarkedPackages$=this.markedPackagesMap$.pipe(Et(n=>Object.keys(n).length>0))}handleColorChange(e,n){this.store.dispatch(xc({packages:n.map(r=>({color:e,path:r}))}))}trackMarkedPackage(e,{value:n}){return n.join(",")}sortMarkedPackagesMap(e,n){return e.value[0].localeCompare(n.value[0])}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-legend-marked-packages"]],decls:2,vars:3,consts:[[3,"hexColor","labels"],[3,"colorChange","hexColor","labels"]],template:function(n,r){n&1&&(ke(0,gFe,5,5),fe(1,"async")),n&2&&Pe(_e(1,1,r.hasMarkedPackages$)?0:-1)},dependencies:[$A,dt,ff],styles:["[_nghost-%COMP%] cc-labelled-color-picker[_ngcontent-%COMP%]{display:block}"]})}}return i})();function _Fe(i,t){i&1&&J(0,"cc-legend-block",5),i&2&&z("metricName",t)}function bFe(i,t){if(i&1&&(S(0,"div"),J(1,"cc-legend-block",3),fe(2,"async"),J(3,"cc-legend-block",4),fe(4,"async"),ke(5,_Fe,1,1,"cc-legend-block",5),fe(6,"async"),J(7,"hr")(8,"cc-legend-block",6),fe(9,"async"),J(10,"cc-color-picker-for-map-color",1)(11,"cc-color-picker-for-map-color",1)(12,"cc-color-picker-for-map-color",1),F()),i&2){let e,n=me();E(),z("metricName",_e(2,7,n.areaMetric$)),E(2),z("metricName",_e(4,9,n.heightMetric$)),E(2),Pe((e=_e(6,11,n.edgeMetric$))?5:-1,e),E(3),z("metricName",_e(9,13,n.colorMetric$)),E(2),z("mapColorFor","positive"),E(),z("mapColorFor","neutral"),E(),z("mapColorFor","negative")}}function vFe(i,t){i&1&&(S(0,"div"),J(1,"cc-color-picker-for-map-color",1)(2,"cc-color-picker-for-map-color",1),F()),i&2&&(E(),z("mapColorFor","positiveDelta"),E(),z("mapColorFor","negativeDelta"))}function yFe(i,t){i&1&&J(0,"hr")(1,"cc-color-picker-for-map-color",1)(2,"cc-color-picker-for-map-color",1),i&2&&(E(),z("mapColorFor","outgoingEdge"),E(),z("mapColorFor","incomingEdge"))}var oZ=(()=>{class i{constructor(e,n,r){this.store=e,this.isAttributeSideBarVisibleService=n,this.viewReference=r,this.isLegendVisible=!1,this.isDeltaState$=this.store.select(So),this.heightMetric$=this.store.select(Pc),this.areaMetric$=this.store.select(Or),this.colorMetric$=this.store.select(oa),this.edgeMetric$=this.store.select(Wo)}ngOnInit(){this.mouseDownListener=e=>this.collapseOnOutsideClick(e),document.addEventListener("mousedown",this.mouseDownListener)}ngOnDestroy(){this.mouseDownListener&&document.removeEventListener("mousedown",this.mouseDownListener)}toggleIsLegendVisible(){this.isLegendVisible=!this.isLegendVisible}collapseOnOutsideClick(e){let n=e.target;if(this.isLegendVisible){let r=this.viewReference.element.nativeElement.contains(n),o=document.querySelector(".cdk-overlay-container"),a=o?o.contains(n):!1;!r&&!a&&(this.isLegendVisible=!1)}}static{this.\u0275fac=function(n){return new(n||i)(se(Ie),se(Hh),se(Hr))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-legend-panel"]],decls:11,vars:15,consts:[["id","legend-panel",1,"block-wrapper"],[3,"mapColorFor"],["mat-button","","id","legend-panel-button",1,"panel-button",3,"click","title"],["metricSpecification","Area",3,"metricName"],["metricSpecification","Height",3,"metricName"],["metricSpecification","Edge",3,"metricName"],["metricSpecification","Color",3,"metricName"]],template:function(n,r){n&1&&(S(0,"div",0),ke(1,bFe,13,15,"div"),fe(2,"async"),Kc(3,vFe,3,2,"div"),J(4,"hr")(5,"cc-color-picker-for-map-color",1),ke(6,yFe,3,2),fe(7,"async"),J(8,"cc-legend-marked-packages"),F(),S(9,"button",2),he("click",function(){return r.toggleIsLegendVisible()}),j(10,` LEGEND
5210
- `),F()),n&2&&(yt("visible",r.isLegendVisible)("isAttributeSideBarVisible",r.isAttributeSideBarVisibleService.isOpen),E(),Pe(_e(2,11,r.isDeltaState$)?3:1),E(4),z("mapColorFor","selected"),E(),Pe(_e(7,13,r.edgeMetric$)?6:-1),E(3),yt("isAttributeSideBarVisible",r.isAttributeSideBarVisibleService.isOpen),z("title",mr(r.isLegendVisible?"Hide panel":"Show panel")))},dependencies:[iZ,Og,rZ,Wi,dt],styles:["[_nghost-%COMP%] .rotated-button[_ngcontent-%COMP%], [_nghost-%COMP%] .panel-button[_ngcontent-%COMP%]{position:fixed;transform:rotate(90deg);border-radius:0 0 5px 5px;height:36px;right:-35px;color:#fff;-webkit-user-select:none;user-select:none;background-color:#1b9cfc}[_nghost-%COMP%] .rotated-button[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .panel-button[_ngcontent-%COMP%]:hover{background-color:#0374c9}[_nghost-%COMP%] .rotated-button.isAttributeSideBarVisible[_ngcontent-%COMP%], [_nghost-%COMP%] .isAttributeSideBarVisible.panel-button[_ngcontent-%COMP%]{right:316px}[_nghost-%COMP%] .panel-button[_ngcontent-%COMP%]{margin:6px 8px;bottom:55px;width:88px;font-size:10pt;transition:right .3s ease}[_nghost-%COMP%] .block-wrapper[_ngcontent-%COMP%]{background-color:#fff;border:1px solid #cdcdcd;position:fixed;bottom:35px;padding:10px;right:40px;visibility:hidden;border-radius:5px;min-width:200px;max-width:30%;transition:right .3s ease}[_nghost-%COMP%] .block-wrapper.isAttributeSideBarVisible[_ngcontent-%COMP%]{right:390px}[_nghost-%COMP%] .block-wrapper.visible[_ngcontent-%COMP%]{visibility:visible}[_nghost-%COMP%] .block-wrapper[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{border-right-style:none;border-left-style:none;border-bottom-style:none;color:#000}"]})}}return i})();var aZ=(()=>{class i{constructor(e){this.isLoadingFile$=e.select(Mg)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-loading-file-progress-spinner"]],decls:3,vars:4,consts:[["id","loading-gif-file"],["mode","indeterminate","diameter","96"]],template:function(n,r){n&1&&(S(0,"div",0),fe(1,"async"),J(2,"mat-progress-spinner",1),F()),n&2&&pi("visibility",_e(1,2,r.isLoadingFile$)?"visible":"hidden")},dependencies:[$M,dt],styles:["#loading-gif-file[_ngcontent-%COMP%]{position:fixed;left:0;top:0;width:100%;height:100%;z-index:40;background-color:#fffc;display:inline-block;text-align:center}#loading-gif-file[_ngcontent-%COMP%] mat-progress-spinner.mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block;margin:22% auto 0}"]})}}return i})();var sZ=(()=>{class i{constructor(){this.version=Zl.version}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-logo"]],decls:9,vars:1,consts:[[1,"logo"],["href","https://github.com/MaibornWolff/codecharta","target","_blank","rel","noopener noreferrer"],["src","/codeCharta/assets/codecharta_logo.svg","alt","CodeCharta","rel","noopener noreferrer"],["id","logo-version"],["target","_blank","href","https://www.maibornwolff.de/en/"]],template:function(n,r){n&1&&(Ut(0,"div",0)(1,"a",1),Ti(2,"img",2),qt(),Ut(3,"p",3),j(4),qt(),Ut(5,"p"),j(6,"Made with \u2764 by "),Ut(7,"a",4),j(8,"MaibornWolff"),qt()()()),n&2&&(E(4),ct("Version ",r.version))},styles:[".logo[_ngcontent-%COMP%]{position:absolute;left:2em;bottom:1em;z-index:1;flex-direction:column;display:flex;align-items:flex-start}.logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{object-fit:contain;width:5em;height:auto}.logo[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#5a585a;font-weight:700;font-size:10px;text-align:center;margin:0;z-index:-1}"]})}}return i})();function xFe(i,t){i&1&&(S(0,"div"),J(1,"cc-tool-bar")(2,"cc-ribbon-bar")(3,"cc-file-extension-bar")(4,"cc-code-map")(5,"cc-legend-panel")(6,"cc-loading-file-progress-spinner")(7,"cc-logo"),F())}var lZ=(()=>{class i{constructor(e,n){this.store=e,this.loadInitialFileService=n,this.isInitialized=Gi(!1)}ngOnInit(){this.store.dispatch(Ya({value:!0})),this.loadInitialFileService.loadFilesOrSampleFiles().then(()=>{this.isInitialized.set(!0)})}static{this.\u0275fac=function(n){return new(n||i)(se(Ie),se(XA))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-code-charta"]],decls:1,vars:1,template:function(n,r){n&1&&ke(0,xFe,8,0,"div"),n&2&&Pe(r.isInitialized()?0:-1)},dependencies:[GW,aj,VY,tZ,oZ,aZ,sZ],encapsulation:2})}}return i})();var cZ=(()=>{class i{constructor(e){this.store=e,this.unfocusNodes$=Pi(()=>this.store.select(ir).pipe(Et(()=>wc())))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var dZ=`# Change Log - Visualization
5210
+ `),F()),n&2&&(yt("visible",r.isLegendVisible)("isAttributeSideBarVisible",r.isAttributeSideBarVisibleService.isOpen),E(),Pe(_e(2,11,r.isDeltaState$)?3:1),E(4),z("mapColorFor","selected"),E(),Pe(_e(7,13,r.edgeMetric$)?6:-1),E(3),yt("isAttributeSideBarVisible",r.isAttributeSideBarVisibleService.isOpen),z("title",mr(r.isLegendVisible?"Hide panel":"Show panel")))},dependencies:[iZ,Og,rZ,Wi,dt],styles:["[_nghost-%COMP%] .rotated-button[_ngcontent-%COMP%], [_nghost-%COMP%] .panel-button[_ngcontent-%COMP%]{position:fixed;transform:rotate(90deg);border-radius:0 0 5px 5px;height:36px;right:-35px;color:#fff;-webkit-user-select:none;user-select:none;background-color:#1b9cfc}[_nghost-%COMP%] .rotated-button[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .panel-button[_ngcontent-%COMP%]:hover{background-color:#0374c9}[_nghost-%COMP%] .rotated-button.isAttributeSideBarVisible[_ngcontent-%COMP%], [_nghost-%COMP%] .isAttributeSideBarVisible.panel-button[_ngcontent-%COMP%]{right:316px}[_nghost-%COMP%] .panel-button[_ngcontent-%COMP%]{margin:6px 8px;bottom:55px;width:88px;font-size:10pt;transition:right .3s ease}[_nghost-%COMP%] .block-wrapper[_ngcontent-%COMP%]{background-color:#fff;border:1px solid #cdcdcd;position:fixed;bottom:35px;padding:10px;right:40px;visibility:hidden;border-radius:5px;min-width:200px;max-width:30%;transition:right .3s ease}[_nghost-%COMP%] .block-wrapper.isAttributeSideBarVisible[_ngcontent-%COMP%]{right:390px}[_nghost-%COMP%] .block-wrapper.visible[_ngcontent-%COMP%]{visibility:visible}[_nghost-%COMP%] .block-wrapper[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{border-right-style:none;border-left-style:none;border-bottom-style:none;color:#000}"]})}}return i})();var aZ=(()=>{class i{constructor(e){this.isLoadingFile$=e.select(Mg)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-loading-file-progress-spinner"]],decls:3,vars:4,consts:[["id","loading-gif-file"],["mode","indeterminate","diameter","96"]],template:function(n,r){n&1&&(S(0,"div",0),fe(1,"async"),J(2,"mat-progress-spinner",1),F()),n&2&&pi("visibility",_e(1,2,r.isLoadingFile$)?"visible":"hidden")},dependencies:[$M,dt],styles:["#loading-gif-file[_ngcontent-%COMP%]{position:fixed;left:0;top:0;width:100%;height:100%;z-index:40;background-color:#fffc;display:inline-block;text-align:center}#loading-gif-file[_ngcontent-%COMP%] mat-progress-spinner.mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block;margin:22% auto 0}"]})}}return i})();var sZ=(()=>{class i{constructor(){this.version=Zl.version}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-logo"]],decls:9,vars:1,consts:[[1,"logo"],["href","https://github.com/MaibornWolff/codecharta","target","_blank","rel","noopener noreferrer"],["src","codeCharta/assets/codecharta_logo.svg","alt","CodeCharta","rel","noopener noreferrer"],["id","logo-version"],["target","_blank","href","https://www.maibornwolff.de/en/"]],template:function(n,r){n&1&&(Ut(0,"div",0)(1,"a",1),Ti(2,"img",2),qt(),Ut(3,"p",3),j(4),qt(),Ut(5,"p"),j(6,"Made with \u2764 by "),Ut(7,"a",4),j(8,"MaibornWolff"),qt()()()),n&2&&(E(4),ct("Version ",r.version))},styles:[".logo[_ngcontent-%COMP%]{position:absolute;left:2em;bottom:1em;z-index:1;flex-direction:column;display:flex;align-items:flex-start}.logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{object-fit:contain;width:5em;height:auto}.logo[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#5a585a;font-weight:700;font-size:10px;text-align:center;margin:0;z-index:-1}"]})}}return i})();function xFe(i,t){i&1&&(S(0,"div"),J(1,"cc-tool-bar")(2,"cc-ribbon-bar")(3,"cc-file-extension-bar")(4,"cc-code-map")(5,"cc-legend-panel")(6,"cc-loading-file-progress-spinner")(7,"cc-logo"),F())}var lZ=(()=>{class i{constructor(e,n){this.store=e,this.loadInitialFileService=n,this.isInitialized=Gi(!1)}ngOnInit(){this.store.dispatch(Ya({value:!0})),this.loadInitialFileService.loadFilesOrSampleFiles().then(()=>{this.isInitialized.set(!0)})}static{this.\u0275fac=function(n){return new(n||i)(se(Ie),se(XA))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-code-charta"]],decls:1,vars:1,template:function(n,r){n&1&&ke(0,xFe,8,0,"div"),n&2&&Pe(r.isInitialized()?0:-1)},dependencies:[GW,aj,VY,tZ,oZ,aZ,sZ],encapsulation:2})}}return i})();var cZ=(()=>{class i{constructor(e){this.store=e,this.unfocusNodes$=Pi(()=>this.store.select(ir).pipe(Et(()=>wc())))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var dZ=`# Change Log - Visualization
5211
5211
 
5212
5212
  All notable changes to this project will be documented in this file.
5213
5213
 
@@ -8394,6 +8394,6 @@ ${t}</tr>
8394
8394
  `+(f.tokens?this.parseInline(f.tokens):f.text);n+=e?this.renderer.paragraph(u):u;continue}default:{let O='Token with "'+f.type+'" type was not found.';if(this.options.silent){console.error(O);return}else throw new Error(O)}}}return n}parseInline(t,e){e=e||this.renderer;let n="",r,o,a,s=t.length;for(r=0;r<s;r++){if(o=t[r],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[o.type]&&(a=this.options.extensions.renderers[o.type].call({parser:this},o),a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type))){n+=a||"";continue}switch(o.type){case"escape":{n+=e.text(o.text);break}case"html":{n+=e.html(o.text);break}case"link":{n+=e.link(o.href,o.title,this.parseInline(o.tokens,e));break}case"image":{n+=e.image(o.href,o.title,o.text);break}case"strong":{n+=e.strong(this.parseInline(o.tokens,e));break}case"em":{n+=e.em(this.parseInline(o.tokens,e));break}case"codespan":{n+=e.codespan(o.text);break}case"br":{n+=e.br();break}case"del":{n+=e.del(this.parseInline(o.tokens,e));break}case"text":{n+=e.text(o.text);break}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent){console.error(l);return}else throw new Error(l)}}}return n}},Hg=class{constructor(t){this.options=t||Vh}static passThroughHooks=new Set(["preprocess","postprocess"]);preprocess(t){return t}postprocess(t){return t}},tR=class{defaults=iR();options=this.setOptions;parse=this.#e(jd.lex,$d.parse);parseInline=this.#e(jd.lexInline,$d.parseInline);Parser=$d;parser=$d.parse;Renderer=Qg;TextRenderer=gv;Lexer=jd;lexer=jd.lex;Tokenizer=Vg;Slugger=_v;Hooks=Hg;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let r of t)switch(n=n.concat(e.call(this,r)),r.type){case"table":{for(let o of r.header)n=n.concat(this.walkTokens(o.tokens,e));for(let o of r.rows)for(let a of o)n=n.concat(this.walkTokens(a.tokens,e));break}case"list":{n=n.concat(this.walkTokens(r.items,e));break}default:this.defaults.extensions&&this.defaults.extensions.childTokens&&this.defaults.extensions.childTokens[r.type]?this.defaults.extensions.childTokens[r.type].forEach(o=>{n=n.concat(this.walkTokens(r[o],e))}):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,e)))}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let r=$e({},n);if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if(o.renderer){let a=e.renderers[o.name];a?e.renderers[o.name]=function(...s){let l=o.renderer.apply(this,s);return l===!1&&(l=a.apply(this,s)),l}:e.renderers[o.name]=o.renderer}if(o.tokenizer){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");e[o.level]?e[o.level].unshift(o.tokenizer):e[o.level]=[o.tokenizer],o.start&&(o.level==="block"?e.startBlock?e.startBlock.push(o.start):e.startBlock=[o.start]:o.level==="inline"&&(e.startInline?e.startInline.push(o.start):e.startInline=[o.start]))}o.childTokens&&(e.childTokens[o.name]=o.childTokens)}),r.extensions=e),n.renderer){let o=this.defaults.renderer||new Qg(this.defaults);for(let a in n.renderer){let s=o[a];o[a]=(...l)=>{let c=n.renderer[a].apply(o,l);return c===!1&&(c=s.apply(o,l)),c}}r.renderer=o}if(n.tokenizer){let o=this.defaults.tokenizer||new Vg(this.defaults);for(let a in n.tokenizer){let s=o[a];o[a]=(...l)=>{let c=n.tokenizer[a].apply(o,l);return c===!1&&(c=s.apply(o,l)),c}}r.tokenizer=o}if(n.hooks){let o=this.defaults.hooks||new Hg;for(let a in n.hooks){let s=o[a];Hg.passThroughHooks.has(a)?o[a]=l=>{if(this.defaults.async)return Promise.resolve(n.hooks[a].call(o,l)).then(d=>s.call(o,d));let c=n.hooks[a].call(o,l);return s.call(o,c)}:o[a]=(...l)=>{let c=n.hooks[a].apply(o,l);return c===!1&&(c=s.apply(o,l)),c}}r.hooks=o}if(n.walkTokens){let o=this.defaults.walkTokens;r.walkTokens=function(a){let s=[];return s.push(n.walkTokens.call(this,a)),o&&(s=s.concat(o.call(this,a))),s}}this.defaults=$e($e({},this.defaults),r)}),this}setOptions(t){return this.defaults=$e($e({},this.defaults),t),this}#e(t,e){return(n,r,o)=>{typeof r=="function"&&(o=r,r=null);let a=$e({},r);r=$e($e({},this.defaults),a);let s=this.#t(r.silent,r.async,o);if(typeof n>"u"||n===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(OFe(r,o),r.hooks&&(r.hooks.options=r),o){let l=r.highlight,c;try{r.hooks&&(n=r.hooks.preprocess(n)),c=t(n,r)}catch(u){return s(u)}let d=u=>{let f;if(!u)try{r.walkTokens&&this.walkTokens(c,r.walkTokens),f=e(c,r),r.hooks&&(f=r.hooks.postprocess(f))}catch(_){u=_}return r.highlight=l,u?s(u):o(null,f)};if(!l||l.length<3||(delete r.highlight,!c.length))return d();let h=0;this.walkTokens(c,u=>{u.type==="code"&&(h++,setTimeout(()=>{l(u.text,u.lang,(f,_)=>{if(f)return d(f);_!=null&&_!==u.text&&(u.text=_,u.escaped=!0),h--,h===0&&d()})},0))}),h===0&&d();return}if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(n):n).then(l=>t(l,r)).then(l=>r.walkTokens?Promise.all(this.walkTokens(l,r.walkTokens)).then(()=>l):l).then(l=>e(l,r)).then(l=>r.hooks?r.hooks.postprocess(l):l).catch(s);try{r.hooks&&(n=r.hooks.preprocess(n));let l=t(n,r);r.walkTokens&&this.walkTokens(l,r.walkTokens);let c=e(l,r);return r.hooks&&(c=r.hooks.postprocess(c)),c}catch(l){return s(l)}}}#t(t,e,n){return r=>{if(r.message+=`
8395
8395
  Please report this to https://github.com/markedjs/marked.`,t){let o="<p>An error occurred:</p><pre>"+ha(r.message+"",!0)+"</pre>";if(e)return Promise.resolve(o);if(n){n(null,o);return}return o}if(e)return Promise.reject(r);if(n){n(r);return}throw r}}},Lm=new tR(Vh);function Cn(i,t,e){return Lm.parse(i,t,e)}Cn.options=Cn.setOptions=function(i){return Lm.setOptions(i),Cn.defaults=Lm.defaults,AZ(Cn.defaults),Cn};Cn.getDefaults=iR;Cn.defaults=Vh;Cn.use=function(...i){return Lm.use(...i),Cn.defaults=Lm.defaults,AZ(Cn.defaults),Cn};Cn.walkTokens=function(i,t){return Lm.walkTokens(i,t)};Cn.parseInline=Lm.parseInline;Cn.Parser=$d;Cn.parser=$d.parse;Cn.Renderer=Qg;Cn.TextRenderer=gv;Cn.Lexer=jd;Cn.lexer=jd.lex;Cn.Tokenizer=Vg;Cn.Slugger=_v;Cn.Hooks=Hg;Cn.parse=Cn;var Pkt=Cn.options,Rkt=Cn.setOptions,Okt=Cn.use,Lkt=Cn.walkTokens,Nkt=Cn.parseInline;var Ukt=$d.parse,Hkt=jd.lex;function vZ(){return{mangle:!1,walkTokens(i){if(i.type!=="link"||!i.href.startsWith("mailto:"))return;let t=i.href.substring(7),e=UFe(t);i.href=`mailto:${e}`,!(i.tokens.length!==1||i.tokens[0].type!=="text"||i.tokens[0].text!==t)&&(i.text=e,i.tokens[0].text=e)}}}function UFe(i){let t="",e,n,r=i.length;for(e=0;e<r;e++)n=i.charCodeAt(e),Math.random()>.5&&(n="x"+n.toString(16)),t+="&#"+n+";";return t}function HFe(i,t){if(i&1&&(S(0,"div")(1,"h2"),j(2),F(),J(3,"ul",6),F()),i&2){let e=t.$implicit;E(2),Ai(e.key),E(),z("innerHTML",e.value,ey)}}var yZ=(()=>{class i{constructor(e){this.data=e,this.changes=this.getChangelogChanges()}getChangelogChanges(){Cn.use(vZ());let n=Cn.parse(dZ,{headerIds:!1}).split(`
8396
8396
  `),r=this.findVersionLine(n,this.data.currentVersion),o=this.findVersionLine(n,this.data.previousVersion);n=n.slice(r,o+1);let a=["Added \u{1F680}","Fixed \u{1F41E}","Changed","Removed \u{1F5D1}","Chore \u{1F468}\u200D\u{1F4BB} \u{1F469}\u200D\u{1F4BB}"],s={};for(let l of a){let c=new RegExp(`<h3>${l}</h3>`),d=this.getAllIndexes(n,c),h=[];for(let u of d){let f=u+2,_=this.findEndChangesLine(n,u);for(let y of n.slice(f,_))h.push(`${y}<br>`)}h.length>0&&(s[l]=h.join(`
8397
- `))}return s}getAllIndexes(e,n){return e.reduce((r,o,a)=>(n.test(o)&&r.push(a),r),[])}findVersionLine(e,n){let r=new RegExp(`\\[${n}]`);return e.findIndex(o=>r.test(o))}findEndChangesLine(e,n){return n+e.slice(n+1).findIndex(r=>/<h3>/.test(r)||/<h2>/.test(r))}static{this.\u0275fac=function(n){return new(n||i)(se(Ts))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-change-log-dialog"]],decls:16,vars:5,consts:[["color","primary"],["mat-dialog-content",""],[1,"content"],["mat-dialog-actions",""],["href","https://codecharta.com/news/","target","_blank","rel","noopener noreferrer"],["mat-button","","cdkFocusInitial","",3,"mat-dialog-close"],[3,"innerHTML"]],template:function(n,r){n&1&&(S(0,"mat-toolbar",0),j(1,"Changelog"),F(),S(2,"div",1)(3,"h1"),j(4,"What is new in CodeCharta?"),F(),S(5,"h2"),j(6),F(),S(7,"div",2),xi(8,HFe,4,2,"div",null,En),fe(10,"keyvalue"),F()(),S(11,"div",3)(12,"a",4),j(13,"Know more"),F(),S(14,"button",5),j(15,"CLOSE"),F()()),n&2&&(E(6),xs("",r.data.previousVersion," \u2192 ",r.data.currentVersion),E(2),wi(_e(10,3,r.changes)),E(6),z("mat-dialog-close",!0))},dependencies:[ca,ar,Cr,Wi,or,ff],encapsulation:2})}}return i})();function wZ(i,t){let e=xZ(i),n=xZ(t);if(e.major===n.major&&e.minor===n.minor&&e.patch===n.patch)return 0;if(e.major>n.major)return 1;if(e.major<n.major)return-1;if(e.minor>n.minor)return 1;if(e.minor<n.minor)return-1;if(e.patch>n.patch)return 1;if(e.patch<n.patch)return-1}function xZ(i){let t=i.split(".");return{major:Number.parseInt(t[0])||0,minor:Number.parseInt(t[1])||0,patch:Number.parseInt(t[2])||0}}var CZ=(()=>{class i{constructor(e){this.dialog=e,this.version=Zl.version}synchronizeLocalCodeChartaVersion(){let e=localStorage.getItem("codeChartaVersion");if(e===null){localStorage.setItem("codeChartaVersion",this.version);return}wZ(e,this.version)<0&&(this.dialog.open(yZ,{panelClass:"cc-changelog-dialog",data:{previousVersion:e,currentVersion:this.version}}),localStorage.setItem("codeChartaVersion",this.version))}static{this.\u0275fac=function(n){return new(n||i)(Me(fn))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var VFe="@",QFe=(()=>{class i{doc;delegate;zone;animationType;moduleImpl;_rendererFactoryPromise=null;scheduler=null;injector=R(_i);loadingSchedulerFn=R(zFe,{optional:!0});_engine;constructor(e,n,r,o,a){this.doc=e,this.delegate=n,this.zone=r,this.animationType=o,this.moduleImpl=a}ngOnDestroy(){this._engine?.flush()}loadImpl(){let e=()=>this.moduleImpl??import("./chunk-6JVJ6QD5.js").then(r=>r),n;return this.loadingSchedulerFn?n=this.loadingSchedulerFn(e):n=e(),n.catch(r=>{throw new Mn(5300,!1)}).then(({\u0275createEngine:r,\u0275AnimationRendererFactory:o})=>{this._engine=r(this.animationType,this.doc);let a=new o(this.delegate,this._engine,this.zone);return this.delegate=a,a})}createRenderer(e,n){let r=this.delegate.createRenderer(e,n);if(r.\u0275type===0)return r;typeof r.throwOnSyntheticProps=="boolean"&&(r.throwOnSyntheticProps=!1);let o=new nR(r);return n?.data?.animation&&!this._rendererFactoryPromise&&(this._rendererFactoryPromise=this.loadImpl()),this._rendererFactoryPromise?.then(a=>{let s=a.createRenderer(e,n);o.use(s),this.scheduler??=this.injector.get(cO,null,{optional:!0}),this.scheduler?.notify(10)}).catch(a=>{o.use(r)}),o}begin(){this.delegate.begin?.()}end(){this.delegate.end?.()}whenRenderingDone(){return this.delegate.whenRenderingDone?.()??Promise.resolve()}componentReplaced(e){this._engine?.flush(),this.delegate.componentReplaced?.(e)}static \u0275fac=function(n){iy()};static \u0275prov=Ue({token:i,factory:i.\u0275fac})}return i})(),nR=class{delegate;replay=[];\u0275type=1;constructor(t){this.delegate=t}use(t){if(this.delegate=t,this.replay!==null){for(let e of this.replay)e(t);this.replay=null}}get data(){return this.delegate.data}destroy(){this.replay=null,this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}get destroyNode(){return this.delegate.destroyNode}appendChild(t,e){this.delegate.appendChild(t,e)}insertBefore(t,e,n,r){this.delegate.insertBefore(t,e,n,r)}removeChild(t,e,n,r){this.delegate.removeChild(t,e,n,r)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,r){this.delegate.setAttribute(t,e,n,r)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,r){this.delegate.setStyle(t,e,n,r)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){this.shouldReplay(e)&&this.replay.push(r=>r.setProperty(t,e,n)),this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n,r){return this.shouldReplay(e)&&this.replay.push(o=>o.listen(t,e,n,r)),this.delegate.listen(t,e,n,r)}shouldReplay(t){return this.replay!==null&&t.startsWith(VFe)}},zFe=new Je("");function MZ(i="animations"){return ty("NgAsyncAnimations"),du([{provide:ho,useFactory:(t,e,n)=>new QFe(t,e,n,i),deps:[yi,y0,ti]},{provide:Ym,useValue:i==="noop"?"NoopAnimations":"BrowserAnimations"}])}var zg=Re(_r,i=>i.focusedNodePath);var SZ=[ir,zg,KM,qS,QS,zS,Or,So];var O2=[Dc,Uo,zu,qu,us,$s,Ec,Sc,Mc,Cc,js,Ws,hs,ch,lh,Ma,Bc,Fc,Ic,qs,qo,Mo,Gs,ja,ph,Ah,wc,gh,Go,zo,Gr,Tc,uh,xc,hh,kc,ts];var qFe=1e3/60,L2=(()=>{class i{constructor(e,n,r,o,a){this.store=e,this.actions$=n,this.uploadFilesService=r,this.threeRendererService=o,this.codeMapRenderService=a,this.actionsRequiringRender$=this.actions$.pipe(qr(...O2)),this.renderCodeMap$=Pi(()=>Yo([this.store.select(br),this.actionsRequiringRender$]).pipe(Yt(([s])=>!!s.unifiedMapNode),oO(qFe,V4,{leading:!1,trailing:!0}),Oi(([s])=>{this.codeMapRenderService.render(s.unifiedMapNode),this.codeMapRenderService.scaleMap(),this.threeRendererService.render()}),cu()),{dispatch:!1}),this.removeLoadingIndicatorAfterRender$=Pi(()=>this.renderCodeMap$.pipe(Yt(()=>!this.uploadFilesService.isUploading),Oi(()=>{this.store.dispatch(Ya({value:!1})),this.store.dispatch(ol({value:!1}))})),{dispatch:!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie),Me(Jr),Me(z1),Me(Rr),Me(HS))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var EZ=(()=>{class i{constructor(e,n,r,o){this.store=e,this.renderCodeMapEffect=n,this.threeMapControlsService=r,this.actions$=o,this.autoFitTo$=Pi(()=>Yo(SZ.map(a=>this.store.select(a))).pipe(ys(1),hr(this.store.select(XM)),Yt(([,a])=>a),Do(()=>this.renderCodeMapEffect.renderCodeMap$.pipe(kn(1))),Oi(()=>{this.threeMapControlsService.autoFitTo()})),{dispatch:!1}),this.autoFitToWhenResetCameraIfNewFileIsLoadedSetToFalse$=Pi(()=>this.actions$.pipe(qr("StartWithGlobalOption:resetCameraIfNewFileIsLoadedSetToFalse"),lu(),Do(()=>this.renderCodeMapEffect.renderCodeMap$.pipe(kn(1))),Oi(()=>{this.threeMapControlsService.autoFitTo()})),{dispatch:!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie),Me(L2),Me(yr),Me(Jr))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var TZ=(()=>{class i{constructor(e){this.store=e,this.linkHeightAndColorMetric$=Pi(()=>Yo([this.store.select(Pc),this.store.select(Bg)]).pipe(Yt(([,n])=>n),Et(([n])=>Gr({value:n}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var qg=Re(hS,wl,(i,t)=>i?t.get(i.nodeId):null);var WFe=Re(Ns,i=>i.markingColors),jFe=(i,t,e)=>{if(t=$Fe(t),i===null)return t.map(r=>({color:r,isMarked:!1}));let n=TM(e,i.path);return t.map(r=>({color:r,isMarked:n!==-1&&r===e[n].color}))},$Fe=i=>Array.isArray(i)?i:Object.values(i),BZ=Re(qg,WFe,D2,jFe);var XFe=(i,t)=>t.color;function KFe(i,t){i&1&&J(0,"i",5)}function YFe(i,t){if(i&1){let e=st();S(0,"button",4),he("click",function(){let r=Ve(e).$implicit,o=me(),a=me();return Qe(r.isMarked?a.unmarkFolder(o.path):a.markFolder(o.path,r.color))}),ke(1,KFe,1,0,"i",5),F()}if(i&2){let e=t.$implicit;pi("background-color",e.color),E(),Pe(e.isMarked?1:-1)}}function ZFe(i,t){if(i&1){let e=st();S(0,"div",1),xi(1,YFe,2,3,"button",2,XFe),fe(3,"async"),S(4,"cc-color-picker",3),he("colorChange",function(r){let o=Ve(e),a=me();return Qe(a.markFolder(o.path,r))}),F()()}if(i&2){let e=me(),n=Pn(3);E(),wi(_e(3,2,e.markFolderItems$)),E(3),z("hexColor","#ff0000")("triggerTemplate",n)}}function JFe(i,t){i&1&&J(0,"div",6)}var FZ=(()=>{class i{constructor(e){this.store=e,this.markFolderItems$=this.store.select(BZ),this.codeMapNode$=this.store.select(qg)}markFolder(e,n){this.store.dispatch(xc({packages:[{path:e,color:n}]}))}unmarkFolder(e){this.store.dispatch(hh({path:e}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-mark-folder-row"]],decls:4,vars:3,consts:[["colorPickerTriggerTemplate",""],[1,"row"],["title","Colorize folder",1,"colorButton",3,"background-color"],[3,"colorChange","hexColor","triggerTemplate"],["title","Colorize folder",1,"colorButton",3,"click"],[1,"fa","fa-times"],[1,"cc-color-picker-trigger","fa","fa-paint-brush"]],template:function(n,r){if(n&1&&(ke(0,ZFe,5,4,"div",1),fe(1,"async"),Sn(2,JFe,1,0,"ng-template",null,0,il)),n&2){let o;Pe((o=_e(1,1,r.codeMapNode$))?0:-1,o)}},dependencies:[KC,dt],styles:["[_nghost-%COMP%] .row[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] [_ngcontent-%COMP%]:hover{cursor:pointer}[_nghost-%COMP%] .colorButton[_ngcontent-%COMP%]{width:32px;height:32px}[_nghost-%COMP%] .colorButton[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:25px;display:block;color:red;text-shadow:-1px 0 white,0 1px white,1px 0 white,0 -1px white}[_nghost-%COMP%] cc-color-picker[_ngcontent-%COMP%]{width:32px;height:32px}[_nghost-%COMP%] cc-color-picker[_ngcontent-%COMP%] .cc-color-picker-trigger[_ngcontent-%COMP%]{font-size:25px;margin-top:8px}"]})}}return i})();var IZ=Re(zg,i=>i[0]);var DZ=(()=>{class i{transform(e,n){if(!e||!n)return{isNodeFocused:!1,isParentFocused:!1};let r=e===n.path;return{isNodeFocused:r,isParentFocused:!r&&n.path.startsWith(e)}}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"isNodeFocused",type:i,pure:!0})}}return i})();function eIe(i,t){if(i&1){let e=st();S(0,"button",1),he("click",function(){Ve(e);let r=me(2);return Qe(r.handleFocusNodeClicked())}),J(1,"i",2),j(2," FOCUS "),F()}}function tIe(i,t){if(i&1){let e=st();S(0,"button",5),he("click",function(){Ve(e);let r=me(3);return Qe(r.handleUnfocusAllNodesClicked())}),J(1,"i",2),j(2," UNFOCUS ALL "),F()}}function iIe(i,t){if(i&1){let e=st();S(0,"button",3),he("click",function(){Ve(e);let r=me(2);return Qe(r.handleUnfocusNodeClicked())}),J(1,"i",2),j(2),F(),ke(3,tIe,3,0,"button",4),fe(4,"async")}if(i&2){let e=me(),n=me();E(2),ct(" ",e.isParentFocused?"UNFOCUS PARENT":"UNFOCUS"," "),E(),Pe(_e(4,2,n.hasPreviousFocusedNodePath$)?3:-1)}}function nIe(i,t){if(i&1&&(ke(0,eIe,3,0,"button",0),ke(1,iIe,5,4)),i&2){let e=t;Pe(e.isNodeFocused?-1:0),E(),Pe(e.isNodeFocused||e.isParentFocused?1:-1)}}var kZ=(()=>{class i{constructor(e){this.store=e,this.currentFocusedNodePath$=this.store.select(IZ),this.hasPreviousFocusedNodePath$=this.store.select(zg).pipe(Et(n=>n.length>1))}handleFocusNodeClicked(){this.store.dispatch(Ah({value:this.codeMapNode.path}))}handleUnfocusNodeClicked(){this.store.dispatch(gh())}handleUnfocusAllNodesClicked(){this.store.dispatch(wc())}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-focus-buttons"]],inputs:{codeMapNode:"codeMapNode"},decls:3,vars:6,consts:[["mat-button","","id","focus-button","title","Only show selected nodes with children-nodes"],["mat-button","","id","focus-button","title","Only show selected nodes with children-nodes",3,"click"],[1,"fa","fa-bullseye"],["mat-button","","aria-label","Remove Focus from node","title","Show previous focused node",3,"click"],["mat-button","","aria-label","Remove Focus from all nodes","title","Show complete map"],["mat-button","","aria-label","Remove Focus from all nodes","title","Show complete map",3,"click"]],template:function(n,r){if(n&1&&(ke(0,nIe,2,2),fe(1,"async"),fe(2,"isNodeFocused")),n&2){let o;Pe((o=dn(2,3,_e(1,1,r.currentFocusedNodePath$),r.codeMapNode))?0:-1,o)}},dependencies:[Wi,dt,DZ],styles:["button[_ngcontent-%COMP%]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:17px}button[_ngcontent-%COMP%] .png-icon[_ngcontent-%COMP%]{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}"]})}}return i})();function rIe(i,t){if(i&1){let e=st();S(0,"button",2),he("click",function(){Ve(e);let r=me();return Qe(r.flattenNode())}),J(1,"img",3),j(2," FLATTEN "),F()}}function oIe(i,t){if(i&1){let e=st();S(0,"button",4),he("click",function(){Ve(e);let r=me();return Qe(r.unFlattenNode())}),J(1,"img",3),j(2," SHOW "),F()}}var PZ=(()=>{class i{constructor(e){this.store=e}flattenNode(){this.store.dispatch(tg({item:{path:this.codeMapNode.path,type:"flatten",nodeType:this.codeMapNode.type}}))}unFlattenNode(){this.store.dispatch(dh({item:{path:this.codeMapNode.path,type:"flatten",nodeType:this.codeMapNode.type}}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-flatten-buttons"]],inputs:{codeMapNode:"codeMapNode"},decls:2,vars:1,consts:[["mat-button","","title","Flatten node and children-nodes, but keep an empty space"],["mat-button","","title","Show node and children-nodes"],["mat-button","","title","Flatten node and children-nodes, but keep an empty space",3,"click"],["alt","flattenIcon","src","/codeCharta/assets/flatten.png",1,"png-icon"],["mat-button","","title","Show node and children-nodes",3,"click"]],template:function(n,r){n&1&&ke(0,rIe,3,0,"button",0)(1,oIe,3,0,"button",1),n&2&&Pe(r.codeMapNode!=null&&r.codeMapNode.isFlattened?1:0)},dependencies:[Wi],styles:["button[_ngcontent-%COMP%]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:17px}button[_ngcontent-%COMP%] .png-icon[_ngcontent-%COMP%]{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}"]})}}return i})();function aIe(i,t){if(i&1){let e=st();S(0,"button",2),he("click",function(){Ve(e);let r=me();return Qe(r.addNodeToConstantHighlight())}),J(1,"i",3),j(2," KEEP HIGHLIGHT "),F()}}function sIe(i,t){if(i&1){let e=st();S(0,"button",4),he("click",function(){Ve(e);let r=me();return Qe(r.removeNodeFromConstantHighlight())}),J(1,"i",3),j(2," REMOVE HIGHLIGHT "),F()}}var RZ=(()=>{class i{constructor(e,n){this.threeSceneService=e,this.idToBuilding=n}ngOnChanges(e){e.codeMapNode&&(this.isHighlighted=this.calculateIsHighlighted())}addNodeToConstantHighlight(){this.threeSceneService.addNodeAndChildrenToConstantHighlight(this.codeMapNode)}removeNodeFromConstantHighlight(){this.threeSceneService.removeNodeAndChildrenFromConstantHighlight(this.codeMapNode)}calculateIsHighlighted(){if(!this.codeMapNode)return!1;let e=this.idToBuilding.get(this.codeMapNode.id);return e?this.threeSceneService.getConstantHighlight().has(e.id):!1}static{this.\u0275fac=function(n){return new(n||i)(se(vr),se(mc))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-highlight-buttons"]],inputs:{codeMapNode:"codeMapNode"},features:[Di],decls:2,vars:1,consts:[["mat-button","","title","Highlight node constantly"],["mat-button","","title","Remove constant highlight"],["mat-button","","title","Highlight node constantly",3,"click"],[1,"fa","fa-cubes"],["mat-button","","title","Remove constant highlight",3,"click"]],template:function(n,r){n&1&&ke(0,aIe,3,0,"button",0)(1,sIe,3,0,"button",1),n&2&&Pe(r.isHighlighted?1:0)},dependencies:[Wi],styles:["button[_ngcontent-%COMP%]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:17px}button[_ngcontent-%COMP%] .png-icon[_ngcontent-%COMP%]{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}"]})}}return i})();var OZ=(()=>{class i{constructor(e){this.store=e}excludeNode(){this.store.dispatch(ig({items:[{path:this.codeMapNode.path,type:"exclude",nodeType:this.codeMapNode.type}]}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-exclude-button"]],inputs:{codeMapNode:"codeMapNode"},decls:3,vars:0,consts:[["mat-button","","id","exclude-button","title","Exclude node and children-nodes and reorder the CodeMap",3,"click"],[1,"fa","fa-ban"]],template:function(n,r){n&1&&(S(0,"button",0),he("click",function(){return r.excludeNode()}),J(1,"i",1),j(2,` EXCLUDE
8397
+ `))}return s}getAllIndexes(e,n){return e.reduce((r,o,a)=>(n.test(o)&&r.push(a),r),[])}findVersionLine(e,n){let r=new RegExp(`\\[${n}]`);return e.findIndex(o=>r.test(o))}findEndChangesLine(e,n){return n+e.slice(n+1).findIndex(r=>/<h3>/.test(r)||/<h2>/.test(r))}static{this.\u0275fac=function(n){return new(n||i)(se(Ts))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-change-log-dialog"]],decls:16,vars:5,consts:[["color","primary"],["mat-dialog-content",""],[1,"content"],["mat-dialog-actions",""],["href","https://codecharta.com/news/","target","_blank","rel","noopener noreferrer"],["mat-button","","cdkFocusInitial","",3,"mat-dialog-close"],[3,"innerHTML"]],template:function(n,r){n&1&&(S(0,"mat-toolbar",0),j(1,"Changelog"),F(),S(2,"div",1)(3,"h1"),j(4,"What is new in CodeCharta?"),F(),S(5,"h2"),j(6),F(),S(7,"div",2),xi(8,HFe,4,2,"div",null,En),fe(10,"keyvalue"),F()(),S(11,"div",3)(12,"a",4),j(13,"Know more"),F(),S(14,"button",5),j(15,"CLOSE"),F()()),n&2&&(E(6),xs("",r.data.previousVersion," \u2192 ",r.data.currentVersion),E(2),wi(_e(10,3,r.changes)),E(6),z("mat-dialog-close",!0))},dependencies:[ca,ar,Cr,Wi,or,ff],encapsulation:2})}}return i})();function wZ(i,t){let e=xZ(i),n=xZ(t);if(e.major===n.major&&e.minor===n.minor&&e.patch===n.patch)return 0;if(e.major>n.major)return 1;if(e.major<n.major)return-1;if(e.minor>n.minor)return 1;if(e.minor<n.minor)return-1;if(e.patch>n.patch)return 1;if(e.patch<n.patch)return-1}function xZ(i){let t=i.split(".");return{major:Number.parseInt(t[0])||0,minor:Number.parseInt(t[1])||0,patch:Number.parseInt(t[2])||0}}var CZ=(()=>{class i{constructor(e){this.dialog=e,this.version=Zl.version}synchronizeLocalCodeChartaVersion(){let e=localStorage.getItem("codeChartaVersion");if(e===null){localStorage.setItem("codeChartaVersion",this.version);return}wZ(e,this.version)<0&&(this.dialog.open(yZ,{panelClass:"cc-changelog-dialog",data:{previousVersion:e,currentVersion:this.version}}),localStorage.setItem("codeChartaVersion",this.version))}static{this.\u0275fac=function(n){return new(n||i)(Me(fn))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var VFe="@",QFe=(()=>{class i{doc;delegate;zone;animationType;moduleImpl;_rendererFactoryPromise=null;scheduler=null;injector=R(_i);loadingSchedulerFn=R(zFe,{optional:!0});_engine;constructor(e,n,r,o,a){this.doc=e,this.delegate=n,this.zone=r,this.animationType=o,this.moduleImpl=a}ngOnDestroy(){this._engine?.flush()}loadImpl(){let e=()=>this.moduleImpl??import("./chunk-6JVJ6QD5.js").then(r=>r),n;return this.loadingSchedulerFn?n=this.loadingSchedulerFn(e):n=e(),n.catch(r=>{throw new Mn(5300,!1)}).then(({\u0275createEngine:r,\u0275AnimationRendererFactory:o})=>{this._engine=r(this.animationType,this.doc);let a=new o(this.delegate,this._engine,this.zone);return this.delegate=a,a})}createRenderer(e,n){let r=this.delegate.createRenderer(e,n);if(r.\u0275type===0)return r;typeof r.throwOnSyntheticProps=="boolean"&&(r.throwOnSyntheticProps=!1);let o=new nR(r);return n?.data?.animation&&!this._rendererFactoryPromise&&(this._rendererFactoryPromise=this.loadImpl()),this._rendererFactoryPromise?.then(a=>{let s=a.createRenderer(e,n);o.use(s),this.scheduler??=this.injector.get(cO,null,{optional:!0}),this.scheduler?.notify(10)}).catch(a=>{o.use(r)}),o}begin(){this.delegate.begin?.()}end(){this.delegate.end?.()}whenRenderingDone(){return this.delegate.whenRenderingDone?.()??Promise.resolve()}componentReplaced(e){this._engine?.flush(),this.delegate.componentReplaced?.(e)}static \u0275fac=function(n){iy()};static \u0275prov=Ue({token:i,factory:i.\u0275fac})}return i})(),nR=class{delegate;replay=[];\u0275type=1;constructor(t){this.delegate=t}use(t){if(this.delegate=t,this.replay!==null){for(let e of this.replay)e(t);this.replay=null}}get data(){return this.delegate.data}destroy(){this.replay=null,this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}get destroyNode(){return this.delegate.destroyNode}appendChild(t,e){this.delegate.appendChild(t,e)}insertBefore(t,e,n,r){this.delegate.insertBefore(t,e,n,r)}removeChild(t,e,n,r){this.delegate.removeChild(t,e,n,r)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,n,r){this.delegate.setAttribute(t,e,n,r)}removeAttribute(t,e,n){this.delegate.removeAttribute(t,e,n)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,n,r){this.delegate.setStyle(t,e,n,r)}removeStyle(t,e,n){this.delegate.removeStyle(t,e,n)}setProperty(t,e,n){this.shouldReplay(e)&&this.replay.push(r=>r.setProperty(t,e,n)),this.delegate.setProperty(t,e,n)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,n,r){return this.shouldReplay(e)&&this.replay.push(o=>o.listen(t,e,n,r)),this.delegate.listen(t,e,n,r)}shouldReplay(t){return this.replay!==null&&t.startsWith(VFe)}},zFe=new Je("");function MZ(i="animations"){return ty("NgAsyncAnimations"),du([{provide:ho,useFactory:(t,e,n)=>new QFe(t,e,n,i),deps:[yi,y0,ti]},{provide:Ym,useValue:i==="noop"?"NoopAnimations":"BrowserAnimations"}])}var zg=Re(_r,i=>i.focusedNodePath);var SZ=[ir,zg,KM,qS,QS,zS,Or,So];var O2=[Dc,Uo,zu,qu,us,$s,Ec,Sc,Mc,Cc,js,Ws,hs,ch,lh,Ma,Bc,Fc,Ic,qs,qo,Mo,Gs,ja,ph,Ah,wc,gh,Go,zo,Gr,Tc,uh,xc,hh,kc,ts];var qFe=1e3/60,L2=(()=>{class i{constructor(e,n,r,o,a){this.store=e,this.actions$=n,this.uploadFilesService=r,this.threeRendererService=o,this.codeMapRenderService=a,this.actionsRequiringRender$=this.actions$.pipe(qr(...O2)),this.renderCodeMap$=Pi(()=>Yo([this.store.select(br),this.actionsRequiringRender$]).pipe(Yt(([s])=>!!s.unifiedMapNode),oO(qFe,V4,{leading:!1,trailing:!0}),Oi(([s])=>{this.codeMapRenderService.render(s.unifiedMapNode),this.codeMapRenderService.scaleMap(),this.threeRendererService.render()}),cu()),{dispatch:!1}),this.removeLoadingIndicatorAfterRender$=Pi(()=>this.renderCodeMap$.pipe(Yt(()=>!this.uploadFilesService.isUploading),Oi(()=>{this.store.dispatch(Ya({value:!1})),this.store.dispatch(ol({value:!1}))})),{dispatch:!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie),Me(Jr),Me(z1),Me(Rr),Me(HS))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var EZ=(()=>{class i{constructor(e,n,r,o){this.store=e,this.renderCodeMapEffect=n,this.threeMapControlsService=r,this.actions$=o,this.autoFitTo$=Pi(()=>Yo(SZ.map(a=>this.store.select(a))).pipe(ys(1),hr(this.store.select(XM)),Yt(([,a])=>a),Do(()=>this.renderCodeMapEffect.renderCodeMap$.pipe(kn(1))),Oi(()=>{this.threeMapControlsService.autoFitTo()})),{dispatch:!1}),this.autoFitToWhenResetCameraIfNewFileIsLoadedSetToFalse$=Pi(()=>this.actions$.pipe(qr("StartWithGlobalOption:resetCameraIfNewFileIsLoadedSetToFalse"),lu(),Do(()=>this.renderCodeMapEffect.renderCodeMap$.pipe(kn(1))),Oi(()=>{this.threeMapControlsService.autoFitTo()})),{dispatch:!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie),Me(L2),Me(yr),Me(Jr))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var TZ=(()=>{class i{constructor(e){this.store=e,this.linkHeightAndColorMetric$=Pi(()=>Yo([this.store.select(Pc),this.store.select(Bg)]).pipe(Yt(([,n])=>n),Et(([n])=>Gr({value:n}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var qg=Re(hS,wl,(i,t)=>i?t.get(i.nodeId):null);var WFe=Re(Ns,i=>i.markingColors),jFe=(i,t,e)=>{if(t=$Fe(t),i===null)return t.map(r=>({color:r,isMarked:!1}));let n=TM(e,i.path);return t.map(r=>({color:r,isMarked:n!==-1&&r===e[n].color}))},$Fe=i=>Array.isArray(i)?i:Object.values(i),BZ=Re(qg,WFe,D2,jFe);var XFe=(i,t)=>t.color;function KFe(i,t){i&1&&J(0,"i",5)}function YFe(i,t){if(i&1){let e=st();S(0,"button",4),he("click",function(){let r=Ve(e).$implicit,o=me(),a=me();return Qe(r.isMarked?a.unmarkFolder(o.path):a.markFolder(o.path,r.color))}),ke(1,KFe,1,0,"i",5),F()}if(i&2){let e=t.$implicit;pi("background-color",e.color),E(),Pe(e.isMarked?1:-1)}}function ZFe(i,t){if(i&1){let e=st();S(0,"div",1),xi(1,YFe,2,3,"button",2,XFe),fe(3,"async"),S(4,"cc-color-picker",3),he("colorChange",function(r){let o=Ve(e),a=me();return Qe(a.markFolder(o.path,r))}),F()()}if(i&2){let e=me(),n=Pn(3);E(),wi(_e(3,2,e.markFolderItems$)),E(3),z("hexColor","#ff0000")("triggerTemplate",n)}}function JFe(i,t){i&1&&J(0,"div",6)}var FZ=(()=>{class i{constructor(e){this.store=e,this.markFolderItems$=this.store.select(BZ),this.codeMapNode$=this.store.select(qg)}markFolder(e,n){this.store.dispatch(xc({packages:[{path:e,color:n}]}))}unmarkFolder(e){this.store.dispatch(hh({path:e}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-mark-folder-row"]],decls:4,vars:3,consts:[["colorPickerTriggerTemplate",""],[1,"row"],["title","Colorize folder",1,"colorButton",3,"background-color"],[3,"colorChange","hexColor","triggerTemplate"],["title","Colorize folder",1,"colorButton",3,"click"],[1,"fa","fa-times"],[1,"cc-color-picker-trigger","fa","fa-paint-brush"]],template:function(n,r){if(n&1&&(ke(0,ZFe,5,4,"div",1),fe(1,"async"),Sn(2,JFe,1,0,"ng-template",null,0,il)),n&2){let o;Pe((o=_e(1,1,r.codeMapNode$))?0:-1,o)}},dependencies:[KC,dt],styles:["[_nghost-%COMP%] .row[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] [_ngcontent-%COMP%]:hover{cursor:pointer}[_nghost-%COMP%] .colorButton[_ngcontent-%COMP%]{width:32px;height:32px}[_nghost-%COMP%] .colorButton[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:25px;display:block;color:red;text-shadow:-1px 0 white,0 1px white,1px 0 white,0 -1px white}[_nghost-%COMP%] cc-color-picker[_ngcontent-%COMP%]{width:32px;height:32px}[_nghost-%COMP%] cc-color-picker[_ngcontent-%COMP%] .cc-color-picker-trigger[_ngcontent-%COMP%]{font-size:25px;margin-top:8px}"]})}}return i})();var IZ=Re(zg,i=>i[0]);var DZ=(()=>{class i{transform(e,n){if(!e||!n)return{isNodeFocused:!1,isParentFocused:!1};let r=e===n.path;return{isNodeFocused:r,isParentFocused:!r&&n.path.startsWith(e)}}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"isNodeFocused",type:i,pure:!0})}}return i})();function eIe(i,t){if(i&1){let e=st();S(0,"button",1),he("click",function(){Ve(e);let r=me(2);return Qe(r.handleFocusNodeClicked())}),J(1,"i",2),j(2," FOCUS "),F()}}function tIe(i,t){if(i&1){let e=st();S(0,"button",5),he("click",function(){Ve(e);let r=me(3);return Qe(r.handleUnfocusAllNodesClicked())}),J(1,"i",2),j(2," UNFOCUS ALL "),F()}}function iIe(i,t){if(i&1){let e=st();S(0,"button",3),he("click",function(){Ve(e);let r=me(2);return Qe(r.handleUnfocusNodeClicked())}),J(1,"i",2),j(2),F(),ke(3,tIe,3,0,"button",4),fe(4,"async")}if(i&2){let e=me(),n=me();E(2),ct(" ",e.isParentFocused?"UNFOCUS PARENT":"UNFOCUS"," "),E(),Pe(_e(4,2,n.hasPreviousFocusedNodePath$)?3:-1)}}function nIe(i,t){if(i&1&&(ke(0,eIe,3,0,"button",0),ke(1,iIe,5,4)),i&2){let e=t;Pe(e.isNodeFocused?-1:0),E(),Pe(e.isNodeFocused||e.isParentFocused?1:-1)}}var kZ=(()=>{class i{constructor(e){this.store=e,this.currentFocusedNodePath$=this.store.select(IZ),this.hasPreviousFocusedNodePath$=this.store.select(zg).pipe(Et(n=>n.length>1))}handleFocusNodeClicked(){this.store.dispatch(Ah({value:this.codeMapNode.path}))}handleUnfocusNodeClicked(){this.store.dispatch(gh())}handleUnfocusAllNodesClicked(){this.store.dispatch(wc())}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-focus-buttons"]],inputs:{codeMapNode:"codeMapNode"},decls:3,vars:6,consts:[["mat-button","","id","focus-button","title","Only show selected nodes with children-nodes"],["mat-button","","id","focus-button","title","Only show selected nodes with children-nodes",3,"click"],[1,"fa","fa-bullseye"],["mat-button","","aria-label","Remove Focus from node","title","Show previous focused node",3,"click"],["mat-button","","aria-label","Remove Focus from all nodes","title","Show complete map"],["mat-button","","aria-label","Remove Focus from all nodes","title","Show complete map",3,"click"]],template:function(n,r){if(n&1&&(ke(0,nIe,2,2),fe(1,"async"),fe(2,"isNodeFocused")),n&2){let o;Pe((o=dn(2,3,_e(1,1,r.currentFocusedNodePath$),r.codeMapNode))?0:-1,o)}},dependencies:[Wi,dt,DZ],styles:["button[_ngcontent-%COMP%]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:17px}button[_ngcontent-%COMP%] .png-icon[_ngcontent-%COMP%]{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}"]})}}return i})();function rIe(i,t){if(i&1){let e=st();S(0,"button",2),he("click",function(){Ve(e);let r=me();return Qe(r.flattenNode())}),J(1,"img",3),j(2," FLATTEN "),F()}}function oIe(i,t){if(i&1){let e=st();S(0,"button",4),he("click",function(){Ve(e);let r=me();return Qe(r.unFlattenNode())}),J(1,"img",3),j(2," SHOW "),F()}}var PZ=(()=>{class i{constructor(e){this.store=e}flattenNode(){this.store.dispatch(tg({item:{path:this.codeMapNode.path,type:"flatten",nodeType:this.codeMapNode.type}}))}unFlattenNode(){this.store.dispatch(dh({item:{path:this.codeMapNode.path,type:"flatten",nodeType:this.codeMapNode.type}}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-flatten-buttons"]],inputs:{codeMapNode:"codeMapNode"},decls:2,vars:1,consts:[["mat-button","","title","Flatten node and children-nodes, but keep an empty space"],["mat-button","","title","Show node and children-nodes"],["mat-button","","title","Flatten node and children-nodes, but keep an empty space",3,"click"],["alt","flattenIcon","src","codeCharta/assets/flatten.png",1,"png-icon"],["mat-button","","title","Show node and children-nodes",3,"click"]],template:function(n,r){n&1&&ke(0,rIe,3,0,"button",0)(1,oIe,3,0,"button",1),n&2&&Pe(r.codeMapNode!=null&&r.codeMapNode.isFlattened?1:0)},dependencies:[Wi],styles:["button[_ngcontent-%COMP%]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:17px}button[_ngcontent-%COMP%] .png-icon[_ngcontent-%COMP%]{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}"]})}}return i})();function aIe(i,t){if(i&1){let e=st();S(0,"button",2),he("click",function(){Ve(e);let r=me();return Qe(r.addNodeToConstantHighlight())}),J(1,"i",3),j(2," KEEP HIGHLIGHT "),F()}}function sIe(i,t){if(i&1){let e=st();S(0,"button",4),he("click",function(){Ve(e);let r=me();return Qe(r.removeNodeFromConstantHighlight())}),J(1,"i",3),j(2," REMOVE HIGHLIGHT "),F()}}var RZ=(()=>{class i{constructor(e,n){this.threeSceneService=e,this.idToBuilding=n}ngOnChanges(e){e.codeMapNode&&(this.isHighlighted=this.calculateIsHighlighted())}addNodeToConstantHighlight(){this.threeSceneService.addNodeAndChildrenToConstantHighlight(this.codeMapNode)}removeNodeFromConstantHighlight(){this.threeSceneService.removeNodeAndChildrenFromConstantHighlight(this.codeMapNode)}calculateIsHighlighted(){if(!this.codeMapNode)return!1;let e=this.idToBuilding.get(this.codeMapNode.id);return e?this.threeSceneService.getConstantHighlight().has(e.id):!1}static{this.\u0275fac=function(n){return new(n||i)(se(vr),se(mc))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-highlight-buttons"]],inputs:{codeMapNode:"codeMapNode"},features:[Di],decls:2,vars:1,consts:[["mat-button","","title","Highlight node constantly"],["mat-button","","title","Remove constant highlight"],["mat-button","","title","Highlight node constantly",3,"click"],[1,"fa","fa-cubes"],["mat-button","","title","Remove constant highlight",3,"click"]],template:function(n,r){n&1&&ke(0,aIe,3,0,"button",0)(1,sIe,3,0,"button",1),n&2&&Pe(r.isHighlighted?1:0)},dependencies:[Wi],styles:["button[_ngcontent-%COMP%]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:17px}button[_ngcontent-%COMP%] .png-icon[_ngcontent-%COMP%]{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}"]})}}return i})();var OZ=(()=>{class i{constructor(e){this.store=e}excludeNode(){this.store.dispatch(ig({items:[{path:this.codeMapNode.path,type:"exclude",nodeType:this.codeMapNode.type}]}))}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-exclude-button"]],inputs:{codeMapNode:"codeMapNode"},decls:3,vars:0,consts:[["mat-button","","id","exclude-button","title","Exclude node and children-nodes and reorder the CodeMap",3,"click"],[1,"fa","fa-ban"]],template:function(n,r){n&1&&(S(0,"button",0),he("click",function(){return r.excludeNode()}),J(1,"i",1),j(2,` EXCLUDE
8398
8398
  `),F())},dependencies:[Wi],styles:["button[_ngcontent-%COMP%]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:17px}button[_ngcontent-%COMP%] .png-icon[_ngcontent-%COMP%]{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}"]})}}return i})();var LZ=(()=>{class i{transform(e){return`${e.lastIndexOf("/")===0?"":"..."}${e.slice(e.lastIndexOf("/"))}`}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275pipe=an({name:"lastPartOfNodePath",type:i,pure:!0})}}return i})();var NZ=(()=>{class i{constructor(){}copyToClipboard(e){return ft(this,null,function*(){yield navigator.clipboard.writeText(e)})}static{this.\u0275fac=function(n){return new(n||i)}}static{this.\u0275cmp=re({type:i,selectors:[["cc-copy-button"]],inputs:{codeMapNode:"codeMapNode"},decls:4,vars:3,consts:[["mat-button","","id","copy-button","title","Copy to clipboard",3,"click"],[1,"fa","fa-light","fa-copy"]],template:function(n,r){n&1&&(S(0,"button",0),he("click",function(){return r.copyToClipboard(r.codeMapNode.path)}),J(1,"i",1),j(2),fe(3,"lastPartOfNodePath"),F()),n&2&&(E(2),ct(" ",_e(3,1,r.codeMapNode.path),`
8399
8399
  `))},dependencies:[Wi,LZ],styles:["button[_ngcontent-%COMP%]{width:100%;text-align:left;margin:0;justify-content:left;line-height:30px;min-height:30px}button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{width:17px}button[_ngcontent-%COMP%] .png-icon[_ngcontent-%COMP%]{width:17px;height:17px;margin:5px auto auto;padding:0;display:inline-block;background-repeat:no-repeat no-repeat;pointer-events:none}"]})}}return i})();function lIe(i,t){i&1&&(S(0,"div"),J(1,"cc-mark-folder-row")(2,"mat-divider"),F())}function cIe(i,t){if(i&1&&(S(0,"mat-card",0),ke(1,lIe,3,0,"div"),S(2,"div",1),J(3,"cc-copy-button",2)(4,"cc-focus-buttons",2)(5,"cc-flatten-buttons",2)(6,"cc-highlight-buttons",2)(7,"cc-exclude-button",2),F()()),i&2){let e=t;E(),Pe((e==null||e.children==null?null:e.children.length)>0?1:-1),E(2),z("codeMapNode",e),E(),z("codeMapNode",e),E(),z("codeMapNode",e),E(),z("codeMapNode",e),E(),z("codeMapNode",e)}}var UZ=(()=>{class i{constructor(e){this.store=e}ngOnInit(){this.codeMapNode$=this.store.select(qg)}static{this.\u0275fac=function(n){return new(n||i)(se(Ie))}}static{this.\u0275cmp=re({type:i,selectors:[["cc-node-context-menu-card"]],decls:2,vars:3,consts:[["appearance","outlined","id","codemap-context-menu"],[1,"button-group"],[3,"codeMapNode"]],template:function(n,r){if(n&1&&(ke(0,cIe,8,6,"mat-card",0),fe(1,"async")),n&2){let o;Pe((o=_e(1,1,r.codeMapNode$))?0:-1,o)}},dependencies:[_c,FZ,gg,kZ,PZ,RZ,OZ,NZ,dt],styles:["#codemap-context-menu[_ngcontent-%COMP%]{padding:12px}#codemap-context-menu[_ngcontent-%COMP%] .button-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;width:100%}"]})}}return i})();var HZ=(()=>{class i{constructor(e,n){this.overlay=e,this.store=n,this.overlayReference=null,this.close=()=>{document.removeEventListener("click",this.onLeftClickHideNodeContextMenu,!0),document.removeEventListener("mousedown",this.onRightClickHideNodeContextMenu,!0),document.getElementById("codeMap").removeEventListener("wheel",this.close,!0),this.store.dispatch(El(null)),this.overlayReference&&this.resetOverlay()},this.onLeftClickHideNodeContextMenu=r=>{this.isEventFromColorPicker(r)||this.close()},this.onRightClickHideNodeContextMenu=r=>{r.button===2&&this.close()}}open(e,n){this.overlayReference&&this.resetOverlay();let r=this.overlay.position().flexibleConnectedTo({x:e,y:n}).withPositions([{originX:"end",originY:"bottom",overlayX:"start",overlayY:"top"}]);this.overlayReference=this.overlay.create({positionStrategy:r,scrollStrategy:this.overlay.scrollStrategies.close()}),this.overlayReference.attach(new jl(UZ)),this.overlayReference.overlayElement.addEventListener("contextmenu",o=>{o.preventDefault()}),document.addEventListener("click",this.onLeftClickHideNodeContextMenu,!1),document.addEventListener("mousedown",this.onRightClickHideNodeContextMenu,!0),document.getElementById("codeMap").addEventListener("wheel",this.close,!0)}resetOverlay(){this.overlayReference.dispose(),this.overlayReference=null}isEventFromColorPicker(e){return e.composedPath().some(r=>r?.nodeName==="CC-COLOR-PICKER"||r?.nodeName==="COLOR-CHROME")}static{this.\u0275fac=function(n){return new(n||i)(Me(eB),Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var VZ=(()=>{class i{constructor(e,n){this.actions$=e,this.nodeContextMenu=n,this.openNodeContextMenu$=Pi(()=>this.actions$.pipe(qr(El),Oi(r=>{r.value&&this.nodeContextMenu.open(r.value.xPositionOfRightClickEvent,r.value.yPositionOfRightClickEvent)})),{dispatch:!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(HZ))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var QZ=(()=>{class i{constructor(e){this.store=e,this.resetSelectedEdgeMetricWhenItDoesntExistAnymore$=Pi(()=>this.store.select(In).pipe(hr(this.store.select(Wo)),Yt(([n,r])=>!n.edgeMetricData.some(o=>o.name===r)),Et(([n])=>n.edgeMetricData[0]?.name),tl(),Et(n=>qo({value:n}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var zZ=[Dc,us,$s,sM,sg,wM,dg,Uo,zu,qu,vh,Tc,rg,bh,Ec,Mc,Sc,Cc,js,Ws,hs,Ma,_h,yh,xh,Bc,Fc,Ic,og,ag,kc];var qZ=[qs,fh,qo,Mo,Gs,ja,ad,ph,wc,Ah,gh,Go,mh,Gr,zo];var GZ=[uh,xc,hh,ng,iM,nM,YA,ZA,JA,eg,tg,yc,dh];var WZ=[[...GZ],[...zZ],[...qZ],[...Dy]].flat();var jZ=(()=>{class i{constructor(e,n){this.actions$=e,this.state=n,this.saveCcState$=Pi(()=>this.actions$.pipe(Yt(r=>r.type!==Rc.type),qr(...WZ),vs(500),Oi(()=>ft(this,null,function*(){let r=this.state.getValue();yield Nq(r)}))),{dispatch:!1})}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(bi))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var $Z=(()=>{class i{constructor(e,n){this.actions$=e,this.store=n,this.setIsLoadingFile$=Pi(()=>this.store.select(ir).pipe(Et(()=>Ya({value:!0})))),this.setIsLoadingMap$=Pi(()=>this.actions$.pipe(qr(...O2),Et(()=>ol({value:!0}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var XZ=(()=>{class i{constructor(e){this.store=e,this.resetIsEdgeMetricVisible$=Pi(()=>this.store.select(Wo).pipe(hr(this.store.select(Lg)),Yt(([,n])=>!n),Et(()=>bh())))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();function KZ(i,t){let e=new Map;if(i.length===1)return i[0].settings.fileSettings.edges;for(let n of i)if(n.settings.fileSettings.edges)for(let r of n.settings.fileSettings.edges){let o={fromNodeName:t?rm(n.fileMeta.fileName,r.fromNodeName):r.fromNodeName,toNodeName:t?rm(n.fileMeta.fileName,r.toNodeName):r.toNodeName,attributes:Po(r.attributes),visible:r.visible},a=e.get(`${o.fromNodeName}|${o.toNodeName}`);if(a!==void 0)for(let s of Object.keys(o.attributes))a.attributes[s]=o.attributes[s];else e.set(`${o.fromNodeName}|${o.toNodeName}`,o)}return[...e.values()]}function YZ(i,t){if(i.length===1)return i[0].settings.fileSettings.markedPackages;let e=new Map;for(let n of i)if(n.settings.fileSettings.markedPackages)for(let r of n.settings.fileSettings.markedPackages){let o={path:t?_w(n.fileMeta.fileName,r.path):r.path,color:r.color};e.set(`${o.path}|${o.color}`,o)}return[...e.values()]}function ZZ(i,t){let e=new Map;if(i.length===1)return i[0].settings.fileSettings.blacklist;for(let n of i)if(n.settings.fileSettings.blacklist)for(let r of n.settings.fileSettings.blacklist){let o={path:t?_w(n.fileMeta.fileName,r.path):r.path,type:r.type};e.set(`${o.path}|${o.type}`,o)}return[...e.values()]}function JZ(i){let t={},e={};for(let n of i){for(let r of Object.keys(n.nodes))t[r]||(t[r]=n.nodes[r]);for(let r of Object.keys(n.edges))e[r]||(e[r]=n.edges[r])}return{nodes:t,edges:e}}function eJ(i){let t={};for(let e of i)for(let n of Object.keys(e))t[n]||(t[n]=e[n]);return t}var tJ=(()=>{class i{constructor(e,n){this.store=e,this.state=n,this.updateFileSettings$=Pi(()=>this.store.select(ir).pipe(Et(()=>{let r=this.state.getValue(),o=NH(r.files),a=Aw(r.files),s=ir(r).map(({file:c})=>c.settings.fileSettings.attributeTypes),l=ir(r).map(({file:c})=>c.settings.fileSettings.attributeDescriptors);return ts({value:{fileSettings:{edges:KZ(o,a),markedPackages:YZ(o,a),blacklist:ZZ(o,a),attributeTypes:JZ(s),attributeDescriptors:eJ(l)}}})})))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie),Me(bi))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var iJ=(()=>{class i{constructor(e,n){this.store=e,this.state=n,this.updateMapColors$=Pi(()=>this.store.select(oa).pipe(Et(r=>{let o=this.state.getValue(),a=o.fileSettings.attributeDescriptors,s=o.appSettings.mapColors;if(a[r]?.direction===1){let l=JSON.parse(Ga(s)),c=l.negative;return l.negative=l.positive,l.positive=c,Uo({value:l})}return Uo({value:s??sa})})))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie),Me(bi))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var nJ=(()=>{class i{constructor(e,n){this.store=e,this.state=n,this.updateVisibleTopLabels$=Pi(()=>this.store.select(ir).pipe(rf(),hr(this.store.select(Sh)),Et(([[r,o],a])=>{let l=Ga(r)===Ga(o)?this.state.getValue().appSettings.amountOfTopLabels:fg(a);return Ma({value:l})})))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie),Me(bi))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var rJ=(()=>{class i{constructor(e,n){this.actions$=e,this.store=n,this.resetColorRange$=Pi(()=>this.actions$.pipe(qr(...Dy),hr(this.store.select(ir)),Do(()=>this.store.select(aa).pipe(ys(1),kn(1))),Et(r=>Mo({value:wm(r)})))),this.resetColorRangeOnColorMetricChange$=Pi(()=>this.actions$.pipe(qr(Gr),Do(()=>this.store.select(aa).pipe(kn(1))),Et(r=>Mo({value:wm(r)}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Jr),Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var oJ=(()=>{class i{constructor(e){this.store=e,this.updateShowLabels$=Pi(()=>this.store.select(Tg).pipe(hr(this.store.select(WS),this.store.select(GS)),Yt(([n,r,o])=>this.atLeastOneChecked(n)!==(r||o)),nf(([n,r,o])=>this.atLeastOneChecked(n)?[us({value:!0})]:[us({value:!1}),$s({value:!1})])))}atLeastOneChecked(e){return e.positive||e.negative||e.neutral}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var aJ=(()=>{class i{constructor(e){this.store=e,this.updateAmountOfEdgePreviews$=Pi(()=>this.store.select(T2).pipe(hr(this.store.select(Sg)),ys(1),Yt(([n,r])=>r>n||r===0),Et(([n,r])=>r===0?hs({value:wh}):hs({value:n}))))}static{this.\u0275fac=function(n){return new(n||i)(Me(Ie))}}static{this.\u0275prov=Ue({token:i,factory:i.\u0275fac})}}return i})();var sJ={providers:[MZ(),yT(xT()),l5(lW,{metaReducers:[cW]}),Wq([cZ,oS,aJ,VZ,uj,ej,rJ,iG,XZ,L2,EZ,nJ,oJ,TZ,QZ,tJ,$Z,jZ,$q,iJ]),{provide:yO,useFactory:i=>()=>i.synchronizeLocalCodeChartaVersion(),deps:[CZ],multi:!0}]};pT(lZ,sJ);
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/MaibornWolff/codecharta.git"
11
11
  },
12
12
  "name": "codecharta-visualization",
13
- "version": "0.0.0-staging-9882370",
13
+ "version": "0.0.0-staging-b45b852",
14
14
  "engines": {
15
15
  "node": ">=20"
16
16
  },