@porscheinformatik/clr-addons 18.0.0 → 18.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"clr-addons.mjs","sources":["../../../src/clr-addons/back-button/back-button.ts","../../../src/clr-addons/back-button/back-button.html","../../../src/clr-addons/back-button/back-button.module.ts","../../../src/clr-addons/back-button/index.ts","../../../src/clr-addons/breadcrumb/breadcrumb.service.ts","../../../src/clr-addons/breadcrumb/breadcrumb.ts","../../../src/clr-addons/breadcrumb/breadcrumb.html","../../../src/clr-addons/breadcrumb/breadcrumb.module.ts","../../../src/clr-addons/breadcrumb/breadcrumb-model.interface.ts","../../../src/clr-addons/breadcrumb/index.ts","../../../src/clr-addons/collapse-expand-section/collapse-expand-section.ts","../../../src/clr-addons/collapse-expand-section/collapse-expand-section.html","../../../src/clr-addons/collapse-expand-section/collapse-expand-section.module.ts","../../../src/clr-addons/collapse-expand-section/index.ts","../../../src/clr-addons/content-panel/content-panel.ts","../../../src/clr-addons/content-panel/content-panel.html","../../../src/clr-addons/content-panel/content-panel-container.ts","../../../src/clr-addons/content-panel/content-panel-container-content.ts","../../../src/clr-addons/content-panel/content-panel-container-footer.ts","../../../src/clr-addons/content-panel/content-panel.module.ts","../../../src/clr-addons/content-panel/index.ts","../../../src/clr-addons/data-list-validator/data-list.validator.ts","../../../src/clr-addons/data-list-validator/data-list-predefined-validator.directive.ts","../../../src/clr-addons/data-list-validator/data-list-validator.module.ts","../../../src/clr-addons/data-list-validator/index.ts","../../../src/clr-addons/date-time-container/date-time-container.ts","../../../src/clr-addons/date-time-container/time-input.ts","../../../src/clr-addons/date-time-container/date-time-module.ts","../../../src/clr-addons/date-time-container/index.ts","../../../src/clr-addons/dot-pager/dot-pager.ts","../../../src/clr-addons/dot-pager/dot-pager.html","../../../src/clr-addons/dot-pager/dot-pager.module.ts","../../../src/clr-addons/dot-pager/index.ts","../../../src/clr-addons/dropdown/clr-dropdown-overflow.directive.ts","../../../src/clr-addons/flow-bar/flow-bar.ts","../../../src/clr-addons/flow-bar/flow-bar.html","../../../src/clr-addons/dropdown/clr-dropdown-overflow.module.ts","../../../src/clr-addons/dropdown/index.ts","../../../src/clr-addons/flow-bar/flow-bar.module.ts","../../../src/clr-addons/flow-bar/index.ts","../../../src/clr-addons/generic-quick-list/generic-quick-list.ts","../../../src/clr-addons/generic-quick-list/generic-quick-list.html","../../../src/clr-addons/generic-quick-list/generic-quick-list.module.ts","../../../src/clr-addons/generic-quick-list/index.ts","../../../src/clr-addons/letter-avatar/letter-avatar.ts","../../../src/clr-addons/letter-avatar/letter-avatar.html","../../../src/clr-addons/letter-avatar/letter-avatar.module.ts","../../../src/clr-addons/letter-avatar/index.ts","../../../src/clr-addons/main-nav-group/main-nav-group-item.ts","../../../src/clr-addons/main-nav-group/main-nav-group.ts","../../../src/clr-addons/main-nav-group/main-nav-group.html","../../../src/clr-addons/main-nav-group/main-nav-group.module.ts","../../../src/clr-addons/main-nav-group/index.ts","../../../src/clr-addons/multilingual/multilingual-validators.ts","../../../src/clr-addons/abstract-form-component/control-id.service.ts","../../../src/clr-addons/abstract-form-component/abstract-form-component.ts","../../../src/clr-addons/multilingual/abstract-multilingual.ts","../../../src/clr-addons/multilingual/multilingual-selector.ts","../../../src/clr-addons/multilingual/multilingual-input/multilingual-input.ts","../../../src/clr-addons/multilingual/multilingual-input/multilingual-input.html","../../../src/clr-addons/multilingual/multilingual-textarea/multilingual-textarea.ts","../../../src/clr-addons/multilingual/multilingual-textarea/multilingual-textarea.html","../../../src/clr-addons/multilingual/multilingual.module.ts","../../../src/clr-addons/multilingual/index.ts","../../../src/clr-addons/notification/notification-ref.ts","../../../src/clr-addons/notification/scheduler-utils.ts","../../../src/clr-addons/notification/notification.ts","../../../src/clr-addons/notification/notification.html","../../../src/clr-addons/notification/notification.module.ts","../../../src/clr-addons/notification/notification.service.ts","../../../src/clr-addons/notification/index.ts","../../../src/clr-addons/numericfield/numeric-field.ts","../../../src/clr-addons/numericfield/numeric-field-validators.ts","../../../src/clr-addons/numericfield/numeric-field.module.ts","../../../src/clr-addons/numericfield/index.ts","../../../src/clr-addons/pager/pager.ts","../../../src/clr-addons/pager/pager.html","../../../src/clr-addons/paged-search-result-list/paged-search-result-list.ts","../../../src/clr-addons/paged-search-result-list/paged-search-result-list.html","../../../src/clr-addons/pager/pager.module.ts","../../../src/clr-addons/paged-search-result-list/paged-search-result-list.module.ts","../../../src/clr-addons/paged-search-result-list/index.ts","../../../src/clr-addons/pager/index.ts","../../../src/clr-addons/progress-spinner/progress-spinner.ts","../../../src/clr-addons/progress-spinner/progress-spinner.module.ts","../../../src/clr-addons/progress-spinner/index.ts","../../../src/clr-addons/quick-list/add-option.service.ts","../../../src/clr-addons/quick-list/add-option.ts","../../../src/clr-addons/quick-list/add-option.html","../../../src/clr-addons/quick-list/quick-list.ts","../../../src/clr-addons/quick-list/quick-list.html","../../../src/clr-addons/quick-list/quick-list.module.ts","../../../src/clr-addons/quick-list/index.ts","../../../src/clr-addons/searchfield/search-field.ts","../../../src/clr-addons/searchfield/search-field.module.ts","../../../src/clr-addons/searchfield/index.ts","../../../src/clr-addons/treetable/treetable-column.ts","../../../src/clr-addons/treetable/treetable-action-overflow.ts","../../../src/clr-addons/treetable/treetable-row.ts","../../../src/clr-addons/treetable/treetable-row.html","../../../src/clr-addons/treetable/treetable.ts","../../../src/clr-addons/treetable/treetable.html","../../../src/clr-addons/treetable/treetable-cell.ts","../../../src/clr-addons/treetable/treetable-placeholder.ts","../../../src/clr-addons/treetable/renderer/header-renderer.ts","../../../src/clr-addons/treetable/renderer/cell-renderer.ts","../../../src/clr-addons/treetable/renderer/row-renderer.ts","../../../src/clr-addons/treetable/renderer/main-renderer.ts","../../../src/clr-addons/treetable/treetable.module.ts","../../../src/clr-addons/treetable/index.ts","../../../src/clr-addons/view-edit-section/view-edit-section.ts","../../../src/clr-addons/view-edit-section/view-edit-section.html","../../../src/clr-addons/view-edit-section/view-edit-section.module.ts","../../../src/clr-addons/view-edit-section/index.ts","../../../src/clr-addons/history/history-model.interface.ts","../../../src/clr-addons/history/history.service.ts","../../../src/clr-addons/history/history.ts","../../../src/clr-addons/history/history.html","../../../src/clr-addons/history/history-pinned.ts","../../../src/clr-addons/history/history-pinned.html","../../../src/clr-addons/history/history.module.ts","../../../src/clr-addons/history/index.ts","../../../src/clr-addons/autocomplete-off/autocomplete-off.directive.ts","../../../src/clr-addons/autocomplete-off/autocomplete-off.module.ts","../../../src/clr-addons/icons/svg-tag-generator.ts","../../../src/clr-addons/icons/shapes.ts","../../../src/clr-addons/icons/index.ts","../../../src/clr-addons/brand-avatar/brand-avatar.ts","../../../src/clr-addons/brand-avatar/brand-avatar.html","../../../src/clr-addons/brand-avatar/brand-avatar.module.ts","../../../src/clr-addons/brand-avatar/index.ts","../../../src/clr-addons/location-bar/location-bar.model.ts","../../../src/clr-addons/location-bar/location-bar.provider.ts","../../../src/clr-addons/abstract-form-component/label.ts","../../../src/clr-addons/location-bar/location-bar-search/location-bar-search.component.ts","../../../src/clr-addons/location-bar/location-bar-search/location-bar-search.component.html","../../../src/clr-addons/location-bar/location-bar-node/location-bar-node.component.ts","../../../src/clr-addons/location-bar/location-bar-node/location-bar-node.component.html","../../../src/clr-addons/location-bar/location-bar.component.ts","../../../src/clr-addons/location-bar/location-bar.component.html","../../../src/clr-addons/abstract-form-component/form.module.ts","../../../src/clr-addons/location-bar/location-bar.module.ts","../../../src/clr-addons/datagrid/datagrid-state-persistence/datagrid-field.directive.ts","../../../src/clr-addons/datagrid/datagrid-state-persistence/state-persistence-key.directive.ts","../../../src/clr-addons/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.ts","../../../src/clr-addons/datagrid/datagrid-state-persistence/datagrid-state-persistence.module.ts","../../../src/clr-addons/datagrid/enum-filter/enum-filter.component.ts","../../../src/clr-addons/datagrid/enum-filter/enum-filter.component.html","../../../src/clr-addons/datagrid/enum-filter/enum-filter.module.ts","../../../src/clr-addons/datagrid/date-filter/nested-property.ts","../../../src/clr-addons/datagrid/date-filter/date-filter.component.ts","../../../src/clr-addons/datagrid/date-filter/date-filter.component.html","../../../src/clr-addons/datagrid/date-filter/date-filter.module.ts","../../../src/clr-addons/daterangepicker/daterange.constants.ts","../../../src/clr-addons/daterangepicker/models/day.model.ts","../../../src/clr-addons/daterangepicker/providers/opened-datepickers-tracker.service.ts","../../../src/clr-addons/daterangepicker/directives/datepicker/datepicker.component.ts","../../../src/clr-addons/daterangepicker/directives/datepicker/datepicker.component.html","../../../src/clr-addons/daterangepicker/models/popover-positions.model.ts","../../../src/clr-addons/daterangepicker/providers/daterange-control-state.service.ts","../../../src/clr-addons/daterangepicker/providers/daterange-parsing.service.ts","../../../src/clr-addons/daterangepicker/providers/daterange.service.ts","../../../src/clr-addons/daterangepicker/directives/abstract-container.component.ts","../../../src/clr-addons/daterangepicker/directives/daterangepicker/daterangepicker.directive.ts","../../../src/clr-addons/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.ts","../../../src/clr-addons/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.html","../../../src/clr-addons/daterangepicker/directives/if-daterange-error.directive.ts","../../../src/clr-addons/daterangepicker/validators/daterange-max.validator.ts","../../../src/clr-addons/daterangepicker/validators/daterange-min.validator.ts","../../../src/clr-addons/daterangepicker/validators/daterange-order.validator.ts","../../../src/clr-addons/daterangepicker/validators/daterange-required.validator.ts","../../../src/clr-addons/daterangepicker/daterangepicker.module.ts","../../../src/clr-addons/clr-control-warning/if-warning.directive.ts","../../../src/clr-addons/clr-control-warning/if-warning.module.ts","../../../src/clr-addons/clr-addons.module.ts","../../../src/clr-addons/util/escape.util.ts","../../../src/clr-addons/util/index.ts","../../../src/clr-addons/index.ts","../../../src/clr-addons/clr-addons.ts"],"sourcesContent":["/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { arrowIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(arrowIcon);\n\n@Component({\n selector: 'clr-back-button',\n templateUrl: './back-button.html',\n})\nexport class ClrBackButton {\n constructor(private location: Location) {}\n\n public back(): void {\n this.location.back();\n }\n}\n","<button type=\"button\" class=\"btn btn-icon btn-link back-button\" (click)=\"back()\">\n <cds-icon shape=\"arrow\" direction=\"left\" size=\"36\"></cds-icon>\n</button>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrBackButton } from './back-button';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrBackButton],\n exports: [ClrBackButton],\n})\nexport class ClrBackButtonModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './back-button';\nexport * from './back-button.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ClrBreadcrumbModel } from './breadcrumb-model.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ClrBreadcrumbService {\n breadcrumbChange: Subject<ClrBreadcrumbModel[]> = new Subject();\n\n updateBreadcrumb(breadcrumbElements: ClrBreadcrumbModel[]): void {\n this.breadcrumbChange.next(breadcrumbElements);\n }\n}\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, OnDestroy } from '@angular/core';\nimport { ClrBreadcrumbModel } from './breadcrumb-model.interface';\nimport { ClrBreadcrumbService } from './breadcrumb.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'clr-breadcrumb',\n templateUrl: './breadcrumb.html',\n})\nexport class ClrBreadcrumb implements OnDestroy {\n /**\n * The array of breadcrumb elements to be displayed.\n */\n breadcrumbElements: ClrBreadcrumbModel[] = [];\n destroyed = new Subject<void>();\n\n constructor(private breadcrumbService: ClrBreadcrumbService) {\n this.breadcrumbService.breadcrumbChange.pipe(takeUntil(this.destroyed)).subscribe(r => {\n this.breadcrumbElements = r;\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n","<nav aria-label=\"breadcrumb\" *ngIf=\"breadcrumbElements.length\">\n <ol class=\"breadcrumb\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbElements\">\n <li *ngIf=\"breadcrumbItem.url\" class=\"breadcrumb-item\">\n <a [routerLink]=\"breadcrumbItem.url\">{{breadcrumbItem.label}}</a>\n </li>\n <li *ngIf=\"!breadcrumbItem.url\" class=\"breadcrumb-item active\">{{breadcrumbItem.label}}</li>\n </ng-container>\n </ol>\n</nav>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrBreadcrumb } from './breadcrumb';\nimport { RouterModule } from '@angular/router';\nimport { ClrBreadcrumbService } from './breadcrumb.service';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, RouterModule],\n declarations: [ClrBreadcrumb],\n exports: [ClrBreadcrumb],\n providers: [ClrBreadcrumbService],\n})\nexport class ClrBreadcrumbModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport interface ClrBreadcrumbModel {\n /**\n * The label to be displayed.\n */\n label: string;\n\n /**\n * The url where the navigation goes.\n */\n url?: string;\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './breadcrumb';\nexport * from './breadcrumb.module';\nexport * from './breadcrumb-model.interface';\nexport * from './breadcrumb.service';\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-collapse-expand-section',\n templateUrl: './collapse-expand-section.html',\n animations: [\n trigger('collapseExpandAnimation', [\n transition(':enter', [\n style({ opacity: 0, height: 0, overflow: 'hidden' }),\n animate('300ms', style({ opacity: 1, height: '*' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '*', overflow: 'hidden' }),\n animate('300ms', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n trigger('rotateIcon', [\n state('true', style({ transform: 'rotate(0)' })),\n state('false', style({ transform: 'rotate(180deg)' })),\n transition('true => false', animate('300ms ease-out')),\n transition('false => true', animate('300ms ease-in')),\n ]),\n ],\n})\nexport class ClrCollapseExpandSection {\n @Input('clrIsCollapsed') isCollapsed = true;\n @Input('clrDisableHeaderStyles') disableHeaderStyles = false;\n\n // there is no suitable option to detect, if the the subtitle is available or not\n // see https://github.com/angular/angular/issues/26083\n @Input('clrDisableSubtitle') disableSubtitle = false;\n\n @Output('clrCollapsed') collapsed = new EventEmitter();\n @Output('clrExpanded') expanded = new EventEmitter();\n\n onCollapseExpand(): void {\n if (this.isCollapsed) {\n this.expanded.emit();\n } else {\n this.collapsed.emit();\n }\n\n this.isCollapsed = !this.isCollapsed;\n }\n}\n","<div class=\"ces\">\n <div class=\"ces-title\" [class.disabled-header-styles]=\"disableHeaderStyles\">\n <h2 *ngIf=\"!disableHeaderStyles; else title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </h2>\n <ng-template #title>\n <ng-content select=\"[clr-ces-title]\"></ng-content>\n <button type=\"button\" (click)=\"onCollapseExpand()\" class=\"btn btn-icon btn-link ces-caret-btn\">\n <cds-icon shape=\"angle\" direction=\"up\" size=\"28\" class=\"ces-caret-icon\" [@rotateIcon]=\"isCollapsed\"></cds-icon>\n </button>\n </ng-template>\n </div>\n <div class=\"ces-subtitle\" *ngIf=\"!disableSubtitle\">\n <h4 *ngIf=\"!disableHeaderStyles; else subtitle\">\n <ng-container *ngTemplateOutlet=\"subtitle\"></ng-container>\n </h4>\n <ng-template #subtitle>\n <ng-content select=\"[clr-ces-subtitle]\"></ng-content>\n </ng-template>\n </div>\n <div [@collapseExpandAnimation] *ngIf=\"!isCollapsed\">\n <ng-content select=\"[clr-ces-content]\"></ng-content>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrCollapseExpandSection } from './collapse-expand-section';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrCollapseExpandSection],\n exports: [ClrCollapseExpandSection],\n})\nexport class ClrCollapseExpandSectionModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './collapse-expand-section';\nexport * from './collapse-expand-section.module';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, Output } from '@angular/core';\nimport { ClarityIcons, timesIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(timesIcon);\n\n@Component({\n selector: 'clr-content-panel',\n templateUrl: './content-panel.html',\n animations: [\n trigger('slideIn', [\n transition(':enter', [style({ opacity: 0, width: 0 }), animate('0.2s', style({ opacity: 1, width: '*' }))]),\n transition(':leave', [style({ opacity: 1, width: '*' }), animate('0.2s', style({ opacity: 0, width: 0 }))]),\n ]),\n trigger('fade', [\n transition(':enter', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),\n transition(':leave', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),\n ]),\n ],\n host: {\n '[class.content-panel]': 'true',\n },\n})\nexport class ClrContentPanel {\n _open = false;\n\n @Output('clrOpened') opened: EventEmitter<any> = new EventEmitter();\n @Output('clrClosed') closed: EventEmitter<any> = new EventEmitter();\n\n public isOpen(): boolean {\n return this._open;\n }\n\n public open(): void {\n if (this._open) {\n return;\n }\n this._open = true;\n this.opened.emit();\n }\n\n public close(): void {\n if (!this._open) {\n return;\n }\n this._open = false;\n this.closed.emit();\n }\n\n public toggle(): void {\n if (this._open) {\n this.close();\n } else {\n this.open();\n }\n }\n\n resizeWindow(): void {\n // this event is used by the tree table to adjust the colomns width\n window.dispatchEvent(new Event('resize'));\n }\n}\n","<ng-container *ngIf=\"_open\">\n <div [@slideIn] class=\"content-panel-content-wrapper\" (@slideIn.done)=\"resizeWindow()\">\n <h3 class=\"content-panel-title\">\n <button type=\"button\" class=\"close content-panel-close-btn\" (click)=\"close()\">\n <cds-icon class=\"content-panel-close-icon\" shape=\"times\" size=\"36\"></cds-icon>\n </button>\n <ng-content select=\"[clr-content-panel-title]\"></ng-content>\n </h3>\n <ng-content select=\"[clr-content-panel-content]\"></ng-content>\n </div>\n <div [@fade] class=\"content-panel-backdrop\" (click)=\"close()\" (@fade.done)=\"resizeWindow()\"></div>\n</ng-container>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-content-panel-container',\n template: `\n <div class=\"content-panel-outer-wrapper\">\n <ng-content select=\"clr-content-panel-container-content\"></ng-content>\n <ng-content select=\"clr-content-panel-container-footer\"></ng-content>\n </div>\n <ng-content select=\"clr-content-panel\"></ng-content>\n `,\n host: {\n '[class.content-container]': 'true',\n '[class.content-panel-container]': 'true',\n },\n})\nexport class ClrContentPanelContainer {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-content-panel-container-content',\n template: ` <ng-content></ng-content> `,\n host: {\n '[class.content-area]': 'true',\n },\n})\nexport class ClrContentPanelContainerContent {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-content-panel-container-footer',\n template: ` <ng-content></ng-content> `,\n host: {\n '[class.content-area-footer]': 'true',\n },\n})\nexport class ClrContentPanelContainerFooter {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrContentPanel } from './content-panel';\nimport { ClrContentPanelContainer } from './content-panel-container';\nimport { ClrContentPanelContainerContent } from './content-panel-container-content';\nimport { ClrContentPanelContainerFooter } from './content-panel-container-footer';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [\n ClrContentPanel,\n ClrContentPanelContainer,\n ClrContentPanelContainerContent,\n ClrContentPanelContainerFooter,\n ],\n exports: [ClrContentPanel, ClrContentPanelContainer, ClrContentPanelContainerContent, ClrContentPanelContainerFooter],\n})\nexport class ClrContentPanelModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './content-panel';\nexport * from './content-panel-container';\nexport * from './content-panel-container-content';\nexport * from './content-panel-container-footer';\nexport * from './content-panel.module';\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n/**\n * Class to provide validators for the Clr Data List.\n */\nexport class ClrDataListValidators {\n /**\n * @description\n * Validator that requires the control's value to be found in a possible values array.\n * This prohibits the user from entering custom values.\n *\n * @usageNotes\n *\n * ### Validate against an array of possible values\n *\n * ```typescript\n * const control = new FormControl('1234', ClrDataListValidators.predefined(['ASDF', 'QWER']));\n *\n * console.log(control.errors); // {predefined: {predefined: ['ASDF', 'QWER'], actual: '1234'}}\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `predefined` property if the validation check fails, otherwise `null`.\n *\n */\n static predefined(possibleValues: string[]): ValidatorFn {\n const validatorFn: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (!control.value) {\n return null; // don't validate empty values to allow optional controls\n }\n const value: string = possibleValues.find(v => v === control.value);\n\n return !value ? { predefined: { predefined: possibleValues, actual: control.value } } : null;\n };\n return validatorFn;\n }\n}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Directive, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\nimport { ClrDataListValidators } from './data-list.validator';\n\n/**\n * Directive which validates data list values, to be used in template driven forms.\n * @see {@link ClrDataListValidators#predefined}\n */\n@Directive({\n selector: '[clrDataListPredefined]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrDataListPredefinedValidatorDirective, multi: true }],\n})\nexport class ClrDataListPredefinedValidatorDirective implements Validator {\n @Input() clrDataListPredefined: string[] = [];\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return ClrDataListValidators.predefined(this.clrDataListPredefined)(control);\n }\n}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrDataListPredefinedValidatorDirective } from './data-list-predefined-validator.directive';\n\n@NgModule({\n declarations: [ClrDataListPredefinedValidatorDirective],\n exports: [ClrDataListPredefinedValidatorDirective],\n})\nexport class ClrDataListValidatorModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './data-list.validator';\nexport * from './data-list-predefined-validator.directive';\nexport * from './data-list-validator.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewInit, Component, ElementRef, Renderer2, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'clr-date-time-container',\n template: `\n <ng-content select=\"clr-date-container\"></ng-content>\n\n <ng-template #timeInput>\n <div class=\"clr-input-wrapper\">\n <ng-content select=\"[clrTime]\"></ng-content>\n </div>\n </ng-template>\n `,\n host: {\n '[class.date-time-container]': 'true',\n },\n})\nexport class ClrDateTimeContainer implements AfterViewInit {\n @ViewChild('timeInput', { static: true }) timeInput: TemplateRef<any>;\n\n constructor(private renderer: Renderer2, private inputEl: ElementRef) {}\n\n ngAfterViewInit(): void {\n // Create the time input\n const timeInputElement = this.timeInput.createEmbeddedView(null).rootNodes[0];\n // Select the clr input wrapper of the date-container\n const inputWrapper = this.inputEl.nativeElement.querySelector('.clr-input-wrapper');\n // Append it as a child\n this.renderer.appendChild(inputWrapper, timeInputElement);\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[clrTime]',\n host: {\n '[class.clr-input]': 'true',\n },\n})\nexport class ClrTimeInput {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrFormsModule } from '@clr/angular';\n\nimport { ClrDateTimeContainer } from './date-time-container';\nimport { ClrTimeInput } from './time-input';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule],\n declarations: [ClrDateTimeContainer, ClrTimeInput],\n exports: [ClrDateTimeContainer, ClrTimeInput],\n})\nexport class ClrDateTimeModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './date-time-container';\nexport * from './date-time-module';\nexport * from './time-input';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'clr-dot-pager',\n templateUrl: './dot-pager.html',\n host: { '[class.dot-pager]': 'true' },\n})\nexport class ClrDotPager {\n uniqueName = Math.floor(Math.random() * 100000);\n @Output('clrCurrentPageChange') currentPageChange: EventEmitter<number> = new EventEmitter(false);\n\n /**\n * Page count, a value of 0 means no pagination\n */\n private _pages = 0;\n public get pages(): number {\n return this._pages;\n }\n\n @Input('clrPages')\n public set pages(pages: number) {\n this._pages = pages;\n }\n\n /**\n * Current page\n */\n private _currentPage = 0;\n public get currentPage(): number {\n return this._currentPage;\n }\n\n @Input('clrCurrentPage')\n public set currentPage(currentPage: number) {\n if (currentPage !== this._currentPage) {\n this._currentPage = currentPage;\n this.currentPageChange.emit(currentPage);\n }\n }\n\n pageArray(): any[] {\n return Array(this._pages);\n }\n}\n","<clr-radio-container *ngIf=\"pages > 0\" clrInline>\n <clr-radio-wrapper *ngFor=\"let a of pageArray(); let page = index\">\n <input clrRadio type=\"radio\" [value]=\"page+1\" [(ngModel)]=\"currentPage\" name=\"{{uniqueName}}\" />\n <label>&nbsp;</label>\n </clr-radio-wrapper>\n</clr-radio-container>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrDotPager } from './dot-pager';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrDotPager],\n exports: [ClrDotPager],\n})\nexport class ClrDotPagerModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './dot-pager';\nexport * from './dot-pager.module';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewChecked, ContentChildren, Directive, ElementRef, Input, OnDestroy, QueryList } from '@angular/core';\nimport { ClrDropdown } from '@clr/angular';\nimport { Subscription } from 'rxjs';\n\n@Directive({ selector: 'clr-dropdown-menu' })\nexport class ClrDropdownOverflowDirective implements AfterViewChecked, OnDestroy {\n @Input() clrDropdownMenuMaxHeight: string | number; // can be of px, rem, vh, or a number (which then is considered as px value)\n @Input() clrDropdownMenuItemMinHeight: string | number; // can be of px, rem, vh, or a number (which then is considered as px value)\n\n @Input()\n set clrMarginBottom(value: string | number) {\n this.marginBottomPx = this.convertToPixels(value);\n }\n\n @ContentChildren(ClrDropdown, { descendants: true }) private nestedDropdownChildren: QueryList<ClrDropdown>;\n\n public readonly defaultItemMinHeightRem = 1.5;\n\n private alreadyChecked = false;\n private marginBottomPx = 2;\n\n private nestedDropdownSubscription: Subscription;\n\n public constructor(private elRef: ElementRef) {}\n\n ngAfterViewChecked(): void {\n // first trigger manually because the subscription lower only triggers after first change\n if (!this.nestedDropdownChildren?.length) {\n this.applyDropdownOverflowStyles();\n }\n\n if (!this.nestedDropdownSubscription) {\n this.nestedDropdownSubscription = this.nestedDropdownChildren.changes.subscribe(\n (children: QueryList<ClrDropdown>) => {\n // if there are any nested dropdowns, our overflow fix prevents those from showing and needs to be removed\n if (!children?.length) {\n this.applyDropdownOverflowStyles();\n } else if (children?.length) {\n this.removeDropdownOverflowStyles();\n }\n }\n );\n }\n }\n\n ngOnDestroy(): void {\n this.nestedDropdownSubscription?.unsubscribe();\n }\n\n private applyDropdownOverflowStyles(): void {\n // the vertical position of our element in the current window\n const y = this.elRef.nativeElement.getBoundingClientRect().y;\n if (y !== 0 && !this.alreadyChecked) {\n const itemMinHeightPx = this.getItemMinHeight(this.clrDropdownMenuItemMinHeight);\n // see https://stackoverflow.com/questions/22754315/for-loop-for-htmlcollection-elements\n for (const item of this.getAllChildDropdownMenuItems()) {\n item.style.minHeight = itemMinHeightPx + 'px';\n }\n const height = window.innerHeight - y;\n const maxHeight = this.getMenuMaxHeight(this.clrDropdownMenuMaxHeight, height - this.marginBottomPx);\n this.elRef.nativeElement.style.maxHeight = maxHeight + 'px';\n\n this.elRef.nativeElement.style.overflowY = 'auto';\n this.alreadyChecked = true;\n }\n }\n\n private removeDropdownOverflowStyles(): void {\n for (const item of this.getAllChildDropdownMenuItems()) {\n item.style.minHeight = null;\n }\n\n this.elRef.nativeElement.style.maxHeight = null;\n this.elRef.nativeElement.style.overflowY = null;\n this.alreadyChecked = false;\n }\n\n private getAllChildDropdownMenuItems() {\n return this.elRef.nativeElement.getElementsByClassName('dropdown-item');\n }\n\n private getMenuMaxHeight(menuMaxHeightProvided: string | number, menuMaxHeightPx: number): number {\n if (menuMaxHeightProvided) {\n const maxHeightPx = this.convertToPixels(menuMaxHeightProvided);\n return maxHeightPx > menuMaxHeightPx ? menuMaxHeightPx : maxHeightPx;\n }\n return menuMaxHeightPx;\n }\n\n private getItemMinHeight(itemMinHeightProvided: string | number): number {\n if (itemMinHeightProvided) {\n return this.convertToPixels(itemMinHeightProvided);\n }\n return this.convertRemToPixels(this.defaultItemMinHeightRem);\n }\n\n private convertToPixels(value: string | number): number {\n if (typeof value === 'string') {\n if (value.endsWith('px')) {\n return parseFloat(value.replace('px', ''));\n } else if (value.endsWith('rem')) {\n return this.convertRemToPixels(parseFloat(value.replace('rem', '')));\n } else if (value.endsWith('vh')) {\n return this.convertVhToPixels(parseFloat(value.replace('vh', '')));\n }\n return parseFloat(value);\n }\n return value;\n }\n\n private convertRemToPixels(rem: number): number {\n return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);\n }\n\n private convertVhToPixels(vh: number): number {\n const pxPerVhUnit = window.innerHeight / 100;\n return vh * pxPerVhUnit;\n }\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon);\n\nexport interface ClrFlowBarStep {\n title: Observable<string>;\n enabled: boolean;\n activeSubStep?: ClrFlowBarStep;\n subSteps?: ClrFlowBarStep[];\n}\n\n@Component({\n selector: 'clr-flow-bar',\n templateUrl: './flow-bar.html',\n host: {\n '[class.flow-bar]': 'true',\n },\n})\nexport class ClrFlowBar implements OnInit {\n @Input('clrSteps') _steps: ClrFlowBarStep[] = [];\n @Input('clrActiveStep') _activeStep: ClrFlowBarStep;\n @Output('clrActiveStepChange') _activeStepChange: EventEmitter<ClrFlowBarStep> = new EventEmitter(false);\n\n ngOnInit(): void {\n // If no active step is set as input or the active step is not enabled, select the first enabled step\n if (!this._activeStep || !this._activeStep.enabled) {\n this._activeStep = this._steps.find(step => {\n return step.enabled;\n });\n if (this._activeStep) {\n // If sub steps exist then set the first non disabled sub step per default\n if (this.activeTabHasSubSteps()) {\n this._activeStep.activeSubStep = this._activeStep.subSteps.find(step => {\n return step.enabled;\n });\n }\n // Do async update here to avoid ExpressionChangedAfterItHasBeenCheckedError\n setTimeout(() => {\n this._activeStepChange.emit(this._activeStep);\n });\n }\n }\n }\n\n public changeActiveStep(step: ClrFlowBarStep): void {\n const previousIndex = this._steps.indexOf(this._activeStep);\n this._activeStep = step;\n if (this.activeTabHasSubSteps()) {\n if (previousIndex < this._steps.indexOf(this._activeStep)) {\n this._activeStep.activeSubStep = this._activeStep.subSteps[0];\n } else {\n this._activeStep.activeSubStep = this._activeStep.subSteps[this._activeStep.subSteps.length - 1];\n }\n }\n this._activeStepChange.emit(this._activeStep);\n }\n\n public changeActiveSubStep(subStep: ClrFlowBarStep): void {\n this._activeStep.activeSubStep = subStep;\n }\n\n public previous(): void {\n if (this.isPreviousAvailable()) {\n // If active step has no sub steps or first sub step is selected -> go to previous main step\n if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {\n this.changeActiveStep(this.findPreviousEnabledStep());\n } else {\n const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);\n this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex - 1];\n }\n }\n }\n\n public next(): void {\n if (this.isNextAvailable()) {\n // If active step has no sub steps or last sub step is selected -> go to next main step\n if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {\n this.changeActiveStep(this.findNextEnabledStep());\n } else {\n const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);\n this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex + 1];\n }\n }\n }\n\n public isPreviousAvailable(): boolean {\n if (this._activeStep) {\n if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {\n const index = this.getCurrentIndex();\n return index > 0 && this.isAnyPreviousStepEnabled(index);\n } else {\n return true;\n }\n }\n return false;\n }\n\n public isNextAvailable(): boolean {\n if (this._activeStep) {\n if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {\n const index = this.getCurrentIndex();\n return index < this._steps.length - 1 && this.isAnyFollowingStepEnabled(index);\n } else {\n return true;\n }\n }\n return false;\n }\n\n public isLastStep(): boolean {\n if (this.getCurrentIndex() === this._steps.length - 1) {\n if (this.activeTabHasSubSteps()) {\n return this.isLastSubStep();\n } else {\n return true;\n }\n }\n return false;\n }\n\n private getCurrentIndex(): number {\n return this._steps.findIndex(value => {\n return value === this._activeStep;\n });\n }\n\n // Convenience methods for easier to read code\n private activeTabHasSubSteps(): boolean {\n return this._activeStep.subSteps && this._activeStep.subSteps.length > 0;\n }\n\n private isFirstSubStep(): boolean {\n return this._activeStep.activeSubStep === this._activeStep.subSteps[0];\n }\n\n private isLastSubStep(): boolean {\n return this._activeStep.activeSubStep === this._activeStep.subSteps[this._activeStep.subSteps.length - 1];\n }\n\n private isAnyPreviousStepEnabled(index: number): boolean {\n return this._steps.slice(0, index).find(step => step.enabled) !== undefined;\n }\n\n private isAnyFollowingStepEnabled(index: number): boolean {\n return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled) !== undefined;\n }\n\n private findPreviousEnabledStep(): ClrFlowBarStep {\n const index = this.getCurrentIndex();\n return this._steps\n .slice(0, index)\n .reverse()\n .find(step => step.enabled);\n }\n\n private findNextEnabledStep(): ClrFlowBarStep {\n const index = this.getCurrentIndex();\n return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled);\n }\n}\n","<div class=\"flow-bar-wrapper\">\n <ng-container *ngFor=\"let step of _steps; let index = index; let last = last\">\n <div class=\"flow-bar-step\" [class.active]=\"step === _activeStep\">\n <button\n class=\"btn btn-link flow-bar-btn\"\n [disabled]=\"!step.enabled\"\n [class.active]=\"step === _activeStep\"\n (click)=\"changeActiveStep(step)\"\n >\n {{index + 1}}. {{(step.title | async)}}\n </button>\n <cds-icon shape=\"angle\" direction=\"right\" *ngIf=\"!last\"></cds-icon>\n </div>\n </ng-container>\n</div>\n<clr-dropdown class=\"flow-bar-dropdown clr-flex-fill\">\n <button type=\"button\" class=\"btn btn-outline-primary\" clrDropdownTrigger>\n {{_steps.indexOf(_activeStep) + 1}}. {{_activeStep?.title | async}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu>\n <ng-container *ngFor=\"let step of _steps; let index = index; let last = last\">\n <button clrDropdownItem type=\"button\" class=\"btn\" [disabled]=\"!step.enabled\" (click)=\"changeActiveStep(step)\">\n {{index + 1}}. {{step.title | async}}\n </button>\n </ng-container>\n </clr-dropdown-menu>\n</clr-dropdown>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrDropdownOverflowDirective } from './clr-dropdown-overflow.directive';\n\n@NgModule({\n declarations: [ClrDropdownOverflowDirective],\n exports: [ClrDropdownOverflowDirective],\n})\nexport class ClrDropdownOverflowModule {}\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './clr-dropdown-overflow.module';\nexport * from './clr-dropdown-overflow.directive';\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrFlowBar } from './flow-bar';\nimport { ClrDropdownOverflowModule } from '../dropdown';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule],\n declarations: [ClrFlowBar],\n exports: [ClrFlowBar],\n})\nexport class ClrFlowBarModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './flow-bar';\nexport * from './flow-bar.module';\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChildren,\n} from '@angular/core';\nimport { ClarityIcons, plusCircleIcon, trashIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(trashIcon, plusCircleIcon);\n\nexport interface ClrGenericQuickListItem {\n id: any;\n}\n\n@Component({\n selector: 'clr-generic-quick-list',\n host: { '[class.generic-quick-list]': 'true', '[class.clr-form-control]': 'true' },\n templateUrl: './generic-quick-list.html',\n})\nexport class ClrGenericQuickList<T extends ClrGenericQuickListItem> implements OnInit, AfterViewInit, OnDestroy {\n @Input('clrAllItems') allItems = [] as T[];\n @Input('clrAddLabel') addLabel = 'ADD (Translate me)';\n @Input('clrAddPossible') addPossible = true;\n @Input('clrBlankItem') blankItem = {} as any;\n @Input('clrControlClasses') controlClasses: string;\n @Input('clrMandatory') required = false;\n @Input() readonly: string;\n @Input() compactMode = false;\n\n @Output('clrAdded') added = new EventEmitter();\n @Output('clrRemoved') removed = new EventEmitter();\n\n @ContentChildren(TemplateRef) itemTemplate: QueryList<TemplateRef<any>>;\n @ViewChildren('row') itemRows: QueryList<ElementRef>;\n\n rowCountFocus: number;\n\n private timeout: NodeJS.Timeout;\n\n ngOnInit(): void {\n if (this.required && this.allItems.length === 0) {\n this.addItem();\n }\n }\n\n ngAfterViewInit(): void {\n this.timeout = setTimeout(() => this.setFocusOnAdd());\n }\n\n addItem(): void {\n const newItem = { ...this.blankItem };\n newItem.id = Math.ceil(Math.random() * 100000);\n this.allItems.push(newItem);\n this.added.emit(newItem);\n }\n\n removeItem(item: T): void {\n this.allItems.splice(this.allItems.indexOf(item), 1);\n this.removed.emit(item);\n }\n\n setFocusOnAdd(): void {\n this.rowCountFocus = this.itemRows.length;\n this.itemRows.changes.subscribe((els: QueryList<ElementRef>) => {\n if (els.length > this.rowCountFocus && !!els.last) {\n const firstFocusable = els.last.nativeElement.querySelector(\n \"button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])\"\n );\n if (firstFocusable) {\n // needed if the first focusable binds to focus attribute -> ExpressionHasChangedAfterItHasBeenChecked\n setTimeout(() => firstFocusable.focus());\n }\n }\n this.rowCountFocus = els.length;\n });\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.timeout);\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClrGenericQuickList } from './generic-quick-list';\nimport { ClarityModule } from '@clr/angular';\n\n@NgModule({\n imports: [CommonModule, ClarityModule],\n declarations: [ClrGenericQuickList],\n exports: [ClrGenericQuickList],\n})\nexport class ClrGenericQuickListModule {}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './generic-quick-list';\nexport * from './generic-quick-list.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Input, HostBinding, ViewChild, AfterViewInit, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'clr-letter-avatar',\n templateUrl: './letter-avatar.html',\n})\nexport class ClrLetterAvatar implements AfterViewInit {\n @HostBinding('class.clr-avatar') avatar = true;\n\n @Input('clrName') name: string;\n @Input('clrSize') size = 24;\n\n @ViewChild('avatar', { static: true }) avatarElement: ElementRef;\n\n constructor(private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.renderer.setStyle(this.avatarElement.nativeElement, 'width', this.size + 'px');\n this.renderer.setStyle(this.avatarElement.nativeElement, 'height', this.size + 'px');\n }\n\n getInitials(): string {\n if (this.name !== undefined) {\n return this.name.split(/\\s/).reduce((response, word) => {\n if (response.length < 2) {\n return (response += word.slice(0, 1));\n } else {\n return response;\n }\n }, '');\n } else {\n return '';\n }\n }\n}\n","<div class=\"avatar-circle\">\n <div #avatar class=\"avatar-initials\">{{getInitials()}}</div>\n</div>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrLetterAvatar } from './letter-avatar';\n\n@NgModule({\n imports: [CommonModule, ClarityModule],\n declarations: [ClrLetterAvatar],\n exports: [ClrLetterAvatar],\n})\nexport class ClrLetterAvatarModule {}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './letter-avatar';\nexport * from './letter-avatar.module';\n","import { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[clrMainNavGroupItem]',\n})\nexport class ClrMainNavGroupItem {\n constructor(private el: ElementRef<HTMLElement>, private renderer: Renderer2) {\n renderer.setAttribute(el.nativeElement, 'tabindex', '-1');\n }\n\n disabled = false;\n\n focus(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '0');\n this.el.nativeElement.focus();\n }\n blur(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');\n this.el.nativeElement.blur();\n }\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport {\n Component,\n ContentChildren,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport { ClrMainNavGroupItem } from './main-nav-group-item';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nlet instances = 0;\n\nenum ArrowKeyDirection {\n UP,\n DOWN,\n}\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-main-nav-group',\n templateUrl: './main-nav-group.html',\n host: { '[class.main-nav-group]': 'true' },\n})\nexport class ClrMainNavGroup implements OnInit, OnDestroy {\n @Input('clrTitle') title: string;\n\n prefix = 'mainNavGroup';\n id: number;\n protected el: ElementRef;\n protected renderer: Renderer2;\n private unlistenFuncs: { (): void }[] = [];\n private ignore: any;\n\n @ContentChildren(ClrMainNavGroupItem) items: QueryList<ClrMainNavGroupItem>;\n private currentFocusedId = 0;\n\n constructor(injector: Injector) {\n this.el = injector.get(ElementRef);\n this.renderer = injector.get(Renderer2);\n }\n\n ngOnInit(): void {\n this.id = ++instances;\n this.listenForCloseEvents();\n this.attachResizeListener();\n this.listenToArrowKeys();\n }\n\n ngOnDestroy(): void {\n this.detachListener();\n }\n\n onClick(event: MouseEvent): void {\n const input = document.getElementById(this.prefix + this.id) as HTMLInputElement;\n if ((event.target as HTMLElement).classList.contains('collapsible')) {\n // toggle hidden checkbox when clicking nav group div\n input.checked = !input.checked;\n if (input.checked) {\n this.focusFirstItemOnOpen();\n }\n }\n if (\n (event.target as HTMLElement).classList.contains('nav-trigger') ||\n (event.target as HTMLElement).parentElement.classList.contains('nav-trigger')\n ) {\n // '!checked' as the nav-trigger click comes before the update of the checkbox\n if (!input.checked) {\n this.focusFirstItemOnOpen();\n }\n }\n }\n\n isActive(): boolean {\n /* is active outside hamburger menu */\n return this.el.nativeElement.classList.contains('active') && !this.el.nativeElement.closest('.open-hamburger-menu');\n }\n\n isChecked(): boolean {\n /* expand to currently active menu inside hamburger menu */\n return this.el.nativeElement.classList.contains('active') && this.el.nativeElement.closest('.open-hamburger-menu');\n }\n\n private closeMenus(selector: string): void {\n selector = '.main-container:not(.open-hamburger-menu) ' + selector;\n const hiddenInputs: NodeListOf<HTMLInputElement> = document.querySelectorAll(selector);\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < hiddenInputs.length; i++) {\n hiddenInputs[i].checked = false;\n }\n }\n\n private listenForCloseEvents(): void {\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'click', event => {\n /* close other menus when opening this one */\n this.closeMenus('[id^=' + this.prefix + ']:not(#' + this.prefix + this.id + ')');\n if (!event.target.classList.contains('nav-link') || event.target.classList.contains('collapsible')) {\n if (event.target.closest('.open-hamburger-menu')) {\n // stop click handler for grouping items, otherwise hamburger menu gets closed\n event.stopPropagation();\n } else {\n // ignore even on document level for grouping items, otherwise menu gets closed right after it was opened\n this.ignore = event;\n }\n }\n })\n );\n\n this.unlistenFuncs.push(\n this.renderer.listen('document', 'click', event => {\n /* close menu when clicking anywhere in the document */\n if (this.ignore === event) {\n delete this.ignore;\n } else {\n this.closeMenus('#' + this.prefix + this.id);\n }\n })\n );\n\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.tab', () => {\n this.closeMenus('#' + this.prefix + this.id);\n })\n );\n\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.shift.tab', () => {\n this.closeMenus('#' + this.prefix + this.id);\n })\n );\n\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.esc', () => {\n this.closeMenus('#' + this.prefix + this.id);\n })\n );\n }\n\n private attachResizeListener(): void {\n this.unlistenFuncs.push(\n this.renderer.listen('window', 'resize', () => {\n /* when resizing window above 768, remove open-hamburger-menu when present */\n if (!window.matchMedia('(max-width: 992px)').matches) {\n const hamburgerMenu = this.el.nativeElement.closest('.open-hamburger-menu') as Element;\n if (hamburgerMenu) {\n hamburgerMenu.classList.remove('open-hamburger-menu');\n this.closeMenus('[id^=' + this.prefix + ']');\n }\n }\n })\n );\n }\n\n private detachListener(): void {\n this.unlistenFuncs.forEach((unlisten: () => void) => unlisten());\n }\n\n private listenToArrowKeys(): void {\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.arrowup', () => this.move(ArrowKeyDirection.UP))\n );\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.arrowdown', () => this.move(ArrowKeyDirection.DOWN))\n );\n }\n\n private move(direction: ArrowKeyDirection): void {\n if (!this.items || this.items.length <= 0) {\n return;\n }\n\n this.items.toArray()[this.currentFocusedId].blur();\n\n if (direction === ArrowKeyDirection.DOWN) {\n this.currentFocusedId = this.currentFocusedId >= this.items.length - 1 ? 0 : this.currentFocusedId + 1;\n } else if (direction === ArrowKeyDirection.UP) {\n this.currentFocusedId = this.currentFocusedId === 0 ? this.items.length - 1 : this.currentFocusedId - 1;\n }\n\n this.items.toArray()[this.currentFocusedId].focus();\n }\n\n private focusFirstItemOnOpen(): void {\n if (!this.items || this.items.length <= 0) {\n return;\n }\n this.items.forEach(item => item.blur());\n\n this.currentFocusedId = 0;\n setTimeout(() => this.items.toArray()[this.currentFocusedId].focus());\n }\n}\n","<section\n class=\"nav-link collapsible\"\n (click)=\"onClick($event)\"\n (keydown.enter)=\"onClick($event)\"\n (keydown.space)=\"onClick($event)\"\n [class.active]=\"isActive()\"\n tabindex=\"0\"\n>\n <input id=\"{{prefix}}{{id}}\" type=\"checkbox\" [checked]=\"isChecked()\" />\n <label class=\"nav-text nav-trigger\" for=\"{{prefix}}{{id}}\"\n >{{title}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </label>\n <div class=\"nav-list dropdown-menu\">\n <ng-content></ng-content>\n </div>\n</section>\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrMainNavGroup } from './main-nav-group';\nimport { ClrMainNavGroupItem } from './main-nav-group-item';\n\n@NgModule({\n imports: [CommonModule, RouterModule, ClarityModule],\n declarations: [ClrMainNavGroup, ClrMainNavGroupItem],\n exports: [ClrMainNavGroup, ClrMainNavGroupItem],\n})\nexport class ClrMainNavGroupModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './main-nav-group';\nexport * from './main-nav-group-item';\nexport * from './main-nav-group.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';\n\nexport class ClrMultilingualInputValidators {\n /**\n * @description\n * Validator that requires that at least one text is entered.\n *\n * @usageNotes\n * ```typescript\n * const control = new FormControl(this.data, ClrMultilingualInputValidators.requiredOne());\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `requiredOne` property if the validation check fails, otherwise `null`.\n */\n static requiredOne(): ValidatorFn {\n const validatorFn = (control: AbstractControl): ValidationErrors | null => {\n const texts = control.value as Map<string, string>;\n\n if (!texts) {\n return null;\n }\n\n for (const text of Array.from(texts.values())) {\n if (text) {\n return null;\n }\n }\n return { requiredOne: true };\n };\n\n return validatorFn;\n }\n\n /**\n * @description\n * Validator that requires that all texts are entered.\n *\n * @usageNotes\n * ```typescript\n * const control = new FormControl(this.data, ClrMultilingualInputValidators.requiredAll());\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `requiredAll` property if the validation check fails, otherwise `null`.\n */\n static requiredAll(): ValidatorFn {\n const validatorFn = (control: AbstractControl): ValidationErrors | null => {\n const texts = control.value as Map<string, string>;\n\n if (texts) {\n for (const text of Array.from(texts.values())) {\n if (!text) {\n return { requiredAll: true };\n }\n }\n }\n return null;\n };\n\n return validatorFn;\n }\n}\n\n@Directive({\n selector: '[clrRequiredOneMultilang]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrRequiredOneMultilang, multi: true }],\n})\nexport class ClrRequiredOneMultilang implements Validator {\n _active: boolean;\n\n @Input('clrRequiredOneMultilang')\n set active(active: boolean | string) {\n this._active = active != null && active !== false && `${active}` !== 'false';\n }\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return this._active ? ClrMultilingualInputValidators.requiredOne()(control) : null;\n }\n}\n\n@Directive({\n selector: '[clrRequiredAllMultilang]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrRequiredAllMultilang, multi: true }],\n})\nexport class ClrRequiredAllMultilang implements Validator {\n _active: boolean;\n\n @Input('clrRequiredAllMultilang')\n set active(active: boolean | string) {\n this._active = active != null && active !== false && `${active}` !== 'false';\n }\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return this._active ? ClrMultilingualInputValidators.requiredAll()(control) : null;\n }\n}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nlet counter = 0;\n\n@Injectable()\nexport class ControlIdService {\n private _id = 'clra-form-control-' + ++counter;\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value;\n this._idChange.next(value);\n }\n\n private _idChange: BehaviorSubject<string> = new BehaviorSubject(this._id);\n public get idChange(): Observable<string> {\n return this._idChange.asObservable();\n }\n}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewInit, Directive, HostBinding, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormControl, NgControl } from '@angular/forms';\nimport { ClrForm } from '@clr/angular';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ControlIdService } from './control-id.service';\n\nlet instanceCount = 0;\nlet origMarkAsTouched: () => void;\nconst markedAsTouch = new Subject<void>();\n\n@Directive()\nexport abstract class ClrAbstractFormComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {\n @HostBinding('class.clr-form-control') formControl = true;\n @HostBinding('class.clr-error') get showError() {\n return this.invalid && this.control.touched;\n }\n\n control: UntypedFormControl;\n inputId: string;\n disabled = false;\n invalid = false;\n destroyed = new Subject<void>();\n\n constructor(private injector: Injector) {\n instanceCount++;\n this.patchMarkAsTouched();\n }\n\n ngOnInit(): void {\n const controlIdService = this.injector.get(ControlIdService, null);\n if (controlIdService) {\n this.inputId = controlIdService.id;\n }\n }\n\n ngAfterViewInit(): void {\n // get the form control to know invalid state in angular\n const ngControl: NgControl = this.injector.get(NgControl, null);\n if (ngControl) {\n this.control = ngControl.control as UntypedFormControl;\n this.control.statusChanges.pipe(takeUntil(this.destroyed)).subscribe(status => {\n this.invalid = status === 'INVALID';\n });\n }\n\n markedAsTouch.pipe(takeUntil(this.destroyed)).subscribe(() => {\n this.control.markAsTouched();\n this.control.updateValueAndValidity();\n });\n }\n\n abstract writeValue(value: unknown): void;\n\n onChange = (_: unknown): void => {\n /* empty default */\n };\n\n registerOnChange(fn: (_: unknown) => void): void {\n this.onChange = fn;\n }\n\n onTouch = (): void => {\n /* empty default */\n };\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n instanceCount--;\n this.unpatchMarkAsTouched();\n }\n\n /**\n * Patch markAsTouched method of ClrForm to get recognized when touched programmatically.\n * No other way found to accomplish the same thing.\n */\n patchMarkAsTouched() {\n if (instanceCount === 1) {\n origMarkAsTouched = ClrForm.prototype.markAsTouched;\n ClrForm.prototype.markAsTouched = function () {\n markedAsTouch.next();\n origMarkAsTouched.call(this);\n };\n }\n }\n\n unpatchMarkAsTouched() {\n if (instanceCount === 0 && origMarkAsTouched) {\n ClrForm.prototype.markAsTouched = origMarkAsTouched;\n }\n }\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';\nimport { Directive, ElementRef, HostBinding, Injector, Input, ViewChild } from '@angular/core';\n\n@Directive()\nexport abstract class ClrMultilingualAbstract extends ClrAbstractFormComponent {\n @HostBinding('class.clr-multilingual') multi = true;\n\n @Input('clrControlClasses') controlClasses = 'clr-col-md-10';\n @Input('clrSelectedLang') selectedLang: string;\n @Input() readonly: string;\n @Input() maxlength: number;\n /** Show language selector when only one language provided */\n @Input('clrShowSingleLanguageSelector') showSingleLanguageSelector: boolean;\n\n @ViewChild('input') inputElement: ElementRef;\n\n texts: Map<string, string>;\n shownTexts: Map<string, string>;\n languages: string[];\n missingPrefix = '';\n fallbackLang: string;\n\n protected constructor(injector: Injector) {\n super(injector);\n }\n\n @Input('clrFallbackLang')\n set fallbackLanguage(fallbackLang: string) {\n this.fallbackLang = fallbackLang;\n this.updateShownTexts();\n }\n\n @Input('clrMissingPrefix')\n set missingPre(missingPrefix: string) {\n this.missingPrefix = missingPrefix;\n this.updateShownTexts();\n }\n\n @Input('clrLanguages')\n set langs(languages: string[]) {\n this.languages = languages;\n this.updateShownTexts();\n }\n\n writeValue(value: Map<string, string>): void {\n if (value) {\n this.texts = new Map(value);\n }\n this.updateShownTexts();\n }\n\n setText(key: string, value: string): void {\n this.texts.set(key, value);\n this.onChange(new Map(this.texts));\n this.updateShownTexts(key);\n }\n\n updateShownTexts(currentlyEditingLang?: string) {\n if (this.texts) {\n if (this.languages) {\n this.shownTexts = this.applyMissingPrefix(\n new Map(this.languages.map(lang => [lang, this.texts.get(lang) || ''])),\n currentlyEditingLang\n );\n } else {\n this.shownTexts = this.applyMissingPrefix(new Map(this.texts), currentlyEditingLang);\n }\n }\n }\n\n applyMissingPrefix(texts: Map<string, string>, currentlyEditingLang: string): Map<string, string> {\n if (!this.missingPrefix) {\n return texts;\n }\n\n let fallbackText = this.determineFallbackText();\n if (!fallbackText) {\n return texts;\n }\n fallbackText = this.missingPrefix + fallbackText;\n for (const lang of texts.keys()) {\n if (!texts.get(lang) && lang !== currentlyEditingLang) {\n texts.set(lang, fallbackText);\n } else if (lang === currentlyEditingLang && texts.get(lang).startsWith(this.missingPrefix)) {\n texts.set(lang, texts.get(lang).replace(this.missingPrefix, ''));\n }\n }\n return texts;\n }\n\n determineFallbackText(): string {\n const fallbackText = this.fallbackLang && this.texts.get(this.fallbackLang);\n if (fallbackText) {\n return fallbackText;\n }\n\n const languages = [...(this.languages || [])].sort();\n\n const nonEmptyTextFromShownTexts = languages.map(lang => this.texts.get(lang)).find(text => text);\n if (nonEmptyTextFromShownTexts) {\n return nonEmptyTextFromShownTexts;\n }\n\n const nonEmptyTextFromHiddenTexts = [...this.texts.keys()]\n .sort()\n .filter(lang => !languages.includes(lang))\n .map(lang => this.texts.get(lang))\n .find(text => text);\n if (nonEmptyTextFromHiddenTexts) {\n return nonEmptyTextFromHiddenTexts;\n }\n\n return undefined;\n }\n\n showLanguageSelector(): boolean {\n return this.shownTexts?.size > 1 || this.showSingleLanguageSelector;\n }\n\n changeLanguage(lang: string): void {\n // need as the click for closing the menu is registered on a single item\n // if the language change destroys it immediately, the click won't get fired\n setTimeout(() => {\n this.selectedLang = lang;\n this.inputElement.nativeElement.focus();\n });\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-multilingual-selector',\n template: `\n <div>\n <clr-dropdown [clrCloseMenuOnItemClick]=\"true\">\n <button\n type=\"button\"\n class=\"btn btn-outline btn-sm clr-multilingual-button\"\n clrDropdownTrigger\n [disabled]=\"disabled\"\n >\n {{ selectedLang }}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu *clrIfOpen>\n <ng-container *ngFor=\"let text of texts | keyvalue\">\n <div\n *ngIf=\"text.key !== selectedLang\"\n class=\"clr-multilingual-dd-entry\"\n clrDropdownItem\n (click)=\"selectedLangChange.emit(text.key)\"\n >\n <span class=\"label\">{{ text.key }}</span\n >{{ text.value }}\n </div>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n `,\n})\nexport class ClrMultilingualSelector {\n @Input() disabled: boolean;\n @Input() texts: Map<string, string>;\n @Input() selectedLang: string;\n @Output() selectedLangChange = new EventEmitter<string>();\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component, forwardRef, Injector } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ControlIdService } from '../../abstract-form-component/control-id.service';\nimport { ClrMultilingualAbstract } from '../abstract-multilingual';\nimport { ClarityIcons, exclamationCircleIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(exclamationCircleIcon);\n\n@Component({\n selector: 'clr-multilingual-input',\n templateUrl: './multilingual-input.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ClrMultilingualInput),\n multi: true,\n },\n ControlIdService,\n ],\n})\nexport class ClrMultilingualInput extends ClrMultilingualAbstract {\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-input-wrapper\">\n <input\n class=\"clr-input\"\n type=\"text\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n autocomplete=\"off\"\n [maxlength]=\"maxlength || null\"\n #input\n />\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component, forwardRef, Injector, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ControlIdService } from '../../abstract-form-component/control-id.service';\nimport { ClrMultilingualAbstract } from '../abstract-multilingual';\nimport { ClarityIcons, exclamationCircleIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(exclamationCircleIcon);\n\n@Component({\n selector: 'clr-multilingual-textarea',\n templateUrl: './multilingual-textarea.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ClrMultilingualTextarea),\n multi: true,\n },\n ControlIdService,\n ],\n})\nexport class ClrMultilingualTextarea extends ClrMultilingualAbstract {\n @Input() rows: number;\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-textarea-wrapper\">\n <textarea\n class=\"clr-textarea\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n [maxlength]=\"maxlength || null\"\n [rows]=\"rows || 1\"\n #input\n ></textarea>\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrRequiredAllMultilang, ClrRequiredOneMultilang } from './multilingual-validators';\nimport { ClrMultilingualInput } from './multilingual-input/multilingual-input';\nimport { ClrMultilingualTextarea } from './multilingual-textarea/multilingual-textarea';\nimport { ClrMultilingualSelector } from './multilingual-selector';\nimport { ClrDropdownOverflowModule } from '../dropdown';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule],\n declarations: [\n ClrMultilingualInput,\n ClrMultilingualTextarea,\n ClrRequiredOneMultilang,\n ClrRequiredAllMultilang,\n ClrMultilingualSelector,\n ],\n exports: [\n ClrMultilingualInput,\n ClrMultilingualTextarea,\n ClrRequiredOneMultilang,\n ClrRequiredAllMultilang,\n ClrMultilingualSelector,\n ],\n})\nexport class ClrMultilingualModule {}\n","/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './multilingual.module';\nexport * from './multilingual-validators';\nexport * from './multilingual-selector';\nexport * from './multilingual-input/multilingual-input';\nexport * from './multilingual-textarea/multilingual-textarea';\n","/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\nimport { ClrNotification } from './notification';\nimport { take } from 'rxjs/operators';\n\n/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\n/**\n * A reference to an active (currently opened) notification.\n *\n * @deprecated not used anymore.\n */\nexport class ClrActiveNotification {}\n\nexport class ClrContentRef {\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef<any>) {}\n}\n\n/**\n * A reference to a newly opened notification.\n */\nexport class ClrNotificationRef {\n private _resolve: (value?: unknown) => void;\n\n /**\n * A promise that is resolved when a notification is closed.\n */\n result: Promise<any>;\n\n constructor(private _notificationCmptRef: ComponentRef<ClrNotification>, private _contentRef: ClrContentRef) {\n _notificationCmptRef.instance.closed.pipe(take(1)).subscribe(() => {\n this.close();\n });\n\n this.result = new Promise(resolve => {\n this._resolve = resolve;\n });\n this.result.then(null);\n }\n\n /**\n * Can be used to close a notification\n */\n close(): void {\n if (this._notificationCmptRef) {\n this._resolve();\n this._removeModalElements();\n }\n }\n\n private _removeModalElements(): void {\n const notificationNativeEl = this._notificationCmptRef.location.nativeElement;\n notificationNativeEl.parentNode.removeChild(notificationNativeEl);\n this._notificationCmptRef.destroy();\n\n if (this._contentRef && this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._notificationCmptRef = null;\n this._contentRef = null;\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { asyncScheduler, interval, Observable, SchedulerLike, Subscription, timer } from 'rxjs';\nimport { NgZone } from '@angular/core';\nimport { observeOn } from 'rxjs/operators';\n\n/**\n * Scheduler that runs outside the angular zone\n */\nclass OutsideAngularZoneScheduler implements SchedulerLike {\n constructor(private zone: NgZone, private scheduler: SchedulerLike) {}\n\n now(): number {\n return this.scheduler.now();\n }\n\n schedule(...args: any[]): Subscription {\n // eslint-disable-next-line prefer-spread\n return this.zone.runOutsideAngular(() => this.scheduler.schedule.apply(this.scheduler, args));\n }\n}\n\n/**\n * Scheduler that runs inside the angular zone\n */\nclass InsideAngularZoneScheduler implements SchedulerLike {\n constructor(private zone: NgZone, private scheduler: SchedulerLike) {}\n\n now(): number {\n return this.scheduler.now();\n }\n\n schedule(...args: any[]): Subscription {\n // eslint-disable-next-line prefer-spread\n return this.zone.run(() => this.scheduler.schedule.apply(this.scheduler, args));\n }\n}\n\n/**\n * Runs a timer outside of the angular zone and executes the subscription inside the angular zone.\n */\nexport function zonedTimer(dueTime: number | Date, zone: NgZone): Observable<number> {\n return timer(dueTime, new OutsideAngularZoneScheduler(zone, asyncScheduler)).pipe(\n observeOn(new InsideAngularZoneScheduler(zone, asyncScheduler))\n );\n}\n\n/**\n * Runs a interval outside of the angular zone and executes the subscription inside the angular zone.\n */\nexport function zonedInterval(period: number, zone: NgZone): Observable<number> {\n return interval(period, new OutsideAngularZoneScheduler(zone, asyncScheduler)).pipe(\n observeOn(new InsideAngularZoneScheduler(zone, asyncScheduler))\n );\n}\n","/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, NgZone, OnInit, Output, ElementRef, ViewChild } from '@angular/core';\nimport { animate, style, transition, trigger, state } from '@angular/animations';\nimport { Subscription } from 'rxjs';\nimport { ClrAlert } from '@clr/angular';\nimport { zonedInterval, zonedTimer } from './scheduler-utils';\n\n@Component({\n selector: 'clr-notification',\n templateUrl: './notification.html',\n animations: [\n trigger('slideDown', [\n transition(':enter', [\n style({ transform: 'translateY(-200%)' }),\n animate('0.5s', style({ transform: 'translateY(0%)' })),\n ]),\n ]),\n trigger('move', [\n state('currentPosition', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),\n state('moveUp', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),\n state('moveDown', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),\n transition('* => moveDown', animate('0.3s')),\n transition('* => moveUp', animate('0.3s')),\n ]),\n trigger('fade', [\n state('fadeOut', style({ transform: 'translateY({{absolute}}px)', opacity: 0 }), { params: { absolute: '0' } }),\n transition('* => fadeOut', animate('0.3s')),\n ]),\n ],\n host: {\n '[class.notification]': 'true',\n },\n})\nexport class ClrNotification implements OnInit {\n @ViewChild(ClrAlert, { static: true }) clrAlert: ClrAlert;\n progressStatus = 0;\n\n private step = 100;\n private startTime: number;\n state: any;\n private timer: Subscription;\n private interval: Subscription;\n\n private _translate = 0;\n get translate(): number {\n return this._translate;\n }\n\n private _height = 0;\n get height(): number {\n return this._height + 10;\n }\n\n private _heightInitalized: (value?: unknown) => void;\n heightInitalized = new Promise(resolve => {\n this._heightInitalized = resolve;\n });\n\n @Input() timeout = 2000;\n @Input() notificationType = 'info'; // \"info\", \"warning\", \"success\" and \"danger\"\n @Input() dismissable = false;\n @Input() progressbar = false;\n\n @Output() closed: EventEmitter<any> = new EventEmitter();\n\n constructor(private elementRef: ElementRef, private ngZone: NgZone) {}\n\n ngOnInit(): void {\n zonedTimer(0, this.ngZone).subscribe(() => {\n this._height = this.elementRef.nativeElement.children[0].offsetHeight;\n this._heightInitalized();\n });\n\n if (this.timeout > 0) {\n if (this.progressbar) {\n this.startTime = new Date().getTime();\n this.interval = zonedInterval(this.timeout / (this.timeout / this.step), this.ngZone).subscribe(() =>\n this.updateProgressStatus()\n );\n }\n\n this.timer = zonedTimer(this.timeout, this.ngZone).subscribe(() => this.close());\n }\n }\n\n public updateProgressStatus(): void {\n this.progressStatus = new Date().getTime() - this.startTime;\n }\n\n public close(): void {\n if (this.interval) {\n this.interval.unsubscribe();\n }\n if (this.timer) {\n this.timer.unsubscribe();\n }\n this.clrAlert._closed = false;\n this.state = { value: 'fadeOut', params: { absolute: this._translate } };\n zonedTimer(300, this.ngZone).subscribe(() => this.closed.emit());\n }\n\n public moveDown(translateValue: number): void {\n this._translate += translateValue;\n this.state = { value: 'moveDown', params: { absolute: this._translate } };\n this.setCurrentPosition();\n }\n\n public moveUp(translateValue: number): void {\n this._translate -= translateValue;\n this.state = { value: 'moveUp', params: { absolute: this._translate } };\n this.setCurrentPosition();\n }\n\n private setCurrentPosition(): void {\n zonedTimer(300, this.ngZone).subscribe(\n () => (this.state = { value: 'currentPosition', params: { absolute: this._translate } })\n );\n }\n}\n","<div class=\"notification__wrapper\" [@slideDown] [@move]=\"state\" [@fade]=\"state\">\n <div class=\"progress top\" [ngClass]=\"notificationType\" *ngIf=\"progressbar && timeout > 0\">\n <progress class=\"progress\" [max]=\"timeout\" [value]=\"progressStatus\"></progress>\n </div>\n <clr-alert\n [clrAlertType]=\"notificationType\"\n [clrAlertAppLevel]=\"true\"\n [clrAlertClosable]=\"dismissable\"\n (clrAlertClosedChange)=\"close()\"\n >\n <div class=\"alert-item\">\n <span class=\"alert-text\">\n <ng-content select=\"[clr-notification-message]\"></ng-content>\n </span>\n </div>\n </clr-alert>\n</div>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrNotification } from './notification';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrNotification],\n})\nexport class ClrNotificationModule {}\n","/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Inject,\n Injectable,\n Injector,\n TemplateRef,\n} from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport { ClrNotification } from './notification';\nimport { ClrContentRef, ClrNotificationRef } from './notification-ref';\n\nexport interface ClrNotificationOptions {\n timeout?: number;\n notificationType?: string;\n dismissable?: boolean;\n progressbar?: boolean;\n /* If your notification is a ng-template with variables, the variables must be set in the ngTemplateOutletContext */\n ngTemplateOutletContext?: Record<string, unknown>;\n}\n\n@Injectable()\nexport class ClrNotificationService {\n private elements = new Set<ClrNotification>();\n\n constructor(\n private _injector: Injector,\n private _applicationRef: ApplicationRef,\n private _componentFactoryResolver: ComponentFactoryResolver,\n @Inject(DOCUMENT) private _document: Document\n ) {}\n\n openNotification(content: TemplateRef<unknown> | string, options: ClrNotificationOptions = {}): ClrNotificationRef {\n const contentRef = this._getContentRef(content, options);\n const notificationCmptRef: ComponentRef<ClrNotification> = this._attachWindowComponent(\n this._document.body,\n contentRef\n );\n const notificationRef: ClrNotificationRef = new ClrNotificationRef(notificationCmptRef, contentRef);\n\n this._applyWindowOptions(notificationCmptRef.instance, options);\n notificationCmptRef.instance.closed\n .pipe(take(1))\n .subscribe(this._afterClose.bind(this, notificationCmptRef.instance));\n\n notificationCmptRef.instance.heightInitalized.then(() =>\n this.elements.forEach(el => {\n if (el !== notificationCmptRef.instance) {\n el.moveDown(notificationCmptRef.instance.height);\n }\n })\n );\n this.elements.add(notificationCmptRef.instance);\n\n return notificationRef;\n }\n\n private _afterClose(notification: ClrNotification): void {\n this.elements.delete(notification);\n\n this.elements.forEach(el => {\n if (el.translate > notification.translate) {\n el.moveUp(notification.height);\n }\n });\n }\n\n private _getContentRef(content: TemplateRef<unknown> | string, options: ClrNotificationOptions): ClrContentRef {\n if (content instanceof TemplateRef) {\n return this._createFromTemplateRef(content, options.ngTemplateOutletContext);\n } else if (typeof content === 'string') {\n return this._createFromString(content);\n }\n\n return new ClrContentRef([]);\n }\n\n private _createFromTemplateRef(content: TemplateRef<unknown>, context: Record<string, unknown>): ClrContentRef {\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ClrContentRef([viewRef.rootNodes], viewRef);\n }\n\n private _createFromString(content: string): ClrContentRef {\n const component = this._document.createTextNode(`${content}`);\n return new ClrContentRef([[component]]);\n }\n\n private _attachWindowComponent(containerEl: HTMLElement, contentRef: ClrContentRef): ComponentRef<ClrNotification> {\n const containerFactory = this._componentFactoryResolver.resolveComponentFactory(ClrNotification);\n const containerCmptRef = containerFactory.create(this._injector, contentRef.nodes);\n this._applicationRef.attachView(containerCmptRef.hostView);\n containerEl.appendChild(containerCmptRef.location.nativeElement);\n return containerCmptRef;\n }\n\n private _applyWindowOptions(notificationInstance: ClrNotification, options: ClrNotificationOptions): void {\n if (options.timeout != undefined && options.timeout != null) {\n notificationInstance.timeout = options.timeout;\n }\n if (options.notificationType != undefined && options.notificationType != null) {\n notificationInstance.notificationType = options.notificationType;\n }\n if (options.dismissable != undefined && options.dismissable != null) {\n notificationInstance.dismissable = options.dismissable;\n }\n if (options.progressbar != undefined && options.progressbar != null) {\n notificationInstance.progressbar = options.progressbar;\n }\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './notification-ref';\nexport * from './notification';\nexport * from './notification.module';\nexport * from './notification.service';\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterViewChecked,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst NEGATIVE = '-';\nconst BACK_KEYCODE = 8;\nconst DEL_KEYCODE = 46;\nconst CONTROL_KEYCODES_UPPER_BORDER = 46;\nconst OTHER_CONTROL_KEYS = new Set([224, 91, 93]);\nconst NUMBERS = new Set(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']);\n\n@Directive({\n selector: '[clrNumeric]',\n host: {\n '[class.text-right]': 'textAlign === \"right\"',\n '(change)': 'onChange(getValueForFormControl())',\n '(input)': 'onChange(getValueForFormControl())',\n '(blur)': 'onTouched()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ClrNumericField),\n multi: true,\n },\n ],\n})\nexport class ClrNumericField implements OnInit, OnDestroy, AfterViewChecked, ControlValueAccessor {\n @Input('clrTextAlign') textAlign = 'right';\n @Input('clrDecimalPlaces') decimalPlaces = 2;\n @Input('clrRoundDisplayValue') roundValue = false;\n @Input('clrAutofillDecimals') autofillDecimals = false;\n @Input('clrDecimalSep') decimalSeparator = ',';\n @Input('clrGroupingSep') groupingSeparator = '.';\n @Input('clrUnitPosition') unitPosition = 'right';\n @Output('clrNumericValueChange') numericValueChanged = new EventEmitter<number>();\n\n private displayValue = '';\n private originalValue = NaN;\n private _numericValue: number;\n private _unit: string = null;\n private inputChangeListener: () => void;\n private keyupListener: () => void;\n private keydownListener: () => void;\n\n @Input('clrNumericValue')\n set numericValue(value: number) {\n if (this._numericValue !== value && !(isNaN(this._numericValue) && (isNaN(value) || value === null))) {\n this.originalValue = value;\n this._numericValue = this.roundOrTruncate(value);\n this.handleInputChanged();\n }\n }\n\n @Input('clrUnit')\n set unit(value: string) {\n if (value != this._unit) {\n this._unit = value;\n if (this.unitSpan != null) {\n this.unitSpan.innerHTML = '';\n const newUnitText = this.renderer.createText(value);\n this.renderer.appendChild(this.unitSpan, newUnitText);\n }\n }\n }\n\n private unitSpan: HTMLSpanElement;\n private allowedKeys = new Set(NUMBERS);\n\n /* Control Values Accessor Stuff below */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange = (_: number): void => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = (): void => {};\n\n registerOnChange(fn: (_: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.renderer.setProperty(this.inputEl.nativeElement, 'disabled', isDisabled);\n }\n\n writeValue(value: number): void {\n this.numericValue = value;\n }\n\n constructor(private renderer: Renderer2, private inputEl: ElementRef) {}\n\n ngOnInit(): void {\n /* needs to be parsed as number explicitly as it comes as string from user input */\n this.decimalPlaces = Number.parseInt(this.decimalPlaces.toString(), 10);\n this.allowedKeys.add(NEGATIVE);\n this.allowedKeys.add(this.decimalSeparator);\n\n this.inputChangeListener = this.renderer.listen(this.inputEl.nativeElement, 'blur', event => {\n this.formatInput(event.target, true);\n });\n\n this.keyupListener = this.renderer.listen(this.inputEl.nativeElement, 'keyup', event => {\n if (\n event.keyCode === BACK_KEYCODE ||\n (event.keyCode >= CONTROL_KEYCODES_UPPER_BORDER && !OTHER_CONTROL_KEYS.has(event.keyCode))\n ) {\n this.formatInput(event.target, false);\n }\n });\n\n this.keydownListener = this.renderer.listen(this.inputEl.nativeElement, 'keydown', event => {\n const value: string = event.target.value;\n if (\n this.allowedKeys.has(event.key) ||\n (event.keyCode <= CONTROL_KEYCODES_UPPER_BORDER && event.keyCode > 0) ||\n event.metaKey ||\n event.ctrlKey ||\n event.altKey\n ) {\n /* allow negative sign only as first character and none exists outside of text selection */\n const indexNegativeSign = value.indexOf(NEGATIVE);\n if (\n event.key === NEGATIVE &&\n (event.target.selectionStart > 0 || indexNegativeSign > -1) &&\n (event.target.selectionStart === event.target.selectionEnd ||\n !(indexNegativeSign >= event.target.selectionStart && indexNegativeSign <= event.target.selectionEnd))\n ) {\n return false;\n }\n\n /* no duplicate decimal separators */\n const indexDecimalSep = value.indexOf(this.decimalSeparator);\n if (\n event.key === this.decimalSeparator &&\n (indexDecimalSep > -1 || this.decimalPlaces === 0) &&\n (event.target.selectionStart === event.target.selectionEnd ||\n !(indexDecimalSep >= event.target.selectionStart && indexDecimalSep <= event.target.selectionEnd))\n ) {\n return false;\n }\n\n /* prevent too many decimal places */\n if (\n NUMBERS.has(event.key) &&\n indexDecimalSep > -1 &&\n indexDecimalSep < event.target.selectionStart &&\n event.target.selectionStart === event.target.selectionEnd &&\n value.length > indexDecimalSep + this.decimalPlaces\n ) {\n return false;\n }\n\n /* when deleting thousand separator, remove the digit before or after it */\n const cursorStart = event.target.selectionStart;\n\n if (cursorStart === event.target.selectionEnd) {\n if (event.keyCode === BACK_KEYCODE && value.substr(cursorStart - 1, 1) === this.groupingSeparator) {\n event.target.value = value.substring(0, cursorStart - 2) + value.substring(cursorStart - 1, value.length);\n event.target.selectionStart = event.target.selectionEnd = cursorStart - 1;\n return false;\n } else if (event.keyCode === DEL_KEYCODE && value.substr(cursorStart, 1) === this.groupingSeparator) {\n event.target.value = value.substring(0, cursorStart + 1) + value.substring(cursorStart + 2, value.length);\n event.target.selectionStart = event.target.selectionEnd = cursorStart + 1;\n return false;\n }\n }\n this.originalValue = NaN;\n } else {\n return false;\n }\n return true;\n });\n }\n\n ngOnDestroy(): void {\n this.detachListener();\n }\n\n ngAfterViewChecked(): void {\n this.injectUnitSymbol();\n }\n\n handleInputChanged(): void {\n this.updateInput(\n this.formatNumber(this._numericValue.toString().replace(new RegExp('[.]', 'g'), this.decimalSeparator), true),\n true\n );\n }\n\n formatInput(element: HTMLInputElement, finalFormatting: boolean): void {\n const cursorPos = element.selectionStart;\n const length = element.value.length;\n const setCursor = this.displayValue !== element.value;\n this.updateInput(this.formatNumber(element.value, finalFormatting), false);\n if (setCursor) {\n element.selectionStart = element.selectionEnd = Math.max(cursorPos + element.value.length - length, 0);\n }\n }\n\n formatNumber(value: string, finalFormatting: boolean): string {\n let result = this.strip(value, finalFormatting);\n\n /* add grouping separator */\n const decimalIndex = result.indexOf(this.decimalSeparator);\n const isNegative = result[0] === NEGATIVE;\n let i = decimalIndex > -1 ? decimalIndex : result.length;\n while (i > (isNegative ? 4 : 3)) {\n i -= 3;\n result = result.substring(0, i) + this.groupingSeparator + result.substring(i, result.length);\n }\n\n if (finalFormatting) {\n if (this.decimalPlaces > 0 && !!result) {\n /* autofill decimal places */\n let actualDecimalIndex = result.indexOf(this.decimalSeparator);\n if (this.autofillDecimals) {\n if (actualDecimalIndex === -1) {\n actualDecimalIndex = result.length;\n result += this.decimalSeparator;\n }\n\n result = this.addMissingLeadingZero(result, actualDecimalIndex);\n actualDecimalIndex = result.indexOf(this.decimalSeparator);\n\n const actualDecimalPlaces = result.length - actualDecimalIndex - 1;\n for (let j = 0; j < this.decimalPlaces - actualDecimalPlaces; j++) {\n result += '0';\n }\n } else {\n result = this.addMissingLeadingZero(result, actualDecimalIndex);\n }\n }\n }\n\n return result;\n }\n\n addMissingLeadingZero(result: string, actualDecimalIndex: number): string {\n const isNegative = result[0] === NEGATIVE;\n /* autoadd a zero before decimal separator, when it's missing */\n if (actualDecimalIndex === 0) {\n result = '0' + result;\n }\n /* autoadd a zero before decimal separator, when it's missing, for negative values */\n if (actualDecimalIndex === 1 && isNegative) {\n result = result[0] + '0' + result.substring(1, result.length);\n }\n return result;\n }\n\n strip(value: string, removeLeadingZeros = false): string {\n let result = '';\n let indexDecimalSep = -1;\n let j = -1;\n let ignoredChars = 0;\n for (const char of value) {\n j++;\n if (this.allowedKeys.has(char)) {\n if (char === this.decimalSeparator) {\n if (this.decimalPlaces === 0) {\n /* dismiss content after a decimal separator, when no places allowed */\n break;\n } else if (indexDecimalSep > -1) {\n /* ignore subsequent decimal separators */\n continue;\n }\n indexDecimalSep = j;\n }\n if (char === '0' && removeLeadingZeros) {\n /* remove leading zero only if it's not the only zero in the 'value' string */\n if ((result.length === 0 && j + 1 !== value.length) || result === NEGATIVE) {\n ignoredChars++;\n continue;\n }\n }\n if (char === NEGATIVE && j > 0) {\n /* dismiss content after a negative sign not on first position */\n break;\n }\n if (indexDecimalSep > -1 && result.length + ignoredChars > indexDecimalSep + this.decimalPlaces) {\n /* dismiss content after maximum decimal places reached */\n break;\n }\n result += char;\n } else if (char === this.groupingSeparator) {\n if (indexDecimalSep === -1) {\n ignoredChars++;\n }\n } else {\n /* dismiss content after a invalid character */\n break;\n }\n }\n\n return result;\n }\n\n updateInput(value: string, updateAsync: boolean): void {\n this.displayValue = value;\n this.inputEl.nativeElement.value = value;\n this._numericValue = parseFloat(this.strip(value).replace(this.decimalSeparator, '.'));\n if (this._numericValue !== this.roundOrTruncate(this.originalValue)) {\n this.originalValue = this._numericValue;\n if (updateAsync) {\n // Call in setTimeout to avoid Expression has changed after it has been checked error.\n // This happens for example if the initial input has more decimal places than allowed\n setTimeout(() => this.numericValueChanged.emit(this._numericValue));\n } else {\n this.numericValueChanged.emit(this._numericValue);\n }\n }\n }\n\n public getValueForFormControl(): number {\n this.formatInput(this.inputEl.nativeElement, false);\n if (isNaN(this._numericValue)) {\n // Return undefined instead of NaN to support the default required validator.\n return undefined;\n }\n return this._numericValue;\n }\n\n private injectUnitSymbol(): void {\n // Need to inject the unit symbol when the input element width is set to its actual value,\n // otherwise the icon wont show in the correct position\n if (!!this._unit && !this.unitSpan && this.inputEl.nativeElement.offsetWidth !== 0) {\n // Get the input wrapper and apply necessary styles\n const inputWrapper = this.inputEl.nativeElement.parentNode;\n this.renderer.addClass(inputWrapper, 'numeric-input-wrapper');\n\n // Create the span with unit symbol and apply necessary styles\n if (!this.unitSpan) {\n this.unitSpan = this.renderer.createElement('span');\n this.renderer.addClass(this.unitSpan, 'unit');\n const unitSymbol = this.renderer.createText(this._unit);\n this.renderer.appendChild(this.unitSpan, unitSymbol);\n this.renderer.appendChild(inputWrapper, this.unitSpan);\n }\n\n // Add padding to the input element, depending on the width of the unit symbol + 12px\n const paddingOnInput = this.unitSpan.offsetWidth + 12;\n if (this.unitPosition === 'left') {\n this.renderer.addClass(this.unitSpan, 'unit-left');\n this.renderer.setStyle(this.inputEl.nativeElement, 'padding-left', paddingOnInput + 'px');\n } else {\n this.renderer.addClass(this.unitSpan, 'unit-right');\n this.renderer.setStyle(this.inputEl.nativeElement, 'padding-right', paddingOnInput + 'px');\n }\n }\n }\n\n private detachListener(): void {\n if (this.inputChangeListener) {\n this.inputChangeListener();\n delete this.inputChangeListener;\n }\n if (this.keydownListener) {\n this.keydownListener();\n delete this.keydownListener;\n }\n if (this.keyupListener) {\n this.keyupListener();\n delete this.keyupListener;\n }\n }\n\n private roundOrTruncate(value: number): number {\n const method = this.roundValue ? 'round' : value < 0 ? 'ceil' : 'floor';\n // 16 is the highest precision before numbers have weird behaviour. see https://stackoverflow.com/q/21472828/15120942\n return Math[method](+(value * Math.pow(10, this.decimalPlaces)).toPrecision(15)) / Math.pow(10, this.decimalPlaces);\n }\n}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AbstractControl, ValidationErrors, ValidatorFn, NG_VALIDATORS, Validator } from '@angular/forms';\nimport { Directive, Input } from '@angular/core';\n\nfunction isEmptyInputValue(value: any): boolean {\n // we don't check for string here so it also works with arrays\n return value == null || value.length === 0;\n}\n\n// TODO maybe create directives for it aswell? to not only support reactive forms?\nexport class ClrNumericFieldValidators {\n /**\n * @description\n * Validator that requires the control's value to be greater than or equal to the provided number.\n * The validator exists only as a function and not as a directive.\n *\n * @usageNotes\n *\n * ### Validate against a minimum of 3\n *\n * ```typescript\n * const control = new FormControl(2, ClrNumericFieldValidators.min(3, '.', ','));\n *\n * console.log(control.errors); // {min: {min: 3, actual: 2}}\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `min` property if the validation check fails, otherwise `null`.\n *\n */\n static min(min: number, groupingSeparator = '.', decimalSeparator = ','): ValidatorFn {\n const validatorFn: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value) || isEmptyInputValue(min)) {\n return null; // don't validate empty values to allow optional controls\n }\n const value: number = this.parseInputString(control.value, groupingSeparator, decimalSeparator);\n // Controls with NaN values after parsing should be treated as not having a\n // minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min\n return !isNaN(value) && value < min ? { min: { min: min, actual: value } } : null;\n };\n return validatorFn;\n }\n\n /**\n * @description\n * Validator that requires the control's value to be less than or equal to the provided number.\n * The validator exists only as a function and not as a directive.\n *\n * @usageNotes\n *\n * ### Validate against a maximum of 15\n *\n * ```typescript\n * const control = new FormControl(16, ClrNumericFieldValidators.max(15, '.', ','));\n *\n * console.log(control.errors); // {max: {max: 15, actual: 16}}\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `max` property if the validation check fails, otherwise `null`.\n *\n */\n static max(max: number, groupingSeparator = '.', decimalSeparator = ','): ValidatorFn {\n const validatorFn: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value) || isEmptyInputValue(max)) {\n return null; // don't validate empty values to allow optional controls\n }\n const value: number = this.parseInputString(control.value, groupingSeparator, decimalSeparator);\n // Controls with NaN values after parsing should be treated as not having a\n // minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min\n return !isNaN(value) && value > max ? { max: { max: max, actual: value } } : null;\n };\n return validatorFn;\n }\n\n private static parseInputString(value: string, groupingSeparator: string, decimalSeparator: string): number {\n if (typeof value !== 'string') {\n return parseFloat(value);\n }\n const notGroupedNumber: string = value.replace(new RegExp('[' + groupingSeparator + ']', 'g'), '');\n const formattedNumber: string = notGroupedNumber.replace(new RegExp('[' + decimalSeparator + ']', 'g'), '.');\n return parseFloat(formattedNumber);\n }\n}\n\n@Directive({\n selector: '[clrMaxNumeric]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrMaxNumeric, multi: true }],\n})\nexport class ClrMaxNumeric implements Validator {\n @Input('clrMaxNumeric') _max: number;\n @Input('clrGroupingSep') _groupingSep = '.';\n @Input('clrDecimalSep') _decimalSep = ',';\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return ClrNumericFieldValidators.max(this._max, this._groupingSep, this._decimalSep)(control);\n }\n}\n\n@Directive({\n selector: '[clrMinNumeric]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrMinNumeric, multi: true }],\n})\nexport class ClrMinNumeric implements Validator {\n @Input('clrMinNumeric') _min: number;\n @Input('clrGroupingSep') _groupingSep = '.';\n @Input('clrDecimalSep') _decimalSep = ',';\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return ClrNumericFieldValidators.min(this._min, this._groupingSep, this._decimalSep)(control);\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrFormsModule } from '@clr/angular';\n\nimport { ClrNumericField } from './numeric-field';\nimport { ClrMaxNumeric, ClrMinNumeric } from './numeric-field-validators';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule],\n declarations: [ClrNumericField, ClrMaxNumeric, ClrMinNumeric],\n exports: [ClrNumericField, ClrMaxNumeric, ClrMinNumeric],\n})\nexport class ClrNumericFieldModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './numeric-field';\nexport * from './numeric-field.module';\nexport * from './numeric-field-validators';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n/**\n * Custom pager component because clarity's pager component can only be used inside a data grid.\n * Currently a requested feature, see here: https://github.com/vmware/clarity/issues/2268\n * In this issue it is mentioned that a button group is a suitable replacement until the pager component is released.\n */\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-pager',\n templateUrl: './pager.html',\n host: { '[class.pager]': 'true' },\n})\nexport class ClrPager {\n @Output('clrPageChange') pageChange: EventEmitter<any> = new EventEmitter(false);\n\n /**\n * Page size, a value of 0 means no pagination\n */\n private _pageSize = 0;\n public get pageSize(): number {\n return this._pageSize;\n }\n\n @Input('clrPageSize')\n public set pageSize(size: number) {\n const oldSize = this._pageSize;\n if (size !== oldSize) {\n this._pageSize = size;\n if (size === 0) {\n this._page = 1;\n } else {\n // Yeap. That's the formula to keep the first item from the old page still\n // displayed in the new one.\n this._page = Math.floor((oldSize / size) * (this._page - 1)) + 1;\n }\n // We always emit an event even if the current page index didn't change, because\n // the size changing means the items inside the page are different\n this.pageChange.emit(this._page);\n }\n }\n\n /**\n * Total items (needed to guess the last page)\n */\n private _totalItems = 0;\n public get totalItems(): number {\n return this._totalItems;\n }\n\n @Input('clrTotalItems')\n public set totalItems(total: number) {\n this._totalItems = total;\n // If we have less items than before, we might need to change the current page\n if (this.page > this.last) {\n this.page = this.last;\n }\n }\n\n /**\n * Last page\n */\n private _last: number;\n public get last(): number {\n if (this._last) {\n return this._last;\n }\n // If the last page isn't known, we compute it from the last item's index\n if (this.pageSize > 0 && this.totalItems) {\n return Math.ceil(this.totalItems / this.pageSize);\n }\n return 1;\n }\n\n @Input('clrLast')\n public set last(page: number) {\n this._last = page;\n }\n\n /**\n * Current page\n */\n private _page = 1;\n public get page(): number {\n return this._page;\n }\n\n @Input('clrPage')\n public set page(page: number) {\n if (page !== this._page) {\n this._page = page;\n this.pageChange.emit(page);\n }\n }\n\n /**\n * Moves to the previous page if it exists\n */\n public previous(): void {\n if (this.page > 1) {\n this.page--;\n }\n }\n\n /**\n * Moves to the next page if it exists\n */\n public next(): void {\n if (this.page < this.last) {\n this.page++;\n }\n }\n\n /**\n * Conditionally adds page numbers before and after the current page\n */\n public get middlePages(): number[] {\n const middlePages: number[] = [];\n if (this.page > 1) {\n middlePages.push(this.page - 1);\n }\n middlePages.push(this.page);\n if (this.page < this.last) {\n middlePages.push(this.page + 1);\n }\n return middlePages;\n }\n}\n","<div class=\"btn-group\" *ngIf=\"last > 1\">\n <button class=\"btn pagination-previous\" (click)=\"previous()\" [disabled]=\"page == 1\">\n <cds-icon shape=\"angle\" direction=\"left\"></cds-icon>\n </button>\n <button *ngIf=\"page > 2\" class=\"btn\" (click)=\"page = 1\">1</button>\n <button *ngIf=\"page > 3\" class=\"btn\" disabled>...</button>\n\n <ng-container *ngFor=\"let pageNum of middlePages\">\n <button *ngIf=\"pageNum !== page; else activePage\" class=\"btn\" (click)=\"page = pageNum\">{{pageNum}}</button>\n <ng-template #activePage>\n <button class=\"btn btn-primary\" type=\"button\">{{pageNum}}</button>\n </ng-template>\n </ng-container>\n\n <button *ngIf=\"page < last - 2\" class=\"btn\" disabled>...</button>\n <button *ngIf=\"page < last - 1\" class=\"btn\" (click)=\"page = last\">{{last}}</button>\n <button class=\"btn pagination-next\" (click)=\"next()\" [disabled]=\"page == last\">\n <cds-icon shape=\"angle\" direction=\"right\"></cds-icon>\n </button>\n</div>\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'clr-paged-search-result-list',\n templateUrl: './paged-search-result-list.html',\n})\nexport class ClrPagedSearchResultList {\n /**\n * The page size, used for pagination.\n */\n @Input('clrPageSize') pageSize: number;\n\n /**\n * The page size options, used for changing the size of the page.\n */\n @Input('clrPageSizeOptions') pageSizeOptions?: number[];\n\n /**\n * Page size label.\n */\n @Input('clrPageSizeLabel') pageSizeLabel: string = 'Results per page (Translate me)';\n\n /**\n * The current page, used for pagination.\n */\n @Input('clrPage') currentPage: number;\n\n /**\n * Number of total items, used for pagination.\n */\n @Input('clrTotalItems') totalItems: number;\n\n /**\n * The array of items to be displayed.\n */\n @Input('clrItems') items: Array<any>;\n\n /**\n * The template how each item should be displayed.\n */\n @ContentChild(TemplateRef, { static: true })\n itemTemplate: TemplateRef<any>;\n\n /**\n * The position of the pager\n */\n @Input('clrPagerPosition') clrPagerPosition = 'bottom';\n\n /**\n * Triggered whenever a page change occurs.\n */\n @Output('clrPageChange') pageChange: EventEmitter<any> = new EventEmitter();\n\n /**\n * Triggered whenever a page size change occurs.\n */\n @Output('clrPageSizeChange') pageSizeChange: EventEmitter<number> = new EventEmitter();\n}\n","<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrPager } from './pager';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrPager],\n exports: [ClrPager],\n})\nexport class ClrPagerModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrPagedSearchResultList } from './paged-search-result-list';\nimport { ClrPagerModule } from '../pager/pager.module';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule, ClrPagerModule],\n declarations: [ClrPagedSearchResultList],\n exports: [ClrPagedSearchResultList],\n})\nexport class ClrPagedSearchResultListModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './paged-search-result-list';\nexport * from './paged-search-result-list.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './pager';\nexport * from './pager.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { ChangeDetectorRef, Component, Input, OnDestroy } from '@angular/core';\n\n@Component({\n selector: 'clr-progress-spinner',\n template: `\n <ng-container *ngIf=\"_showSpinner\">\n <span [class]=\"'spinner-' + size + ' spinner'\"></span>\n <span>&nbsp;<ng-content></ng-content></span>\n </ng-container>\n `,\n host: {\n '[class.progress-spinner-overlay]': '_showSpinner',\n },\n})\nexport class ClrProgressSpinnerComponent implements OnDestroy {\n private static readonly MINIMUM_VISIBLE_DURATION = 200;\n private startTimestamp: number;\n private hideTimeout: any;\n\n @Input('clrSize') size = 'sm';\n\n _showSpinner: boolean;\n\n @Input('clrShowSpinner')\n set showSpinner(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n clearTimeout(this.hideTimeout);\n }\n\n private show(): void {\n clearTimeout(this.hideTimeout);\n this._showSpinner = true;\n this.startTimestamp = new Date().getTime();\n }\n\n private hide(): void {\n this.hideTimeout = setTimeout(() => {\n this.startTimestamp = undefined;\n this._showSpinner = false;\n this.changeDetectorRef.markForCheck();\n }, this.getRemainingVisibleTime());\n }\n\n private getRemainingVisibleTime(): number {\n return Math.max(0, ClrProgressSpinnerComponent.MINIMUM_VISIBLE_DURATION - this.getVisibleTime());\n }\n\n private getVisibleTime(): number {\n if (!this.startTimestamp) {\n return 0;\n } else {\n return new Date().getTime() - this.startTimestamp;\n }\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClrProgressSpinnerComponent } from './progress-spinner';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ClrProgressSpinnerComponent],\n exports: [ClrProgressSpinnerComponent],\n})\nexport class ClrProgressSpinnerModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './progress-spinner';\nexport * from './progress-spinner.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport interface ClrQuickListValue<T> {\n id: string;\n label?: string;\n value: T;\n}\n\nexport const CLR_BLANK_OPTION: ClrQuickListValue<any> = { id: '-BLANK-', label: '- Select an option -', value: null };\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { ClrQuickListValue } from './add-option.service';\nimport { ClarityIcons, plusCircleIcon, trashIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(trashIcon, plusCircleIcon);\n\n@Component({\n selector: 'clr-add-option',\n templateUrl: './add-option.html',\n host: { '[class.quick-list-option]': 'true' },\n})\nexport class ClrAddOption<T> {\n @Input() blankOption: ClrQuickListValue<T>;\n @Input() value: ClrQuickListValue<T>;\n @Input() mandatory = false;\n @Input() allValues: Array<ClrQuickListValue<T>> = [];\n @Input() excludedValues: Array<ClrQuickListValue<T>> = [];\n @Input() readonly: string;\n @Input() disabled = false;\n @Input() disableAddButton = true;\n @Input() showAddButton = false;\n\n @Output() valueChanged = new EventEmitter<ClrQuickListValue<T>>();\n @Output() remove = new EventEmitter<void>();\n @Output() add = new EventEmitter<void>();\n\n @ViewChild('select', { static: false }) select: ElementRef;\n\n set selectedValue(id: string) {\n this.value = this.allValues.find(val => val.id === id);\n this.valueChanged.emit(this.value);\n }\n\n get selectedValue(): string {\n return this.value.id;\n }\n\n getValues(): ClrQuickListValue<T>[] {\n const excludedIds = this.excludedValues.filter(val => val.id !== this.value.id).map(val => val.id);\n return this.allValues.filter(val => !excludedIds.includes(val.id));\n }\n\n trashDisabled(): boolean {\n return this.mandatory && this.excludedValues.length === 1;\n }\n\n focusComponent(): void {\n if (this.select) {\n (this.select.nativeElement as HTMLInputElement).focus();\n }\n }\n}\n","<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n [disabled]=\"disableAddButton\"\n>\n <cds-icon shape=\"plus-circle\"></cds-icon>\n</button>\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, forwardRef, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\nimport { CLR_BLANK_OPTION, ClrQuickListValue } from './add-option.service';\nimport { ClrAddOption } from './add-option';\nimport { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClarityIcons, plusCircleIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(plusCircleIcon);\n\n@Component({\n selector: 'clr-quick-list',\n host: { '[class.quick-list]': 'true' },\n templateUrl: './quick-list.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ClrQuickList),\n multi: true,\n },\n ],\n})\nexport class ClrQuickList<T> extends ClrAbstractFormComponent implements OnInit {\n @Input('clrBlankOption') blankOption: ClrQuickListValue<T> = CLR_BLANK_OPTION;\n @Input('clrAllValues') allValues: ClrQuickListValue<T>[] = [this.blankOption];\n @Input('clrMandatory') mandatory = false;\n @Input('clrValues') values: ClrQuickListValue<T>[] = [];\n @Input('clrAddLabel') addLabel = 'ADD';\n @Input('clrControlClasses') controlClasses = 'clr-col-md-10';\n @Input() readonly: string;\n @Input() compactMode = false;\n @Output('clrValuesChanged') valuesChanged = new EventEmitter<ClrQuickListValue<T>[]>();\n @Output('clrEmptyOptionAdded') emptyOptionAdded = new EventEmitter<void>();\n\n @ViewChildren(ClrAddOption) options: QueryList<ClrAddOption<T>>;\n\n ngOnInit(): void {\n if (this.values.length === 0) {\n this.values.push(...this.getEmptyValues());\n }\n }\n\n writeValue(value: ClrQuickListValue<T>[]): void {\n this.values = value?.length ? [...value] : this.getEmptyValues();\n }\n\n getEmptyValues(): ClrQuickListValue<T>[] {\n return this.mandatory ? [this.blankOption] : [];\n }\n\n onValueChanged(value: ClrQuickListValue<T>, i: number): void {\n if (value) {\n this.values[i] = value;\n this.emitValueChanged();\n this.focusOption(value);\n }\n }\n\n onRemoveValue(i: number): void {\n this.values.splice(i, 1);\n this.emitValueChanged();\n }\n\n addBlankOption(): void {\n if (!this.hasBlankOption()) {\n this.values.push(this.blankOption);\n this.emitValueChanged();\n this.emptyOptionAdded.emit();\n this.focusOption(this.blankOption);\n }\n }\n\n emitValueChanged(): void {\n this.valuesChanged.emit(this.values);\n this.onChange(this.values);\n }\n\n focusOption(option: ClrQuickListValue<T>): void {\n setTimeout(() => {\n const opt = this.options.find(o => o.value.id === option.id);\n if (opt) {\n opt.focusComponent();\n }\n });\n }\n\n hasBlankOption(): boolean {\n return this.values.map(val => val.id).includes(this.blankOption.id);\n }\n\n addNotPossible(): boolean {\n return this.hasBlankOption() || this.values.length === this.allValues.length;\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [disableAddButton]=\"addNotPossible() || disabled\"\n [showAddButton]=\"compactMode && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClrQuickList } from './quick-list';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrFormsModule } from '@clr/angular';\nimport { ClrAddOption } from './add-option';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ClarityModule, ClrFormsModule],\n declarations: [ClrQuickList, ClrAddOption],\n exports: [ClrQuickList],\n})\nexport class ClrQuickListModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './quick-list';\nexport * from './quick-list.module';\nexport * from './add-option.service';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewInit, Directive, ElementRef, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ClarityIcons, searchIcon, timesIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(timesIcon, searchIcon);\n\n@Directive({\n selector: '[clrSearch]',\n host: { '[class.search-input]': 'true' },\n})\nexport class ClrSearchField implements OnInit, OnDestroy, AfterViewInit {\n private keyupListener: () => void;\n\n private deleteSymbol: HTMLElement;\n private deleteButton: HTMLElement;\n private searchSymbol: HTMLElement;\n\n destroyed = new Subject<void>();\n\n constructor(private renderer: Renderer2, private inputEl: ElementRef, @Optional() private ngControl: NgControl) {}\n\n ngOnInit(): void {\n this.setHasValueClass(!!this.inputEl.nativeElement.value);\n\n // use angular form control for change detection and input listener as fallback\n if (this.ngControl) {\n this.ngControl.valueChanges.pipe(takeUntil(this.destroyed)).subscribe(value => this.setHasValueClass(!!value));\n } else {\n this.keyupListener = this.renderer.listen(this.inputEl.nativeElement, 'input', event =>\n this.setHasValueClass(!!event.target.value)\n );\n }\n }\n\n ngAfterViewInit(): void {\n this.addClassToWrapper(this.inputEl.nativeElement.parentNode);\n this.injectSearchIcon();\n this.injectDeleteIcon();\n }\n\n ngOnDestroy(): void {\n this.detachListener();\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n clearSearchInput(): void {\n this.renderer.setProperty(this.inputEl.nativeElement, 'value', '');\n this.setHasValueClass(false);\n const event = document.createEvent('Event');\n event.initEvent('input', false, false);\n this.inputEl.nativeElement.dispatchEvent(event);\n }\n\n private setHasValueClass(active: boolean): void {\n if (active) {\n this.renderer.addClass(this.inputEl.nativeElement.parentNode, 'has-value');\n } else {\n this.renderer.removeClass(this.inputEl.nativeElement.parentNode, 'has-value');\n }\n }\n\n private injectDeleteIcon(): void {\n // Get the input wrapper and apply necessary styles\n const inputWrapper = this.inputEl.nativeElement.parentNode;\n\n if (!this.deleteSymbol) {\n this.deleteButton = this.renderer.createElement('button');\n this.renderer.setAttribute(this.deleteButton, 'type', 'button');\n this.renderer.addClass(this.deleteButton, 'btn');\n this.renderer.addClass(this.deleteButton, 'btn-link');\n this.renderer.addClass(this.deleteButton, 'btn-icon');\n this.renderer.addClass(this.deleteButton, 'delete-button');\n this.deleteButton.addEventListener('click', () => this.clearSearchInput());\n\n this.deleteSymbol = this.renderer.createElement('cds-icon');\n this.renderer.setAttribute(this.deleteSymbol, 'shape', 'times');\n this.renderer.appendChild(this.deleteButton, this.deleteSymbol);\n this.renderer.appendChild(inputWrapper, this.deleteButton);\n }\n }\n\n private injectSearchIcon(): void {\n const inputWrapper = this.inputEl.nativeElement.parentNode;\n\n // Create the icon and apply necessary styles\n if (!this.searchSymbol) {\n this.searchSymbol = this.renderer.createElement('cds-icon');\n this.renderer.addClass(this.searchSymbol, 'search-symbol');\n this.renderer.setAttribute(this.searchSymbol, 'shape', 'search');\n this.renderer.insertBefore(inputWrapper, this.searchSymbol, this.inputEl.nativeElement);\n }\n }\n\n private addClassToWrapper(inputWrapper: any): void {\n this.renderer.addClass(inputWrapper, 'search-input-wrapper');\n }\n\n private detachListener(): void {\n if (this.keyupListener) {\n this.keyupListener();\n delete this.keyupListener;\n }\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrSearchField } from './search-field';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrSearchField],\n exports: [ClrSearchField],\n})\nexport class ClrSearchFieldModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './search-field';\nexport * from './search-field.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-tt-column',\n template: '<ng-content></ng-content>',\n host: {\n '[class.treetable-column]': 'true',\n role: 'columnheader',\n },\n})\nexport class ClrTreetableColumn {}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Input, NgZone, OnDestroy } from '@angular/core';\nimport {\n ClrAlignment,\n ClrAxis,\n ClrPopoverEventsService,\n ClrPopoverPosition,\n ClrPopoverPositionService,\n ClrPopoverToggleService,\n ClrSide,\n} from '@clr/angular';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ClarityIcons, ellipsisVerticalIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(ellipsisVerticalIcon);\n\n@Component({\n selector: 'clr-tt-action-overflow',\n providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService],\n template: `\n <ng-container *ngIf=\"!empty\">\n <button class=\"treetable-action-trigger\" clrPopoverAnchor clrPopoverOpenCloseButton>\n <cds-icon shape=\"ellipsis-vertical\"></cds-icon>\n </button>\n <div\n class=\"datagrid-action-overflow\"\n clrFocusTrap\n (click)=\"closeOverflowContent($event)\"\n *clrPopoverContent=\"false; at: smartPosition; outsideClickToClose: true; scrollToClose: true\"\n >\n <ng-content></ng-content>\n </div>\n </ng-container>\n `,\n host: {\n '[class.treetable-row-actions]': 'true',\n '[class.treetable-cell]': 'true',\n role: 'cell',\n },\n})\nexport class ClrTreetableActionOverflow implements OnDestroy {\n @Input() empty = false;\n\n public smartPosition: ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.CENTER,\n content: ClrAlignment.CENTER,\n };\n\n destroyed$ = new Subject<void>();\n\n constructor(private smartToggleService: ClrPopoverToggleService, private zone: NgZone) {\n this.smartToggleService.openChange.pipe(takeUntil(this.destroyed$.asObservable())).subscribe(openState => {\n if (openState) {\n this.focusFirstButton();\n }\n });\n }\n\n private focusFirstButton(): void {\n this.zone.runOutsideAngular(() =>\n setTimeout(() => {\n const firstButton: HTMLButtonElement | null = document.querySelector('button.action-item');\n if (firstButton) {\n firstButton.focus();\n }\n })\n );\n }\n\n closeOverflowContent(event: Event): void {\n this.smartToggleService.toggleWithEvent(event);\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n}\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ClrTreetableActionOverflow } from './treetable-action-overflow';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-tt-row',\n templateUrl: './treetable-row.html',\n host: { '[class.treetable-row-wrapper]': 'true' },\n animations: [\n trigger('collapseExpandAnimation', [\n state('false', style({ display: 'none' })),\n state('true', style({ display: 'block' })),\n transition('false => true', [\n style({ opacity: 0, height: 0, overflow: 'hidden', display: 'block' }),\n animate('300ms', style({ opacity: 1, height: '*' })),\n ]),\n transition('true => false', [\n style({ opacity: 1, height: '*', overflow: 'hidden' }),\n animate('300ms', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n ],\n})\nexport class ClrTreetableRow implements OnInit {\n @Input('clrExpanded') expanded = false;\n @Input('clrClickable') clickable = true;\n @Input('clrExpandable') expandable = false;\n\n @Output() hasActionOverflow = new EventEmitter<boolean>();\n @Output('clrExpandedChange') expandedChange = new EventEmitter<boolean>();\n\n showActionOverflow = false;\n showEmptyActionOverflow = false;\n showClickClass = false;\n\n @ContentChild(ClrTreetableActionOverflow)\n set actionOverflow(actionOverflow: ClrTreetableActionOverflow) {\n this.showActionOverflow = !!actionOverflow;\n this.showEmptyActionOverflow = !this.showActionOverflow;\n this.hasActionOverflow.emit(this.showActionOverflow);\n }\n\n constructor() {}\n\n ngOnInit(): void {\n this.showClickClass = this.expandable && this.clickable;\n }\n\n private toggleExpand(): void {\n if (this.expandable) {\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n }\n\n onRowClick(event: MouseEvent): void {\n if (this.clickable && !(event.target as HTMLElement).closest('.treetable-action-trigger')) {\n this.toggleExpand();\n }\n }\n\n onCaretClick(): void {\n if (!this.clickable) {\n this.toggleExpand();\n }\n }\n}\n","<!--\n ~ Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n [ngClass]=\"{'clr-row-clickable': showClickClass}\"\n class=\"clr-tt-node-content treetable-row\"\n (click)=\"onRowClick($event)\"\n>\n <ng-content select=\"clr-tt-action-overflow\"></ng-content>\n <clr-tt-action-overflow *ngIf=\"showActionOverflow && showEmptyActionOverflow\" [empty]=\"true\"></clr-tt-action-overflow>\n <div class=\"treetable-scrolling-cells\">\n <div class=\"treetable-expandable-caret\" *ngIf=\"expandable\">\n <button type=\"button\" class=\"treetable-expandable-caret-button\" (click)=\"onCaretClick()\">\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"expanded ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n\n <ng-content select=\"clr-tt-cell\"></ng-content>\n </div>\n</div>\n<div [@collapseExpandAnimation]=\"expanded\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n</div>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component, ContentChildren, Input, OnDestroy, QueryList } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ClrTreetableColumn } from './treetable-column';\nimport { ClrTreetableRow } from './treetable-row';\n\n@Component({\n selector: 'clr-treetable',\n templateUrl: './treetable.html',\n host: { '[class.empty]': 'empty', '[class.treetable-host]': 'true' },\n})\nexport class ClrTreetable implements OnDestroy {\n @Input() clrClickableRows = true;\n @Input('clrHideHeader') hideHeader = false;\n\n @ContentChildren(ClrTreetableColumn, { descendants: true })\n ttColumns: QueryList<ClrTreetableRow>;\n\n empty = true;\n hasActionOverflow = false;\n\n private _ttRows: QueryList<ClrTreetableRow>;\n private destroyed$ = new Subject<void>();\n\n @ContentChildren(ClrTreetableRow, { descendants: true })\n set ttRows(items: QueryList<ClrTreetableRow>) {\n this._ttRows = items;\n this.hasActionOverflow = false;\n this.initClickableRows();\n this.initEmpty();\n this.initActionOverflow();\n }\n\n private initClickableRows(): void {\n if (this._ttRows) {\n this._ttRows.forEach(ttRow => {\n ttRow.clickable = this.clrClickableRows;\n });\n }\n }\n\n private initEmpty(): void {\n this.empty = this._ttRows.length === 0;\n }\n\n private initActionOverflow() {\n this._ttRows.forEach(row => {\n this.setActionOverflow(row.showActionOverflow);\n row.hasActionOverflow.pipe(takeUntil(this.destroyed$)).subscribe((hasActionOverflow: boolean) => {\n this.setActionOverflow(hasActionOverflow);\n });\n });\n }\n\n private setActionOverflow(hasActionOverflow: boolean) {\n if (!this.hasActionOverflow && hasActionOverflow) {\n this.hasActionOverflow = true;\n // setTimeout needed, as this method needs to change data which shouldn't be changed anymore in this cycle\n setTimeout(() => {\n if (this.hasActionOverflow) {\n this._ttRows.forEach(ttRow => (ttRow.showActionOverflow = true));\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n}\n","<!--\n ~ Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"treetable\">\n <div class=\"treetable-grid\" role=\"grid\">\n <div class=\"treetable-header\" role=\"rowgroup\" [class.hide-header]=\"hideHeader\">\n <div *ngIf=\"hasActionOverflow\" class=\"treetable-row-actions treetable-column\">&nbsp;</div>\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\"></ng-content>\n </div>\n </div>\n <div class=\"treetable-body\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n <ng-content select=\"clr-tt-placeholder\"></ng-content>\n </div>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-tt-cell',\n template: '<ng-content></ng-content>',\n host: {\n '[class.treetable-cell]': 'true',\n role: 'cell',\n },\n})\nexport class ClrTreetableCell {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-tt-placeholder',\n template: `\n <div class=\"treetable-placeholder treetable-empty\">\n <div class=\"treetable-placeholder-image\"></div>\n <ng-content></ng-content>\n </div>\n `,\n host: { '[class.treetable-placeholder-container]': 'true' },\n})\nexport class ClrTreetablePlaceholder {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({ selector: 'clr-tt-column' })\nexport class TreetableHeaderRenderer {\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n /**\n * Returns the client width of the header cell.\n */\n public getWidth(): number {\n return this.el.nativeElement.clientWidth;\n }\n\n /**\n * Returns all classes starting with 'clr-col'.\n */\n public getColumnClasses(): string[] {\n const classes: string[] = [];\n this.el.nativeElement.classList.forEach((className: string) => {\n if (className.indexOf('clr-col') !== -1) {\n classes.push(className);\n }\n });\n return classes;\n }\n\n public setDefaultColumnClass(): void {\n this.renderer.addClass(this.el.nativeElement, 'clr-col');\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({ selector: 'clr-tt-cell' })\nexport class TreetableCellRenderer {\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n public setColumnClasses(columnClasses: string[]): void {\n columnClasses.forEach((className: string) => {\n this.renderer.addClass(this.el.nativeElement, className);\n });\n }\n\n public setMaxWidth(maxWidth: number): void {\n this.renderer.setStyle(this.el.nativeElement, 'max-width', maxWidth + 'px');\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { ContentChildren, Directive, QueryList } from '@angular/core';\nimport { TreetableCellRenderer } from './cell-renderer';\n\n@Directive({ selector: 'clr-tt-row' })\nexport class TreetableRowRenderer {\n @ContentChildren(TreetableCellRenderer) cells: QueryList<TreetableCellRenderer>;\n}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { AfterViewChecked, ContentChildren, Directive, HostListener, QueryList, AfterContentInit } from '@angular/core';\n\nimport { ClrTreetableColumn } from '../treetable-column';\nimport { TreetableHeaderRenderer } from './header-renderer';\nimport { TreetableRowRenderer } from './row-renderer';\n\n@Directive({\n selector: 'clr-treetable',\n})\nexport class TreetableMainRenderer implements AfterViewChecked, AfterContentInit {\n @ContentChildren(TreetableHeaderRenderer) headers: QueryList<TreetableHeaderRenderer>;\n @ContentChildren(TreetableRowRenderer, { descendants: true })\n rows: QueryList<TreetableRowRenderer>;\n @ContentChildren(ClrTreetableColumn) columns: QueryList<ClrTreetableColumn>;\n private shouldStabilizeColumn = true;\n\n @HostListener('window:resize')\n onResize(): void {\n this.applyMaxWidth();\n }\n\n ngAfterContentInit(): void {\n this.headers.changes.subscribe(() => {\n this.shouldStabilizeColumn = true;\n });\n this.rows.changes.subscribe(() => {\n this.shouldStabilizeColumn = true;\n });\n }\n\n ngAfterViewChecked(): void {\n if (this.shouldStabilizeColumn) {\n this.applyColumnClasses();\n setTimeout(() => {\n this.applyMaxWidth();\n }, 10);\n }\n }\n\n /**\n * Applies css column class to every header and cell.\n */\n private applyColumnClasses(): void {\n this.shouldStabilizeColumn = false;\n\n this.headers.forEach((header, headerIndex) => {\n const columnClasses = header.getColumnClasses();\n if (columnClasses.length === 0) {\n header.setDefaultColumnClass();\n this.rows.forEach(row => {\n // set every child cell of the same index to default class\n const cell = row.cells.find((_c, cellIndex) => cellIndex === headerIndex);\n if (cell) {\n cell.setColumnClasses(['clr-col']);\n }\n });\n } else {\n // set every child cell of the same index to the same class\n // we do not allow overriding column width on a per cell basis different to the header.\n this.rows.forEach(row => {\n const cell = row.cells.find((_c, cellIndex) => cellIndex === headerIndex);\n if (cell) {\n cell.setColumnClasses(columnClasses);\n }\n });\n }\n });\n }\n\n private applyMaxWidth(): void {\n if (this.headers.first) {\n const maxWidth = this.headers.first.getWidth();\n if (maxWidth === 0) {\n // If the max width is zero, call this in a timeout to be able to retrieve the client rendered value\n setTimeout(() => {\n this.applyMaxWidthOnEachRow(this.headers.first.getWidth());\n }, 100);\n } else {\n this.applyMaxWidthOnEachRow(maxWidth);\n }\n }\n }\n\n private applyMaxWidthOnEachRow(maxWidth: number): void {\n this.rows.forEach(row => {\n row.cells.first.setMaxWidth(maxWidth);\n });\n }\n}\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrTreetableRow } from './treetable-row';\nimport { ClrTreetable } from './treetable';\nimport { ClrTreetableCell } from './treetable-cell';\nimport { ClrTreetableColumn } from './treetable-column';\nimport { ClrTreetablePlaceholder } from './treetable-placeholder';\nimport { TreetableHeaderRenderer } from './renderer/header-renderer';\nimport { TreetableMainRenderer } from './renderer/main-renderer';\nimport { TreetableRowRenderer } from './renderer/row-renderer';\nimport { TreetableCellRenderer } from './renderer/cell-renderer';\nimport { ClrTreetableActionOverflow } from './treetable-action-overflow';\n\nconst CLR_TREETABLE_DIRECTIVES: Type<any>[] = [\n ClrTreetable,\n ClrTreetableRow,\n ClrTreetableCell,\n ClrTreetableColumn,\n ClrTreetablePlaceholder,\n ClrTreetableActionOverflow,\n TreetableMainRenderer,\n TreetableHeaderRenderer,\n TreetableRowRenderer,\n TreetableCellRenderer,\n];\n\n@NgModule({\n imports: [CommonModule, ClarityModule],\n declarations: [CLR_TREETABLE_DIRECTIVES],\n exports: [CLR_TREETABLE_DIRECTIVES],\n})\nexport class ClrTreetableModule {}\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './treetable';\nexport * from './treetable-row';\nexport * from './treetable-column';\nexport * from './treetable-cell';\nexport * from './treetable-placeholder';\nexport * from './treetable-action-overflow';\nexport * from './treetable.module';\nexport * from './renderer';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { angleIcon, ClarityIcons, pencilIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon, pencilIcon);\n\n@Component({\n selector: 'clr-view-edit-section',\n templateUrl: './view-edit-section.html',\n animations: [\n trigger('collapseExpandAnimation', [\n transition(':enter', [\n style({ opacity: 0, height: 0, overflow: 'hidden' }),\n animate('300ms', style({ opacity: 1, height: '*' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '*', overflow: 'hidden' }),\n animate('300ms', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n trigger('rotateIcon', [\n state('true', style({ transform: 'rotate(0)' })),\n state('false', style({ transform: 'rotate(180deg)' })),\n transition('true => false', animate('300ms ease-out')),\n transition('false => true', animate('300ms ease-in')),\n ]),\n ],\n})\nexport class ClrViewEditSection {\n @Input('clrTitle') _title: string;\n @Input('clrSaveText') _saveText = 'Save';\n @Input('clrPreventModeChangeOnSave') _preventSave = false;\n @Input('clrCancelText') _cancelText = 'Cancel';\n @Input('clrEditable') _editable = true;\n @Input('clrEditIcon') _editIcon = 'pencil';\n @Input('clrIsCollapsible') _isCollapsible = false;\n @Input('clrIsCollapsed') _isCollapsed = false;\n\n @Input('clrViewRef') viewRef: TemplateRef<any>;\n @Input('clrEditRef') editRef: TemplateRef<any>;\n\n @Output('clrIsCollapsedChange') _isCollapsedChange = new EventEmitter<boolean>();\n @Output('clrEditModeChange') _editModeChanged = new EventEmitter(false);\n @Output('clrSectionSubmitted') _submitted = new EventEmitter(false);\n @Output('clrSectionEditCancelled') _cancelled = new EventEmitter(false);\n\n @Input('clrEditMode')\n public set editMode(value: boolean) {\n this._editMode = value;\n\n if (value) {\n this.toggleCollapsed(false);\n }\n }\n\n public get editMode(): boolean {\n return this._editMode;\n }\n\n private _editMode = false;\n\n public onSubmit(): void {\n this._submitted.emit();\n if (!this._preventSave) {\n this.setEditMode(false);\n }\n }\n\n public onCancel(): void {\n this._cancelled.emit();\n this.setEditMode(false);\n }\n\n public onEdit(): void {\n this.setEditMode(true);\n this.toggleCollapsed(false);\n }\n\n private setEditMode(mode: boolean): void {\n this.editMode = mode;\n this._editModeChanged.emit(this.editMode);\n }\n\n private toggleCollapsed(collapsed: boolean) {\n this._isCollapsed = collapsed;\n this._isCollapsedChange.emit(this._isCollapsed);\n }\n\n onCollapseExpand(): void {\n if (this._isCollapsed) {\n this.toggleCollapsed(false);\n } else {\n this.toggleCollapsed(true);\n }\n }\n}\n","<div class=\"card view-edit-section\" (keyup.escape)=\"onCancel()\">\n <div class=\"card-block\">\n <div class=\"card-title\">\n {{_title}}\n <button\n type=\"button\"\n (click)=\"onCollapseExpand()\"\n class=\"btn btn-icon btn-link ces-caret-btn\"\n *ngIf=\"_isCollapsible && !editMode\"\n >\n <cds-icon shape=\"angle\" direction=\"up\" size=\"20\" class=\"ces-caret-icon\" [@rotateIcon]=\"_isCollapsed\"></cds-icon>\n </button>\n <div class=\"ves-actions\">\n <button\n type=\"button\"\n (click)=\"onEdit()\"\n class=\"btn btn-icon btn-link ves-action\"\n *ngIf=\"_editable && !editMode && actionBlock.children.length == 0\"\n >\n <cds-icon class=\"ves-edit-icon\" [attr.shape]=\"_editIcon\" size=\"20\"></cds-icon>\n </button>\n <div #actionBlock>\n <ng-content select=\"[action-block]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"card-text\" [@collapseExpandAnimation] *ngIf=\"!(_isCollapsed && _isCollapsible)\">\n <ng-template [ngTemplateOutlet]=\"viewRef\" *ngIf=\"!editMode\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"editRef\" *ngIf=\"editMode\"></ng-template>\n <ng-container *ngIf=\"editMode\">\n <form clrForm (ngSubmit)=\"onSubmit()\" class=\"button-bar\">\n <button class=\"btn btn-primary ves-save\" type=\"submit\">{{_saveText}}</button>\n <button class=\"btn ves-cancel\" (click)=\"onCancel()\" type=\"button\">{{_cancelText}}</button>\n </form>\n </ng-container>\n </div>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrFormsModule } from '@clr/angular';\n\nimport { ClrViewEditSection } from './view-edit-section';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule, ClrFormsModule],\n declarations: [ClrViewEditSection],\n exports: [ClrViewEditSection],\n})\nexport class ClrViewEditSectionModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './view-edit-section';\nexport * from './view-edit-section.module';\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { InjectionToken } from '@angular/core';\n\nexport const HISTORY_NOTIFICATION_URL_PROVIDER = new InjectionToken<string>('HISTORY_NOTIFICATION_URL_PROVIDER');\n\nexport interface ClrHistoryModel {\n /**\n * The username\n */\n username: string;\n\n /**\n * The name of the page\n */\n pageName: string;\n\n /**\n * The context of the page\n */\n context: {\n applicationName?: string;\n tenantid: string;\n context?: string;\n [key: string]: string;\n };\n\n /**\n * The title to be displayed.\n */\n title: string;\n\n /**\n * The url where the navigation goes.\n */\n url: string;\n}\n\nexport interface ClrHistorySettingsModel {\n /**\n * Indicating if history is pinned (additional menu is shown if true)\n */\n historyPinned: boolean;\n\n /**\n * The username\n */\n username: string;\n}\n\nexport interface ClrHistoryNotificationModel {\n username: string;\n pageName: string;\n applicationName?: string;\n tenantId: string;\n title: string;\n url: string;\n context?: string;\n}\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport {\n ClrHistoryModel,\n ClrHistoryNotificationModel,\n ClrHistorySettingsModel,\n HISTORY_NOTIFICATION_URL_PROVIDER,\n} from './history-model.interface';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable()\nexport class ClrHistoryService {\n public cookieSettings$ = new BehaviorSubject<ClrHistorySettingsModel[]>([]);\n cookieName = 'clr.history';\n cookieNameSettings = 'clr.history.settings';\n private expiryDate: Date;\n\n // maxmimum history length\n private maxSize = 1024;\n // maximum url length for usage in history\n private maxUrlSize = 256;\n\n constructor(\n @Inject(HISTORY_NOTIFICATION_URL_PROVIDER) @Optional() private historyNotificationUrl: string,\n @Optional() private httpClient: HttpClient\n ) {\n this.expiryDate = new Date();\n this.expiryDate.setTime(this.expiryDate.getTime() + 365 * 24 * 60 * 60 * 1000);\n }\n\n /**\n * Add a new history entry\n * @param historyEntry The entry to be added\n * @param domain The optional domain param where the cookie is stored\n * @returns true when entry added, otherwise false is returned\n */\n addHistoryEntry(historyEntry: ClrHistoryModel, domain?: string): boolean {\n this.notifyExternalUrl(historyEntry);\n this.removeFromHistory(historyEntry);\n let history = this.getHistory(historyEntry.username, historyEntry.context);\n\n /* only add to history in case url does not exceed maxUrlSize characters */\n if (historyEntry.url && historyEntry.url.length < this.maxUrlSize) {\n /* add it as last element */\n history.push(historyEntry);\n /* support a maximum of 4 pages in history */\n history = history.slice(-4);\n this.setHistory(history, domain);\n return true;\n }\n return false;\n }\n\n getHistoryDisplay(username: string, context: { [key: string]: string }): ClrHistoryModel[] {\n const history = this.getHistory(username, context);\n if (history.length > 0) {\n const currentPageTitle = history[history.length - 1].title;\n const toDisplay: ClrHistoryModel[] = [];\n const alreadyDisplay: string[] = [];\n\n for (let i = history.length - 1; i >= 0 && alreadyDisplay.length < 4; i--) {\n if (!alreadyDisplay.includes(history[i].title) && history[i].title !== currentPageTitle) {\n alreadyDisplay.push(history[i].title);\n toDisplay.push(history[i]);\n }\n }\n\n return toDisplay.reverse();\n } else {\n return history;\n }\n }\n\n getHistory(username: string, context: { [key: string]: string }): ClrHistoryModel[] {\n const history: ClrHistoryModel[] = this.getCookieByName(this.cookieName);\n if (!history) {\n return [];\n }\n return history.filter(element => this.checkEqualContext(element, context) && element.username === username);\n }\n\n /**\n * Set history\n * @param entries\n * @param domain\n */\n private setHistory(entries: ClrHistoryModel[], domain?: string): void {\n if (!entries || entries.length === 0) {\n // clear all entries\n this.setCookie(this.cookieName, this.encode([]), domain);\n } else {\n entries = this.reduceSize(entries);\n // encode title & pagename to be cookie saving save\n if (entries && entries.length > 0) {\n entries.forEach(entry => {\n entry.title = encodeURI(entry.title);\n entry.pageName = encodeURI(entry.pageName);\n });\n }\n this.setCookie(this.cookieName, this.encode(entries), domain);\n }\n }\n\n reduceSize(entries: ClrHistoryModel[]): ClrHistoryModel[] {\n if (JSON.stringify(entries).length > this.maxSize) {\n const reduced: ClrHistoryModel[] = [...entries];\n do {\n reduced.shift();\n } while (JSON.stringify(reduced).length > this.maxSize);\n return reduced;\n } else {\n return entries;\n }\n }\n\n resetHistory(): void {\n this.setHistory(null);\n }\n\n removeFromHistory(entry: ClrHistoryModel): void {\n let history = this.getHistory(entry.username, entry.context);\n /* remove current entry from array */\n history = history.filter(\n element =>\n !(\n element.title === entry.title &&\n element.username === entry.username &&\n this.checkEqualContext(element, entry.context)\n )\n );\n this.setHistory(history);\n }\n\n private checkEqualContext(entry: ClrHistoryModel, toCompare: { [key: string]: string }): boolean {\n let equal = false;\n if (entry && entry.context && toCompare) {\n Object.keys(toCompare).forEach(key => {\n equal = key in entry.context && entry.context[key] === toCompare[key];\n });\n }\n return equal;\n }\n\n initializeCookieSettings(username: string, domain?: string): void {\n let historySettings: ClrHistorySettingsModel[] = this.getCookieByName(this.cookieNameSettings);\n if (!historySettings || historySettings.length === 0) {\n this.setHistoryPinned(username, false, domain);\n historySettings = [{ username: username, historyPinned: false }];\n }\n if (!historySettings.find(hSetting => hSetting.username === username)) {\n this.setHistoryPinned(username, false, domain);\n historySettings.push({ username: username, historyPinned: false });\n }\n this.cookieSettings$.next(historySettings);\n }\n\n setHistoryPinned(username: string, pin: boolean, domain?: string): void {\n const historySettings: ClrHistorySettingsModel[] = this.getCookieByName(this.cookieNameSettings);\n const historySetting = historySettings.find(hSetting => hSetting.username === username);\n if (historySetting) {\n historySetting.historyPinned = pin;\n } else {\n historySettings.push({ username: username, historyPinned: pin });\n }\n this.cookieSettings$.next(historySettings);\n // Set it\n this.setCookie(this.cookieNameSettings, JSON.stringify(historySettings), domain);\n }\n\n private getCookieByName(name: string): any[] {\n const cookieEntries =\n document.cookie\n .split(';')\n .map(c => c.trim())\n .filter(cookie => {\n return cookie.substring(0, name.length + 1) === `${name}=`;\n })\n .map(cookie => {\n return name === this.cookieName\n ? this.decode(cookie.substring(name.length + 1))\n : JSON.parse(cookie.substring(name.length + 1));\n })[0] || [];\n if (cookieEntries && cookieEntries.length > 0) {\n cookieEntries.forEach((entry: any) => {\n if (entry.title) {\n entry.title = decodeURI(entry.title);\n }\n if (entry.pageName) {\n entry.pageName = decodeURI(entry.pageName);\n }\n });\n }\n return cookieEntries;\n }\n\n private encode(content: ClrHistoryModel[]): string {\n const jsonString = btoa(encodeURIComponent(JSON.stringify(content)));\n return jsonString.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '!');\n }\n\n private decode(content: string): ClrHistoryModel[] {\n try {\n const base64 = content.replace(/-/g, '+').replace(/_/g, '/').replace(/!/g, '=');\n return JSON.parse(decodeURIComponent(atob(base64)));\n } catch (error) {\n return [];\n }\n }\n\n private setCookie(name: string, content: string, domain: string): void {\n document.cookie =\n name +\n '=' +\n content +\n ';domain=' +\n (domain ? domain : this.getDomain()) +\n ';expires=' +\n this.expiryDate.toUTCString() +\n ';path=/';\n }\n\n private getDomain(): string {\n const domain = window.location.hostname.split('.');\n //localhost fallback\n if (domain.length === 1) {\n return domain[0];\n }\n domain.shift();\n return domain.join('.');\n }\n\n private notifyExternalUrl(historyEntry: ClrHistoryModel) {\n if (!this.historyNotificationUrl || !this.httpClient) {\n return;\n }\n\n const body: ClrHistoryNotificationModel = {\n username: historyEntry.username,\n pageName: historyEntry.pageName,\n applicationName: historyEntry.context.applicationName,\n tenantId: historyEntry.context.tenantid,\n title: historyEntry.title,\n url: historyEntry.url,\n context: historyEntry.context.context,\n };\n\n this.httpClient.post(this.historyNotificationUrl, body).subscribe();\n }\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { ClrHistoryModel } from './history-model.interface';\nimport { ClrHistoryService } from './history.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { angleIcon, ClarityIcons, historyIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(historyIcon, angleIcon);\n\n@Component({\n selector: 'clr-history',\n templateUrl: './history.html',\n})\nexport class ClrHistory implements OnInit, OnDestroy {\n @Input('clrUsername') username: string;\n @Input('clrContext') context: { [key: string]: string };\n @Input('clrPinActive') pinActive = true;\n @Input('clrDropdownHeader') dropdownHeader = 'History';\n @Input('clrDropdownPin') dropdownPin = 'Pin History';\n @Input('clrDropdownUnpin') dropdownUnpin = 'Unpin History';\n @Input('clrDomain') domain: string;\n @Input('clrPosition') position = 'bottom-right';\n\n /**\n * The array of history elements to be displayed.\n */\n historyElements: ClrHistoryModel[] = [];\n pinActivated = false;\n private onDestroy$ = new Subject<void>();\n\n constructor(private historyService: ClrHistoryService) {}\n\n ngOnInit(): void {\n this.historyElements = this.historyService.getHistoryDisplay(this.username, this.context);\n\n this.historyService.initializeCookieSettings(this.username, this.domain);\n this.historyService.cookieSettings$.pipe(takeUntil(this.onDestroy$)).subscribe(settings => {\n this.pinActivated = settings.find(setting => setting.username === this.username).historyPinned;\n });\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n select(history: ClrHistoryModel): void {\n window.location.href = history.url;\n }\n\n togglePinHistory(): void {\n this.historyService.setHistoryPinned(this.username, !this.pinActivated);\n }\n}\n","<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-link\" clrDropdownTrigger>\n <cds-icon shape=\"history\" size=\"24\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{dropdownHeader}}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements\" (click)=\"select(history)\">\n {{history.title}}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{dropdownPin}}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{dropdownUnpin}}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { ClrHistoryModel } from './history-model.interface';\nimport { ClrHistoryService } from './history.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'clr-history-pinned',\n templateUrl: './history-pinned.html',\n})\nexport class ClrHistoryPinned implements OnInit, OnDestroy {\n @Input('clrUsername') username: string;\n @Input('clrContext') context: { [key: string]: string };\n @Input('clrDomain') domain: string;\n\n /**\n * The array of history elements to be displayed.\n */\n historyElements: ClrHistoryModel[] = [];\n active = false;\n private settingsSubscription: Subscription;\n\n constructor(private historyService: ClrHistoryService) {}\n\n ngOnInit(): void {\n this.historyElements = this.historyService.getHistoryDisplay(this.username, this.context);\n\n this.historyService.initializeCookieSettings(this.username, this.domain);\n this.settingsSubscription = this.historyService.cookieSettings$.subscribe(settings => {\n const setting = settings.find(setting => setting.username === this.username);\n if (setting) {\n this.active = setting.historyPinned;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.settingsSubscription.unsubscribe();\n }\n}\n","<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"historyElements.length && active\">\n <ol class=\"history\">\n <ng-container *ngFor=\"let historyItem of historyElements\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{historyItem.title}}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrHistory } from './history';\nimport { RouterModule } from '@angular/router';\nimport { ClrHistoryPinned } from './history-pinned';\nimport { ClrDropdownOverflowModule } from '../dropdown';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule],\n declarations: [ClrHistory, ClrHistoryPinned],\n exports: [ClrHistory, ClrHistoryPinned],\n})\nexport class ClrHistoryModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './history';\nexport * from './history-pinned';\nexport * from './history.module';\nexport * from './history-model.interface';\nexport * from './history.service';\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: 'input:not([autocomplete])',\n host: {\n '[attr.autocomplete]': '\"off\"',\n },\n})\nexport class ClrAutocompleteOff {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrAutocompleteOff } from './autocomplete-off.directive';\n\n@NgModule({\n declarations: [ClrAutocompleteOff],\n exports: [ClrAutocompleteOff],\n})\nexport class ClrAutocompleteOffModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nconst BADGED_CLASS_SUBSTRING = '--badged';\nconst ALERTED_CLASS_SUBSTRING = '--alerted';\nconst SOLID_CLASS = 'clr-i-solid';\n\n/**\n * Class copied from Clarity as it is not accessible.\n *\n * @see {@link https://github.com/vmware/clarity/blob/0afa75bf6bf183bb76474f7c3b20ebc7dcf89263/packages/icons/src/utils/svg-tag-generator.ts}\n * @param content content of the SVG\n * @param viewBox viewBox of the SVG\n */\nexport function clrIconSVG(content: string, viewBox = '0 0 24 24'): string {\n let classes = '';\n\n if (content.indexOf(BADGED_CLASS_SUBSTRING) > -1) {\n classes += 'can-badge ';\n }\n\n if (content.indexOf(ALERTED_CLASS_SUBSTRING) > -1) {\n classes += 'can-alert ';\n }\n\n if (content.indexOf(SOLID_CLASS) > -1) {\n classes += 'has-solid ';\n }\n\n let openingTag;\n if (classes) {\n openingTag = `<svg version=\"1.1\" class=\"${classes}\" viewBox=\"${viewBox}\" preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" role=\"img\">`;\n } else {\n openingTag = `<svg version=\"1.1\" viewBox=\"${viewBox}\" preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" role=\"img\">`;\n }\n const closingTag = `</svg>`;\n\n return openingTag + content + closingTag;\n}\n","/*\n * Clarity Addons Icons, © Volkswagen 2020\n *\n * When using the icons, copyrights, name and trademark rights as well as other property rights of\n * Volkswagen AG must be observed. The icons and the brand are protected.\n * No licence or other right of use is granted by the availability of the icons.\n */\n\nimport { clrIconSVG } from './svg-tag-generator';\nimport { IconShapeTuple } from '@cds/core/icon/interfaces/icon.interfaces';\n\n// To support badges, alerts or the is-solid, the SVGs would need to be extended.\n\nexport const AcceptanceDateShape = clrIconSVG(\n `<rect x=\"13\" y=\"7\" width=\"10\" height=\"2\"/><path d=\"M4,16.89V9H7V7H4A2.0059,2.0059,0,0,0,2,9v8.29a2.9516,2.9516,0,0,1,1.5-.4Z\"/><path d=\"M10,11a1.0029,1.0029,0,0,0,1-1V4A1,1,0,0,0,9,4v6A1.0029,1.0029,0,0,0,10,11Z\"/><path d=\"M26,11a1.0029,1.0029,0,0,0,1-1V4a1,1,0,0,0-2,0v6A1.0029,1.0029,0,0,0,26,11Z\"/><path d=\"M32,7H29V9h3v7.89h.49A2.9688,2.9688,0,0,1,34,17.3V9A2.0059,2.0059,0,0,0,32,7Z\"/><path d=\"M32,22.89V31H4V22.89H3.5a3.0545,3.0545,0,0,1-1.5-.4V31a2.0059,2.0059,0,0,0,2,2H32a2.0059,2.0059,0,0,0,2-2V22.48a2.9688,2.9688,0,0,1-1.51.41Z\"/><path d=\"M3.5,21.3888H13.8789L12.44,22.8282a1.5,1.5,0,1,0,2.121,2.1211l4-4a1.4993,1.4993,0,0,0,0-2.1211l-4-4a1.5,1.5,0,0,0-2.121,2.1211l1.4394,1.4395H3.5a1.5,1.5,0,0,0,0,3Z\"/><circle cx=\"27.3403\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"22.1899\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"32.4897\" cy=\"19.8896\" r=\"1.5\"/>`,\n '0 0 36 36'\n);\n\nexport const CarOffSite = clrIconSVG(\n `\n <polygon points=\"24 8.39 24 24 22.7 24 22.7 9.07 12 1.58 1.3 9.07 1.3 24 0 24 0 8.39 12 0 24 8.39\"/>\n <path d=\"M20.7166,10.9785a.6429.6429,0,0,0,.3637-.1123l.6446-.4358,0,0L23.8,9.0283l-.7275-1.0762-1.542,1.042-.0047.002L20.3518,9.79a.65.65,0,0,0,.3648,1.1885Z\"/>\n <path d=\"M7.9006,18.2051,5.41,19.8877a.65.65,0,1,0,.7275,1.0781l2.49-1.6826a.65.65,0,0,0-.7276-1.0781Z\"/>\n <path d=\"M13.7839,15.0127a.65.65,0,0,0-.9028-.1738L12,15.4346l-.8811-.5957A.65.65,0,1,0,10.39,15.915l.4494.3039-.4489.3036a.65.65,0,1,0,.7285,1.0761L12,17.0033l.8806.5953a.643.643,0,0,0,.3638.1123.65.65,0,0,0,.3647-1.1884l-.4489-.3036.4494-.3039A.6493.6493,0,0,0,13.7839,15.0127Z\"/>\n <path d=\"M17.8616,11.4727l-2.49,1.6835A.65.65,0,1,0,16.1,14.2324l2.49-1.6836a.65.65,0,1,0-.7285-1.0761Z\"/>\n <path d=\"M3.65,22.65l-.59.4-.37.25-.22.14L1.65,24H.6l-.4-.59,2.13-1.44.59-.4a.6518.6518,0,0,1,.73,1.08Z\"/>\n <path d=\"M2.4739,8.9961,2.469,8.994.9277,7.9521.1992,9.0283l1.9517,1.3194.0005-.0009.7683.5194a.6429.6429,0,0,0,.3637.1123A.65.65,0,0,0,3.6482,9.79Z\"/>\n <path d=\"M6.1384,11.4727A.65.65,0,1,0,5.41,12.5488L7.9,14.2324a.6432.6432,0,0,0,.3638.1123.65.65,0,0,0,.3648-1.1885Z\"/>\n <path d=\"M16.0994,18.2051a.65.65,0,0,0-.7276,1.0781l2.49,1.6826a.65.65,0,0,0,.7275-1.0781Z\"/>\n <path d=\"M23.8,23.41l-.4.59H22.35l-1.37-.93-.63-.42a.6518.6518,0,0,1,.73-1.08l.63.43Z\"/>`\n);\nexport const CarOnSite = clrIconSVG(\n `\n <path d=\"M12,16.8a.86.86,0,0,0-.8.8.8515.8515,0,0,0,1.7.1A.8963.8963,0,0,0,12,16.8Z\"/>\n <path d=\"M21.8,10.6a16.9577,16.9577,0,0,1-2.2.4L18.5,8.4A2.9653,2.9653,0,0,0,16.3,7H7.7A2.5336,2.5336,0,0,0,5.6,8.5L4.4,11.1a16.9577,16.9577,0,0,0-2.2-.4L2,12c.7.1,1.3.2,2,.3l-.6,1A6.0075,6.0075,0,0,0,2.7,16v5.5a1.43,1.43,0,0,0,1.4,1.4H5.7a1.3671,1.3671,0,0,0,1.4-1.4v-.4h9.7v.4a1.43,1.43,0,0,0,1.4,1.4h1.7a1.3671,1.3671,0,0,0,1.4-1.4V16a5.1892,5.1892,0,0,0-.7-2.7l-.5-1.1c.6-.1,1.3-.2,1.9-.3ZM6.8,9a1.4454,1.4454,0,0,1,1-.7h8.4a1.4425,1.4425,0,0,1,1.1.7l.9,2.2a50.6175,50.6175,0,0,1-12.3,0ZM19.9,21.6v.1H18.2V19.8H5.8v1.8H4.1v-5c1.2.2,2.5.3,3.8.4V15.7c-1.3-.1-2.6-.2-3.8-.4A5.0234,5.0234,0,0,1,4.6,14l.8-1.6a48.7229,48.7229,0,0,0,6.6.4,51.7006,51.7006,0,0,0,6.8-.4l.6207,1.4462A8.24,8.24,0,0,1,19.9,15.3c-1.2.2-2.4.3-3.7.4l.1,1.3c1.3-.1,2.5-.2,3.7-.4Z\"/>\n <polygon points=\"12 0 0 8.39 0 24 1.3 24 1.3 9.07 12 1.58 22.7 9.07 22.7 24 24 24 24 8.39 12 0\"/>`\n);\n\nexport const CampaignOutdatedShape = clrIconSVG(\n ` <sodipodi:namedview bordercolor=\"#000000\" borderopacity=\"0.25\" id=\"namedview4\" inkscape:deskcolor=\"#d1d1d1\" inkscape:pagecheckerboard=\"0\" inkscape:pageopacity=\"0.0\" inkscape:showpageshadow=\"2\" pagecolor=\"#ffffff\">\n </sodipodi:namedview>\n <g id=\"g8\" transform=\"matrix(1.3333333,0,0,-1.3333333,0,48)\" inkscape:groupmode=\"layer\" inkscape:label=\"ink_ext_XXXXXX\">\n <g id=\"g10\" transform=\"scale(0.1)\">\n <path id=\"path12\" d=\"M226,139.6h-25.1c1,3.7,3.4,6.7,6.9,8.5c2.4,1.2,4.3,3,5.7,5.1c1.4-2.1,3.3-3.9,5.7-5.1\n C222.6,146.3,225,143.3,226,139.6z M226.5,200.2v-13.6c0-3.6-1.4-7.1-3.9-9.6c-1-1.1-2.2-1.9-3.5-2.6c-2.4-1.2-4.4-3-5.7-5.1\n c-1.4,2.1-3.3,3.9-5.7,5.1c-4.6,2.3-7.4,7-7.4,12.2v13.6H226.5z M243.5,122.3v13.6c0,10.3-4.9,19.7-12.9,25.4\n c1.5,1.1,2.9,2.3,4.2,3.6c5.7,5.8,8.8,13.6,8.8,21.8v13.6v17.3h-60v-17.3v-13.6c0-10.3,4.9-19.7,12.9-25.4\n c-8.1-5.7-12.9-15.1-12.9-25.4v-13.6V105h60L243.5,122.3\"/>\n <path id=\"path14\" d=\"M195.8,290c-3,2.8-7.7,2.6-10.6-0.4l-111.5-119c-2.8-3-2.6-7.7,0.4-10.6c1.4-1.3,3.2-1.9,5.1-1.9\n c2,0,4,0.8,5.5,2.3l111.5,119C199,282.4,198.8,287.1,195.8,290z M101.9,242.5c-13.6,0-24.3,10.6-24.3,23.7\n c0,13.1,10.7,23.6,24.3,23.6c13.6,0,24.3-10.6,24.3-23.6C126.2,253.1,115.5,242.5,101.9,242.5z M101.9,304.8\n c-21.5,0-39.2-17.3-39.2-38.6c0-21.3,17.7-38.6,39.2-38.6c21.5,0,39.2,17.3,39.2,38.6C141.1,287.5,123.4,304.8,101.9,304.8z\n M175.9,161.4c-2.4-0.8-5-1.2-7.8-1.2c-13.6,0-24.3,10.6-24.3,23.6c0,13,10.7,23.7,24.3,23.7h0.4v14.9h-0.4\n c-21.5,0-39.2-17.3-39.2-38.6c0-21.3,17.8-38.6,39.2-38.6c0.4,0,0.9,0,1.3,0.1c1.1,5.7,3.4,11.1,6.5,16\n C176,161.3,175.9,161.3,175.9,161.4\"/>\n </g>\n </g>`,\n '0 0 36 36'\n);\n\nexport const CampaignShape = clrIconSVG(\n `<sodipodi:namedview bordercolor=\"#000000\" borderopacity=\"0.25\" id=\"namedview4\" inkscape:deskcolor=\"#d1d1d1\" inkscape:pagecheckerboard=\"0\" inkscape:pageopacity=\"0.0\" inkscape:showpageshadow=\"2\" pagecolor=\"#ffffff\">\n </sodipodi:namedview>\n <g id=\"g8\" transform=\"matrix(1.3333333,0,0,-1.3333333,0,48)\" inkscape:groupmode=\"layer\" inkscape:label=\"ink_ext_XXXXXX\">\n <g id=\"g10\" transform=\"scale(0.1)\">\n <path id=\"path12\" d=\"M195.8,289.9c-3,2.8-7.7,2.7-10.6-0.3l-111.5-119c-2.8-3-2.7-7.7,0.3-10.6c0,0,0,0,0,0\n c3-2.8,7.7-2.7,10.6,0.3l111.5,119C199,282.4,198.9,287.1,195.8,289.9C195.8,289.9,195.8,289.9,195.8,289.9L195.8,289.9z\n M101.9,289.8c13.6,0,24.3-10.6,24.3-23.7c0-13.1-10.7-23.7-24.3-23.7c-13.6,0-24.3,10.6-24.3,23.7\n C77.6,279.2,88.3,289.8,101.9,289.8z M101.9,304.8c-21.5,0-39.2-17.3-39.2-38.6s17.7-38.6,39.2-38.6c21.5,0,39.2,17.3,39.2,38.6\n S123.4,304.8,101.9,304.8z M168.1,207.5c13.6,0,24.3-10.6,24.3-23.7c0-13.1-10.7-23.7-24.3-23.7c-13.6,0-24.3,10.6-24.3,23.7\n C143.8,196.9,154.5,207.5,168.1,207.5z M168.1,222.4c-21.5,0-39.2-17.3-39.2-38.6c0-21.3,17.7-38.6,39.2-38.6\n c21.5,0,39.2,17.3,39.2,38.6C207.3,205.1,189.6,222.4,168.1,222.4\"/>\n </g>\n </g>`,\n '0 0 36 36'\n);\n\nexport const CompletedByDateShape = clrIconSVG(\n `<rect x=\"13\" y=\"7\" width=\"10\" height=\"2\"/><path d=\"M4,16.89V9H7V7H4A2.0059,2.0059,0,0,0,2,9v8.29a2.9516,2.9516,0,0,1,1.5-.4Z\"/><path d=\"M26,11a1.0029,1.0029,0,0,0,1-1V4a1,1,0,0,0-2,0v6A1.0029,1.0029,0,0,0,26,11Z\"/><path d=\"M10,11a1.0029,1.0029,0,0,0,1-1V4A1,1,0,0,0,9,4v6A1.0029,1.0029,0,0,0,10,11Z\"/><path d=\"M32,22.89V31H4V22.89H3.5a3.0545,3.0545,0,0,1-1.5-.4V31a2.0059,2.0059,0,0,0,2,2H32a2.0059,2.0059,0,0,0,2-2V22.48a2.9688,2.9688,0,0,1-1.51.41Z\"/><path d=\"M32,7H29V9h3v7.89h.49A2.9688,2.9688,0,0,1,34,17.3V9A2.0059,2.0059,0,0,0,32,7Z\"/><circle cx=\"8.6602\" cy=\"19.8896\" r=\"1.5\"/><path d=\"M16.64,15.8887v8a1.5,1.5,0,0,0,3,0v-8a1.5,1.5,0,0,0-3,0Z\"/><circle cx=\"3.5098\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"13.8096\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"27.3403\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"22.1899\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"32.4897\" cy=\"19.8896\" r=\"1.5\"/>`,\n '0 0 36 36'\n);\n\nexport const NewCarCommercialShape = clrIconSVG(\n `<path d='M17.18,22a1.638,1.638,0,0,1-1.61-1.62v-.5H8.01v.481A1.645,1.645,0,0,1,6.39,22h-3a1.624,1.624,0,0,1-1.61-1.62V10.1l.27-1.69L0,8.25v-.67L.07,6.92H.13l2.13.16L2.5,5.54A6.75,6.75,0,0,1,3.91,2.361L5.42.461A1.245,1.245,0,0,1,6.39,0H17.14a1.259,1.259,0,0,1,1,.5l1.64,2.24a6.811,6.811,0,0,1,1.27,2.92l.229,1.4,2.16-.18.121,1.33L21.5,8.37l.28,1.731v10.28A1.626,1.626,0,0,1,20.18,22ZM6.671,18.551H16.85v1.83a.29.29,0,0,0,.29.29h3a.289.289,0,0,0,.28-.29v-5.94c-1.558.216-3.126.384-4.66.5l-.1-1.319c1.529-.113,3.131-.288,4.76-.52v-2.89l-.26-1.74c-2.946.186-5.829.28-8.57.28-2.718,0-5.48-.087-8.21-.26L3.1,10.211v2.91c1.633.23,3.269.406,4.86.52l-.09,1.32c-1.6-.108-3.209-.277-4.77-.5v5.92a.289.289,0,0,0,.281.29h3a.311.311,0,0,0,.29-.31V18.552h0ZM4.95,3.2A5.376,5.376,0,0,0,3.78,5.75l-.15,1.4c2.705.167,5.459.251,8.18.251s5.469-.085,8.18-.251l-.21-1.27a5.487,5.487,0,0,0-1-2.35L17.1,1.33H6.46Zm5.83,11.41a1,1,0,1,1,1,1A1,1,0,0,1,10.78,14.611Z'/>`\n);\n\nexport const NewCarPrivateShape = clrIconSVG(\n `<path d='M19.24,19a1.658,1.658,0,0,1-1.62-1.7v-.52H6.07v.51A1.673,1.673,0,0,1,4.45,19h-2A1.663,1.663,0,0,1,.84,17.3V10.76a6.3,6.3,0,0,1,.88-3.23L2.3,6.12C1.476,6,.723,5.881,0,5.75L.17,4.44H.24c.9.167,1.753.3,2.6.42L4.16,1.66A3.357,3.357,0,0,1,6.75,0H16.94a3.324,3.324,0,0,1,2.58,1.66L20.84,4.83c.794-.119,1.694-.254,2.6-.42l.24,1.3c-.608.119-1.226.213-1.824.306h-.011l-.475.074.6,1.44a6.388,6.388,0,0,1,.87,3.23V17.3a1.666,1.666,0,0,1-1.6,1.7ZM4.731,15.45H18.96V17.3a.338.338,0,0,0,.29.37h1.98a.35.35,0,0,0,.2-.37V11.2c-1.7.249-3.222.422-4.66.53l-.1-1.319c1.6-.126,3.171-.308,4.68-.54a4.973,4.973,0,0,0-.61-1.71V8l-.83-1.72a66.133,66.133,0,0,1-8.28.54A64.183,64.183,0,0,1,3.57,6.3L2.84,8.04V8.2a5.065,5.065,0,0,0-.6,1.77c1.568.234,3.18.412,4.79.53l-.1,1.329c-1.465-.107-3.025-.281-4.77-.529v6a.342.342,0,0,0,.28.37h2a.36.36,0,0,0,.291-.38V15.451h0ZM5.37,2.27,4.2,5a64.333,64.333,0,0,0,7.635.457A64.223,64.223,0,0,0,19.47,5L18.29,2.27a1.989,1.989,0,0,0-1.45-.94h-10A1.988,1.988,0,0,0,5.37,2.27Zm5.469,9.19a1,1,0,1,1,1,1.06A1.031,1.031,0,0,1,10.84,11.46Z'/>`\n);\n\nexport const UsedCarCommercialShape = clrIconSVG(\n `<path d='M17.12,22a1.619,1.619,0,0,1-1.589-1.62v-.5H7.97v.481A1.641,1.641,0,0,1,6.34,22h-3a1.62,1.62,0,0,1-1.61-1.62V10.1L2,8.5,0,8.34V7H.06c.71.111,1.419.16,2.129.211l.26-1.67A6.741,6.741,0,0,1,3.84,2.361L5.4.461A1.236,1.236,0,0,1,6.4,0h3V1.34h-3L4.89,3.21A5.405,5.405,0,0,0,3.74,5.761L3.5,7.3c1.95.12,3.88.21,5.88.21v1.35c-2.09-.04-4.09-.1-6.089-.23l-.25,1.58V13.3c1.56.22,3.18.4,4.86.52l-.09,1.34q-2.47-.18-4.77-.51v5.73a.291.291,0,0,0,.28.28h3a.311.311,0,0,0,.3-.3v-1.82H16.84v1.84a.291.291,0,0,0,.28.28h3a.291.291,0,0,0,.28-.28v-5.76c-1.51.22-3.07.4-4.66.51l-.1-1.33c1.62-.12,3.22-.3,4.76-.53V11.78H21.73v8.6A1.62,1.62,0,0,1,20.12,22Zm-6.39-7.22a1,1,0,1,1,1,1A1,1,0,0,1,10.73,14.781Zm2.177-7.9a4.17,4.17,0,0,1,.833-5.055l.44-.43.94.94-.46.45a2.874,2.874,0,0,0-.92,2.091,2.84,2.84,0,1,0,5.67,0V2.59l-2.05,2-.941-.94L20.08,0l3.65,3.65-.941.9-2.05-2v2.32a4.17,4.17,0,0,1-7.833,2.005Z'/>`\n);\n\nexport const UsedCarPrivateShape = clrIconSVG(\n `<path d='M11.33,3.65,7.68,0,4.02,3.65l.94.94,2.05-2V4.92a2.84,2.84,0,1,1-5.67,0,2.87,2.87,0,0,1,.92-2.09l.46-.45-.94-.94-.44.43a4.17,4.17,0,1,0,7,3.05V2.55l2.05,2Z' transform='translate(12.59 0.08)'/>\n <circle cx='1' cy='1' r='1' transform=\"translate(10.92 13.86)\"/>\n <path d='M21.92,7.12H20.51l.24.55v.08l.05.08a4.47,4.47,0,0,1,.58,1.52c-1.5.22-3.06.39-4.67.51l.1,1.33c1.6-.12,3.16-.3,4.66-.51v5.71a.29.29,0,0,1-.28.28h-2a.29.29,0,0,1-.28-.28V14.57H4.73v1.81a.3.3,0,0,1-.3.29h-2a.29.29,0,0,1-.28-.28V10.71c1.54.21,3.13.39,4.77.5l.09-1.32c-1.64-.12-3.24-.29-4.78-.51a4.65,4.65,0,0,1,.59-1.55l.1-.08V7.67L3.66,6c2.09.24,4.19.4,6.28.46V5.1Q7.09,5,4.22,4.73L5.33,2.21A2,2,0,0,1,6.8,1.33H9.92V0H6.74A3.33,3.33,0,0,0,4.16,1.58l-1.32,3C1.97,4.46,1.1,4.34.23,4.19H.17l-.11.65L0,5.51c.76.13,1.52.24,2.29.34l-.58,1.3A5.82,5.82,0,0,0,.84,10.2v6.19A1.61,1.61,0,0,0,2.45,18h2a1.63,1.63,0,0,0,1.63-1.62V15.9H17.62v.49A1.61,1.61,0,0,0,19.23,18h2a1.62,1.62,0,0,0,1.61-1.61V10.2a5.82,5.82,0,0,0-.87-3.07Z' transform=\"translate(0.08 4)\"/>`\n);\n\nexport const WheelToWheelShape = clrIconSVG(\n `<path d=\"M17.528,20.6V19.32H5.418v1.272H4.088V16.469h1.33V17.99H17.528V16.475h1.329V20.6Zm-2.276-8.806-7.46.02A2.987,2.987,0,0,1,4.83,14.441c-.059,0-.12,0-.178-.005A2.991,2.991,0,0,1,1.84,11.465l-.459-.115A1.7,1.7,0,0,1,.01,9.509L.221,7.322c.085-.953.886-4.924,1.047-5.711l0-.019A2,2,0,0,1,3.217,0h.008L14.45.043H14.5a3.079,3.079,0,0,1,2.19.906l2.961,2.831a6.24,6.24,0,0,0,1.287.82,4.505,4.505,0,0,1,2.3,3.586l.1,1.26a1.785,1.785,0,0,1-1.305,1.872l-.829.224a2.993,2.993,0,0,1-2.857,2.9l-.127,0A2.979,2.979,0,0,1,15.251,11.793Zm2.962-2.005a1.662,1.662,0,1,0,1.663,1.661,1.663,1.663,0,0,0-1.663-1.661h0Zm-13.379,0A1.662,1.662,0,1,0,6.5,11.449,1.664,1.664,0,0,0,4.835,9.788h0ZM5,8.462a2.964,2.964,0,0,1,2.651,2.021l7.744-.022a2.963,2.963,0,0,1,2.695-2l.123,0a2.983,2.983,0,0,1,2.727,1.778l.736-.2A.452.452,0,0,0,22,9.554l-.1-1.259a3.6,3.6,0,0,0-1.8-2.627c-2.507.075-4.462.108-6.343.108-2.715,0-5.351-.069-9.342-.175l-2.56-.067c0,.009-.284,1.6-.313,1.913L1.337,9.581c0,.356.1.413.358.475l.444.112A2.987,2.987,0,0,1,4.832,8.457C4.889,8.457,4.946,8.458,5,8.462Zm7.949-3.981h.14c.989,0,1.8-.009,2.562-.028l2.7-.07L15.767,1.91A1.782,1.782,0,0,0,14.5,1.373h-.051l-1.8-.007ZM3.217,1.33a.669.669,0,0,0-.645.537c-.11.538-.29,1.435-.464,2.342l7.5.226c.563.017,1.138.023,1.693.03l.319,0-.3-3.108L3.22,1.33h0Z\" transform=\"translate(0.452 0.402)\"/>`\n);\n\nexport const View360Shape = clrIconSVG(\n `<path d=\"M10.83,14.626c.57-.632.986-1.1,1.3-1.471-.344.014-.676.042-1.026.042C4.568,13.2,0,10.994,0,7.84,0,6.33,1.075,4.97,3.025,4.012l.587,1.193C2.759,5.624,1.33,6.522,1.33,7.84c0,2.3,4.2,4.028,9.777,4.028.347,0,.675-.028,1.015-.041-.316-.365-.73-.832-1.292-1.456l.989-.891C14.177,12.1,14.177,12.2,14.177,12.5s0,.4-2.358,3.019Zm5.225-3.277c2.978-.7,4.829-2.04,4.829-3.509,0-1.046-.751-1.9-2.294-2.607l.554-1.209c2.038.934,3.069,2.219,3.069,3.816,0,2.183-2.134,3.935-5.856,4.8ZM9.595,5.711A1.812,1.812,0,0,1,9,4.349a2.287,2.287,0,0,1,.369-1.267L10.812.824h1.183V.9L10.789,2.668l.008.015a1.509,1.509,0,0,1,.541-.1h.034A1.643,1.643,0,0,1,13.008,4.35,1.806,1.806,0,0,1,11.2,6.171c-.063,0-.127,0-.19-.01a1.84,1.84,0,0,1-.212.013A1.8,1.8,0,0,1,9.595,5.711Zm1.492-.46a.821.821,0,0,0,.58-.243.808.808,0,0,0,.228-.66.776.776,0,0,0-.883-.851.713.713,0,0,0-.116-.009.786.786,0,0,0-.782.86.82.82,0,0,0,.817.9.8.8,0,0,0,.081,0C11.037,5.25,11.062,5.252,11.087,5.252ZM4.735,5.77l.284-.845a2.854,2.854,0,0,0,1.4.323c.554,0,.968-.246.968-.684,0-.476-.253-.706-.968-.706H5.533V2.966h.891c.607,0,.83-.284.83-.683S7,1.623,6.424,1.623a3.539,3.539,0,0,0-1.26.261l-.307-.83A3.936,3.936,0,0,1,6.424.709c1.291,0,1.943.553,1.943,1.482A1.18,1.18,0,0,1,7.584,3.32v.015a1.323,1.323,0,0,1,.922,1.306c0,.921-.723,1.52-2.082,1.52l-.134,0A3.268,3.268,0,0,1,4.735,5.77Zm8.839-2.335c0-1.809.682-2.726,2.028-2.726s2.012.917,2.012,2.726S16.936,6.161,15.6,6.161,13.574,5.244,13.574,3.435Zm1.113,0c0,1.287.266,1.813.914,1.813s.9-.526.9-1.813-.26-1.813-.9-1.813S14.687,2.147,14.687,3.435Zm4.685-.842c-.035,0-.071,0-.107,0a1.254,1.254,0,0,1-1.253-1.31A1.243,1.243,0,0,1,19.253,0c.04,0,.08,0,.119.005S19.453,0,19.493,0a1.233,1.233,0,0,1,1.23,1.288A1.247,1.247,0,0,1,19.478,2.6C19.443,2.6,19.407,2.6,19.372,2.594Zm.063-.7a.555.555,0,0,0,.552-.6.563.563,0,0,0-.562-.594l-.052,0-.048,0a.572.572,0,0,0-.574.593.563.563,0,0,0,.563.6l.059,0A.493.493,0,0,0,19.435,1.891Z\" transform=\"translate(0.893 4.353)\"/>`\n);\n\nexport const TransmissionManualShape = clrIconSVG(\n `<path d=\"M18.005,2.006a2,2,0,1,0-2.67,1.88v7a.5.5,0,0,1-.4.5H9.665v-7.5a2,2,0,1,0-1.33,0v7.45H2.665V3.886a2,2,0,1,0-1.33,0v15.24a2,2,0,1,0,1.33,0v-6.46h5.67v6.46a2,2,0,1,0,1.33,0v-6.45h3.68a12.81,12.81,0,0,0,1.81,0,1.82,1.82,0,0,0,1.51-1.81v-7a2,2,0,0,0,1.34-1.86Z\" transform=\"translate(0.235 0.494)\"/>`\n);\n\nexport const TransmissionAutomaticShape = clrIconSVG(\n `<path d=\"M14,21.74a1,1,0,1,1,1,1A1,1,0,0,1,14,21.74Zm-5.342.95H7.33V17.95H1.8A1.816,1.816,0,0,1,0,16.15v-2a1.82,1.82,0,0,1,1.8-1.78H7.33V0H8.66V12.37H14.2a1.827,1.827,0,0,1,1.281.541A1.8,1.8,0,0,1,16,14.2v2A1.816,1.816,0,0,1,14.2,18H8.66v4.689h0Zm-7.329-6H14.67v-3H1.33ZM14,8a1,1,0,1,1,1,1A1,1,0,0,1,14,8Zm0-7a1,1,0,1,1,1,1A1,1,0,0,1,14,1Z\" transform=\"translate(0 0.63)\"/>`\n);\n\nexport const StockLocatorPrivateShape = clrIconSVG(\n `<path d=\"M12.92 16a1 1 0 11-1-1 1 1 0 011 1zM22 12.44h-1.41l.24.55v.08l.05.08a4.47 4.47 0 01.58 1.52c-1.5.22-3.06.39-4.67.51l.1 1.33c1.6-.12 3.16-.3 4.66-.51v5.71a.29.29 0 01-.28.28h-2a.29.29 0 01-.28-.28v-1.82H4.81v1.81a.3.3 0 01-.3.29h-2a.29.29 0 01-.28-.28V16c1.54.21 3.13.39 4.77.5l.09-1.32c-1.64-.12-3.24-.29-4.78-.51a4.65 4.65 0 01.59-1.55l.1-.05V13l.73-1.66c2.09.24 4.19.4 6.28.46v-1.38q-2.85-.06-5.72-.37l1.12-2.52a2 2 0 011.47-.88H10V5.32H6.82A3.33 3.33 0 004.24 6.9l-1.32 3c-.87-.13-1.74-.25-2.61-.4H.25l-.11.65-.06.67c.76.13 1.52.24 2.29.34l-.58 1.3a5.82 5.82 0 00-.87 3.07v6.19a1.61 1.61 0 001.61 1.61h2a1.63 1.63 0 001.61-1.63v-.48H17.7v.49a1.61 1.61 0 001.61 1.61h2a1.62 1.62 0 001.61-1.61v-6.19a5.82 5.82 0 00-.87-3.07zm1.88-5.76h-1.29a4.73 4.73 0 01-4 4V12h-1.35v-1.33a4.71 4.71 0 01-4-4h-1.32V5.32h1.33a4.71 4.71 0 014-4V0h1.35v1.34a4.73 4.73 0 014 4h1.32zm-5.29 2.67a3.42 3.42 0 002.68-2.68h-1.35V5.34h1.35a3.42 3.42 0 00-2.68-2.69V4h-1.34V2.65a3.41 3.41 0 00-2.68 2.69h1.35v1.33h-1.35a3.42 3.42 0 002.68 2.68V8h1.34v1.34z\"/>`\n);\n\nexport const StockLocatorCommercialShape = clrIconSVG(\n `<path d=\"M11.89 14.78a1 1 0 11-1 1 1 1 0 011-1zm8.67-2v1.49c-1.54.23-3.14.41-4.76.53l.1 1.33c1.59-.11 3.15-.29 4.66-.51v5.76a.29.29 0 01-.28.28h-3a.29.29 0 01-.28-.28v-1.84H6.78v1.82a.31.31 0 01-.3.3h-3a.29.29 0 01-.28-.28v-5.73q2.3.33 4.77.51l.09-1.34c-1.68-.12-3.3-.3-4.86-.52v-3.09l.25-1.58c2 .13 4 .19 6.09.23V8.51c-2 0-3.93-.09-5.88-.21l.24-1.54a5.41 5.41 0 011.15-2.55l1.51-1.87h3V1h-3a1.24 1.24 0 00-1 .46L4 3.36a6.74 6.74 0 00-1.39 3.18l-.26 1.67C1.64 8.16.93 8.11.22 8H.16v1.34l2 .16-.27 1.6v10.28A1.62 1.62 0 003.5 23h3a1.64 1.64 0 001.63-1.64v-.48h7.56v.5A1.62 1.62 0 0017.28 23h3a1.62 1.62 0 001.61-1.62v-8.6zm3.33-6.1h-1.33a4.73 4.73 0 01-4 4V12h-1.35v-1.33a4.71 4.71 0 01-4-4h-1.32V5.32h1.33a4.71 4.71 0 014-4V0h1.35v1.34a4.73 4.73 0 014 4h1.32zm-5.33 2.67a3.42 3.42 0 002.68-2.68h-1.35V5.34h1.35a3.42 3.42 0 00-2.68-2.69V4h-1.34V2.65a3.41 3.41 0 00-2.68 2.69h1.35v1.33h-1.35a3.42 3.42 0 002.68 2.68V8h1.34v1.34z\"/>`\n);\n\nexport const ServiceShape = clrIconSVG(\n `<path d=\"M1.223,19.949l-.2-.2a3.509,3.509,0,0,1,0-4.957L6.2,9.622A8.353,8.353,0,0,1,5.926,7.5a7.254,7.254,0,0,1,7.5-7.5,7.25,7.25,0,0,1,6.711,4,7.465,7.465,0,0,1,.5,1.33H15.6L14.3,6.854l-.553.645L15.6,9.67h5.035a7.428,7.428,0,0,1-.5,1.33,7.251,7.251,0,0,1-6.711,4,8.313,8.313,0,0,1-2.04-.257L6.179,19.949a3.5,3.5,0,0,1-4.956,0Zm.743-4.212a2.174,2.174,0,0,0,0,3.075l.2.2a2.175,2.175,0,0,0,3.076,0L10,14.246A6.96,6.96,0,0,1,6.71,10.993ZM7.227,7.5a6.906,6.906,0,0,0,.08,1.017A6.4,6.4,0,0,0,7.7,10.005a5.8,5.8,0,0,0,3.294,3.248,6.516,6.516,0,0,0,1.5.378,7.111,7.111,0,0,0,.928.067A6.038,6.038,0,0,0,18.633,11H14.991l-.8-.939L12.55,8.151A1,1,0,0,1,12.5,6.936a.33.33,0,0,0,.024-.041.241.241,0,0,1,.028-.046l.8-.938L14.991,4h3.641a6.038,6.038,0,0,0-5.207-2.7A6,6,0,0,0,7.227,7.5ZM2.686,17.289a1,1,0,1,1,1,1A1,1,0,0,1,2.686,17.289Z\" transform=\"translate(0 0)\"/>`\n);\n\nexport const ServiceBellShape = clrIconSVG(\n `<path d=\"M22,21.2H0v-1.33H1.348c.912-5.082,3.623-7.93,8.06-8.463a2.577,2.577,0,1,1,3.185,0c4.437.533,7.148,3.38,8.059,8.463H22V21.2h0ZM2.705,19.868H19.3C18.35,15,15.638,12.636,11,12.636S3.65,15,2.705,19.868ZM9.753,9.394a1.242,1.242,0,0,0,.769,1.152,1.227,1.227,0,0,0,.477.1A1.247,1.247,0,1,0,9.753,9.394Zm5.592-4.069,2.467-3.148L18.858,3,16.391,6.145ZM3.141,3l1.046-.821,2.47,3.147-1.046.82Zm7.194,1V0h1.33V4Z\" transform=\"translate(0 0.805)\"/>`\n);\n\nexport const SeatShape = clrIconSVG(\n `<path d=\"M16.44 22.51H3L1.43 17.9a1.71 1.71 0 01.08-1.31 1.61 1.61 0 011-.81 18.73 18.73 0 014.17 0c1.87.08 4.13.17 5.71.06A2.86 2.86 0 0113 13.9a12.27 12.27 0 002.68-5.11 18.52 18.52 0 00.87-5.61 1.64 1.64 0 011.66-1.69h4.37v.63a34.57 34.57 0 01-1 10 25.11 25.11 0 01-5 10.18zM3.91 21.18H15.8a23.72 23.72 0 004.53-9.39 34.22 34.22 0 001-9h-3.1a.32.32 0 00-.24.09.35.35 0 00-.09.25 20 20 0 01-.92 6A13.6 13.6 0 0114 14.76c-.24.29-.35.53-.35 1.65V17l-.59.07a50 50 0 01-6.49 0 26.84 26.84 0 00-3.73 0 .25.25 0 00-.16.14.34.34 0 000 .28z\"/>`\n);\n\nexport const SeatAirShape = clrIconSVG(\n `<path d=\"M15.1,21.02H1.664L.094,16.411a1.724,1.724,0,0,1,.08-1.31,1.619,1.619,0,0,1,1-.81,18.785,18.785,0,0,1,4.171,0c1.314.057,2.7.112,3.945.112.694,0,1.272-.017,1.765-.051a2.855,2.855,0,0,1,.61-1.94,12.337,12.337,0,0,0,2.68-5.11,18.506,18.506,0,0,0,.869-5.61A1.64,1.64,0,0,1,16.854,0h4.389V.63a34.926,34.926,0,0,1-1,10,25.307,25.307,0,0,1-5,10.181l-.14.21ZM1.5,15.58a.249.249,0,0,0-.16.14.338.338,0,0,0,0,.28l1.23,3.69h11.89A24.034,24.034,0,0,0,19,10.3a34.617,34.617,0,0,0,1-9H16.885a.322.322,0,0,0-.221.091.375.375,0,0,0-.09.25,19.959,19.959,0,0,1-.92,6,13.669,13.669,0,0,1-2.99,5.63c-.243.293-.35.538-.35,1.65v.59l-.589.069c-1.076.073-2.167.11-3.245.11s-2.17-.037-3.245-.11c-.617-.043-1.245-.065-1.865-.065S2.122,15.537,1.5,15.58ZM7.4,11.1a3,3,0,0,0,1.53-2.3c0-.64-.32-1-.9-1.65A4.442,4.442,0,0,1,6.564,3.92,3.45,3.45,0,0,1,8.664.98l.57,1.2A2.148,2.148,0,0,0,7.884,3.97,3.194,3.194,0,0,0,9.014,6.251a3.616,3.616,0,0,1,1.25,2.55,4.17,4.17,0,0,1-2.129,3.41Zm-5.11,0a2.933,2.933,0,0,0,1.53-2.3c0-.64-.32-1-.9-1.65A4.442,4.442,0,0,1,1.454,3.92,3.45,3.45,0,0,1,3.514.98l.571,1.2A2.149,2.149,0,0,0,2.774,3.97,3.191,3.191,0,0,0,3.9,6.251,3.623,3.623,0,0,1,5.154,8.8a4.17,4.17,0,0,1-2.13,3.41Z\" transform=\"translate(0.336 0.49)\"/>`\n);\n\nexport const ReturnDateShape = clrIconSVG(\n `<path d=\"M26,11a1.0029,1.0029,0,0,0,1-1V4a1,1,0,0,0-2,0v6A1.0029,1.0029,0,0,0,26,11Z\"/><path d=\"M10,11a1.0029,1.0029,0,0,0,1-1V4A1,1,0,0,0,9,4v6A1.0029,1.0029,0,0,0,10,11Z\"/><path d=\"M4,16.89V9H7V7H4A2.0059,2.0059,0,0,0,2,9v8.29a2.9516,2.9516,0,0,1,1.5-.4Z\"/><rect x=\"13\" y=\"7\" width=\"10\" height=\"2\"/><path d=\"M32,31H4V22.89H3.5a3.0545,3.0545,0,0,1-1.5-.4V31a2.0059,2.0059,0,0,0,2,2H32a2.0059,2.0059,0,0,0,2-2V22.44l-2,2Z\"/><path d=\"M32,7H29V9h3v6.34l2,2V9A2.0059,2.0059,0,0,0,32,7Z\"/><path d=\"M27.2446,16.9493l1.44,1.4395H18.3052a1.5,1.5,0,0,0,0,3H28.6841l-1.44,1.4394a1.5,1.5,0,1,0,2.1211,2.1211l4-4a1.4993,1.4993,0,0,0,0-2.1211l-4-4a1.5,1.5,0,1,0-2.1211,2.1211Z\"/><circle cx=\"8.6602\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"3.5098\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"13.8096\" cy=\"19.8896\" r=\"1.5\"/>`,\n '0 0 36 36'\n);\n\nexport const RepeatRepairShape = clrIconSVG(\n `<path d=\"M15.6072,9.7988l.56-.65,1.3-1.52h5.03a6.8631,6.8631,0,0,0-.5-1.33,7.2324,7.2324,0,0,0-6.71-4,4.17,4.17,0,0,0-.5,0,7.1116,7.1116,0,0,0-2.95.75l.54.54.45.45a5.9155,5.9155,0,0,1,2.46-.44,6.0331,6.0331,0,0,1,5.21,2.7h-3.64l-1.64,1.91-.8.94a.138.138,0,0,0-.03.04c-.01.02-.02.03-.02.04a1.0062,1.0062,0,0,0,.05,1.22l1.64,1.91.8.94h3.64a6.025,6.025,0,0,1-5.21,2.69,7.26,7.26,0,0,1-.93-.06,7.0226,7.0226,0,0,1-1.5-.38,5.76,5.76,0,0,1-3.18-3.01,5.4706,5.4706,0,0,1-2.96,1h-.27l-3.56,3.55a3.5066,3.5066,0,0,0,0,4.96l.2.2h.01a3.4916,3.4916,0,0,0,4.94,0l5.21-5.21a8.2682,8.2682,0,0,0,2.04.26,7.2772,7.2772,0,0,0,6.71-4,7.3892,7.3892,0,0,0,.5-1.33h-5.03Zm-8.5,11.51a2.1788,2.1788,0,0,1-3.08,0l-.2-.2a2.1788,2.1788,0,0,1,0-3.08l4.75-4.74a6.92,6.92,0,0,0,3.29,3.25Zm-.56-1.72a1,1,0,1,1-1-1A1.0029,1.0029,0,0,1,6.5472,19.5888Zm-4.03-10.31a4.5942,4.5942,0,0,1-.17-.82,4.1759,4.1759,0,0,1,4.17-4.59h2.37l-2-2.05.9-.94,3.65,3.65-3.49,3.5-.16.16-.94-.94,2-2.05h-2.33a2.84,2.84,0,1,0-.34,5.67,1.93,1.93,0,0,0,.34,0,2.9459,2.9459,0,0,0,1.31-.32,3.247,3.247,0,0,0,.78-.6l.45-.46.94.94-.43.44c-.11.11-.22.22-.33.32a3.9935,3.9935,0,0,1-1.18.71,4.1406,4.1406,0,0,1-4.39-.8,3.672,3.672,0,0,1-.58-.67,3.6882,3.6882,0,0,1-.42-.75A2.74,2.74,0,0,1,2.5172,9.2788Z\"/>`\n);\n\nexport const RoadsideAssistanceShape = clrIconSVG(\n `<path d=\"M6.91 17.88a1 1 0 11-1 1 1 1 0 011-1zm-2.65-1.49a3.51 3.51 0 000 5l.2.19v.05a3.5 3.5 0 005-.05l5.2-5.2a8.43 8.43 0 002 .25 7.23 7.23 0 006.71-4 6.86 6.86 0 00.5-1.33h-5L17 9.09l.55-.64 1.34-1.53h5a6.86 6.86 0 00-.5-1.33 7.23 7.23 0 00-6.71-4v1.3a6 6 0 015.21 2.7h-3.62L16.63 7.5l-.8.94-.06.09a1 1 0 00.06 1.21l1.63 1.91.81.94h3.64a6 6 0 01-5.21 2.7 7.28 7.28 0 01-.93-.07 6.46 6.46 0 01-1.5-.37 5.75 5.75 0 01-3.18-3H8.83l-4.53 4.5zm.35 2.48a2.16 2.16 0 01.63-1.54L10 12.59a7.05 7.05 0 003.29 3.25L8.52 20.6a2.17 2.17 0 01-3.07 0l-.2-.19a2.16 2.16 0 01-.64-1.54zm6-13.12a4.57 4.57 0 002.06.57C14.1 6.32 15 5.6 15 4.41c0-.92-.54-1.41-1.68-1.76l-.63-.21c-.49-.15-.63-.38-.63-.69S12.29 1 13 1a3.71 3.71 0 011.42.39l.37-1A4.31 4.31 0 0013 0c-1.44 0-2.2.75-2.2 1.85a1.77 1.77 0 001.43 1.69l.65.21c.64.21.86.37.86.77s-.33.76-1 .76A3.65 3.65 0 0111 4.77zM4.38 7.52c0-1.76.91-3.16 2.91-3.16s2.93 1.4 2.93 3.16-.9 3.17-2.93 3.17-2.91-1.4-2.91-3.17zm4.54 0c0-1.19-.42-2.1-1.63-2.1s-1.62.91-1.62 2.1.43 2.11 1.62 2.11 1.63-.91 1.63-2.11zM0 14.61a4.58 4.58 0 002.06.58c1.4 0 2.26-.73 2.26-1.92 0-.92-.54-1.41-1.68-1.76L2 11.3c-.49-.15-.62-.38-.62-.69s.27-.71.94-.71a3.62 3.62 0 011.41.39l.38-1a4.31 4.31 0 00-1.79-.44c-1.45 0-2.2.75-2.2 1.85a1.77 1.77 0 001.43 1.7l.65.21c.63.21.86.38.86.77s-.33.76-1 .76a3.85 3.85 0 01-1.68-.5z\"/>`\n);\n\nexport const QualifiedWorkshopShape = clrIconSVG(\n `<path d=\"M3.375,22.943l-.19-.19a3.49,3.49,0,0,1,0-4.95l4.8-4.8h1.86a5.831,5.831,0,0,0,3.29,3.25,6.725,6.725,0,0,0,1.5.37,7.123,7.123,0,0,0,.93.07l.194,0A5.986,5.986,0,0,0,20.765,14h-3.63L14.7,11.163a1,1,0,0,1,0-1.3L17.135,7h3.63a5.981,5.981,0,0,0-5.011-2.7c-.063,0-.126,0-.189,0h-.085a6.318,6.318,0,0,0-3.335.95v-1.5A7.964,7.964,0,0,1,15.51,3h.055c.076,0,.155,0,.231,0A7.23,7.23,0,0,1,22.265,7a6.9,6.9,0,0,1,.48,1.339h-5l-1.86,2.171,1.86,2.17,4.98-.01a6.9,6.9,0,0,1-.5,1.329,7.231,7.231,0,0,1-6.47,4c-.076,0-.154,0-.229,0a8,8,0,0,1-2-.26l-5.2,5.2a3.492,3.492,0,0,1-4.95,0Zm.75-4.2a2.16,2.16,0,0,0-.64,1.53,2.188,2.188,0,0,0,.64,1.54l.19.19a2.187,2.187,0,0,0,1.537.64h.023A2.167,2.167,0,0,0,7.405,22l4.739-4.75A7.078,7.078,0,0,1,8.855,14Zm.72,1.55a1,1,0,1,1,1,1A1,1,0,0,1,4.845,20.292Zm-3.89-8.42a1.058,1.058,0,0,1-.74-.4,1,1,0,0,1-.191-.841l.52-3a1.673,1.673,0,0,1,.86-1.17l1.1-.52a4.411,4.411,0,0,0,1,1l-1.47.7a.361.361,0,0,0-.16.24L1.4,10.6c.76.06,2.8.2,5,.2,1.93,0,4.18-.149,5-.2l-.43-2.74a.371.371,0,0,0-.18-.23l-1.44-.69a4.253,4.253,0,0,0,1-1l1.05.51a1.671,1.671,0,0,1,.87,1.16l.49,3.04a1.048,1.048,0,0,1-.95,1.22c-.02,0-2.959.23-5.43.23C3.555,12.1.955,11.872.955,11.872ZM6.4,6.323H6.336A3.062,3.062,0,0,1,3.274,3.162,3.05,3.05,0,0,1,6.323,0H6.4l.111,0A3.05,3.05,0,0,1,9.564,3.162a3,3,0,0,1-3,3.165C6.513,6.327,6.458,6.325,6.4,6.323Zm.145-1.314A1.721,1.721,0,0,0,8.265,3.162,1.731,1.731,0,0,0,6.539,1.327c-.045,0-.09,0-.134.005l-.073,0A1.732,1.732,0,0,0,4.6,3.162,1.73,1.73,0,0,0,6.332,5L6.4,5C6.453,5.006,6.5,5.009,6.549,5.009Z\" transform=\"translate(0.595 0)\"/>`\n);\n\nexport const PowerTrainShape = clrIconSVG(\n `<path d=\"M22.065 6.745a1.463 1.463 0 001.53-1.381V3.179A1.46 1.46 0 0022.069 1.8h-5.262a1.464 1.464 0 00-1.53 1.382v2.18a1.464 1.464 0 001.53 1.382h2.01v2.681a2.264 2.264 0 00-1.945 1.91H5.082v-4.59h1.967A1.464 1.464 0 008.58 5.363V3.179A1.46 1.46 0 007.054 1.8h-5.27a1.464 1.464 0 00-1.53 1.382v2.18a1.464 1.464 0 001.53 1.382h1.968v10.51H1.785a1.463 1.463 0 00-1.531 1.381v2.182a1.463 1.463 0 001.53 1.38H7.05a1.463 1.463 0 001.531-1.38v-2.186a1.46 1.46 0 00-1.526-1.377H5.082v-4.59h11.79a2.264 2.264 0 001.944 1.91v2.68h-2.01a1.463 1.463 0 00-1.53 1.381v2.182a1.463 1.463 0 001.53 1.38h5.26a1.463 1.463 0 001.529-1.38v-2.186a1.459 1.459 0 00-1.526-1.377h-1.923v-2.704a2.362 2.362 0 001.92-2.55 2.307 2.307 0 00-1.92-2.558V6.745zM1.584 5.415l-.005-2.284H7.25l.005 2.284zm5.666 13.17l.005 2.283H1.584l-.005-2.283zm15.015 0l.005 2.283h-5.664l-.004-2.283zM20.736 12c0 .91-.388 1.298-1.3 1.298s-1.3-.388-1.3-1.298.388-1.298 1.3-1.298c.96 0 1.3.34 1.3 1.298zm1.534-6.585h-5.664l-.004-2.284h5.662\"/>`\n);\n\nexport const PowerShape = clrIconSVG(\n `<path d=\"M8 9.83h8v1.33H8z\"/>\n <path d=\"M20.5 6.33h-3.83V1.18h-1.34v5.15H8.67V1.18H7.33v5.15H3.5v1.33h1.33v6.65a5.21 5.21 0 005 5.36h1.47V24h1.34v-4.33h1.47a5.21 5.21 0 005-5.36V7.66h1.39zm-2.67 8a3.86 3.86 0 01-3.69 4H9.86a3.86 3.86 0 01-3.69-4V7.66h11.66z\"/>\n <path d=\"M9 12.83h6v1.33H9z\"/>`\n);\n\nexport const PetrolShape = clrIconSVG(\n `<path d=\"M8.233,20.91H8.18A8.18,8.18,0,0,1,1.507,8L7.156,0h2.1l5.65,8A8.18,8.18,0,0,1,8.233,20.91ZM7.846,1.32h0L2.6,8.77a6.86,6.86,0,1,0,11.219,0L8.566,1.32h-.72ZM4.536,16.4h0A5.164,5.164,0,0,1,3.956,9.73l1.09.76a3.861,3.861,0,0,0,.43,5l-.94.909Z\" transform=\"translate(0.794 0.85)\"/>`\n);\n\nexport const PerformanceShape = clrIconSVG(\n `<path d=\"M11.67,0C5.24,0,0,5.67,0,12.67H1.34c0-6.25,4.63-11.33,10.33-11.33S22,6.42,22,12.67h1.34C23.34,5.67,18.1,0,11.67,0Z\" transform=\"translate(0.33 0.33)\"/>\n <path d=\"M6.5,0,1.94,4.55A1.45,1.45,0,0,0,1.5,4.5,1.5,1.5,0,1,0,3,6a1.45,1.45,0,0,0-.08-.47L7.5,1Z\" transform=\"translate(10.5 7)\"/>`\n);\n\nexport const PayloadShape = clrIconSVG(\n `<path d=\"M20.21,22.943H.78a.781.781,0,0,1-.771-.9L2.319,8.393A2.133,2.133,0,0,1,4.431,6.6H8.609a3.444,3.444,0,0,1-1.69-3.05A3.44,3.44,0,0,1,10.36,0L10.5,0l.144,0A3.44,3.44,0,0,1,14.08,3.6a3.442,3.442,0,0,1-1.67,3h4.169A2.111,2.111,0,0,1,18.67,8.383l2.319,13.66a.779.779,0,0,1-.77.9ZM3.64,8.613l-2.21,13H19.57l-2.21-13a.785.785,0,0,0-.78-.67H4.429A.8.8,0,0,0,3.64,8.613Zm6.993-2.836a2.12,2.12,0,0,0,2.117-2.224,2.12,2.12,0,0,0-2.117-2.225c-.044,0-.089,0-.133,0s-.089,0-.133,0A2.12,2.12,0,0,0,8.249,3.553a2.138,2.138,0,0,0,2.137,2.222l.113,0C10.543,5.775,10.589,5.777,10.633,5.777ZM9.709,19.083V12.713H7.549V11.4H13.5v1.31H11.28v6.369Z\" transform=\"translate(0.501 0.527)\"/>`\n);\n\nexport const PaintShopShape = clrIconSVG(\n `<path d=\"M3.365 12.815h4v1.33h-4zm15.018 3.944l1.301 1.301.941-.94-1.301-1.301zm2.241-6.988l-.941-.94-1.301 1.301.94.941zm.581 4.34v-1.33h-1.84v1.33zm.761-7.072a.75.75 0 10-.514 1.408.75.75 0 00.514-1.408zm0 11.473a.75.75 0 10-.514 1.408.75.75 0 00.514-1.408zm1.284-5.816a.75.75 0 100 1.5.75.75 0 000-1.5zm-9.315-2.444l3.735 1.836v3l-3.757 1.685a.941.941 0 01-.857.557h-2.712v2.924h-1.33V17.33H7.718a.478.478 0 00-.464.362l-1.198 4.793A2.001 2.001 0 014.116 24H2.381a1.33 1.33 0 01-1.29-1.653l1.171-4.683A.27.27 0 002 17.33c-.018 0-.036-.005-.054-.005H1.93v-.002A1.997 1.997 0 010 15.33v-3.7a2 2 0 012-2h3.369a2.61 2.61 0 01-1.521-1.646L2.111 2.371 9.752 0l1.736 5.614a2.615 2.615 0 01-1.37 3.13l.288.886h2.65c.407 0 .747.261.879.622zM4.608 5.943h5.59L8.875 1.665l-5.1 1.582zM12.67 16v-5.04H2a.671.671 0 00-.67.67v3.7c0 .36.286.649.643.664h2.715v1.33H3.571a1.58 1.58 0 01-.02.663l-1.17 4.683h1.735a.67.67 0 00.65-.508l1.198-4.793A1.805 1.805 0 017.718 16h1.296v-.002h1.33V16zm3.67-3.084L14 11.766v3.51l2.34-1.049z\"/>`\n);\n\nexport const OpenSatShape = clrIconSVG(\n `<path d=\"M3,23.051a3,3,0,0,1-3-3v-17H4v-2H5.34v2H14a5.24,5.24,0,0,1,10,2.26,5.186,5.186,0,0,1-2,4.1V20.051a3,3,0,0,1-3,3Zm-1.66-3a1.658,1.658,0,0,0,.482,1.184,1.679,1.679,0,0,0,1.177.5H19.01a1.67,1.67,0,0,0,1.67-1.679v-9.86a5.24,5.24,0,0,1-7.17-4.88,4.765,4.765,0,0,1,.1-.92H5.34v2.66H4V4.391H1.34v4.34H13a3.422,3.422,0,0,0,1.34,1.319h-13ZM18.76,1.5a3.82,3.82,0,0,0,.06,7.64,3.82,3.82,0,0,0,0-7.641ZM3.23,19.58l.409-1.02a4.006,4.006,0,0,0,1.79.54c.72,0,1.07-.27,1.07-.82s-.239-.59-.91-.82l-.7-.221a1.889,1.889,0,0,1-1.53-1.8c0-1.18.81-2,2.35-2a4.762,4.762,0,0,1,1.911.46l-.4,1.06a3.942,3.942,0,0,0-1.51-.41c-.72,0-1,.3-1,.751s.14.58.67.74l.67.22c1.22.381,1.8.911,1.8,1.89,0,1.271-.92,2.05-2.42,2.05A4.905,4.905,0,0,1,3.23,19.58Zm12.63.471V14.7H14V13.6h5v1.1H17.18v5.35Zm-3.28-1.33H10l-.44,1.33H8.11l2.38-6.47H12l2.41,6.468-1.41,0Zm-2.23-1.05h1.8l-.88-2.72h-.03ZM15.7,5.511l.841-1.03,1.939,1.6,2.53-2.52.941.941L18.57,7.88Z\" transform=\"translate(0 0.5)\"/>`\n);\n\nexport const OnCallDutyShape = clrIconSVG(\n `<path d=\"M7 17.88a1 1 0 11-1 1 1 1 0 011-1zm-2.65-1.49a3.51 3.51 0 000 5l.2.19v.05a3.5 3.5 0 005-.05l5.2-5.2a8.43 8.43 0 002 .25 7.23 7.23 0 006.71-4 6.86 6.86 0 00.5-1.33H19l-1.89-2.21.55-.64L19 6.92h5a6.86 6.86 0 00-.5-1.33 7.23 7.23 0 00-6.71-4v1.3A6 6 0 0122 5.59h-3.64L16.72 7.5l-.8.94-.06.09a1 1 0 00.06 1.21l1.63 1.91.81.94H22a6 6 0 01-5.21 2.7 7.28 7.28 0 01-.93-.07 6.46 6.46 0 01-1.5-.37 5.75 5.75 0 01-3.18-3H8.92l-4.53 4.5zm.35 2.48a2.16 2.16 0 01.63-1.54l4.75-4.74a7.05 7.05 0 003.29 3.25L8.61 20.6a2.17 2.17 0 01-3.07 0l-.2-.19a2.16 2.16 0 01-.64-1.54zm6.1-17.54a1 1 0 00-.74.34L9 2.72a1.64 1.64 0 00.19 1.45l.51.89-.7.72L6.23 8.5l-.81.81-.92-.68a4.73 4.73 0 00-.69-.42 1.29 1.29 0 00-.24 0 1.07 1.07 0 00-.72.28L1.68 9.56a1 1 0 00-.31.74 1 1 0 00.31.75l.85.85a2 2 0 00.78.5h.11a1.58 1.58 0 00.38 0 2.31 2.31 0 001.49-.73L9.1 8.05l3-2.94c.57-.57.77-.88.77-1.21a2 2 0 00-.57-1.41l-.87-.86a1 1 0 00-.4-.22 1 1 0 00-.29 0M10.8 0a2.36 2.36 0 011.62.64l.89.88a3.27 3.27 0 01.95 2.35A3.07 3.07 0 0113.09 6L10 9l-3.82 3.75a3.57 3.57 0 01-2.42 1.11 2.64 2.64 0 01-.74-.1l-.2-.07a3.26 3.26 0 01-1.26-.8L.69 12A2.41 2.41 0 010 10.33a2.36 2.36 0 01.71-1.68l.06-.06L2 7.48a2.4 2.4 0 011.62-.63 2.35 2.35 0 01.64.09 4.87 4.87 0 011.08.62L8 4.84a2.75 2.75 0 010-3l1-1A2.33 2.33 0 0110.71 0z\"/>`\n);\n\nexport const NightServiceShape = clrIconSVG(\n `<path d=\"M6.461,22.807a3.57,3.57,0,0,1-2.536-1.062l-.2-.2a3.5,3.5,0,0,1,0-5l4.5-4.5a4.628,4.628,0,0,0,2.1-.4,5.613,5.613,0,0,0,5.363,3.916c.145,0,.292-.005.437-.016.087,0,.176.006.265.006a5.947,5.947,0,0,0,4.936-2.706h-3.6l-2.4-2.8a1.05,1.05,0,0,1,0-1.3l2.4-2.8h3.7A5.942,5.942,0,0,0,16.49,3.238c-.088,0-.177,0-.265.006a5.349,5.349,0,0,0-2.2.4,2.707,2.707,0,0,0-.6-1.2,8.562,8.562,0,0,1,2.8-.5c.082,0,.166,0,.248,0A7.1,7.1,0,0,1,20.24,3.033a7.52,7.52,0,0,1,2.685,2.911,5.074,5.074,0,0,1,.5,1.3h-5l-1.9,2.2,1.8,2.1,5-.1a6.956,6.956,0,0,1-.5,1.3,7.533,7.533,0,0,1-2.685,2.911,7.112,7.112,0,0,1-3.767,1.093c-.083,0-.166,0-.248,0a6.818,6.818,0,0,1-2-.2l-5.2,5.2-.1.1a3.315,3.315,0,0,1-2.362.962ZM4.625,17.645a2.254,2.254,0,0,0-.674,1.649,2,2,0,0,0,.674,1.452l.2.2a2.243,2.243,0,0,0,1.588.675,2,2,0,0,0,1.512-.675l4.7-4.7a7.532,7.532,0,0,1-3.3-3.3Zm.8,1.5a.945.945,0,0,1,1-1,1,1,0,0,1,1,1,.945.945,0,0,1-1,1A.945.945,0,0,1,5.425,19.145Zm-3.2-8.5a5.47,5.47,0,0,1-1.1-7.7,5.111,5.111,0,0,1,2.9-2,5.459,5.459,0,0,0,1.1,7.7,5.986,5.986,0,0,0,3.4,1.1,6.763,6.763,0,0,0,1.4-.2,5.584,5.584,0,0,1-4.448,2.225A5.206,5.206,0,0,1,2.225,10.644Zm9.2-1.7v-.1l.2-1v-.1l-.7-.7v-.1h1.1l.4-.9a.1.1,0,0,1,.2,0l.3.9h1a.1.1,0,0,1,.1.1l-.7.7v.1l.3.9a.1.1,0,0,1-.1.1l-1-.4h-.1l-.9.5Zm-2.8-1.6-1.5-.8h-.1l-1.4.7h-.1v-.1l.4-1.4v-.1l-1.1-1.1v-.1c0-.1,0-.1.1-.1h1.5l.1-.1.6-1.4a.1.1,0,0,1,.2,0l.6,1.4a.1.1,0,0,0,.1.1h1.4c.2.1.2.1.1.2l-1.2,1.1v.1l.5,1.5v.1Zm2.8-4.4-.9-.5h-.1l-1,.5h-.1v-.1l.3-.9v-.1l-.8-.8a.1.1,0,0,1,.1-.1h1.1l.4-.9s0-.1.1,0l.4.9h1.1v.1l-.8.8v.1l.3.9v.1Zm-.9-2.9Z\" transform=\"translate(0.375 0.556)\"/>`\n);\n\nexport const LoadingVolumeShape = clrIconSVG(\n `<path d=\"M1.738,18.48c.12.4.25.82.38,1.22l-1.26.35c-.97-2.99-.93-3.091-.77-3.35s.2-.33,3.24-1.121l.34,1.29c-.46.111-.949.25-1.39.371l9.39,4.669,9.31-4.73-1.07-.29.339-1.291c2.811.751,2.84.81,3,1.1s.19.339-.7,3.109l-1.27-.41.33-1-9.941,5Zm8.16-.54-7.34-3.81a1.511,1.511,0,0,1-.83-1.36V5.47a1.314,1.314,0,0,1,.71-1.17l7.83-4a3.42,3.42,0,0,1,2.8,0L20.9,4.32a1.317,1.317,0,0,1,.71,1.17l-.01,4.63V12.77a1.515,1.515,0,0,1-.83,1.36l-7.35,3.81a4.742,4.742,0,0,1-1.76.41A4.794,4.794,0,0,1,9.9,17.94ZM19.838,6.63l-7.349,3.81a.523.523,0,0,0-.291.47v5.71a.529.529,0,0,0,.25.45.523.523,0,0,0,.52,0l7.35-3.811a.519.519,0,0,0,.29-.47V7.1a.521.521,0,0,0-.26-.45.544.544,0,0,0-.27-.08A.534.534,0,0,0,19.838,6.63ZM2.988,6.7a.526.526,0,0,0-.25.4v5.69a.518.518,0,0,0,.29.47l7.34,3.79a.51.51,0,0,0,.77-.45V10.98a.529.529,0,0,0-.281-.47L3.508,6.7a.523.523,0,0,0-.52,0Zm8.49-.77L7.9,7.78l3.42,1.77a.918.918,0,0,0,.339.07h.025a.881.881,0,0,0,.345-.07l3.41-1.77L11.858,5.93a1.354,1.354,0,0,1-.191-.14A1.44,1.44,0,0,1,11.478,5.93Zm.841-4.74c-.06.029-.13.1-.13.28V4.76a.347.347,0,0,0,.13.28l4.209,2.18,2.85-1.52a1.506,1.506,0,0,1,1.23,0V5.47a.3.3,0,0,0-.17-.28l-7.83-4a.262.262,0,0,0-.146-.044A.256.256,0,0,0,12.318,1.19ZM3.968,5.7,6.808,7.22l4.21-2.18a.358.358,0,0,0,.13-.28V1.48a.3.3,0,0,0-.111-.27.289.289,0,0,0-.31,0l-7.83,4a.3.3,0,0,0-.17.28V5.7a1.529,1.529,0,0,1,1.24,0Z\" transform=\"translate(0.332 0.3)\"/>`\n);\n\nexport const HybridShape = clrIconSVG(\n `<path d=\"M2.921,18.987A8.2,8.2,0,0,1,1.49,8l5.65-8h2.1l1.51,2.09-1.09.76L8.551,1.38h-.72L2.58,8.83a6.86,6.86,0,0,0,5.612,10.8,6.938,6.938,0,0,0,.9-.059,6.861,6.861,0,0,0,5.693-4.885h-.661a2.889,2.889,0,0,1-2.889-2.84V8.8h-.82V7.47h2.14V3.97h1.33v3.5h2.56V3.97h1.33v3.5h2.14l-.02,1.28H19.07v3.03a2.889,2.889,0,0,1-2.888,2.84H16.16a8.309,8.309,0,0,1-2.17,3.9,8.2,8.2,0,0,1-11.07.467ZM16.18,13.3h.041a1.542,1.542,0,0,0,1.54-1.5l.04-3.05H12.6V11.8a1.541,1.541,0,0,0,1.539,1.5h2.04ZM3.41,10.05l1.091.72a3.839,3.839,0,0,0,.429,5l-.94.95A5.18,5.18,0,0,1,3.41,10.05Z\" transform=\"translate(0.339 0.53)\"/>`\n);\n\nexport const GasShape = clrIconSVG(\n `<path d=\"M21.75 2.83h-8.87a8.81 8.81 0 00-8.8 8.79v.76a8.73 8.73 0 002.13 5.71l-.8.81a4.89 4.89 0 01-3.47 1.43H1v1.34h.94a6.19 6.19 0 004.41-1.83l.81-.8a8.74 8.74 0 005.72 2.13h.74a8.81 8.81 0 008.8-8.79V3.5zm-.67 9.55a7.46 7.46 0 01-7.46 7.45h-.74A7.42 7.42 0 018.1 18.1l2.9-2.93h5.5v-1.34h-4.14l5.36-5.36-.94-.94-5.61 5.61V8.5H9.83v6l-2.68 2.65a7.42 7.42 0 01-1.73-4.77v-.76a7.46 7.46 0 017.46-7.45h8.2z\"/>`\n);\n\nexport const FleetServicePrivateShape = clrIconSVG(\n `<path d=\"M16.21,24a1.391,1.391,0,0,1-1.35-1.43v-.44H5.12v.43A1.413,1.413,0,0,1,3.75,24H2.09A1.4,1.4,0,0,1,.73,22.62v-5.5a5.394,5.394,0,0,1,.73-2.73l.46-1.08c-.726-.1-1.354-.2-1.92-.31l.24-1.35c.682.121,1.381.226,2.057.328L2.44,12,3.52,9.4A2.812,2.812,0,0,1,5.7,8H14.28a2.78,2.78,0,0,1,2.17,1.41l1.07,2.56c.748-.1,1.492-.222,2.21-.36l.24,1.31c-.581.109-1.21.21-1.92.31l.46,1.11a5.416,5.416,0,0,1,.74,2.731v5.5A1.4,1.4,0,0,1,17.89,24ZM3.791,20.8H16.23v1.88H17.88v-5.1c-1.24.184-2.454.321-3.711.42l-.1-1.32c1.187-.094,2.4-.233,3.721-.429A4.176,4.176,0,0,0,17.33,15l-.05-.08v-.09l-.63-1.43a55.365,55.365,0,0,1-6.78.43,54.566,54.566,0,0,1-6.62-.41L2.66,14.83v.09L2.61,15a4.09,4.09,0,0,0-.42,1.3c1.437.2,2.648.331,3.811.42l-.111,1.32c-1.137-.079-2.341-.21-3.79-.41v5.04H3.79a.154.154,0,0,0,0-.11V20.8h0ZM4.71,10l-.94,2.12a53.746,53.746,0,0,0,6.165.356A53.66,53.66,0,0,0,16.1,12.12L15.22,10a1.459,1.459,0,0,0-1.06-.679H5.71A1.469,1.469,0,0,0,4.71,10ZM9.15,17.66a.84.84,0,1,1,.84.841A.84.84,0,0,1,9.15,17.66ZM20.479,16a6.562,6.562,0,0,0-.36-1.3h1.76V9.6c-1.23.183-2.444.319-3.711.419l-.1-1.319c1.178-.093,2.395-.233,3.721-.43a4.169,4.169,0,0,0-.46-1.25l-.05-.08V6.85l-.6-1.43a55.184,55.184,0,0,1-6.78.43,54.419,54.419,0,0,1-6.62-.41L6.77,6.68H5.59l-.3.05c.024-.05.044-.1.065-.155a1.68,1.68,0,0,1,.105-.236l.46-1.03c-.726-.1-1.354-.2-1.92-.31l.24-1.35c.683.122,1.382.226,2.056.328L6.44,4,7.52,1.4A2.816,2.816,0,0,1,9.7,0H18.28a2.779,2.779,0,0,1,2.17,1.41l1.07,2.56c.685-.1,1.462-.216,2.209-.36l.24,1.31c-.581.109-1.209.21-1.92.31l.46,1.11a5.419,5.419,0,0,1,.74,2.731v5.5A1.4,1.4,0,0,1,21.89,16ZM8.709,2l-.89,2.16a53.673,53.673,0,0,0,5.994.337,53.8,53.8,0,0,0,6.336-.376L19.27,2a1.478,1.478,0,0,0-1.111-.68H9.709A1.471,1.471,0,0,0,8.709,2Z\"/>`\n);\n\nexport const FleetServiceCommercialShape = clrIconSVG(\n `<path d=\"M14.06,24a1.334,1.334,0,0,1-1.319-1.33v-.4H6.55v.39A1.331,1.331,0,0,1,5.22,24H2.78a1.336,1.336,0,0,1-1.31-1.33v-8.4l.2-1.3c-.218-.015-.438-.028-.651-.04C.685,12.911.341,12.891,0,12.86V12.2l.12-.66.281.023c.486.042.985.086,1.48.086l.17-1.111A5.481,5.481,0,0,1,3.21,7.93L4.47,6.38A.991.991,0,0,1,5.254,6h8.789a1,1,0,0,1,.806.411l1.38,1.83a5.386,5.386,0,0,1,1,2.389l.17,1c.2-.014.4-.025.6-.037.388-.022.784-.044,1.18-.084l.11,1.33c-.171.015-.347.029-.518.04-.382.029-.776.058-1.161.12l.22,1.27v8.4A1.334,1.334,0,0,1,16.51,24ZM5.221,20.94H14.07v1.73H16.5V17.96c-1.345.185-2.48.309-3.569.39l-.09-1.33c1.172-.085,2.4-.219,3.659-.4V14.38l-.22-1.34c-2.571.159-4.856.24-6.79.24s-4-.07-6.49-.22l-.2,1.31v2.28l.379.05A24.785,24.785,0,0,0,6.54,17l-.09,1.381c-1.33-.1-2.591-.246-3.65-.381v4.67H5.22V20.941h0ZM4.24,8.74a4.242,4.242,0,0,0-.87,2l-.159.95c2.123.129,4.286.194,6.425.194s4.295-.065,6.424-.194l-.14-.869A4.357,4.357,0,0,0,15.15,9L13.88,7.331H5.41Zm4.59,9.22a.82.82,0,1,1,.82.82A.82.82,0,0,1,8.83,17.96ZM19.28,17h-.12V15.66H21.55V11.34l-1,.11-.12-1.319L21.55,10V7.92l-.2-1.23c-1.46.09-2.97.18-4.459.18L15.96,5.62,15.89,5.54c1.75-.011,3.5-.05,5.24-.15L21,4.59a3.933,3.933,0,0,0-.77-1.68L19.05,1.33H11.12L10.05,2.66a3.889,3.889,0,0,0-.82,1.83v.18H7.88l.059-.39A5.145,5.145,0,0,1,9,1.83L10.25.36A1,1,0,0,1,11,0h8.25A1,1,0,0,1,20,.39L21.26,2.12a4.994,4.994,0,0,1,1,2.25l.16.93L24,5.18V6.51l-1.36.09.2,1.211v7.93A1.251,1.251,0,0,1,21.59,17Z\"/>`\n);\n\nexport const FindACarShape = clrIconSVG(\n `<path d=\"M20.717,21.309l-3.875-3.647a10.128,10.128,0,1,1,.932-.949l3.856,3.628-.912.968h0ZM10.225,18.9A8.534,8.534,0,0,0,16.3,16.382a8.64,8.64,0,0,0,2.515-6.164A8.638,8.638,0,0,0,16.3,4.055a8.534,8.534,0,0,0-6.073-2.516h-.182A8.531,8.531,0,0,0,3.971,4.055a8.638,8.638,0,0,0-2.515,6.163,8.588,8.588,0,0,0,8.587,8.68h.182Zm1.9-1.684a1.25,1.25,0,0,1-1.25-1.25v-.38H5.088a7.5,7.5,0,0,1-1.12-1.33h8.24v1.63h1.38v-4.16c-1.07.149-2.18.27-3.31.35l-.09-1.32c1.09-.08,2.15-.2,3.191-.34-.2-.589-.53-1.42-.91-2.35a53.164,53.164,0,0,1-6.17.37c-1.09,0-2.19-.04-3.28-.11a7.3,7.3,0,0,1,.48-1.31,51.5,51.5,0,0,0,8.42-.229c-.24-.55-.481-1.111-.731-1.64-.18-.381-.38-.571-1.01-.571H5.4a7.284,7.284,0,0,1,2.35-1.33h2.43a2.212,2.212,0,0,1,2.22,1.35s.41.9.9,2.03c.689-.09,1.38-.19,2.07-.31l.229,1.31c-.588.1-1.768.27-1.768.27s1.09,2.912,1.09,3.27v4.8a1.25,1.25,0,0,1-1.25,1.25Zm-6.521-5.54a.775.775,0,1,1,1.551,0,.774.774,0,0,1-.77.78A.78.78,0,0,1,5.607,11.673Z\" transform=\"translate(0.005 0.24)\"/>`\n);\n\nexport const ExpressServiceShape = clrIconSVG(\n `<path d=\"M18.46 11.67h4.178a7.43 7.43 0 01-.502 1.33c-1.195 2.436-3.655 4-6.71 4a8.294 8.294 0 01-2.042-.257L8.18 21.95a3.492 3.492 0 01-2.478 1.027 3.49 3.49 0 01-2.479-1.027l-.196-.195a3.507 3.507 0 010-4.957l4.808-4.808h1.861l.005.016a5.784 5.784 0 003.294 3.248c.47.183.973.308 1.504.378.302.04.61.067.928.067 2.261 0 4.131-1.035 5.207-2.698h-3.641l-.805-.939-1.637-1.91a.993.993 0 01-.052-1.215c.02-.028.03-.06.052-.087l.803-.938 1.64-1.91h3.64c-1.076-1.664-2.946-2.7-5.207-2.7-1.297 0-2.462.344-3.426.947V2.754A7.916 7.916 0 0115.426 2c3.055 0 5.515 1.563 6.71 4 .206.42.375.862.502 1.33h-5.035l-1.306 1.524-.553.646 1.86 2.17h.388zM7.237 21.01l4.764-4.764a6.963 6.963 0 01-3.29-3.253l-4.745 4.744c-.41.411-.637.957-.637 1.538s.226 1.128.637 1.538l.195.196a2.16 2.16 0 001.54.637c.58 0 1.126-.226 1.536-.637zM1 4.32V2.99h9v1.33zm2 3V5.99h7v1.33zm2 3V8.99h5v1.33zm.687 7.967a1.002 1.002 0 110 2.005 1.002 1.002 0 010-2.005z\"/>`\n);\n\nexport const EngineShape = clrIconSVG(\n `<path d=\"M21.59 8.17v3h-1.3a.7.7 0 01-.7-.7V8a1 1 0 00-.95-1h-5.89V5h2.94V3.72H8.36v1.33h3.06v2H5.28a1 1 0 00-1 1v3.37h-2v-3H1v7.33h1.33v-3h2v2.65a1.49 1.49 0 00.52 1.13l3.93 3.42a1.48 1.48 0 001 .37h8.88a1 1 0 00.95-1v-2.55a.7.7 0 01.7-.7h1.3v3.1H23v-11zm-1.3 6.57a2 2 0 00-2 2V19H9.76a.21.21 0 01-.11 0l-3.93-3.51a.16.16 0 01-.06-.13v-7h12.6v2.14a2 2 0 002 2h1.3v2.21z\"/>`\n);\n\nexport const ElectricityShape = clrIconSVG(\n `<path d=\"M12 5.84l-.92 3.43-.32 1.16 1.13.43 4.29 1.61c-1.58 2-3.21 4.09-4.69 6l1.15-3.74.36-1.27-1.23-.41-4-1.32zM14 1a.44.44 0 00-.36.2L6.09 11.82a.62.62 0 00-.09.48.53.53 0 00.32.35l5 1.66-2.45 8a.58.58 0 00.2.63.49.49 0 00.25.08.44.44 0 00.31-.17c4.85-6.11 7.57-9.58 7.68-9.73l.51-.64A.53.53 0 0018 12a.5.5 0 00-.31-.36l-5.31-2 2.12-7.9a.58.58 0 00-.22-.64A.39.39 0 0014 1z\"/>`\n);\n\nexport const ElectricCarsShape = clrIconSVG(\n `<path d=\"M19.23,22.1a1.61,1.61,0,0,1-1.61-1.61V20H6.08v.481A1.632,1.632,0,0,1,4.45,22.1h-2A1.61,1.61,0,0,1,.84,20.49V14.3a5.868,5.868,0,0,1,.87-3.07L2.29,9.94C1.52,9.83.76,9.72,0,9.59L.06,8.93l.11-.66H.23q1.3.229,2.61.4l1.319-3A3.361,3.361,0,0,1,6.74,4.09H9.92V5.42H6.8A2.062,2.062,0,0,0,5.33,6.3L4.21,8.82A50.174,50.174,0,0,0,9.93,9.2v1.36C7.84,10.5,5.74,10.35,3.65,10.1L2.92,11.76v.09l-.079.1a4.7,4.7,0,0,0-.59,1.55c1.54.21,3.14.39,4.78.5L6.92,15.31c-1.64-.12-3.23-.29-4.77-.5v5.67a.283.283,0,0,0,.082.2.28.28,0,0,0,.2.082h2a.3.3,0,0,0,.3-.291V18.66H18.91V20.48a.28.28,0,0,0,.28.28h2a.281.281,0,0,0,.281-.28v-5.7c-1.5.211-3.06.38-4.66.5l-.1-1.32c1.61-.12,3.17-.3,4.67-.51a4.32,4.32,0,0,0-.58-1.519l-.049-.08v-.09l-.24-.54h1.46a5.868,5.868,0,0,1,.87,3.07v6.2a1.621,1.621,0,0,1-1.61,1.61ZM10.84,14.95a1,1,0,1,1,1,1A1,1,0,0,1,10.84,14.95Zm7.288-4.279H16.04a2.893,2.893,0,0,1-2.88-2.84V4.78h-.82V3.45h2.14V0h1.33V3.45h2.56V0H19.7V3.45h2.14V4.83H21.02v3a2.891,2.891,0,0,1-2.891,2.841ZM14.53,7.83A1.543,1.543,0,0,0,16.08,9.34h2.06a1.542,1.542,0,0,0,1.55-1.51l.04-3h-5.2Z\" transform=\"translate(0.08)\"/>`\n);\n\nexport const ElectricCarsServiceShape = clrIconSVG(\n `<path d=\"M11.681 4.782h.819v-1.33h-2.141V0h-1.33v3.452H6.472V0h-1.33v3.452H3v1.33h.82v3.051a2.875 2.875 0 002.91 2.832h2.041a2.876 2.876 0 002.91-2.832zm-6.531 0h5.2v3.051a1.545 1.545 0 01-1.58 1.5H6.73a1.545 1.545 0 01-1.58-1.5zm5.77 6.327a6.425 6.425 0 01-2 .71l-4.53 4.53-.036.037a3.509 3.509 0 00.036 4.963l.2.19.051.051a3.5 3.5 0 004.949-.051l5.2-5.2a8.428 8.428 0 002 .25 7.23 7.23 0 006.71-4 6.643 6.643 0 00.5-1.33h-5l-1.89-2.17.55-.64L19 6.919h5a6.88 6.88 0 00-.5-1.33 7.241 7.241 0 00-6.71-4 7.8 7.8 0 00-3.42.77 5.959 5.959 0 01.54 1.2 6.436 6.436 0 012.88-.67 6.064 6.064 0 015.21 2.7h-3.64L16.72 7.5l-.8.94a.486.486 0 00-.06.09 1 1 0 00.06 1.21l1.63 1.91.81.94H22a6 6 0 01-5.21 2.7 7.06 7.06 0 01-.93-.07 6.571 6.571 0 01-1.5-.37 5.81 5.81 0 01-3.29-3.25c-.07-.151-.07-.3-.15-.491zm-5.59 6.22l4.75-4.74a7 7 0 003.29 3.25L8.61 20.6l-.011.012A2.17 2.17 0 015.53 20.6l-.2-.19a2.2 2.2 0 010-3.08zM8 18.879a1 1 0 10-1 1 1 1 0 001-1z\"/>`\n);\n\nexport const EfficiencyShape = clrIconSVG(\n `<path d=\"M9.158,13.32V11.99h10.5v1.33ZM1.023,13a.261.261,0,0,1-.135-.292L2.369,7.92l-2-.75a.612.612,0,0,1-.291-.86l3.93-6a.251.251,0,1,1,.46.2L3.239,5.4l2.139.8a.6.6,0,0,1,.27.92l-4.31,5.82a.258.258,0,0,1-.2.09A.262.262,0,0,1,1.023,13ZM9.158,9.32V7.99h8.5V9.32Zm0-4V3.99h6.5V5.32Zm0-3.99V0h4.5V1.33Z\" transform=\"translate(0.181 0.35)\"/>`\n);\n\nexport const DriversAssistanceShape = clrIconSVG(\n `<path d=\"M7.39,20.11a1.66,1.66,0,0,1-1.61-1.7v-.52H0V16.56H7.11v1.85a.34.34,0,0,0,.28.37h2a.349.349,0,0,0,.28-.37V12.35c-1.509.22-3.07.41-4.659.53l-.1-1.32q2.4-.189,4.68-.54A5.032,5.032,0,0,0,9,9.31L8.95,9.23V9.15L8.21,7.39A67.681,67.681,0,0,1,0,7.93V6.58a62.862,62.862,0,0,0,7.63-.47L6.49,3.38A2,2,0,0,0,5,2.44H0V1.11H5.1A3.32,3.32,0,0,1,7.68,2.77L9,5.94c.87-.13,1.73-.26,2.6-.42l.24,1.3c-.77.149-1.541.26-2.31.38l.6,1.44A6.383,6.383,0,0,1,11,11.87v6.54a1.659,1.659,0,0,1-1.61,1.7Zm10.9-2.83a11.56,11.56,0,0,0,0-16.34L19.23,0a12.89,12.89,0,0,1,0,18.22Zm-2.84-2.82a7.56,7.56,0,0,0,0-10.7l.94-.941a8.885,8.885,0,0,1,0,12.58Z\" transform=\"translate(0 0.89)\"/>`\n);\n\nexport const CustomersCenterShape = clrIconSVG(\n `<path d=\"M1.214,22.941a1.291,1.291,0,0,1-.94-.509,1.331,1.331,0,0,1-.249-1.06l.91-5.28a2.421,2.421,0,0,1,1.25-1.69l2.92-1.45a7.183,7.183,0,0,0,1.1.95l-3.44,1.65a1.071,1.071,0,0,0-.54.74l-.91,5.29c.04,0,4.44.39,9.3.39,4.23,0,9.311-.39,9.311-.39l-.92-5.3a1.12,1.12,0,0,0-.561-.75l-2.62-1.25a8.2,8.2,0,0,1-3,1.59.691.691,0,0,1-.68.62h-2a.7.7,0,0,1-.7-.7v-.91a.7.7,0,0,1,.7-.7h2a.69.69,0,0,1,.58.33,6.77,6.77,0,1,0-8.83-6.671H2.564a8.09,8.09,0,0,1,15.73-2.4,2.8,2.8,0,0,1,.08,5.12,8.26,8.26,0,0,1-1.53,2.769l2.209,1.06a2.421,2.421,0,0,1,1.28,1.68l.91,5.32a1.309,1.309,0,0,1-1.21,1.55c-.04.01-5.12.4-9.4.4C5.714,23.342,1.214,22.941,1.214,22.941Zm9.42-9.61-.164,0a5.086,5.086,0,0,1-3.623-1.5,5.141,5.141,0,0,1-1.493-3.79,5.121,5.121,0,0,1,5.116-5.282l.164,0,.184,0a5.109,5.109,0,0,1,5.106,5.282,5.091,5.091,0,0,1-5.087,5.295C10.77,13.335,10.7,13.333,10.634,13.331Zm.247-1.282a3.76,3.76,0,0,0,3.752-4.009,3.789,3.789,0,0,0-3.786-3.955c-.071,0-.143,0-.213.005l-.161,0A3.789,3.789,0,0,0,6.684,8.041a3.79,3.79,0,0,0,3.785,4c.055,0,.11,0,.166,0C10.716,12.047,10.8,12.049,10.882,12.049Z\" transform=\"translate(0.366 0.319)\"/>`\n);\n\nexport const ContactDealerShape = clrIconSVG(\n `<path d=\"M21.72.83H11.18a1.45 1.45 0 00-1.45 1.45v3.51a4.48 4.48 0 101.33.21V2.28a.11.11 0 01.12-.11h10.54a.11.11 0 01.11.11v15.63a.12.12 0 01-.11.12H18l-.2-1a3.14 3.14 0 00-2-2.36L14 14l-.47 1.25 1.88.7a1.86 1.86 0 011.17 1.38l.76 3.87-2.34.04-.31-2.33-1.32.18.29 2.2c-2.63.06-5.27.06-7.9 0l.24-2.2-1.3-.18-.3 2.31c-.75 0-1.49 0-2.23-.08l.76-3.85a1.88 1.88 0 011.17-1.38l1.9-.7L5.51 14l-1.88.71a3.18 3.18 0 00-2 2.36l-.77 3.81a1.34 1.34 0 001.25 1.6 161.13 161.13 0 0015.24 0 1.34 1.34 0 001.25-1.6l-.3-1.52h3.42a1.45 1.45 0 001.45-1.45V2.28A1.45 1.45 0 0021.72.83zm-8.93 9.36a3.06 3.06 0 11-3.06-3.07 3.07 3.07 0 013.06 3.07z\"/>\n <path d=\"M15.5 4.37h4.48V5.7H15.5zM15.5 7.41h4.48v1.33H15.5z\"/>`\n);\n\nexport const ConsumptionShape = clrIconSVG(\n `<path d=\"M22.984 14.42c-.018-3.742-.043-8.866-.015-9.724a3.358 3.358 0 00-.8-2.773A3.8 3.8 0 0019.356 1v1.267c1.074.041 1.554.212 1.831.489a2.306 2.306 0 01.48 1.754 3.226 3.226 0 000 6.2c0 1.234.011 2.517.017 3.713.01 1.954.007 3.6.016 4.205.028 1.783-1.142 1.871-1.5 1.871-.383 0-1.487-.009-1.494-1.79l-.011-.683a3.144 3.144 0 00-.874-2.349 2.791 2.791 0 00-1.89-.79V3.056A2.039 2.039 0 0013.9 1.017H3.043A2.043 2.043 0 001 3.06V23h14.937v-6.838c.287.01 1.461.156 1.464 1.88l.011.687a3.013 3.013 0 00.82 2.271 2.57 2.57 0 001.982.819 2.478 2.478 0 001.962-.787 3.014 3.014 0 00.824-2.4c0-.61-.007-2.253-.016-4.212zm-8.379 7.25H2.332V3.057a.713.713 0 01.711-.711h10.851a.713.713 0 01.711.711zM20.66 7.612a1.9 1.9 0 011-1.675V9.29a1.906 1.906 0 01-1-1.678zM8.518 5.223A1.772 1.772 0 1010.266 7a1.76 1.76 0 00-1.748-1.777z\"/>`\n);\n\nexport const ConfiguratorPrivateShape = clrIconSVG(\n `<path d=\"M19.23,23.1a1.61,1.61,0,0,1-1.61-1.61V21H6.08v.471A1.632,1.632,0,0,1,4.45,23.09h-2A1.61,1.61,0,0,1,.84,21.48V15.29a5.87,5.87,0,0,1,.87-3.06l.58-1.29C1.52,10.83.76,10.72,0,10.59L.06,9.93l.11-.66H.23q1.3.229,2.61.39L4.16,6.67A3.362,3.362,0,0,1,6.75,5.09H9.94V6.42H6.84a2.061,2.061,0,0,0-1.51.88L4.14,9.82a49.65,49.65,0,0,0,5.71.38v1.36C7.76,11.5,5.66,11.35,3.57,11.1L2.84,12.76v.17a4.68,4.68,0,0,0-.59,1.57c1.54.21,3.14.39,4.78.5l-.11,1.31c-1.64-.12-3.23-.29-4.77-.5v5.67a.28.28,0,0,0,.28.28h2a.3.3,0,0,0,.3-.29V19.66H18.91V21.48a.28.28,0,0,0,.28.28h2a.291.291,0,0,0,.281-.28v-5.7c-1.5.211-3.06.381-4.66.5l-.1-1.32c1.61-.12,3.17-.3,4.67-.509a4.318,4.318,0,0,0-.58-1.52l-.049-.08v-.09l-.24-.54h1.46a5.868,5.868,0,0,1,.87,3.07v6.19a1.62,1.62,0,0,1-1.61,1.62ZM10.84,15.95a1,1,0,1,1,1,1A1,1,0,0,1,10.84,15.95Zm13-4.95h-11V0h11V11h0ZM14.171,9.67H22.51V1.33H14.171Zm.8-3.73L15.91,5l1.53,1.53L20.97,3l.94.941L17.44,8.41Z\" transform=\"translate(0.16)\"/>`\n);\n\nexport const ConfiguratorCommercialShape = clrIconSVG(\n `<path d=\"M17.17,23a1.621,1.621,0,0,1-1.59-1.62v-.5H8.02v.48A1.641,1.641,0,0,1,6.39,23h-3a1.621,1.621,0,0,1-1.61-1.62V11.1L2,9.54,0,9.38.05,8H.11c.671.11,1.42.16,2.13.21L2.5,6.54A6.745,6.745,0,0,1,3.91,3.36L5.45,1.46a1.248,1.248,0,0,1,1-.46h3V2.34h-3L4.94,4.21A5.406,5.406,0,0,0,3.78,6.76L3.55,8.3C5.5,8.42,7.43,8.51,9.43,8.51V9.86c-2.04-.04-4.091-.1-6.09-.23l-.25,1.58V14.3c1.561.22,3.181.4,4.86.52l-.09,1.34q-2.469-.181-4.77-.51v5.73a.291.291,0,0,0,.28.28h3a.311.311,0,0,0,.3-.3V19.54H16.89v1.84a.289.289,0,0,0,.28.28h3a.291.291,0,0,0,.28-.28V15.62c-1.51.22-3.07.4-4.66.509l-.1-1.33c1.62-.12,3.22-.3,4.76-.529V12.78h1.33v8.6A1.621,1.621,0,0,1,20.17,23ZM10.78,15.78a1,1,0,1,1,1,1A1,1,0,0,1,10.78,15.78Zm13-4.78h-11V0h11V11h0ZM14.11,9.67H22.45V1.33H14.11Zm.8-3.73L15.85,5l1.53,1.53L20.91,3l.941.941L17.38,8.41Z\" transform=\"translate(0.22)\"/>`\n);\n\nexport const CertifiedRetailerShape = clrIconSVG(\n `<path d=\"M6.92,23.119H5.69l-1.42-3.38L.85,21.058,0,20.188l3.23-7.819a7.84,7.84,0,1,1,12.8,0l3.23,7.819-.86.87-3.409-1.32-1.42,3.379H12.34l-2.71-6.55-2.71,6.55Zm8.1-9.621a7.778,7.778,0,0,1-4.39,2.111l2.38,5.52,1-2.5.85-.36,2.54.99L15.02,13.5ZM4.44,18.268h0l.86.36,1,2.5,2.33-5.52a7.742,7.742,0,0,1-4.38-2.1l-2.38,5.76,2.569-1ZM9.63,1.338a6.51,6.51,0,1,0,6.51,6.51A6.531,6.531,0,0,0,9.63,1.338Zm-1.681,9.6h0l-.758-.561.69-1.949L6.25,7.2l.291-.9h2l.67-1.93h.941l.67,1.93h2l.291.9-1.63,1.23.589,1.949-.759.56L9.63,9.769l-1.68,1.17ZM9.63,8.678a.657.657,0,0,1,.38.12l.69.48-.24-.8a.676.676,0,0,1,.23-.73l.67-.5h-.84A.689.689,0,0,1,9.9,6.8l-.27-.79-.27.79a.689.689,0,0,1-.62.45H7.9l.67.5a.676.676,0,0,1,.23.73l-.24.8.69-.48A.657.657,0,0,1,9.63,8.678Z\" transform=\"translate(0.35)\"/>`\n);\n\nexport const CertifiedRepairShape = clrIconSVG(\n `<path d=\"M14.41,21.54l-5.2-5.2a8.453,8.453,0,0,1-2,.25c-.08,0-.16,0-.24,0A7.23,7.23,0,0,1,.5,12.589,6.587,6.587,0,0,1,0,11.26H5L6.89,9.09,6.34,8.449,5,6.919H0A6.9,6.9,0,0,1,.5,5.59a7.242,7.242,0,0,1,6.476-4c.077,0,.157,0,.234,0h.041a7.828,7.828,0,0,1,3.379.77,6.019,6.019,0,0,0-.54,1.2,6.468,6.468,0,0,0-2.857-.67H7.21l-.167,0A6.046,6.046,0,0,0,2,5.59H5.64L7.28,7.5l.8.94a.519.519,0,0,1,.059.09A1,1,0,0,1,8.08,9.74L6.45,11.65l-.81.94H2a5.981,5.981,0,0,0,5.01,2.7c.067,0,.133,0,.2,0a7.025,7.025,0,0,0,.93-.069,6.652,6.652,0,0,0,1.5-.37A5.831,5.831,0,0,0,12.93,11.6a1.181,1.181,0,0,0,.07-.227,1.518,1.518,0,0,1,.079-.263,6.458,6.458,0,0,0,2,.71l4.53,4.53a3.512,3.512,0,0,1,0,5l-.2.19a3.5,3.5,0,0,1-5,0Zm-3.78-5.7L15.39,20.6a2.169,2.169,0,0,0,3.08,0l.2-.19a2.2,2.2,0,0,0,0-3.08l-4.749-4.74A7.024,7.024,0,0,1,10.63,15.84ZM16,18.88a1,1,0,1,1,1,1A1,1,0,0,1,16,18.88ZM10.92,5.54a5.54,5.54,0,1,1,5.54,5.54A5.547,5.547,0,0,1,10.92,5.54Zm1.33,0a4.21,4.21,0,1,0,4.21-4.21A4.215,4.215,0,0,0,12.25,5.54Zm.8.239.85-1.03L16.01,6.49l3.01-3,.941.94L16.1,8.29Z\" transform=\"translate(0 0)\"/>`\n);\n\nexport const CarWashShape = clrIconSVG(\n `<path d=\"M12.9 17.7c0 .5-.4.8-.9.8s-.8-.4-.8-.9c0-.4.4-.8.8-.8.5 0 .9.4.9.9zm9.1-5.8c-.6.1-1.3.2-1.9.3l.5 1.1c.5.8.7 1.8.7 2.7v5.5c0 .8-.6 1.4-1.4 1.4h-1.7c-.8 0-1.4-.7-1.4-1.4v-.4H7.1v.4c0 .8-.6 1.4-1.4 1.4H4.1c-.8 0-1.4-.7-1.4-1.4V16c0-1 .3-1.9.7-2.7l.6-1c-.7-.1-1.3-.2-2-.3l.2-1.3c.7.1 1.5.2 2.2.4l1.2-2.6C6 7.6 6.8 7.1 7.7 7h8.6c.9.1 1.7.6 2.2 1.4l1.1 2.6c.7-.1 1.5-.2 2.2-.4zm-16.1-.7c4.1.5 8.2.5 12.3 0L17.3 9c-.2-.4-.6-.6-1.1-.7H7.8c-.4.1-.8.3-1 .7zM20 16.6c-1.2.2-2.4.3-3.7.4l-.1-1.3c1.3-.1 2.5-.2 3.7-.4-.1-.4-.3-.9-.5-1.3v-.2l-.6-1.4c-2.3.3-4.5.4-6.8.4-2.2 0-4.4-.1-6.6-.4l-.6 1.4v.1l-.2.1c-.2.4-.4.8-.5 1.3 1.2.2 2.5.3 3.8.4V17c-1.3-.1-2.6-.2-3.8-.4v5h1.7v-1.8h12.4V21.7h1.7v-.1zM6.9 6.1c.5-.5.6-1.2.2-1.8L5.8 1.9 4.5 4.3c-.3.6-.2 1.3.3 1.8.6.6 1.5.6 2.1 0zM22.7 1v23H24V0H0v24h1.3V1.3m17.6 4.8c.5-.5.6-1.2.2-1.8l-1.3-2.4-1.3 2.4c-.3.6-.2 1.3.2 1.8.7.6 1.6.6 2.2 0z\"></path><path d=\"M0 0h24v1.3H0z\"></path><path d=\"M13.1 5.2c.5-.5.6-1.2.2-1.8L12 1l-1.3 2.4c-.3.6-.2 1.3.2 1.8.7.6 1.6.6 2.2 0z\"/>`\n);\n\nexport const CarPickupServiceShape = clrIconSVG(\n `<path d=\"M15.321 10.575c1.242 0 2.11-.868 2.11-2.11 0-1.243-.868-2.11-2.11-2.11s-2.11.867-2.11 2.11c0 1.242.868 2.11 2.11 2.11zm0-5.55c1.993 0 3.44 1.446 3.44 3.44 0 1.993-1.447 3.44-3.44 3.44s-3.44-1.447-3.44-3.44c0-1.994 1.447-3.44 3.44-3.44zm3.768 7.401c1.554-1.553 1.996-3.777 1.155-5.807-.84-2.028-2.726-3.289-4.923-3.289-2.196 0-4.082 1.261-4.922 3.29s-.398 4.254 1.155 5.806l3.767 3.769zM8.34 17.52l3.213-3.214-.94-.94a6.9 6.9 0 01-.844-1.05l-6.341 6.339a.335.335 0 000 .473l1.415 1.416c.09.09.243.137.339.144a7.011 7.011 0 00-.055-1.008l-.092-.746h1.501V17.52zM21.473 6.111c1.051 2.535.497 5.316-1.443 7.256l-4.709 4.708-2.827-2.828-3.603 3.603H7.866v1.414H6.509c.013.373-.006.759-.107 1.003a1.209 1.209 0 01-.901.722 1.594 1.594 0 01-.302.029c-.466 0-.96-.196-1.297-.533l-1.415-1.416A1.654 1.654 0 012 18.893c0-.446.173-.863.487-1.179l6.622-6.619.02.02c-.634-1.569-.649-3.337.041-5.003C10.22 3.575 12.577 2 15.321 2c2.745 0 5.102 1.575 6.152 4.111z\"/>`\n);\n\nexport const CaliforniaSpecialistShape = clrIconSVG(\n `<path d=\"M23.8 17.55a3.76 3.76 0 00-.1-.66 5.76 5.76 0 00-.18-.59v-.05a4.41 4.41 0 00-.24-.54 4.28 4.28 0 00-1.54-1.62l-.85-.51a3.23 3.23 0 01-.72-.57l-3.2-3.25a2.75 2.75 0 00-1-.66l.31-6.3 1.62-.6-.42-1.26-16 5.24.41 1.26.63-.21.38 1.61h-.08a1.46 1.46 0 00-1.38 1.22l-.63 3.08a30.14 30.14 0 00-.5 3.43l-.22 2.64a1 1 0 00.75 1.12l2 .48a2.35 2.35 0 004.69 0h9.14a2.35 2.35 0 004.7 0h.16l1.5-.43a1.28 1.28 0 00.88-1.38zm-7.8-6.9l2.88 2.93-2.61.07h-2.81l-.34-3.47H15a1.4 1.4 0 011 .47zM14.86 3.2l-.29 5.69-10.31-.05-.44-2zM2.74 10.33a.21.21 0 01.1-.16h8.93l.34 3.46h-2.08l-7.92-.24zm2.44 11.34a1 1 0 111-1 1 1 0 01-1 1zm13.84 0a1 1 0 110-2.07 1 1 0 010 2.07zm2.32-2.22h-.29a2.35 2.35 0 00-4.08 0H7.24a2.34 2.34 0 00-4.12 0l-1.69-.4.21-2.43c.05-.65.14-1.31.24-2L10 15c1.15 0 2.31.06 3.46.06h2.85l4.18-.12.55.33a2.71 2.71 0 01.46.36 2.37 2.37 0 01.29.34s.09.1.13.16a3.2 3.2 0 01.56 1.6l.06.83v.62z\"/>`\n);\n\nexport const AccessoriesShape = clrIconSVG(\n `<path d=\"M19.49 19.639L4.465 20.927c-.02 0-.081.007-.121-.066-.037-.073.003-.12.016-.136l4.001-4.751c.38-.451.45-1.081.179-1.604a1.448 1.448 0 00-1.414-.78l-.914.08a.115.115 0 01-.12-.066c-.038-.073.002-.12.015-.136l2.926-3.474a1.45 1.45 0 00.179-1.605 1.457 1.457 0 00-1.414-.778.114.114 0 01-.118-.061c-.034-.058-.013-.102-.015-.102l-.002.003.651-.866c.44.075.905.122 1.407.122h1a.664.664 0 100-1.33h-1c-.169 0-.316-.021-.476-.031l1.217-1.618a.116.116 0 01.091-.054c.02 0 .065 0 .125.064l3.339 3.14a.11.11 0 01.027.127c-.028.072-.085.077-.105.079a1.447 1.447 0 00-1.261 1.009 1.45 1.45 0 00.449 1.55l3.474 2.926a.109.109 0 01.038.13c-.024.079-.086.084-.106.086l-.914.078a1.449 1.449 0 00-1.261 1.008 1.45 1.45 0 00.449 1.55l4.751 4.002a.11.11 0 01.038.13.11.11 0 01-.106.086m.926-1.234l-4.751-4.001c-.016-.013-.064-.053-.039-.131s.087-.083.106-.085l.914-.078a1.452 1.452 0 00.813-2.56l-3.475-2.925c-.015-.013-.063-.052-.038-.131a.111.111 0 01.107-.085 1.44 1.44 0 00.96-2.394c1.534-.92 2.373-2.643 2.373-5.015h-1.33c0 2.077-.683 3.437-2.034 4.057l-2.405-2.262a1.433 1.433 0 00-1.178-.446 1.423 1.423 0 00-1.061.609L7.775 5.09C6.174 4.54 5.386 3.19 5.386 1h-1.33c0 2.602 1.025 4.357 2.904 5.174l-.381.507a1.44 1.44 0 00-.044 1.545c.287.486.814.753 1.376.71a.113.113 0 01.12.066.112.112 0 01-.016.135L5.09 12.612a1.446 1.446 0 00-.179 1.604c.271.523.824.822 1.414.779l.914-.08c.019-.003.081-.006.12.067.037.073-.003.12-.015.136l-4.001 4.75a1.447 1.447 0 00-.179 1.605 1.45 1.45 0 001.414.779l15.025-1.288a1.447 1.447 0 001.261-1.01 1.448 1.448 0 00-.448-1.55\"/>`\n);\n\nexport const ACShape = clrIconSVG(\n `<path d=\"M12.7,16.36a2.929,2.929,0,0,0,1.53-2.3c0-.64-.33-1-.9-1.65a4.448,4.448,0,0,1-1.48-3.23,3.479,3.479,0,0,1,2.06-2.94l.58,1.2a2.13,2.13,0,0,0-1.34,1.79,3.11,3.11,0,0,0,1.13,2.28,3.653,3.653,0,0,1,1.25,2.55,4.191,4.191,0,0,1-2.1,3.41Zm-5.11,0a2.932,2.932,0,0,0,1.561-2.3c0-.64-.33-1-.9-1.65A4.449,4.449,0,0,1,6.77,9.18,3.482,3.482,0,0,1,8.8,6.24l.58,1.2A2.128,2.128,0,0,0,8.07,9.23,3.112,3.112,0,0,0,9.2,11.51a3.646,3.646,0,0,1,1.25,2.55,4.19,4.19,0,0,1-2.13,3.41ZM18.25,11.88,20.73,4.19a19,19,0,0,0-9.58-2.86A19.122,19.122,0,0,0,1.54,4.2l2,7.719-1.29.33L0,3.58l.42-.26A20.687,20.687,0,0,1,11.15,0,20.687,20.687,0,0,1,21.88,3.32l.44.27-2.81,8.7Z\" transform=\"translate(0.75 3)\"/>`\n);\n\nexport const OffersShape = clrIconSVG(\n `<path d=\"M16.45,45.74,1.261,30.55a4.327,4.327,0,0,1,0-6.1L22.55,3.12a1.88,1.88,0,0,1,1.325-.551A1.857,1.857,0,0,1,25.2,3.12a1.871,1.871,0,0,0,2.44.18,11.341,11.341,0,0,1,6.9-2.316,11.479,11.479,0,0,1,7.1,2.475L45.111,0H47V.94l-3.89,3.9a11.451,11.451,0,0,1,.6,14.48,1.881,1.881,0,0,0,.17,2.44,1.882,1.882,0,0,1,0,2.65L22.55,45.74a4.32,4.32,0,0,1-6.1,0ZM2.68,25.86a2.324,2.324,0,0,0,0,3.281L17.861,44.32a2.322,2.322,0,0,0,3.281,0l21.24-21.2a3.844,3.844,0,0,1-.27-5,9.54,9.54,0,0,0-.45-11.87L38,9.91A3.94,3.94,0,1,1,34.78,8.24h.041a3.837,3.837,0,0,1,1.66.38l3.73-3.78a9.43,9.43,0,0,0-11.329,0,3.809,3.809,0,0,1-2.3.779h-.087a3.8,3.8,0,0,1-2.574-1ZM32.9,12.12a1.92,1.92,0,0,0,3.84,0v.04a1.92,1.92,0,1,0-3.84-.04ZM16.2,34.715l10.429-10.43L28.04,25.7,17.609,36.129Zm-4.813-4.81L25.426,15.863l1.414,1.414L12.8,31.319Z\" transform=\"translate(-0.001)\"/>`,\n '0 0 48 48'\n);\n\nexport const VWShape = clrIconSVG(\n `<path d=\"M24 45.792c-11.952 0-21.744-9.84-21.744-21.792 0-2.688.48-5.232 1.392-7.632l12.72 25.584c.144.336.384.624.768.624s.624-.288.768-.624l5.856-13.104c.048-.144.144-.288.288-.288s.192.144.288.288l5.856 13.104c.144.336.384.624.768.624s.624-.288.768-.624l12.72-25.584A21.318 21.318 0 0145.84 24C45.744 35.952 35.952 45.792 24 45.792zm0-26.736c-.144 0-.192-.144-.288-.288l-6.816-15.36A20.473 20.473 0 0124 2.16c2.496 0 4.896.432 7.104 1.248l-6.816 15.36c-.096.192-.144.288-.288.288zm-6.96 15.792c-.144 0-.192-.144-.288-.288L5.712 12.288C7.68 9.264 10.32 6.72 13.536 4.944l7.968 17.712c.096.288.336.384.576.384h3.84c.288 0 .48-.048.624-.384l7.968-17.712a22.496 22.496 0 017.824 7.344L31.2 34.56c-.048.144-.144.288-.288.288s-.192-.144-.288-.288l-4.176-9.504c-.144-.336-.336-.384-.624-.384h-3.84c-.288 0-.48.048-.624.384l-4.032 9.504c-.048.144-.144.288-.288.288zM24 48c13.296 0 24-10.704 24-24S37.296 0 24 0 0 10.704 0 24s10.704 24 24 24z\"/>`,\n '0 0 48 48'\n);\n\nexport const AudiBrandShape = clrIconSVG(\n `<path d=\"M36.876 29.297C35.668 29.297 34.556 28.889 33.666 28.202 34.566 27.042 35.104 25.584 35.104 24 35.104 22.415 34.566 20.958 33.666 19.798 34.556 19.111 35.668 18.702 36.876 18.702 39.788 18.702 42.149 21.074 42.149 24 42.149 26.926 39.788 29.297 36.876 29.297M25.083 28.202C25.983 27.042 26.52 25.584 26.52 24 26.52 22.415 25.983 20.958 25.083 19.797 25.972 19.111 27.084 18.702 28.292 18.702 29.5 18.702 30.612 19.111 31.501 19.798 30.601 20.958 30.064 22.415 30.064 24 30.064 25.584 30.601 27.042 31.501 28.202 30.612 28.889 29.5 29.297 28.292 29.297 27.084 29.297 25.972 28.889 25.083 28.202M16.499 28.202C17.399 27.042 17.936 25.584 17.936 24 17.936 22.415 17.399 20.958 16.499 19.798 17.388 19.111 18.5 18.702 19.708 18.702 20.916 18.702 22.028 19.111 22.917 19.798 22.018 20.958 21.48 22.415 21.48 24 21.48 25.584 22.018 27.042 22.917 28.202 22.028 28.889 20.916 29.297 19.708 29.297 18.5 29.297 17.388 28.889 16.499 28.202M5.851 24C5.851 21.074 8.212 18.702 11.124 18.702 12.332 18.702 13.445 19.111 14.334 19.798 13.434 20.958 12.896 22.415 12.896 24 12.896 25.584 13.434 27.042 14.334 28.202 13.445 28.889 12.332 29.297 11.124 29.297 8.212 29.297 5.851 26.926 5.851 24M15.416 27.076C14.799 26.208 14.435 25.147 14.435 24 14.435 22.853 14.799 21.791 15.416 20.924 16.033 21.791 16.397 22.853 16.397 24 16.397 25.147 16.033 26.208 15.416 27.076M24 27.076C23.383 26.208 23.019 25.147 23.019 24 23.019 22.853 23.383 21.792 24 20.924 24.617 21.792 24.981 22.853 24.981 24 24.981 25.147 24.617 26.208 24 27.076M32.584 27.076C31.967 26.208 31.603 25.147 31.603 24 31.603 22.853 31.967 21.792 32.584 20.924 33.201 21.792 33.565 22.853 33.565 24 33.565 25.147 33.201 26.208 32.584 27.076M36.876 17.156C35.249 17.156 33.756 17.73 32.584 18.687 31.412 17.73 29.919 17.156 28.292 17.156 26.665 17.156 25.172 17.73 24 18.686 22.828 17.73 21.335 17.156 19.708 17.156 18.081 17.156 16.588 17.73 15.416 18.686 14.245 17.73 12.751 17.156 11.124 17.156 7.362 17.156 4.313 20.22 4.313 24 4.313 27.78 7.362 30.844 11.124 30.844 12.751 30.844 14.245 30.27 15.416 29.313 16.588 30.27 18.081 30.844 19.708 30.844 21.335 30.844 22.828 30.27 24 29.313 25.172 30.27 26.665 30.844 28.292 30.844 29.919 30.844 31.412 30.27 32.584 29.313 33.756 30.27 35.249 30.844 36.876 30.844 40.638 30.844 43.688 27.78 43.688 24 43.688 20.22 40.638 17.156 36.876 17.156\"/>\\`,\n\"/>`,\n '0 0 48 48'\n);\n\nexport const CupraBrandShape = clrIconSVG(\n `<path d=\"M2.625 7.463C9.638 9.914 16.613 12.478 23.642 14.88 23.891 14.977 24.137 14.977 24.386 14.88 31.403 12.467 38.374 9.923 45.375 7.463 42.891 11.441 40.384 15.406 37.846 19.349 36.673 18.843 35.466 18.421 34.284 17.935 34.968 16.724 35.705 15.54 36.399 14.333 34.138 15.477 31.837 16.54 29.593 17.716 31.162 18.317 32.733 18.906 34.291 19.54 35.158 19.896 36.089 20.582 36.148 21.605 36.286 22.741 35.515 23.67 34.968 24.58 31.586 29.897 28.223 35.229 24.824 40.537 24.843 39.137 24.684 37.723 24.848 36.332 26.185 32.068 27.505 27.8 28.723 23.5 28.962 22.862 28.251 22.52 27.794 22.296 26.504 21.723 25.296 20.964 23.975 20.474 22.636 21.056 21.351 21.761 20.037 22.4 19.632 22.588 19.059 22.961 19.292 23.493 20.499 27.795 21.834 32.061 23.162 36.328 23.309 37.721 23.169 39.135 23.176 40.537 19.831 35.276 16.493 30.008 13.154 24.745 12.572 23.776 11.728 22.786 11.873 21.577 11.95 20.561 12.877 19.887 13.745 19.533 15.288 18.902 16.855 18.324 18.41 17.714 16.17 16.542 13.878 15.47 11.62 14.336 12.312 15.543 13.048 16.724 13.731 17.938 12.541 18.414 11.338 18.854 10.154 19.342 7.625 15.394 5.123 11.427 2.625 7.463Z\"/>`,\n '0 0 48 48'\n);\n\nexport const DWABrandShape = clrIconSVG(\n `<path d=\"M19.244 8.457C20.3 8.457 21.201 8.942 21.616 9.581L21.616 8.7 24.057 8.7 24.057 16.267 21.616 16.267 21.616 15.49C20.993 16.112 20.197 16.526 19.019 16.526 16.821 16.526 15.471 14.885 15.471 12.587 15.471 10.203 16.89 8.457 19.244 8.457ZM28.642 8.44C30.061 8.44 31.065 8.959 31.567 10.22L29.594 10.98C29.352 10.375 28.936 10.186 28.538 10.186 28.227 10.186 27.88 10.375 27.88 10.721 27.88 11.93 31.585 11.378 31.585 14.038 31.585 15.576 30.217 16.492 28.434 16.492 26.703 16.492 25.803 15.922 25.335 14.695L27.413 13.882C27.603 14.384 28.002 14.747 28.504 14.747 28.988 14.747 29.283 14.557 29.283 14.229 29.283 13.123 25.596 13.606 25.596 10.963 25.596 9.581 26.721 8.44 28.642 8.44ZM8.013 4.017C10.073 4.017 11.7 4.553 12.756 5.606 13.916 6.764 14.539 8.112 14.539 9.961 14.539 12.052 13.777 13.485 12.704 14.557 11.458 15.801 9.813 16.267 7.857 16.267L4.533 16.267 4.533 4.017 8.013 4.017ZM19.798 10.583C18.777 10.583 17.998 11.36 17.998 12.518 17.998 13.641 18.708 14.591 19.885 14.591 21.028 14.591 21.703 13.641 21.703 12.604 21.703 11.516 20.958 10.583 19.798 10.583ZM7.77 6.159 7.165 6.159 7.165 14.107 7.909 14.107C9.086 14.107 9.952 13.831 10.609 13.192 11.181 12.622 11.734 11.637 11.734 10.064 11.734 8.803 11.319 7.766 10.696 7.144 9.883 6.333 8.861 6.159 7.77 6.159ZM24.116 22.484C26.422 22.484 28.018 23.922 28.018 26.451L28.018 26.511C28.018 26.658 28.016 26.887 28.001 27.143L22.521 27.143C22.573 28.096 23.301 28.824 24.359 28.824 25.139 28.824 25.746 28.495 26.25 27.819L27.845 28.876C26.96 30.019 25.85 30.626 24.099 30.626 22.053 30.626 20.145 29.309 20.145 26.607 20.145 24.251 21.758 22.484 24.116 22.484ZM31.796 17.374 31.796 30.349 29.334 30.349 29.334 17.374 31.796 17.374ZM36.864 20.059 36.864 22.762 38.269 22.762 38.269 24.597 36.864 24.597 36.864 30.348 34.401 30.348 34.401 24.597 33.36 24.597 33.36 22.762 34.401 22.762 34.401 20.059 36.864 20.059ZM6.778 18.067 8.494 24.771C8.703 25.602 8.876 26.572 8.997 27.507 9.136 26.538 9.31 25.55 9.5 24.702L10.957 18.067 13.923 18.067 15.431 24.805C15.604 25.55 15.812 26.503 15.951 27.542 16.108 26.555 16.299 25.533 16.472 24.84L18.171 18.067 20.859 18.067 17.269 30.348 14.391 30.348 12.865 23.576C12.726 22.934 12.535 21.999 12.362 20.908 12.206 21.999 12.067 22.83 11.911 23.576L10.437 30.348 7.593 30.348 4.003 18.067 6.778 18.067ZM24.099 24.216C23.214 24.216 22.625 24.84 22.538 25.689L25.573 25.689C25.573 24.961 25.018 24.216 24.099 24.216ZM42.491 40.968C43.322 40.968 43.997 41.643 43.997 42.475 43.997 43.307 43.322 43.983 42.491 43.983 41.66 43.983 40.985 43.307 40.985 42.475 40.985 41.643 41.66 40.968 42.491 40.968ZM35.884 35.787C38.376 35.787 40.193 37.519 40.193 39.859 40.193 41.921 38.601 43.931 35.763 43.931 33.408 43.931 31.574 42.232 31.574 39.841 31.574 37.589 33.305 35.787 35.884 35.787ZM19.544 36.064 19.544 39.963C19.544 41.02 19.821 41.851 20.963 41.851 22.111 41.851 22.309 40.951 22.313 40.059L22.313 36.064 24.772 36.064 24.772 40.032C24.772 41.315 24.633 42.216 23.923 42.909 23.179 43.654 22.054 43.931 20.929 43.931 19.734 43.931 18.661 43.584 17.865 42.787 17.312 42.232 17.087 41.418 17.087 40.032L17.087 36.064 19.544 36.064ZM29.549 33.36 29.549 36.064 30.95 36.064 30.95 37.901 29.549 37.901 29.549 43.654 27.091 43.654 27.091 37.901 26.052 37.901 26.052 36.064 27.091 36.064 27.091 33.36 29.549 33.36ZM11.67 31.368 16.725 43.654 13.765 43.654 12.848 41.176 7.759 41.176 6.859 43.654 4.003 43.654 8.832 31.368 11.67 31.368ZM35.866 37.935C34.741 37.935 34.049 38.854 34.049 39.893 34.049 41.002 34.931 41.8 35.884 41.8 36.974 41.8 37.701 40.881 37.701 39.859 37.701 38.767 36.887 37.935 35.866 37.935ZM10.269 33.932C10.061 34.695 9.819 35.44 9.594 36.081L8.59 38.853 12 38.853 10.961 36.064C10.736 35.44 10.477 34.678 10.269 33.932Z\"/>`,\n '0 0 48 48'\n);\n\nexport const PorscheBrandShape = clrIconSVG(\n `<path d=\"M24.047 4.781C25.158 4.795 26.154 4.829 27.258 4.928 29.517 5.131 31.776 5.476 33.939 6.023 35.553 6.431 37.103 6.962 38.619 7.571 38.682 7.597 38.713 7.613 38.713 7.613 38.713 7.613 38.71 7.78 38.705 8.084L38.702 8.247C38.678 9.757 38.611 13.742 38.535 17.749L38.526 18.212C38.479 20.676 38.429 23.114 38.383 24.953 38.342 26.603 38.066 28.256 37.487 29.915 36.885 31.64 36.033 33.371 34.935 35.062 33.921 36.625 32.505 38.199 30.985 39.469 30.394 39.962 29.767 40.452 29.108 40.867 27.996 41.568 26.835 42.115 25.903 42.519 25.536 42.678 25.217 42.826 24.926 42.927 24.515 43.068 24.179 43.195 24 43.219 23.821 43.195 23.486 43.068 23.074 42.927 22.783 42.826 22.464 42.678 22.097 42.519 21.165 42.115 20.004 41.568 18.892 40.867 18.233 40.452 17.606 39.962 17.015 39.469 15.495 38.199 14.079 36.625 13.065 35.062 11.967 33.371 11.115 31.64 10.513 29.915 9.934 28.256 9.658 26.603 9.617 24.953 9.492 19.953 9.335 10.524 9.296 8.157L9.294 8.006C9.29 7.748 9.287 7.608 9.287 7.608 9.287 7.608 9.318 7.597 9.381 7.571 10.897 6.962 12.447 6.431 14.061 6.023 16.224 5.476 18.483 5.131 20.742 4.928 21.846 4.829 22.842 4.795 23.953 4.781L23.953 4.781ZM37.825 25.081 29.769 25.081 29.768 25.361C29.767 26.241 29.526 27.067 29.113 27.795 29.113 27.795 29.112 27.797 29.111 27.799L29.108 27.806C29.09 27.841 29.025 27.968 28.912 28.145L29.106 28.097 30.069 27.881C30.164 27.858 30.261 27.759 30.266 27.661 30.277 27.464 30.38 27.064 30.702 26.674L30.727 26.644 30.76 26.604 30.793 26.565C30.798 26.559 30.804 26.552 30.809 26.546L30.842 26.507C31.03 26.288 31.234 26.091 31.636 26.059 32.074 26.024 32.249 26.173 32.177 26.209 32.051 26.271 31.773 26.323 31.514 26.729 31.255 27.135 31.16 27.588 31.314 27.598 31.419 27.605 31.595 27.598 31.636 27.598 31.871 27.6 31.954 27.603 32.184 27.623 32.205 27.625 32.267 27.594 32.28 27.575 32.303 27.538 32.331 27.5 32.348 27.461 32.516 27.068 32.726 26.58 33.132 26.34 33.356 26.208 33.441 26.165 33.64 26.165 34.09 26.155 34.313 26.411 34.369 26.487 34.435 26.582 34.065 26.398 33.492 26.993 33.306 27.182 33.15 27.445 33.072 27.646 33.067 27.661 33.091 27.702 33.109 27.707 33.374 27.787 33.838 27.897 34.071 27.998 34.124 28.021 34.182 28 34.214 27.951 34.341 27.758 34.468 27.616 34.704 27.446 34.879 27.319 35.14 27.255 35.38 27.249L35.416 27.248 35.465 27.255C36 27.323 36.035 27.588 36.062 27.631 36.091 27.673 35.945 27.67 35.878 27.686 35.663 27.74 35.216 27.889 34.938 28.279 34.903 28.345 35.043 28.457 35.043 28.457 35.432 28.786 35.658 28.99 35.591 29.605 35.582 29.686 35.593 29.725 35.52 29.725 35.482 29.725 35.334 29.593 35.307 29.563 35.031 29.317 34.835 29.175 34.557 28.983 34.096 28.667 33.566 28.507 33.156 28.428 32.814 28.361 32.38 28.309 32.001 28.309 31.242 28.309 30.391 28.424 29.438 28.694 29.318 28.727 28.953 28.832 28.571 28.951L28.503 28.972C28.45 28.989 28.397 29.005 28.345 29.022L28.267 29.047 28.142 29.086C27.946 29.273 27.721 29.454 27.465 29.61 27.466 29.609 27.467 29.609 27.468 29.608L27.468 29.608 27.464 29.61C27.099 29.872 26.704 30.093 26.29 30.269 26.292 30.268 26.295 30.267 26.298 30.266L26.298 30.266 26.065 30.364C26.083 30.399 26.1 30.432 26.1 30.432 26.163 30.551 26.173 30.711 26.028 30.789 25.881 30.869 25.664 30.726 25.571 30.569 25.559 30.55 25.507 30.572 25.495 30.589 25.405 30.79 25.316 30.875 25.196 30.857 25.106 30.844 25.066 30.842 24.999 30.721 24.988 30.697 24.981 30.679 24.976 30.665L24.936 30.671 24.648 30.706C24.481 30.726 24.318 30.739 24.151 30.744L24.151 30.744 24.146 42.611C24.328 42.561 24.588 42.465 24.891 42.36 25.171 42.263 25.477 42.119 25.83 41.964 26.726 41.572 27.843 41.042 28.912 40.362 29.546 39.959 30.148 39.485 30.717 39.006 32.179 37.774 33.54 36.247 34.515 34.73 35.571 33.09 36.39 31.411 36.969 29.738 37.507 28.181 37.773 26.629 37.825 25.081L37.825 25.081ZM23.647 37.075 15.292 37.075C15.913 37.763 16.586 38.418 17.283 39.006 17.852 39.485 18.454 39.959 19.088 40.362 20.157 41.042 21.274 41.572 22.17 41.964 22.523 42.119 22.83 42.263 23.109 42.36 23.311 42.43 23.493 42.496 23.647 42.547L23.647 42.547 23.647 37.075ZM28.372 35.098 28.376 35.098C28.408 35.098 28.594 35.108 28.606 35.182 28.606 35.182 28.226 35.445 28.076 35.842 27.963 36.122 27.973 36.456 28.021 36.679 28.023 36.688 28.048 36.7 28.058 36.697 28.268 36.639 28.472 36.586 28.689 36.539 28.701 36.537 28.728 36.509 28.73 36.497 28.789 36.171 29.002 35.716 29.308 35.459 29.39 35.39 29.52 35.304 29.659 35.24 29.825 35.164 29.943 35.13 30.091 35.13 30.195 35.13 30.235 35.119 30.376 35.156 30.462 35.181 30.504 35.227 30.54 35.272L30.558 35.294C30.586 35.329 30.479 35.281 30.302 35.357 30.124 35.433 29.891 35.626 29.742 35.81 29.573 36.018 29.486 36.257 29.479 36.404 29.479 36.417 29.484 36.446 29.492 36.447 29.707 36.482 29.936 36.532 30.134 36.604 30.142 36.607 30.166 36.599 30.17 36.592 30.184 36.566 30.199 36.54 30.213 36.513 30.327 36.307 30.482 36.112 30.632 35.964 30.739 35.859 30.911 35.785 31.004 35.751 31.089 35.719 31.182 35.703 31.279 35.703 31.438 35.703 31.571 35.747 31.672 35.818L31.692 35.833 31.758 35.887C31.758 35.887 31.823 35.954 31.803 35.967 31.783 35.981 31.434 36.046 31.146 36.387 30.917 36.657 30.888 36.747 30.873 36.814L30.87 36.826C30.869 36.829 30.869 36.833 30.868 36.837 30.852 36.909 30.857 36.936 30.931 36.989 31.332 37.252 31.381 37.472 31.402 37.615 31.425 37.771 31.334 37.987 31.209 37.841L31.2 37.83 31.172 37.801C30.933 37.521 30.757 37.442 30.596 37.378L30.563 37.365C30.553 37.361 30.542 37.357 30.531 37.353 30.158 37.204 29.8 37.129 29.467 37.119L29.417 37.118 29.366 37.118C28.942 37.118 28.596 37.194 28.278 37.303 27.71 37.498 27.292 37.708 26.964 37.966 26.907 38.01 26.848 38.054 26.789 38.097 26.665 38.189 26.483 38.349 26.434 38.399 26.385 38.449 26.469 38.477 26.507 38.499 26.592 38.545 26.78 38.634 26.84 38.755 26.899 38.876 26.981 39.019 26.861 39.161 26.8 39.233 26.749 39.247 26.621 39.255 26.493 39.264 26.371 39.176 26.25 39.035 26.214 38.986 26.139 38.872 26.104 38.84 26.101 38.838 26.09 38.834 26.073 38.834 26.052 38.834 26.016 38.849 26.014 38.851 25.968 38.849 25.87 39.02 25.846 39.058 25.79 39.148 25.79 39.157 25.705 39.243 25.597 39.354 25.553 39.375 25.437 39.375 25.362 39.375 25.216 39.332 25.152 39.22 25.089 39.108 25.01 38.92 25.154 38.741 25.204 38.679 25.263 38.636 25.321 38.593 25.352 38.571 25.383 38.548 25.411 38.523 25.416 38.518 25.42 38.513 25.427 38.507 25.304 38.42 25.177 38.342 25.086 38.263 25.016 38.202 24.979 38.1 24.982 37.983 24.987 37.851 25.023 37.753 25.107 37.69 25.177 37.637 25.264 37.608 25.352 37.608 25.478 37.608 25.593 37.665 25.677 37.767L25.692 37.787 25.849 37.999C25.849 37.999 25.858 38.018 25.872 38.033 25.885 38.048 25.902 38.045 25.921 38.028 25.988 37.97 26.037 37.936 26.107 37.883 26.193 37.815 26.34 37.697 26.364 37.677 26.388 37.657 26.369 37.636 26.369 37.636 26.305 37.513 26.26 37.408 26.225 37.302 26.122 36.994 26.094 36.744 26.139 36.54 26.222 36.056 26.78 35.905 26.796 35.954 26.796 35.954 26.555 36.176 26.607 36.584 26.658 36.993 26.786 37.19 26.806 37.226 26.833 37.262 26.851 37.248 26.864 37.241 27.034 37.158 27.221 37.046 27.415 36.975 27.422 36.973 27.431 36.952 27.429 36.944 27.303 36.45 27.364 36.062 27.572 35.667 27.711 35.402 28.081 35.098 28.372 35.098ZM30.245 30.003C30.245 30.003 30.509 30.044 30.432 30.097 30.409 30.113 30.391 30.125 30.374 30.137L30.356 30.149C30.321 30.174 30.281 30.203 30.2 30.269 30.064 30.38 29.847 30.583 29.674 30.872 29.471 31.208 29.462 31.698 29.499 31.958 29.504 31.993 29.711 31.967 29.923 31.931L29.976 31.922C30.17 31.888 30.355 31.848 30.379 31.842 30.431 31.827 30.458 31.772 30.469 31.736 30.481 31.696 30.494 31.654 30.508 31.61 30.629 31.212 30.717 30.735 31.048 30.5 31.26 30.35 31.437 30.257 31.666 30.257 31.796 30.257 31.92 30.29 32.069 30.352 32.071 30.352 32.074 30.353 32.077 30.354L32.09 30.359C32.135 30.374 32.223 30.408 32.174 30.431 32.114 30.46 31.689 30.651 31.479 30.964 31.269 31.278 31.255 31.413 31.227 31.599 31.199 31.727 31.339 31.762 31.339 31.762 31.586 31.779 31.83 31.811 32.058 31.854 32.129 31.867 32.182 31.773 32.199 31.744 32.307 31.553 32.415 31.452 32.599 31.284 32.772 31.126 32.986 31.028 33.165 31.028 33.61 31.026 33.83 31.356 33.767 31.378 33.746 31.385 33.713 31.397 33.677 31.411L33.647 31.423C33.616 31.435 33.586 31.447 33.564 31.455L33.545 31.463C33.538 31.466 33.533 31.468 33.53 31.469L33.527 31.47C33.357 31.534 33.117 31.635 32.807 32.02 32.793 32.037 32.753 32.059 32.819 32.118 33.177 32.439 33.531 32.944 33.559 33.448 33.561 33.489 33.586 33.673 33.523 33.701 33.46 33.73 33.213 33.186 32.537 32.812 32.142 32.588 31.695 32.48 31.209 32.445 31.1 32.437 30.994 32.434 30.89 32.434 30.468 32.434 30.082 32.479 29.691 32.543 28.916 32.669 27.962 33.041 27.933 33.052L27.932 33.052 27.822 33.105C27.543 33.236 26.992 33.497 26.735 33.684L26.708 33.703 26.73 33.722C26.845 33.821 26.87 33.845 26.941 34.013 27.035 34.234 26.974 34.478 26.789 34.621 26.709 34.683 26.64 34.709 26.559 34.709 26.517 34.709 26.474 34.702 26.427 34.692L26.398 34.686 26.37 34.68C26.12 34.628 26.036 34.427 25.977 34.274L25.971 34.258 25.95 34.202C25.944 34.213 25.939 34.223 25.934 34.232 25.895 34.305 25.86 34.373 25.723 34.462 25.619 34.53 25.514 34.565 25.412 34.565 25.26 34.565 25.145 34.489 25.022 34.341 24.839 34.121 24.965 33.833 25.095 33.719 25.215 33.615 25.246 33.587 25.25 33.583 25.221 33.55 25.197 33.526 25.178 33.507 25.119 33.446 25.111 33.431 25.042 33.324 24.975 33.22 24.956 33.085 24.99 32.954 25.027 32.812 25.12 32.694 25.245 32.629 25.314 32.593 25.406 32.574 25.505 32.574 25.691 32.574 25.926 32.648 26.031 32.856 26.067 32.928 26.076 32.985 26.103 33.056 26.122 33.107 26.142 33.158 26.162 33.206 26.167 33.21 26.182 33.217 26.19 33.219 26.366 33.129 26.668 32.989 26.89 32.868L26.929 32.846 27.047 32.78C27.047 32.78 27.095 32.765 27.077 32.695 27.035 32.531 26.94 32.196 26.965 31.952 26.993 31.661 27.068 31.42 27.228 31.17 27.572 30.57 28.226 30.624 28.164 30.681 28.101 30.738 27.806 31.115 27.717 31.62 27.676 31.843 27.694 32.011 27.722 32.206 27.734 32.293 27.742 32.399 27.794 32.428 27.83 32.448 27.934 32.406 28.037 32.361L28.076 32.344C28.114 32.327 28.151 32.311 28.183 32.299 28.347 32.236 28.57 32.208 28.72 32.166 28.807 32.142 28.782 32.095 28.782 32.076 28.807 31.406 28.948 30.918 29.212 30.55 29.428 30.25 29.851 30.003 30.245 30.003ZM20.055 29.128 10.834 29.128C10.895 29.331 10.961 29.534 11.031 29.738 11.369 30.714 11.789 31.692 12.29 32.664L12.29 32.664 23.647 32.664 23.647 30.725C22.397 30.621 21.182 30.102 20.232 29.286 20.172 29.235 20.113 29.181 20.055 29.128L20.055 29.128ZM29.537 17.149 18.572 17.149 18.584 25.216 18.584 25.361C18.586 26.522 19.02 27.626 19.84 28.555L19.84 28.555 20.228 28.953C20.275 28.997 20.331 29.048 20.388 29.097 21.31 29.889 22.475 30.379 23.667 30.479 23.667 30.479 23.9 30.497 24.159 30.497 24.302 30.497 24.46 30.479 24.62 30.461L24.62 30.461 24.907 30.426C25.251 30.374 25.601 30.281 25.939 30.15L25.939 30.15 26.196 30.041C26.596 29.872 26.976 29.658 27.326 29.407L27.326 29.407 27.341 29.397C28.305 28.81 28.827 27.82 28.889 27.699L28.893 27.689C28.894 27.688 28.894 27.687 28.895 27.687 29.315 26.945 29.524 26.167 29.526 25.36L29.526 25.36 29.536 18.1 29.536 17.41 29.537 17.149ZM18.913 17.42 29.158 17.424C29.179 17.424 29.181 17.433 29.181 17.454L29.181 17.454 29.179 25.492C29.179 25.87 29.109 26.256 28.959 26.705 28.595 27.79 27.789 28.778 26.745 29.419 25.944 29.911 24.974 30.192 24.084 30.192L24.084 30.192 24.069 30.192C22.83 30.188 21.567 29.696 20.602 28.842 19.523 27.887 18.903 26.559 18.9 25.198L18.9 25.198 18.889 17.45C18.889 17.429 18.892 17.42 18.913 17.42L18.913 17.42ZM19.132 17.667 19.132 25.198C19.135 26.487 19.735 27.747 20.761 28.655 21.682 29.471 22.889 29.941 24.071 29.945L24.071 29.945 24.084 29.945C24.931 29.945 25.855 29.677 26.619 29.207 27.615 28.597 28.384 27.656 28.729 26.626 28.871 26.202 28.937 25.842 28.937 25.492L28.937 25.492 28.939 17.67 19.132 17.667ZM24.287 19.879C24.29 19.908 24.262 19.925 24.221 19.946 24.164 19.976 24.101 20.017 24.073 20.075 24.035 20.155 24.002 20.246 24.011 20.334 24.017 20.387 24.065 20.433 24.112 20.459 24.179 20.497 24.258 20.503 24.335 20.504 24.48 20.505 24.512 20.464 24.672 20.405 24.833 20.346 24.935 20.362 25.106 20.373 25.224 20.381 25.317 20.403 25.413 20.473 25.449 20.5 25.442 20.534 25.43 20.538 25.407 20.545 25.384 20.518 25.36 20.522 25.28 20.536 25.191 20.544 25.137 20.569 25.042 20.612 25 20.627 24.955 20.714 24.941 20.74 24.929 20.791 24.943 20.829 24.957 20.867 24.997 20.893 25.007 20.921 25.035 21.001 25.058 21.049 25.106 21.119 25.115 21.132 25.144 21.146 25.157 21.156 25.311 21.289 25.464 21.39 25.6 21.543 25.637 21.584 25.642 21.638 25.661 21.691 25.668 21.709 25.651 21.739 25.635 21.729 25.621 21.72 25.604 21.708 25.577 21.684 25.557 21.666 25.53 21.637 25.494 21.622 25.381 21.579 25.339 21.579 25.218 21.581 25.175 21.582 25.091 21.621 25.138 21.639 25.21 21.666 25.3 21.757 25.346 21.824 25.445 21.967 25.523 22.071 25.515 22.32 25.515 22.328 25.496 22.335 25.491 22.328 25.458 22.271 25.396 22.197 25.33 22.155 25.221 22.085 25.121 22.043 25 22.054 24.976 22.057 24.907 22.054 24.914 22.078 24.921 22.103 25.065 22.263 25.106 22.382 25.154 22.522 25.193 22.675 25.168 22.822 25.167 22.83 25.137 22.836 25.132 22.83 25.091 22.78 25.053 22.745 25.01 22.709 24.968 22.673 24.921 22.637 24.861 22.612 24.777 22.579 24.618 22.611 24.541 22.658 24.443 22.716 24.395 22.77 24.338 22.869 24.278 22.971 24.252 23.077 24.24 23.195 24.226 23.323 24.243 23.493 24.306 23.604 24.377 23.73 24.473 23.811 24.605 23.866 24.768 23.934 24.953 23.931 25.129 23.937 25.348 23.944 25.566 23.912 25.784 23.905 25.993 23.899 26.204 23.873 26.409 23.91 26.577 23.94 26.733 24.012 26.879 24.101 27.006 24.179 27.101 24.301 27.219 24.392 27.231 24.402 27.26 24.387 27.273 24.378 27.357 24.326 27.471 24.095 27.48 24.007 27.496 23.837 27.473 23.765 27.392 23.615 27.318 23.479 27.21 23.327 27.126 23.183 27.037 23.031 26.875 22.873 26.807 22.711 26.753 22.584 26.746 22.493 26.779 22.359 26.8 22.272 26.878 22.199 26.949 22.155 26.966 22.144 26.983 22.166 26.975 22.189 26.956 22.24 26.946 22.315 26.963 22.367 26.989 22.446 27.038 22.539 27.102 22.591 27.124 22.609 27.177 22.583 27.188 22.557 27.218 22.489 27.2 22.382 27.226 22.312 27.273 22.187 27.304 22.046 27.396 21.951 27.553 21.788 27.774 21.748 27.961 21.639 27.978 21.629 27.994 21.607 28.009 21.582L28.024 21.558C28.049 21.518 28.074 21.481 28.105 21.492 28.163 21.514 28.13 21.653 28.087 21.719 28.023 21.814 27.95 21.876 27.88 21.966 27.785 22.089 27.705 22.22 27.635 22.359 27.601 22.425 27.575 22.505 27.589 22.579 27.6 22.641 27.648 22.7 27.704 22.728 27.739 22.745 27.782 22.712 27.812 22.689 27.871 22.642 27.928 22.589 27.966 22.524 28.002 22.463 27.982 22.382 28.016 22.32 28.023 22.306 28.064 22.308 28.074 22.32 28.107 22.357 28.144 22.403 28.144 22.453L28.144 22.496C28.144 22.545 28.142 22.57 28.129 22.634 28.125 22.647 28.091 22.677 28.081 22.706 28.07 22.735 28.056 22.759 28.049 22.771 27.991 22.872 27.925 22.956 27.851 22.971 27.833 22.975 27.824 23.006 27.834 23.022 27.88 23.094 27.938 23.19 28.013 23.231 28.083 23.269 28.164 23.271 28.251 23.246 28.294 23.234 28.327 23.205 28.376 23.189 28.395 23.182 28.385 23.195 28.383 23.216 28.381 23.253 28.376 23.319 28.36 23.352 28.327 23.418 28.3 23.442 28.241 23.485 28.162 23.542 28.072 23.546 27.981 23.564 27.938 23.573 27.874 23.604 27.889 23.646 27.901 23.678 27.926 23.754 27.956 23.782 27.999 23.82 28.023 23.837 28.081 23.843 28.146 23.85 28.223 23.823 28.278 23.787 28.34 23.745 28.375 23.668 28.429 23.615 28.44 23.604 28.472 23.612 28.471 23.628 28.463 23.719 28.452 23.802 28.406 23.882 28.34 23.995 28.242 24.073 28.205 24.101 28.18 24.121 28.149 24.148 28.151 24.18 28.155 24.23 28.194 24.271 28.221 24.314 28.251 24.362 28.3 24.386 28.352 24.4 28.405 24.414 28.451 24.406 28.509 24.4 28.529 24.398 28.526 24.436 28.512 24.45 28.456 24.509 28.403 24.533 28.328 24.559 28.267 24.579 28.189 24.586 28.127 24.571 27.999 24.541 27.916 24.492 27.79 24.455 27.72 24.434 27.648 24.418 27.579 24.441 27.511 24.463 27.454 24.515 27.411 24.572 27.389 24.602 27.368 24.637 27.365 24.675 27.355 24.776 27.404 24.883 27.373 24.981 27.332 25.107 27.306 25.236 27.244 25.354 27.196 25.446 27.126 25.534 27.064 25.617 27 25.702 26.918 25.735 26.876 25.83 26.86 25.865 26.841 25.889 26.816 25.931 26.787 25.976 26.716 26.17 26.725 26.297 26.733 26.42 26.794 26.528 26.857 26.629 26.938 26.755 27.018 26.882 27.098 27.008 27.117 27.049 27.118 27.097 27.112 27.141 27.106 27.185 27.085 27.231 27.043 27.251 26.725 27.449 26.486 27.722 26.386 28.093 26.384 28.1 26.382 28.106 26.381 28.113L26.38 28.116 26.38 28.12C26.374 28.145 26.367 28.157 26.346 28.188 26.326 28.219 26.244 28.292 26.047 28.341 25.96 28.363 25.874 28.387 25.789 28.414 25.768 28.421 25.749 28.432 25.733 28.448 25.728 28.453 25.724 28.459 25.72 28.465 25.716 28.472 25.712 28.478 25.71 28.485 25.691 28.532 25.706 28.581 25.733 28.621 25.757 28.654 25.779 28.691 25.78 28.734 25.781 28.758 25.774 28.781 25.758 28.8 25.746 28.815 25.731 28.826 25.714 28.836 25.605 28.898 25.496 28.944 25.375 28.974 25.295 28.993 25.239 28.972 25.264 28.88 25.308 28.72 25.36 28.566 25.418 28.412 25.457 28.315 25.552 28.254 25.627 28.188 25.734 28.094 25.845 28.011 25.961 27.93 26.036 27.875 26.099 27.814 26.147 27.732 26.241 27.58 26.34 27.433 26.448 27.291 26.497 27.231 26.498 27.162 26.492 27.088 26.478 26.955 26.383 26.848 26.269 26.791 26.225 26.771 26.18 26.754 26.135 26.738 25.971 26.678 25.86 26.593 25.748 26.458 25.723 26.427 25.691 26.396 25.649 26.395 25.55 26.397 25.523 26.537 25.52 26.614 25.515 26.727 25.511 26.839 25.526 26.951 25.532 26.989 25.541 27.03 25.532 27.068 25.523 27.097 25.498 27.113 25.471 27.122 25.163 27.25 24.856 27.369 24.582 27.566 24.542 27.598 24.511 27.635 24.485 27.679 24.476 27.694 24.468 27.709 24.459 27.723 24.376 27.855 24.251 27.889 24.107 27.852 24.085 27.846 24.061 27.84 24.038 27.835 24.002 27.829 23.967 27.842 23.936 27.862 23.912 27.877 23.89 27.896 23.873 27.919 23.865 27.928 23.859 27.938 23.855 27.949 23.855 27.952 23.854 27.956 23.853 27.96 23.853 27.964 23.853 27.968 23.853 27.971 23.854 27.981 23.857 27.99 23.86 28 23.872 28.031 23.883 28.062 23.895 28.094 23.922 28.16 23.905 28.223 23.835 28.248 23.731 28.289 23.628 28.32 23.516 28.335 23.452 28.344 23.398 28.319 23.413 28.244 23.434 28.113 23.475 27.99 23.524 27.867 23.542 27.819 23.566 27.789 23.613 27.77 23.72 27.71 23.808 27.634 23.894 27.547 23.966 27.472 24.061 27.444 24.16 27.432 24.319 27.413 24.442 27.367 24.571 27.271 24.696 27.179 24.819 27.089 24.926 26.976 25.093 26.77 25.08 26.472 24.931 26.263L24.916 26.244 24.886 26.186C24.856 26.139 24.838 26.069 24.813 26.019 24.787 25.967 24.752 25.913 24.752 25.854 24.752 25.745 24.794 25.642 24.801 25.533 24.802 25.514 24.792 25.499 24.774 25.493 24.704 25.47 24.632 25.449 24.559 25.447 24.266 25.436 23.964 25.527 23.68 25.454 23.471 25.4 23.252 25.287 23.066 25.169 22.983 25.115 22.932 25.059 22.847 25.007 22.825 24.993 22.823 24.998 22.803 25.015 22.651 25.147 22.367 25.235 22.111 25.219L22.082 25.216 22.078 25.216C21.922 25.189 21.769 25.149 21.615 25.094 21.501 25.051 21.315 24.976 21.205 25.069 21.161 25.109 21.17 25.165 21.172 25.218 21.184 25.382 21.183 25.541 21.156 25.704 21.15 25.721 21.151 25.739 21.161 25.755 21.164 25.758 21.166 25.762 21.17 25.765 21.186 25.779 21.207 25.788 21.227 25.797 21.232 25.799 21.237 25.801 21.242 25.803 21.288 25.819 21.296 25.84 21.321 25.895 21.331 25.918 21.336 25.93 21.347 25.992 21.354 26.038 21.348 26.065 21.343 26.093 21.339 26.114 21.334 26.135 21.329 26.155 21.311 26.227 21.311 26.302 21.341 26.37 21.356 26.403 21.377 26.435 21.408 26.454 21.413 26.457 21.417 26.459 21.423 26.461 21.428 26.463 21.433 26.464 21.438 26.465 21.444 26.466 21.449 26.466 21.455 26.466 21.46 26.466 21.466 26.465 21.471 26.464 21.482 26.462 21.492 26.457 21.502 26.452 21.504 26.451 21.506 26.449 21.508 26.449 21.524 26.436 21.543 26.426 21.563 26.428 21.569 26.429 21.575 26.431 21.58 26.433 21.636 26.452 21.674 26.489 21.676 26.551 21.68 26.678 21.654 26.79 21.603 26.904 21.581 26.955 21.531 26.969 21.483 26.952 21.473 26.948 21.463 26.944 21.454 26.94 21.366 26.896 21.297 26.83 21.234 26.754 21.188 26.7 21.164 26.645 21.157 26.574 21.153 26.529 21.147 26.477 21.112 26.445 21.098 26.433 21.081 26.424 21.064 26.418 21.019 26.404 20.982 26.383 20.952 26.346 20.87 26.243 20.853 26.125 20.871 25.998 20.912 25.649 20.904 25.313 20.799 24.976 20.778 24.916 20.781 24.863 20.801 24.804 20.81 24.781 20.818 24.758 20.827 24.735 20.83 24.726 20.833 24.718 20.837 24.709 20.851 24.682 20.875 24.664 20.904 24.658 20.919 24.655 20.935 24.654 20.95 24.654 21.193 24.645 21.427 24.623 21.657 24.543 21.689 24.53 21.722 24.525 21.756 24.526 21.793 24.527 21.832 24.53 21.87 24.528 21.917 24.53 21.965 24.485 21.908 24.45 21.86 24.406 21.817 24.361 21.776 24.311 21.757 24.283 21.727 24.264 21.694 24.276 21.689 24.278 21.684 24.28 21.679 24.283 21.674 24.286 21.669 24.289 21.665 24.292 21.624 24.316 21.583 24.337 21.534 24.328 21.488 24.318 21.452 24.285 21.425 24.246 21.361 24.146 21.324 24.036 21.288 23.923 21.247 23.792 21.217 23.644 21.117 23.543 21.039 23.468 20.926 23.427 20.818 23.443 20.727 23.458 20.665 23.528 20.613 23.6 20.579 23.647 20.547 23.693 20.514 23.74 20.492 23.772 20.471 23.806 20.467 23.846 20.467 23.855 20.467 23.864 20.467 23.873 20.469 23.89 20.473 23.907 20.479 23.923 20.51 24.015 20.494 24.108 20.419 24.17L20.319 24.25C20.303 24.263 20.286 24.276 20.27 24.29 20.24 24.315 20.224 24.348 20.22 24.387 20.214 24.434 20.207 24.463 20.202 24.482 20.196 24.505 20.195 24.529 20.197 24.554 20.197 24.56 20.199 24.566 20.2 24.572 20.209 24.599 20.228 24.62 20.25 24.636 20.257 24.642 20.264 24.648 20.27 24.655 20.277 24.663 20.285 24.672 20.29 24.682 20.308 24.721 20.299 24.762 20.271 24.793 20.26 24.806 20.247 24.818 20.234 24.829 20.14 24.901 20.044 24.956 19.934 24.999 19.922 25.004 19.907 25.009 19.894 25.011 19.834 25.016 19.814 24.968 19.811 24.915 19.806 24.843 19.806 24.772 19.807 24.701 19.809 24.612 19.841 24.549 19.897 24.482 19.983 24.377 20.001 24.257 20.009 24.123 20.013 24.049 20.02 23.971 20.072 23.914 20.112 23.872 20.139 23.824 20.162 23.77 20.178 23.733 20.197 23.698 20.224 23.667 20.384 23.471 20.531 23.268 20.667 23.054 20.751 22.916 20.91 22.748 21.039 22.937 21.073 22.989 21.113 23.034 21.162 23.072 21.292 23.169 21.427 23.254 21.568 23.334 21.711 23.415 21.738 23.275 21.763 23.152L21.765 23.14 21.767 23.135C21.782 23.084 21.796 23.035 21.827 22.988 21.919 22.849 22.021 22.705 22.146 22.594 22.168 22.574 22.194 22.554 22.221 22.534L22.304 22.474C22.331 22.454 22.357 22.434 22.38 22.414 22.41 22.389 22.417 22.389 22.431 22.351 22.443 22.316 22.467 22.272 22.483 22.227 22.499 22.183 22.506 22.139 22.521 22.105 22.543 22.054 22.572 22.021 22.584 21.971L22.589 21.949 22.589 21.944C22.59 21.94 22.589 21.94 22.589 21.936 22.589 21.932 22.589 21.928 22.588 21.924 22.587 21.921 22.586 21.917 22.585 21.913 22.578 21.898 22.566 21.885 22.551 21.876 22.508 21.851 22.462 21.835 22.413 21.834L22.391 21.834 22.387 21.834C22.309 21.838 22.225 21.847 22.154 21.882 22.115 21.901 22.087 21.929 22.069 21.969 22.052 22.006 22.031 22.041 22.003 22.07 21.948 22.127 21.859 22.128 21.798 22.08 21.763 22.053 21.779 22.009 21.8 21.979 21.819 21.952 21.841 21.927 21.856 21.897 21.862 21.886 21.865 21.873 21.863 21.86 21.863 21.857 21.863 21.854 21.862 21.852 21.861 21.849 21.859 21.847 21.858 21.844 21.856 21.84 21.853 21.837 21.85 21.834 21.831 21.816 21.804 21.815 21.78 21.823 21.735 21.835 21.692 21.85 21.65 21.867 21.583 21.896 21.516 21.867 21.501 21.791 21.494 21.763 21.492 21.733 21.495 21.704 21.498 21.664 21.522 21.635 21.559 21.624 21.59 21.615 21.637 21.596 21.63 21.556 21.629 21.544 21.629 21.532 21.63 21.52 21.633 21.506 21.64 21.493 21.649 21.482 21.662 21.466 21.679 21.453 21.696 21.441 21.868 21.322 22.039 21.204 22.197 21.068 22.228 21.037 22.26 21.033 22.298 21.052 22.304 21.055 22.309 21.058 22.315 21.061 22.392 21.102 22.468 21.107 22.553 21.092 22.58 21.088 22.609 21.075 22.617 21.046 22.617 21.044 22.618 21.041 22.617 21.038 22.617 21.035 22.617 21.032 22.616 21.029 22.616 21.026 22.615 21.023 22.614 21.02 22.612 21.018 22.611 21.015 22.609 21.013 22.595 20.996 22.574 20.986 22.553 20.98 22.523 20.969 22.492 20.959 22.462 20.947 22.433 20.936 22.405 20.924 22.38 20.907 22.347 20.885 22.332 20.852 22.34 20.812 22.374 20.638 22.557 20.631 22.704 20.643L22.72 20.645 22.726 20.645C22.798 20.643 22.889 20.63 22.947 20.609 23.04 20.575 23.113 20.501 23.202 20.459 23.292 20.416 23.387 20.369 23.479 20.333 23.505 20.323 23.531 20.329 23.556 20.318 23.577 20.309 23.596 20.296 23.61 20.279 23.672 20.204 23.756 20.073 23.834 20.018 23.958 19.93 24.062 19.922 24.204 19.871 24.227 19.863 24.284 19.856 24.287 19.879ZM23.647 9.507C22.7 9.523 21.825 9.558 20.867 9.645 18.695 9.842 16.523 10.176 14.443 10.706 12.891 11.101 11.4 11.616 9.943 12.206 9.961 13.819 9.989 15.744 10.023 17.686L10.028 17.993C10.07 20.447 10.12 22.903 10.166 24.766L10.166 24.766 18.34 24.766 18.335 21.383 18.31 21.381C18.179 21.369 18.028 21.358 17.906 21.358 16.848 21.358 15.252 21.763 14.206 22.277 13.988 22.385 13.808 22.474 13.657 22.549L13.598 22.579C13.148 22.804 12.973 22.9 12.804 23.004L12.782 23.018C12.775 23.022 12.768 23.027 12.76 23.031L12.739 23.045 12.728 23.051 12.717 23.058 12.68 23.086 12.72 23.109C12.928 23.232 13.031 23.434 13.066 23.515 13.134 23.675 13.05 23.91 12.894 23.999 12.809 24.047 12.702 24.074 12.599 24.074 12.475 24.074 12.368 24.035 12.297 23.965 12.254 23.921 12.219 23.874 12.187 23.827L12.168 23.798 12.162 23.791C12.149 23.771 12.135 23.75 12.12 23.73L12.098 23.701 12.079 23.677 12.056 23.697C12.032 23.717 12.008 23.739 11.984 23.761L11.948 23.795 11.942 23.801C11.857 23.881 11.768 23.964 11.672 24.019 11.585 24.068 11.492 24.095 11.403 24.095 11.27 24.095 11.152 24.038 11.071 23.935 10.998 23.843 10.971 23.727 10.995 23.608 11.022 23.477 11.109 23.36 11.236 23.285L11.258 23.272 11.284 23.258C11.359 23.218 11.431 23.18 11.491 23.129L11.517 23.107 11.533 23.092 11.524 23.072C11.498 23.018 11.458 22.969 11.415 22.917 11.365 22.855 11.313 22.791 11.28 22.711 11.202 22.518 11.294 22.29 11.427 22.182 11.485 22.135 11.563 22.11 11.651 22.11 11.748 22.11 11.846 22.139 11.919 22.191 12.052 22.283 12.12 22.428 12.182 22.572L12.194 22.599 12.2 22.612 12.22 22.658 12.235 22.691 12.264 22.67C12.306 22.64 12.349 22.611 12.392 22.582L12.458 22.539 12.467 22.533C12.563 22.47 12.663 22.404 12.775 22.32L12.818 22.287 12.836 22.273 12.828 22.252C12.809 22.205 12.789 22.156 12.769 22.105 12.626 21.753 12.448 21.316 12.554 20.929 12.695 20.416 13.048 20.08 13.495 20.029 13.534 20.029 13.611 20.046 13.63 20.061L13.633 20.064 13.633 20.066C13.631 20.068 13.628 20.073 13.62 20.08 13.525 20.162 13.242 20.529 13.198 21.114 13.173 21.387 13.217 21.692 13.314 21.92L13.329 21.954 13.34 21.979 13.366 21.969C13.5 21.918 13.633 21.865 13.766 21.812 13.933 21.746 14.092 21.682 14.242 21.634L14.298 21.617 14.329 21.607 14.317 21.577C14.189 21.249 14.108 20.57 14.291 20.146 14.458 19.758 15.026 19.416 15.298 19.402L15.315 19.402 15.337 19.403C15.417 19.404 15.459 19.409 15.48 19.414 15.473 19.419 15.465 19.425 15.455 19.432 15.323 19.526 14.922 19.813 14.759 20.478 14.677 20.775 14.71 21.114 14.765 21.325L14.772 21.349 14.779 21.377 14.808 21.37C14.924 21.339 15.077 21.291 15.233 21.24L15.327 21.209C15.358 21.199 15.389 21.189 15.42 21.179L15.465 21.164 15.474 21.161C15.597 21.121 15.714 21.082 15.81 21.052L15.845 21.041 15.867 21.034 15.866 21.011C15.866 21.004 15.865 20.995 15.864 20.983 15.828 20.626 15.974 20.023 16.281 19.632 16.527 19.32 16.954 19.004 17.295 19.004 17.41 19.004 17.533 19.023 17.547 19.036 17.544 19.068 17.544 19.07 17.493 19.106L17.481 19.114 17.434 19.147C17.311 19.234 16.716 19.791 16.552 20.126 16.439 20.357 16.365 20.657 16.376 20.837L16.378 20.859 16.382 20.891 16.413 20.886C16.893 20.802 17.32 20.755 17.716 20.742L17.79 20.74 17.81 20.739 17.817 20.72C17.864 20.592 17.915 20.479 17.97 20.384 18.063 20.221 18.183 20.104 18.333 19.977L18.333 19.977 18.329 17.845C18.16 17.789 18.055 17.728 17.654 17.695 17.481 17.68 17.284 17.707 17.071 17.729 16.232 17.819 15.329 18.033 14.311 18.383 13.73 18.583 13.28 18.819 12.773 19.092L12.696 19.133 12.404 19.289 12.373 19.305 12.393 19.333 12.408 19.355C12.484 19.461 12.588 19.606 12.571 19.735 12.551 19.895 12.519 20.045 12.352 20.137 12.294 20.169 12.222 20.187 12.151 20.187 12.015 20.187 11.898 20.126 11.829 20.019 11.805 19.982 11.78 19.944 11.755 19.907 11.735 19.877 11.716 19.848 11.697 19.819L11.669 19.775 11.649 19.743 11.622 19.77C11.512 19.886 11.387 19.966 11.25 20.007 11.18 20.029 11.115 20.039 11.057 20.039 10.911 20.039 10.799 19.972 10.723 19.84 10.617 19.655 10.668 19.444 10.86 19.277 10.953 19.195 11.059 19.144 11.188 19.098L11.224 19.085 11.26 19.072 11.239 19.04C11.217 19.005 11.191 18.972 11.158 18.931 11.118 18.88 11.076 18.828 11.045 18.767 10.997 18.675 10.989 18.564 11.022 18.464 11.049 18.38 11.101 18.316 11.17 18.283 11.247 18.245 11.325 18.226 11.4 18.226 11.536 18.226 11.654 18.29 11.741 18.413 11.8 18.495 11.835 18.624 11.85 18.686L11.853 18.699 11.86 18.734 11.893 18.72C12.106 18.632 12.238 18.573 12.463 18.458L12.506 18.436 12.522 18.428 12.522 18.41C12.523 18.35 12.522 18.287 12.522 18.215 12.519 17.934 12.516 17.589 12.605 17.296L12.62 17.248 12.637 17.198 12.662 17.123C12.78 16.774 12.858 16.544 13.463 16.339 13.512 16.324 13.588 16.314 13.656 16.314 13.705 16.314 13.734 16.319 13.748 16.324 13.658 16.398 13.589 16.471 13.587 16.474 13.403 16.667 13.282 16.895 13.218 17.172 13.15 17.467 13.152 17.859 13.195 18.046L13.2 18.065 13.209 18.097 13.24 18.085C13.573 17.951 13.871 17.844 14.149 17.759L14.209 17.741 14.23 17.734 14.231 17.668C14.234 17.383 14.241 16.905 14.421 16.484 14.622 16.015 15.016 15.731 15.479 15.719L15.509 15.719 15.551 15.72C15.606 15.721 15.71 15.737 15.756 15.753 15.705 15.786 15.644 15.835 15.608 15.865L15.592 15.878C15.584 15.885 15.578 15.89 15.577 15.89 15.348 16.066 15.201 16.276 15.026 16.58 14.847 16.89 14.803 17.369 14.797 17.443L14.797 17.447 14.793 17.493 14.836 17.478C15.068 17.397 15.321 17.346 15.572 17.296 15.689 17.272 15.81 17.248 15.929 17.22L16.019 17.199 16.038 17.194 16.041 17.175C16.051 17.12 16.058 17.068 16.067 17.015 16.118 16.677 16.162 16.385 16.499 16.011 16.933 15.532 17.5 15.495 17.664 15.495 17.718 15.495 17.769 15.498 17.816 15.505 17.872 15.513 18.046 15.579 18.087 15.618 18.067 15.624 18.032 15.633 17.997 15.642 17.785 15.695 17.342 15.806 17.03 16.208 16.882 16.387 16.78 16.583 16.719 16.809 16.683 16.938 16.675 17.049 16.673 17.098L16.673 17.107 16.672 17.14 16.705 17.138C17.032 17.113 17.435 17.084 17.84 17.072L17.921 17.07 17.941 17.07 17.948 17.05C18.112 16.578 18.347 16.28 18.712 16.084 18.851 16.009 19.079 15.96 19.293 15.96 19.507 15.96 19.701 16.006 19.855 16.094 19.913 16.126 19.968 16.166 19.986 16.188 19.962 16.197 19.926 16.208 19.889 16.219L19.857 16.229C19.787 16.25 19.72 16.269 19.719 16.269 19.338 16.382 19.006 16.546 18.774 16.836L18.749 16.868 18.704 16.902 23.647 16.902ZM37.917 21.004 29.775 21.004 29.77 24.631 37.838 24.631C37.864 23.569 37.89 22.325 37.917 21.004L37.917 21.004ZM23.423 20.788C23.409 20.797 23.398 20.814 23.409 20.826 23.438 20.861 23.485 20.876 23.519 20.907 23.541 20.928 23.56 20.953 23.574 20.98 23.588 21.01 23.612 21.045 23.625 21.075 23.654 21.142 23.676 21.202 23.698 21.271 23.732 21.379 23.762 21.492 23.777 21.604 23.789 21.697 23.786 21.791 23.79 21.884 23.792 21.928 23.792 21.971 23.79 22.014 23.789 22.051 23.789 22.089 23.786 22.125 23.782 22.179 23.779 22.228 23.779 22.282 23.779 22.307 23.776 22.332 23.778 22.41 23.782 22.522 23.8 22.599 23.849 22.599 23.89 22.6 23.941 22.592 23.979 22.571 24.058 22.529 24.103 22.446 24.113 22.333 24.142 22.018 24.172 21.77 24.113 21.415 24.078 21.2 24.025 20.996 23.818 20.837 23.691 20.74 23.534 20.71 23.423 20.788ZM24.875 18.101 24.894 18.102C25.062 18.106 25.194 18.2 25.244 18.355 25.254 18.382 25.245 18.415 25.222 18.434 25.205 18.45 25.181 18.458 25.154 18.458 25.123 18.458 25.097 18.442 25.085 18.418 25.045 18.337 24.954 18.274 24.877 18.274 24.788 18.276 24.716 18.331 24.668 18.434 24.609 18.559 24.583 18.669 24.582 18.792 24.582 18.933 24.606 19.053 24.654 19.158 24.705 19.269 24.784 19.323 24.896 19.323 24.985 19.323 25.148 19.184 25.158 18.955L25.158 18.931 25.158 18.869 24.945 18.869C24.89 18.869 24.853 18.829 24.853 18.77 24.853 18.735 24.862 18.695 24.93 18.69L24.945 18.69 25.248 18.69C25.289 18.69 25.318 18.702 25.336 18.727 25.356 18.755 25.363 18.78 25.363 18.831 25.363 18.906 25.36 18.994 25.344 19.077 25.344 19.08 25.285 19.355 25.11 19.456 25.03 19.503 24.953 19.525 24.874 19.525 24.723 19.523 24.602 19.444 24.516 19.291 24.44 19.153 24.401 18.986 24.401 18.792 24.401 18.608 24.442 18.448 24.527 18.303 24.608 18.164 24.715 18.101 24.875 18.101ZM21.333 18.118C21.395 18.118 21.43 18.153 21.43 18.215 21.43 18.272 21.399 18.307 21.345 18.312L21.333 18.312 21.156 18.312 21.156 19.411C21.156 19.48 21.12 19.519 21.057 19.519 20.998 19.519 20.963 19.485 20.958 19.425L20.958 19.412 20.958 18.312 20.776 18.312C20.714 18.312 20.679 18.277 20.679 18.215 20.679 18.157 20.71 18.123 20.764 18.118L20.776 18.118 21.333 18.118ZM20.143 18.107C20.225 18.107 20.345 18.134 20.406 18.18 20.482 18.236 20.522 18.292 20.523 18.341 20.523 18.365 20.515 18.387 20.499 18.405 20.482 18.424 20.46 18.434 20.434 18.434 20.419 18.434 20.39 18.434 20.373 18.411 20.325 18.343 20.233 18.302 20.127 18.301 20.005 18.301 19.917 18.359 19.891 18.455 19.879 18.498 19.887 18.543 19.911 18.584 19.938 18.629 19.983 18.662 20.033 18.673 20.051 18.677 20.07 18.68 20.09 18.683L20.121 18.688 20.128 18.689C20.171 18.695 20.22 18.703 20.269 18.715 20.361 18.738 20.431 18.775 20.489 18.829 20.554 18.891 20.583 18.97 20.587 19.091 20.592 19.228 20.522 19.326 20.48 19.372 20.408 19.453 20.271 19.508 20.133 19.514L20.109 19.515 20.092 19.514C19.956 19.51 19.722 19.42 19.68 19.295 19.67 19.266 19.681 19.21 19.696 19.188 19.711 19.167 19.75 19.157 19.773 19.157 19.781 19.157 19.79 19.159 19.796 19.161 19.817 19.169 19.837 19.186 19.861 19.206 19.912 19.247 19.982 19.305 20.106 19.307 20.187 19.307 20.3 19.275 20.338 19.226 20.402 19.146 20.393 19.081 20.375 19.04 20.336 18.951 20.211 18.886 20.072 18.882 19.963 18.878 19.869 18.839 19.801 18.771 19.724 18.692 19.684 18.577 19.693 18.455 19.7 18.351 19.758 18.256 19.852 18.191 19.923 18.142 20.015 18.112 20.114 18.108L20.141 18.107 20.143 18.107ZM26.036 18.092C26.089 18.092 26.147 18.145 26.169 18.197L26.173 18.208 26.555 19.358C26.57 19.402 26.567 19.442 26.55 19.469 26.533 19.494 26.505 19.507 26.464 19.509 26.421 19.509 26.384 19.486 26.368 19.449L26.365 19.439 26.31 19.255 26.305 19.238 25.785 19.238 25.78 19.255 25.757 19.345 25.73 19.443C25.712 19.507 25.668 19.513 25.618 19.514 25.592 19.514 25.564 19.491 25.549 19.47 25.532 19.447 25.525 19.421 25.53 19.397L25.533 19.386 25.897 18.213C25.916 18.153 25.969 18.092 26.036 18.092ZM24.182 18.108C24.244 18.108 24.279 18.144 24.279 18.205 24.279 18.263 24.248 18.298 24.194 18.302L24.182 18.302 24.005 18.302 24.005 19.401C24.005 19.47 23.969 19.509 23.905 19.509 23.846 19.509 23.811 19.475 23.807 19.415L23.806 19.402 23.806 18.302 23.625 18.302C23.562 18.302 23.527 18.268 23.527 18.205 23.527 18.147 23.557 18.113 23.612 18.108L23.625 18.108 24.182 18.108ZM23.301 18.108C23.363 18.108 23.399 18.144 23.399 18.205 23.399 18.263 23.368 18.298 23.313 18.302L23.301 18.302 23.124 18.302 23.124 19.401C23.124 19.47 23.088 19.509 23.025 19.509 22.966 19.509 22.931 19.475 22.926 19.415L22.926 19.402 22.926 18.302 22.744 18.302C22.681 18.302 22.647 18.268 22.647 18.205 22.647 18.147 22.677 18.113 22.732 18.108L22.744 18.108 23.301 18.108ZM28.49 18.108C28.552 18.108 28.587 18.144 28.587 18.205 28.587 18.263 28.556 18.298 28.502 18.302L28.489 18.302 28.313 18.302 28.313 19.401C28.313 19.47 28.277 19.509 28.214 19.509 28.155 19.509 28.119 19.475 28.115 19.415L28.114 19.402 28.114 18.302 27.933 18.302C27.871 18.302 27.835 18.267 27.835 18.205 27.835 18.147 27.865 18.113 27.921 18.108L27.933 18.108 28.49 18.108ZM22.401 18.111C22.46 18.111 22.495 18.146 22.5 18.206L22.5 18.219 22.5 18.916C22.5 19.108 22.472 19.242 22.412 19.337 22.339 19.45 22.222 19.505 22.053 19.505 21.889 19.505 21.768 19.448 21.693 19.338 21.631 19.246 21.599 19.119 21.595 18.949L21.595 18.915 21.595 18.218C21.595 18.15 21.631 18.111 21.694 18.111 21.753 18.111 21.789 18.146 21.793 18.206L21.793 18.219 21.793 18.979C21.793 19.085 21.813 19.166 21.852 19.222 21.895 19.282 21.961 19.312 22.053 19.312 22.144 19.312 22.208 19.282 22.248 19.222 22.281 19.172 22.299 19.101 22.302 19.006L22.302 18.979 22.302 18.219C22.302 18.151 22.338 18.111 22.401 18.111ZM26.874 18.113 27.18 18.113C27.24 18.114 27.4 18.124 27.5 18.206 27.551 18.249 27.669 18.365 27.669 18.538 27.67 18.693 27.638 18.782 27.557 18.857 27.505 18.904 27.466 18.94 27.398 18.968L27.374 18.977 27.343 18.989 27.364 19.015 27.59 19.31C27.608 19.333 27.627 19.362 27.625 19.398 27.624 19.45 27.589 19.48 27.531 19.481 27.5 19.481 27.473 19.469 27.453 19.446L27.444 19.436 27.159 19.031 27.151 19.02 27.139 19.02 26.991 19.022 26.967 19.022 26.967 19.393C26.967 19.461 26.931 19.5 26.868 19.5 26.81 19.5 26.774 19.465 26.769 19.405L26.769 19.392 26.769 18.223C26.769 18.192 26.778 18.166 26.795 18.145 26.81 18.126 26.832 18.116 26.861 18.113L26.874 18.113ZM26.04 18.329 25.826 19.081 26.265 19.081 26.04 18.329ZM26.985 18.302 26.961 18.302 26.961 18.83 27.165 18.83C27.308 18.83 27.477 18.757 27.48 18.551 27.481 18.49 27.456 18.434 27.399 18.375 27.357 18.332 27.295 18.307 27.218 18.303L27.196 18.302 26.985 18.302ZM38.059 13.386 24.146 13.386 24.146 16.902 37.996 16.902C38.019 15.682 38.04 14.485 38.059 13.386L38.059 13.386ZM18.908 10.962C19.072 10.962 19.215 10.98 19.255 10.993 19.317 11.014 19.474 11.099 19.497 11.136 19.468 11.165 19.384 11.2 19.335 11.217 18.913 11.359 18.585 11.572 18.36 11.851 18.164 12.093 18.027 12.445 17.953 12.895L17.947 12.932 17.984 12.93C18.255 12.918 18.614 12.904 18.99 12.904 19.113 12.904 19.242 12.905 19.352 12.922L19.373 12.924 19.383 12.905C19.638 12.378 19.975 12.031 20.386 11.872 20.536 11.814 20.732 11.78 20.923 11.78L20.959 11.78C21.474 11.78 21.623 12.011 21.666 12.126 21.652 12.129 21.62 12.134 21.551 12.134 21.503 12.134 21.447 12.132 21.387 12.13L21.355 12.129C21.334 12.128 21.313 12.128 21.292 12.128 20.972 12.128 20.661 12.251 20.492 12.356 20.302 12.475 20.127 12.662 19.987 12.899L19.963 12.938 20.008 12.945C20.397 13.006 20.71 13.114 20.964 13.277 21.273 13.473 21.528 13.793 21.57 14.037 21.598 14.2 21.594 14.258 21.59 14.277 21.588 14.275 21.585 14.273 21.581 14.27 21.503 14.194 21.404 14.113 21.401 14.111 21.186 13.933 20.748 13.684 20.086 13.501 19.562 13.356 19.327 13.37 18.695 13.412 17.687 13.479 17.107 13.563 16.15 13.81 14.583 14.215 13.962 14.432 12.334 15.287L12.316 15.297 12.319 15.317C12.32 15.329 12.323 15.338 12.328 15.347 12.348 15.372 12.37 15.397 12.395 15.424 12.463 15.498 12.548 15.59 12.558 15.728 12.57 15.906 12.48 16.083 12.339 16.156 12.265 16.195 12.181 16.216 12.097 16.216 11.989 16.216 11.887 16.182 11.802 16.117 11.756 16.082 11.718 16.036 11.68 15.992 11.651 15.958 11.621 15.922 11.591 15.891L11.571 15.872 11.55 15.89C11.427 16.002 11.224 16.14 11.056 16.164 11.045 16.166 11.035 16.168 11.025 16.171 11.011 16.174 10.998 16.177 10.982 16.177 10.912 16.177 10.829 16.159 10.765 16.129 10.69 16.095 10.625 16.022 10.595 15.939 10.515 15.715 10.657 15.523 10.734 15.419 10.799 15.331 10.935 15.263 11.072 15.203L11.105 15.188 11.085 15.158C11.033 15.079 10.976 14.986 10.96 14.883 10.917 14.593 11.055 14.47 11.181 14.395 11.245 14.357 11.324 14.337 11.41 14.337 11.51 14.337 11.61 14.364 11.693 14.413 11.796 14.474 11.848 14.595 11.893 14.702 11.91 14.743 11.927 14.783 11.935 14.808L11.947 14.842 11.978 14.825C12.113 14.749 12.227 14.694 12.338 14.64 12.429 14.596 12.519 14.553 12.612 14.509L12.633 14.499 12.629 14.475C12.627 14.468 12.483 13.703 12.609 13.225 12.706 12.856 12.9 12.539 13.186 12.282 13.416 12.076 13.758 11.932 14.016 11.932L14.068 11.935 14.091 11.935C14.179 11.936 14.227 11.946 14.231 11.961 14.233 11.971 14.228 12.01 14.077 12.106 13.803 12.282 13.55 12.579 13.364 12.942 13.19 13.286 13.185 13.704 13.182 14.009 13.182 14.025 13.186 14.042 13.188 14.054L13.202 14.114C13.345 14.064 13.516 14.005 13.661 13.953 14.075 13.803 14.503 13.647 14.91 13.565L14.931 13.561 14.934 13.538C14.942 13.433 14.937 13.329 14.931 13.218 14.926 13.103 14.92 12.985 14.931 12.867 14.977 12.382 15.102 11.887 15.691 11.551 15.892 11.436 16.198 11.353 16.417 11.353L16.437 11.352C16.59 11.352 16.706 11.384 16.746 11.405 16.716 11.431 16.659 11.469 16.637 11.484L16.584 11.517C16.227 11.745 16.009 11.984 15.782 12.399 15.684 12.578 15.622 12.863 15.592 13.272L15.588 13.314 15.629 13.304C15.993 13.207 16.371 13.126 16.741 13.046 16.892 13.013 17.047 12.979 17.203 12.952L17.224 12.948 17.227 12.926C17.266 12.618 17.369 12.045 17.627 11.676 17.867 11.333 18.21 11.078 18.527 11.01 18.638 10.97 18.795 10.962 18.908 10.962ZM24.045 5.356 23.955 5.356C22.887 5.37 21.929 5.403 20.867 5.499 18.695 5.696 16.523 6.031 14.443 6.561 12.891 6.957 11.4 7.473 9.943 8.063 9.882 8.088 9.853 8.099 9.853 8.099 9.853 8.099 9.853 8.099 9.853 8.1L9.853 8.106C9.854 8.219 9.878 9.673 9.913 11.749 9.922 11.743 9.931 11.737 9.943 11.733 11.4 11.143 12.891 10.628 14.443 10.233 16.523 9.703 18.695 9.368 20.867 9.172 21.929 9.076 22.891 9.014 23.959 9.001L23.959 9.001 24.049 9.001C25.117 9.014 26.071 9.076 27.133 9.172 29.305 9.368 31.477 9.703 33.557 10.233 35.109 10.628 36.6 11.143 38.057 11.733 38.069 11.737 38.078 11.743 38.087 11.749 38.124 9.59 38.147 8.104 38.147 8.104 38.147 8.104 38.118 8.088 38.057 8.063 36.6 7.473 35.109 6.957 33.557 6.561 31.477 6.031 29.305 5.696 27.133 5.499 26.071 5.403 25.113 5.37 24.045 5.356L24.045 5.356ZM14.05 7.566C14.054 7.891 14.058 8.215 14.062 8.54 14.066 8.874 13.894 9.052 13.68 9.114 12.817 9.361 11.961 9.641 11.114 9.952 11.118 10.225 11.122 10.498 11.126 10.771 10.937 10.841 10.747 10.912 10.558 10.985 10.543 10.078 10.528 9.171 10.513 8.264 11.548 7.866 12.596 7.516 13.655 7.212L13.655 7.213C13.87 7.151 14.046 7.233 14.05 7.566ZM34.126 7.154C35.231 7.463 36.325 7.824 37.405 8.237L37.397 8.745C36.508 8.405 35.61 8.1 34.702 7.83 34.7 8.02 34.698 8.211 34.696 8.401 35.602 8.671 36.501 8.976 37.389 9.316L37.382 9.824C36.494 9.484 35.596 9.179 34.69 8.909L34.683 9.535C35.588 9.805 36.486 10.11 37.373 10.45L37.366 10.958C36.29 10.546 35.199 10.185 34.097 9.875 34.106 8.968 34.116 8.061 34.126 7.154ZM30.283 6.287C30.481 6.321 30.679 6.356 30.877 6.393 30.874 6.763 30.871 7.134 30.869 7.505 31.53 7.628 32.188 7.77 32.843 7.929 32.846 7.558 32.849 7.187 32.853 6.816 32.983 6.848 33.114 6.881 33.244 6.914L33.439 6.964 33.413 9.685C33.218 9.634 33.023 9.585 32.828 9.538 32.831 9.19 32.834 8.842 32.837 8.494 32.183 8.335 31.525 8.194 30.865 8.071 30.862 8.418 30.86 8.766 30.858 9.114 30.661 9.077 30.463 9.042 30.266 9.009 30.271 8.101 30.277 7.194 30.283 6.287ZM18.054 6.697C18.059 7.295 18.064 7.893 18.068 8.491 18.071 8.825 17.897 8.984 17.678 9.021 16.788 9.174 15.902 9.36 15.022 9.578 14.806 9.631 14.628 9.548 14.624 9.214 14.617 8.616 14.61 8.018 14.603 7.421 14.599 7.087 14.775 6.91 14.991 6.856 15.876 6.638 16.766 6.452 17.662 6.299L17.662 6.299C17.876 6.263 18.052 6.367 18.054 6.697ZM13.37 7.87C12.605 8.095 11.845 8.346 11.093 8.621 11.096 8.875 11.1 9.127 11.105 9.381 11.855 9.106 12.612 8.855 13.375 8.629 13.44 8.61 13.478 8.55 13.477 8.499L13.47 7.944C13.469 7.888 13.438 7.85 13.37 7.87ZM17.36 6.928C16.671 7.051 15.985 7.194 15.303 7.356 15.239 7.371 15.194 7.433 15.194 7.479 15.199 7.939 15.205 8.398 15.21 8.857 15.21 8.898 15.25 8.946 15.307 8.933 15.995 8.768 16.685 8.624 17.379 8.499 17.445 8.487 17.476 8.422 17.475 8.37L17.464 7.024C17.463 6.969 17.429 6.915 17.36 6.928ZM26.944 5.877C27.883 5.951 28.819 6.06 29.751 6.204 29.75 6.395 29.749 6.585 29.748 6.775 28.916 6.646 28.079 6.545 27.241 6.473 27.177 6.467 27.142 6.524 27.142 6.569 27.141 7.025 27.14 7.481 27.138 7.937 27.138 7.989 27.185 8.047 27.243 8.052 28.001 8.118 28.758 8.208 29.513 8.32L29.739 8.355 29.736 8.926C28.805 8.783 27.87 8.675 26.933 8.602 26.712 8.585 26.536 8.44 26.537 8.106 26.538 7.508 26.539 6.91 26.54 6.312 26.541 5.978 26.723 5.859 26.944 5.877ZM21.903 6.282C21.904 6.509 21.905 6.736 21.905 6.963 21.906 7.198 21.847 7.406 21.592 7.483 21.867 7.731 22.023 8.005 22.138 8.525 21.932 8.535 21.726 8.546 21.52 8.559 21.414 8.162 21.231 7.75 20.911 7.776 20.365 7.822 19.82 7.879 19.276 7.948 19.278 8.226 19.28 8.503 19.281 8.78 19.083 8.806 18.885 8.833 18.686 8.861 18.68 7.954 18.674 7.047 18.667 6.14 19.609 6.005 20.555 5.906 21.503 5.843L21.503 5.844C21.723 5.831 21.902 5.95 21.903 6.282ZM25.637 5.798 25.855 5.809 25.854 6.317C25.015 6.275 24.175 6.262 23.336 6.277 23.266 6.278 23.232 6.332 23.232 6.387 23.232 6.516 23.232 6.645 23.232 6.774 23.233 6.83 23.273 6.876 23.333 6.875 24.054 6.862 24.775 6.869 25.495 6.898 25.717 6.907 25.896 7.05 25.896 7.383 25.896 7.611 25.895 7.839 25.895 8.068 25.895 8.4 25.715 8.523 25.494 8.514 24.554 8.476 23.613 8.474 22.673 8.508 22.672 8.338 22.672 8.169 22.672 8 23.511 7.97 24.352 7.968 25.191 7.995 25.256 7.997 25.29 7.957 25.294 7.906L25.295 7.895 25.295 7.506C25.295 7.459 25.26 7.4 25.191 7.397 24.472 7.375 23.753 7.372 23.034 7.391 22.812 7.397 22.632 7.271 22.631 6.937 22.631 6.71 22.63 6.482 22.63 6.255 22.629 5.926 22.801 5.781 23.021 5.775 23.893 5.753 24.765 5.76 25.637 5.798ZM21.202 6.44C20.556 6.488 19.911 6.552 19.268 6.634 19.269 6.887 19.271 7.139 19.272 7.392 19.913 7.31 20.556 7.246 21.2 7.197 21.266 7.192 21.306 7.145 21.306 7.093 21.305 6.911 21.305 6.73 21.304 6.548 21.304 6.493 21.271 6.435 21.202 6.44Z\"/>`,\n '0 0 48 48'\n);\n\nexport const SeatBrandShape = clrIconSVG(\n `<path d=\"M7.735 21.733 40.238 27.774 40.171 30.328C40.149 31.124 40.125 31.96 40.102 32.652L40.089 33.059C40.024 34.982 39.618 36.153 38.823 36.858 37.725 37.831 36.445 38.062 33.389 38.229 26.308 38.613 19.1 38.56 10.066 37.929L9.979 37.922C9.118 37.853 8.776 37.688 8.594 37.566L8.585 37.56C8.206 37.3 8.141 37.01 8.044 35.61L8.018 35.225C7.944 34.032 7.8 31.101 7.751 30.102L8.006 30.119C12.114 30.387 18.23 30.583 23.312 30.591L24.032 30.592C25.526 30.599 28.39 30.632 29.255 30.633L29.283 30.633C29.985 30.633 30.926 30.443 31.419 29.713L31.441 29.68 7.735 25.645 7.735 21.733ZM14.519 9.776 14.61 9.771C21.692 9.387 28.9 9.44 37.934 10.071L38.02 10.077C38.895 10.148 39.235 10.317 39.414 10.44L39.438 10.456C39.797 10.712 39.861 11.019 39.955 12.39L39.977 12.721C40.04 13.705 40.157 16.026 40.22 17.322L38.457 17.232C35.402 17.08 31.24 16.892 27.487 16.848L26.934 16.842C22.438 16.801 18.446 16.874 17.963 16.935 16.971 17.062 16.508 17.519 16.365 17.729L16.359 17.739 40.265 22.163 40.265 25.645 7.766 20.034 7.833 17.526C7.857 16.655 7.883 15.749 7.907 15.046L7.91 14.94C7.976 13.018 8.381 11.846 9.177 11.142 10.263 10.179 11.529 9.942 14.519 9.776Z\"/>`,\n '0 0 48 48'\n);\n\nexport const SkodaBrandShape = clrIconSVG(\n `<path d=\"M24 5.719C34.097 5.719 42.281 13.904 42.281 24 42.281 34.097 34.097 42.281 24 42.281 13.904 42.281 5.719 34.097 5.719 24 5.719 13.904 13.904 5.719 24 5.719ZM24 6.178C14.157 6.178 6.178 14.157 6.178 24 6.178 33.843 14.157 41.822 24 41.822 33.843 41.822 41.822 33.843 41.822 24 41.822 14.157 33.843 6.178 24 6.178ZM24 7.433C33.149 7.433 40.567 14.85 40.567 24 40.567 33.15 33.149 40.566 24 40.566 14.851 40.566 7.433 33.15 7.433 24 7.433 14.85 14.851 7.433 24 7.433ZM24 8.9C15.659 8.9 8.9 15.661 8.9 24 8.9 32.34 15.659 39.101 24 39.101 32.34 39.101 39.1 32.34 39.1 24 39.1 15.661 32.34 8.9 24 8.9ZM24.077 10.549C24.402 10.549 24.663 10.561 24.983 10.583 25.281 10.604 25.503 10.701 25.725 10.9 28.975 13.844 29.59 15.77 30.263 17.737 30.961 19.782 31.001 21.326 31.012 22.877L31.012 23.03C31.006 24.475 30.766 26.453 29.877 29.641 29.79 29.954 29.869 30.484 30.301 30.491 30.423 30.494 30.544 30.491 30.666 30.491 30.823 30.491 30.945 30.325 30.96 30.166L30.961 30.134 30.961 29.571C30.961 29.348 31.162 29.178 31.383 29.212 32.932 29.459 34.354 30.167 35.482 31.226 35.661 31.392 35.661 31.678 35.482 31.845 34.354 32.903 32.932 33.611 31.383 33.858 31.173 33.89 30.983 33.74 30.963 33.534L30.961 33.499 30.961 32.883C30.961 32.726 30.843 32.622 30.691 32.609L30.658 32.607 18.114 32.607C18.018 32.608 17.934 32.613 17.849 32.664L16.284 33.58 16.284 33.58C16.201 33.629 16.117 33.656 16.025 33.663L15.977 33.664 14.318 33.664C14.194 33.664 14.122 33.623 14.058 33.517 13.342 32.313 12.504 31.178 11.591 30.125 11.249 29.734 11.45 29.235 11.957 29.207L12.001 29.206 15.801 29.206C15.894 29.206 15.99 29.24 16.074 29.279 16.88 29.657 17.685 30.034 18.492 30.411 19.07 30.683 19.508 30.259 19.439 29.777 18.645 24.268 13.863 23.007 11.181 22.537 10.884 22.486 10.681 22.222 10.726 21.924 10.967 20.37 11.475 18.839 12.212 17.558 12.339 17.338 12.603 17.268 12.85 17.332L13.093 17.396C14.168 17.684 15.513 18.125 16.915 18.843L17.077 18.927C17.894 19.355 18.457 19.453 18.812 19.154 17.156 17.647 15.357 16.469 14.141 15.804L13.954 15.703C13.769 15.605 13.647 15.434 13.835 15.215 14.946 13.927 15.888 13.162 17.287 12.348 17.506 12.223 17.724 12.274 17.945 12.398L18.194 12.54C19.377 13.223 20.808 14.177 22.197 15.473L22.345 15.613C22.813 16.06 23.368 16.464 24.095 16.394 23.015 14.539 21.477 13.032 20.276 11.985L20.056 11.795C19.802 11.577 19.733 11.256 20.194 11.117 21.425 10.748 22.727 10.549 24.077 10.549ZM26.44 25.558C25.509 25.558 24.756 26.312 24.756 27.244 24.756 28.173 25.509 28.928 26.44 28.928 27.37 28.928 28.125 28.173 28.125 27.244 28.125 26.312 27.37 25.558 26.44 25.558Z\"/>`,\n '0 0 48 48'\n);\n\nexport const VWBrandShape = clrIconSVG(\n `<path d=\"M24 40.523C14.951 40.523 7.529 33.049 7.529 24 7.529 21.966 7.885 20.035 8.572 18.23L18.205 37.626C18.332 37.881 18.485 38.083 18.789 38.083 19.095 38.083 19.262 37.876 19.373 37.626L23.796 27.687C23.847 27.585 23.897 27.484 23.999 27.484 24.1 27.484 24.152 27.585 24.202 27.687L28.624 37.626C28.736 37.876 28.904 38.083 29.208 38.083 29.513 38.083 29.667 37.88 29.792 37.626L39.426 18.23C40.111 20.035 40.467 21.967 40.467 24 40.471 33.049 33.049 40.523 24 40.523M24 20.263C23.899 20.263 23.847 20.162 23.797 20.06L18.612 8.419C20.29 7.809 22.12 7.479 24 7.479 25.88 7.479 27.711 7.809 29.389 8.419L24.204 20.06C24.153 20.162 24.101 20.263 24 20.263M18.738 32.211C18.636 32.211 18.585 32.109 18.535 32.008L10.147 15.104C11.647 12.815 13.655 10.884 16.07 9.537L22.093 22.959C22.195 23.213 22.347 23.264 22.55 23.264L25.448 23.264C25.651 23.264 25.804 23.213 25.906 22.959L31.929 9.537C34.343 10.884 36.353 12.817 37.851 15.104L29.464 32.008C29.412 32.109 29.362 32.211 29.261 32.211 29.159 32.211 29.108 32.109 29.058 32.008L25.907 24.788C25.805 24.534 25.653 24.483 25.45 24.483L22.552 24.483C22.349 24.483 22.196 24.534 22.094 24.788L18.942 32.008C18.891 32.108 18.841 32.211 18.738 32.211M24 42.2C34.066 42.2 42.199 34.066 42.199 24 42.199 13.934 34.066 5.8 24 5.8 13.934 5.8 5.801 13.934 5.801 24 5.801 34.066 13.934 42.2 24 42.2\"/>`,\n '0 0 48 48'\n);\n\nexport const VWNBrandShape = clrIconSVG(\n `<path d=\"M23.625 31.215C17.485 31.215 12.449 26.142 12.449 19.999 12.449 18.618 12.69 17.307 13.156 16.081L19.693 29.248C19.779 29.422 19.883 29.559 20.09 29.559 20.297 29.559 20.41 29.419 20.486 29.248L23.486 22.501C23.521 22.433 23.555 22.364 23.624 22.364 23.693 22.364 23.728 22.433 23.761 22.501L26.762 29.248C26.838 29.419 26.953 29.559 27.159 29.559 27.365 29.559 27.47 29.42 27.556 29.248L34.092 16.081C34.557 17.307 34.799 18.619 34.799 19.999 34.801 26.142 29.765 31.215 23.625 31.215M23.625 17.462C23.556 17.462 23.521 17.393 23.487 17.325L19.969 9.422C21.108 9.008 22.349 8.784 23.625 8.784 24.901 8.784 26.143 9.008 27.282 9.422L23.764 17.325C23.728 17.393 23.694 17.462 23.625 17.462M20.054 25.573C19.986 25.573 19.951 25.504 19.917 25.435L14.225 13.959C15.243 12.406 16.606 11.095 18.244 10.181L22.331 19.292C22.4 19.465 22.504 19.5 22.641 19.5L24.607 19.5C24.746 19.5 24.849 19.465 24.918 19.292L29.005 10.181C30.643 11.095 32.007 12.407 33.023 13.959L27.332 25.435C27.298 25.504 27.263 25.573 27.195 25.573 27.126 25.573 27.091 25.504 27.057 25.435L24.919 20.534C24.85 20.362 24.746 20.327 24.609 20.327L22.643 20.327C22.505 20.327 22.401 20.362 22.332 20.534L20.193 25.435C20.158 25.503 20.124 25.573 20.054 25.573M23.625 32.353C30.455 32.353 35.974 26.832 35.974 19.999 35.974 13.166 30.455 7.645 23.625 7.645 16.795 7.645 11.276 13.166 11.276 19.999 11.276 26.832 16.795 32.353 23.625 32.353M6.163 37.746 4.387 34.859 3.483 34.859 3.483 39.044 4.337 39.044 4.337 36.158 4.356 36.158 6.132 39.044 7.035 39.044 7.035 34.859 6.181 34.859 6.181 37.746 6.163 37.746ZM7.877 36.078 7.877 37.949C7.877 38.663 8.246 39.137 8.953 39.137 9.414 39.137 9.709 38.903 9.875 38.755L9.887 38.755 9.997 39.044 10.667 39.044 10.667 36.078 9.838 36.078 9.838 38.201C9.709 38.3 9.487 38.454 9.211 38.454 8.848 38.454 8.707 38.25 8.707 37.863L8.707 36.078 7.877 36.078ZM11.724 35.388 11.724 36.078 11.184 36.262 11.184 36.712 11.724 36.712 11.724 38.269C11.724 38.866 12.032 39.137 12.689 39.137 12.978 39.137 13.261 39.075 13.384 39.044L13.384 38.367C13.242 38.41 13.046 38.454 12.904 38.454 12.665 38.454 12.554 38.33 12.554 38.115L12.554 36.712 13.402 36.712 13.402 36.078 12.554 36.078 12.554 35.388 11.724 35.388ZM13.906 36.078 13.906 36.712 15.233 36.712 15.233 36.724 13.814 38.607 13.814 39.044 16.254 39.044 16.254 38.41 14.828 38.41 14.828 38.398 16.254 36.515 16.254 36.078 13.906 36.078ZM17.98 39.044 17.98 36.712 18.718 36.712 18.718 36.078 17.98 36.078 17.98 35.721C17.98 35.45 18.067 35.388 18.288 35.388 18.392 35.388 18.57 35.407 18.687 35.431L18.687 34.748C18.558 34.723 18.325 34.705 18.159 34.705 17.55 34.705 17.151 35 17.151 35.684L17.151 36.078 16.628 36.262 16.628 36.712 17.151 36.712 17.151 39.044 17.98 39.044ZM21.717 37.186C21.717 36.422 21.299 35.985 20.445 35.985 19.984 35.985 19.535 36.108 19.222 36.25L19.419 36.884C19.707 36.755 20.076 36.669 20.402 36.669 20.58 36.669 20.906 36.724 20.906 37.093L20.906 37.229 20.506 37.229C19.462 37.229 19.044 37.543 19.044 38.201 19.044 38.743 19.382 39.137 20.045 39.137 20.408 39.137 20.801 38.934 20.998 38.767L21.01 38.767C21.115 38.995 21.281 39.118 21.6 39.118 21.778 39.118 21.901 39.1 22.03 39.075L22.03 38.509 21.815 38.509C21.723 38.509 21.717 38.49 21.717 38.398L21.717 37.186ZM20.906 37.764 20.906 38.281C20.734 38.404 20.445 38.484 20.23 38.484 19.978 38.484 19.836 38.374 19.836 38.127 19.836 37.906 20.045 37.764 20.592 37.764L20.906 37.764ZM25.398 39.044 25.398 37.179C25.398 36.465 25.005 35.985 24.298 35.985 23.905 35.985 23.573 36.176 23.413 36.324L23.401 36.324 23.401 34.736 22.571 34.736 22.571 39.044 23.401 39.044 23.401 36.952C23.524 36.829 23.739 36.669 24.04 36.669 24.403 36.669 24.568 36.884 24.568 37.259L24.568 39.044 25.398 39.044ZM26.142 36.078 26.142 39.044 26.971 39.044 26.971 36.982C27.076 36.853 27.272 36.693 27.617 36.693 27.69 36.693 27.819 36.699 27.912 36.718L27.985 36.022C27.912 36.004 27.795 35.985 27.69 35.985 27.297 35.985 27.051 36.244 26.941 36.435L26.928 36.435 26.812 36.078 26.142 36.078ZM28.379 36.078 28.379 36.712 29.706 36.712 29.706 36.724 28.286 38.607 28.286 39.044 30.726 39.044 30.726 38.41 29.301 38.41 29.301 38.398 30.726 36.515 30.726 36.078 28.379 36.078ZM34.026 37.801C34.045 37.696 34.069 37.456 34.069 37.266 34.069 36.57 33.645 35.985 32.687 35.985 31.722 35.985 31.206 36.712 31.206 37.555 31.206 38.429 31.703 39.137 32.73 39.137 33.203 39.137 33.633 39.026 33.928 38.884L33.738 38.287C33.449 38.392 33.135 38.472 32.791 38.472 32.349 38.472 32.078 38.22 32.048 37.801L34.026 37.801ZM32.048 37.284C32.066 36.927 32.275 36.588 32.693 36.588 33.16 36.588 33.314 36.859 33.314 37.192 33.314 37.222 33.314 37.253 33.307 37.284L32.048 37.284ZM34.647 36.078 34.647 37.949C34.647 38.663 35.016 39.137 35.723 39.137 36.183 39.137 36.478 38.903 36.644 38.755L36.657 38.755 36.767 39.044 37.437 39.044 37.437 36.078 36.608 36.078 36.608 38.201C36.478 38.3 36.257 38.454 35.981 38.454 35.618 38.454 35.477 38.25 35.477 37.863L35.477 36.078 34.647 36.078ZM40.209 38.232C40.043 38.324 39.828 38.398 39.613 38.398 39.121 38.398 38.912 38.072 38.912 37.543 38.912 37.013 39.121 36.669 39.613 36.669 39.828 36.669 40.043 36.755 40.209 36.853L40.209 38.232ZM41.038 36.078 40.393 36.078 40.283 36.348 40.27 36.348C40.049 36.195 39.797 35.985 39.355 35.985 38.5 35.985 38.064 36.681 38.064 37.543 38.064 38.404 38.5 39.081 39.355 39.081 39.772 39.081 40.018 38.915 40.197 38.786L40.209 38.786 40.209 39.008C40.209 39.5 39.994 39.672 39.508 39.672 39.139 39.672 38.832 39.586 38.586 39.457L38.347 40.066C38.636 40.22 39.023 40.356 39.508 40.356 40.479 40.356 41.038 39.851 41.038 38.854L41.038 36.078ZM44.474 37.801C44.492 37.696 44.517 37.456 44.517 37.266 44.517 36.57 44.093 35.985 43.134 35.985 42.169 35.985 41.653 36.712 41.653 37.555 41.653 38.429 42.151 39.137 43.177 39.137 43.65 39.137 44.08 39.026 44.375 38.884L44.185 38.287C43.896 38.392 43.583 38.472 43.239 38.472 42.796 38.472 42.526 38.22 42.495 37.801L44.474 37.801ZM42.495 37.284C42.513 36.927 42.722 36.588 43.14 36.588 43.607 36.588 43.761 36.859 43.761 37.192 43.761 37.222 43.761 37.253 43.755 37.284L42.495 37.284Z\"/>`,\n '0 0 48 48'\n);\n\nexport const AccessoryPartsShape = clrIconSVG(\n `<path d=\"M2.75 5.994l-2.75 5 2.75 5h5.5l2.75-5-2.75-5zm4.714 8.67H3.536l-2.018-3.67 2.018-3.67h3.928l2.018 3.67zM5.5 8.744a2.25 2.25 0 102.25 2.25 2.25 2.25 0 00-2.25-2.25zm0 3.17a.92.92 0 11.92-.92.921.921 0 01-.92.92zM24 2.246H12v5h3.335v14.737h5.325l.1-14.737H24zm-4.587 7.765l-.013 1.737-2.736-.87V9.137zm-.021 3.13l-.012 1.652-2.715-.864v-1.656zm-.021 3.045l-.012 1.777-2.694-.857v-1.781zm-2.706 4.467V18.5l2.684.854-.009 1.3zm2.758-12.035l-2.758-.877v-.495h2.767zm3.247-2.7h-9.34V3.576h9.34zM0 22h11v-4H0zm1.33-2.67h8.34v1.34H1.33z\"/>`\n);\n\nexport const AwardWinnerPremiumShape = clrIconSVG(\n `<path d=\"M19.69 5.06L20.12 1H3.88l.43 4.06a3.68 3.68 0 00.3 7.35h.53a5.12 5.12 0 004.33 4A1.91 1.91 0 009 17.54a1.84 1.84 0 00.39 1.09h-.11a4.39 4.39 0 00-4.34 4.43V24h14.12v-.94a4.39 4.39 0 00-4.34-4.43h-.15a1.84 1.84 0 00.43-1.09 1.91 1.91 0 00-.43-1.16 5.12 5.12 0 004.33-4h.53a3.68 3.68 0 00.3-7.35zm-2 17.6H6.28a3 3 0 013-2.69h5.44a3 3 0 013 2.69zM2.31 8.72a2.33 2.33 0 012.14-2.33l.49 4.68h-.33a2.32 2.32 0 01-2.3-2.35zm11.34 8.82c0 .38-.65.92-1.65.92s-1.65-.54-1.65-.92.65-.93 1.65-.93 1.65.55 1.65.93zm.24-2.44h-3.78a3.84 3.84 0 01-3.8-3.48l-1-9.28h13.35l-1 9.28a3.84 3.84 0 01-3.77 3.48zm5.5-4h-.33l.49-4.68a2.34 2.34 0 01-.16 4.68z\"/>\n <path d=\"M12.88 5.2h-.86l-1.45.54v1.07h.11l.99-.36h.02v4.36h-1.31v1h3.74v-1h-1.24z\"/>`\n);\n\nexport const BrochureShape = clrIconSVG(\n `<path d=\"M8 1h14v18h-6v4H2V5h6v-.078zm8 4v12.67h4.67V2.33h-9.555zm-6.67-.078V5h3.897L9.33 2.87zm-6 1.408v15.34h11.34V6.33H8zm1.67 4V9h8v1.33zm0 3V12h8v1.33zm0 3V15h6v1.33z\"/>`\n);\n\nexport const BusinessCustomersCommercialShape = clrIconSVG(\n `<path d=\"M13.03 16.116a1 1 0 11-2 .001 1 1 0 012 0zm7.67-1.51l1.33-.206v7.316a1.62 1.62 0 01-1.61 1.62h-3a1.62 1.62 0 01-1.59-1.62v-.5H8.27v.48a1.64 1.64 0 01-1.63 1.64h-3a1.62 1.62 0 01-1.61-1.62v-10.28l.27-1.6-2-.16v-1.34h.06c.71.11 1.42.16 2.13.21l.26-1.67a6.745 6.745 0 011.39-3.18l1.56-1.9a1.24 1.24 0 011-.46h2.203v1.34H6.7l-1.51 1.87a5.403 5.403 0 00-1.15 2.55l-.24 1.54c1.694.104 3.38.175 5.103.195v1.344a121.873 121.873 0 01-5.312-.209l-.25 1.58v3.09c1.559.22 3.179.4 4.859.52l-.09 1.34a68.805 68.805 0 01-4.77-.51v5.73a.289.289 0 00.28.28h3a.31.31 0 00.3-.3v-1.82h10.22v1.84a.289.289 0 00.28.28h3a.289.289 0 00.28-.28v-5.76c-1.51.22-3.07.4-4.66.51l-.1-1.33c1.62-.12 3.22-.3 4.76-.53zm1.614-2.6v-4.41l-4.093.511c-.024.003-.05.001-.074.004v.247a1 1 0 01-2 0v-.247c-.024-.003-.05 0-.074-.004l-4.093-.512v4.411zM11.98 4.666v1.59l4.257.531a7.438 7.438 0 001.82 0l4.257-.532V4.666zm4.67-2.436c-.705 0-1.27.491-1.316 1.106h3.634c-.047-.615-.611-1.106-1.317-1.106zm5.993 1.106a1 1 0 011 1v8a1 1 0 01-1 1H11.65a1 1 0 01-1-1v-8a1 1 0 011-1h2.344c.027-.83.476-1.56 1.16-2A2.758 2.758 0 0116.65.9h1c.555 0 1.07.161 1.497.436.684.44 1.133 1.17 1.16 2z\"/>`\n);\n\nexport const BusinessCustomersPrivateShape = clrIconSVG(\n `<path d=\"M12.323 16.685a.944.944 0 11-1.889 0 .944.944 0 011.889 0zm7.896-1.433c.498-.066 1.33-.172 1.33-.172.129.428.211.776.211.98v5.843c0 .836-.685 1.52-1.521 1.52h-1.882a1.52 1.52 0 01-1.521-1.52v-.464H5.922v.453c0 .842-.689 1.53-1.532 1.53H2.518c-.84 0-1.52-.68-1.52-1.52V16.06c0-.594.663-2.36 1.374-4.081a67.84 67.84 0 01-2.173-.328l.227-1.311c.825.143 1.651.264 2.479.373.627-1.465 1.169-2.65 1.169-2.65.436-.886 1.166-1.627 2.601-1.627h1.953v1.33H6.675c-.709 0-1.091.24-1.407.884-.327.715-.664 1.473-.987 2.222a63.36 63.36 0 004.347.313v1.353a67.34 67.34 0 01-4.889-.388c-.52 1.248-.958 2.376-1.204 3.128a65.69 65.69 0 004.309.45l-.092 1.327a68.486 68.486 0 01-4.425-.462v5.31c0 .105.086.19.191.19H4.39a.207.207 0 00.202-.201V20.109h13.574v1.794c0 .105.085.19.191.19h1.882a.196.196 0 00.191-.19v-5.337a66.94 66.94 0 01-4.324.467l-.098-1.326a65.637 65.637 0 004.211-.455zm1.82-3.146V7.695l-3.33.416-.764.095c-.024.004-.049.002-.073.005v.247a.977.977 0 01-.205.577.983.983 0 01-.795.423 1 1 0 01-1-1v-.247c-.024-.003-.05 0-.074-.005l-3.524-.44-.569-.07v4.41h8.736zm-10.334-7.34v1.59l.647.08 3.61.451a7.335 7.335 0 001.752.004c.022-.002.046 0 .067-.004l4.257-.532V4.766zm4.67-2.436c-.705 0-1.27.491-1.317 1.106h3.635c-.047-.615-.612-1.106-1.318-1.106zm5.993 1.106a1 1 0 011 1v8a1 1 0 01-1 1H11.375a.987.987 0 01-.969-.848c-.008-.052-.03-.098-.03-.152v-8a1 1 0 011-1h2.343c.026-.83.476-1.56 1.16-2A2.758 2.758 0 0116.374 1h1c.555 0 1.07.161 1.498.436.683.44 1.132 1.17 1.16 2z\"/>`\n);\n\nexport const CaliforniaServiceShape = clrIconSVG(\n `<path d=\"M2.3 10.6a2.2 2.2 0 01-1.565-.648l-.089-.089a2.213 2.213 0 010-3.128l2.03-2.03a4.383 4.383 0 01-.061-.723A3.848 3.848 0 016.6 0a3.86 3.86 0 013.547 2.114l.157.313L9.5 3.88l.818 1.454-.157.487a3.924 3.924 0 01-4.248 2.084L3.864 9.952A2.2 2.2 0 012.3 10.6zm4.3-9.267a2.534 2.534 0 00-2.652 2.649 2.968 2.968 0 00.1.767l.1.369L1.59 7.676a.88.88 0 000 1.248l.089.09a.907.907 0 001.246 0l2.566-2.568.366.091a2.689 2.689 0 002.994-1.095l-.158-.279H6.938L5.768 4.04l1.119-1.393H8.66l.124-.224A2.588 2.588 0 006.6 1.333zm17.2 16.216a4.725 4.725 0 00-.1-.655v-.015a4.676 4.676 0 00-.173-.588l-.02-.053a4.55 4.55 0 00-.246-.54l-.012-.024a4.229 4.229 0 00-1.536-1.626l-.851-.508a3.575 3.575 0 01-.719-.565l-3.208-3.256a2.786 2.786 0 00-1.04-.66l.319-6.3L17.9 2.2 17.481.94l-5.764 1.89v1.4l3.144-1.03-.289 5.689-6.158-.019v1.33l3.358.005.339 3.463c-.7-.009-1.392-.014-2.085-.034L2.113 13.4l.295-1.437H1.05L.808 13.14a29.461 29.461 0 00-.5 3.427l-.22 2.642a1.046 1.046 0 00.756 1.124l1.992.476a2.353 2.353 0 004.694.015l9.138-.029a2.354 2.354 0 004.7-.014h.166l1.5-.43A1.287 1.287 0 0023.912 19zM15 10.218a1.4 1.4 0 01.986.434l2.881 2.926-2.607.072c-.931.024-1.872.031-2.813.031l-.34-3.47zM5.184 21.67a1.036 1.036 0 111.036-1.036 1.037 1.037 0 01-1.036 1.036zm13.832 0a1.036 1.036 0 111.037-1.036 1.037 1.037 0 01-1.037 1.036zm2.328-2.219h-.29a2.345 2.345 0 00-4.081.013l-9.729.036a2.345 2.345 0 00-4.128.013l-1.685-.4.207-2.425c.056-.655.142-1.309.244-1.961l8.1.245a117.615 117.615 0 006.311.016l4.187-.115.546.326a2.746 2.746 0 01.458.361 3.036 3.036 0 01.3.334c.041.053.085.1.123.16a3.225 3.225 0 01.565 1.6l.06.832h.005l.045.619z\"/>`\n);\n\nexport const DieselShape = clrIconSVG(\n `<path d=\"M18.8 9.8l-5.7-8h-2l-5.7 8c-2.6 3.7-1.7 8.8 2 11.4s8.8 1.7 11.4-2c2-2.7 2-6.5 0-9.4zM8.3 18.2c-1.8-1.8-2-4.6-.6-6.7l1.1.8c-1.1 1.5-.9 3.7.4 5z\"/>`\n);\n\nexport const EmissionShape = clrIconSVG(\n `<path d=\"M7.88 9.5a3 3 0 011.39.35l-.27.76a2.28 2.28 0 00-1.13-.26c-.83 0-1.36.82-1.36 2s.53 2 1.36 2A2.28 2.28 0 009 14.07l.26.76a3 3 0 01-1.39.35c-1.52 0-2.37-1.18-2.37-2.84S6.35 9.5 7.88 9.5zM12.21 15.18c-1.63 0-2.36-1.25-2.36-2.84s.73-2.84 2.36-2.84 2.35 1.25 2.35 2.84-.73 2.84-2.35 2.84zm0-.85c1 0 1.33-.88 1.33-2s-.36-2-1.33-2-1.34.88-1.34 2 .37 2 1.34 2zM16.87 15.2h1.46v.8h-2.81v-.74L17 14a.68.68 0 00.27-.57.45.45 0 00-.47-.49 1.15 1.15 0 00-.79.45l-.53-.64a1.77 1.77 0 011.37-.66 1.26 1.26 0 011.4 1.27 1.59 1.59 0 01-.7 1.24l-.71.59z\"></path><path d=\"M17 20.67H6.5A6.16 6.16 0 012 10.34a2.94 2.94 0 01-.12-.84A3.18 3.18 0 015 6.33a8.16 8.16 0 0114.77 1.6A6.67 6.67 0 0117 20.67zm-12-13A1.83 1.83 0 003.17 9.5a1.76 1.76 0 00.16.74l.19.43-.34.33a4.76 4.76 0 00-1.51 3.5 4.83 4.83 0 004.83 4.83H17A5.33 5.33 0 0019 9l-.31-.12-.09-.31A6.83 6.83 0 005.94 7.34l-.22.42-.46-.07z\"/>`\n);\n\nexport const EnergyShape = clrIconSVG(\n `<path d=\"M17.45 2.33a1.23 1.23 0 011.22 1.23v18.11H5.33V3.56a1.23 1.23 0 011.22-1.23zm0-1.33H6.55A2.56 2.56 0 004 3.56V23h16V3.56A2.56 2.56 0 0017.45 1zM9.5 12.22l2 .75-1.5 4.79a.25.25 0 00.45.22l4.31-5.81a.6.6 0 00-.28-.92l-2.13-.8 1.25-4.89a.26.26 0 00-.46-.21l-3.94 6a.61.61 0 00.3.87z\"/>`\n);\n\nexport const ExteriorShape = clrIconSVG(\n `<path d=\"M18.34 5.7c0 1.12-1.73 2-6.34 2s-6.34-.91-6.34-2 1.73-2 6.34-2 6.34.87 6.34 2zM21 4v16c0 1.66-2.92 3-9 3s-9-1.34-9-3V4c0-1.66 2.92-3 9-3s9 1.34 9 3zm-1.33 0c0-.22-1.43-1.67-7.67-1.67S4.33 3.78 4.33 4v16c0 .22 1.43 1.67 7.67 1.67s7.67-1.45 7.67-1.67zm-4.81 4.91l-2 2.89a2.49 2.49 0 00.27 3.2 2.5 2.5 0 003.81-3.2z\"/>`\n);\n\nexport const GasCarsServiceShape = clrIconSVG(\n `<path d=\"M8.051 18.9a1 1 0 11-1-1 1 1 0 011 1zm14.579-7.616H24a7.43 7.43 0 01-.5 1.33 7.246 7.246 0 01-6.711 4 8.286 8.286 0 01-2.041-.257l-5.2 5.206a3.5 3.5 0 01-4.957 0l-.2-.2a3.5 3.5 0 010-4.957l5.174-5.175v-.024A5.989 5.989 0 0010.8 10.8a6.04 6.04 0 00.258.818 5.79 5.79 0 003.294 3.248 6.475 6.475 0 001.5.378 7.037 7.037 0 00.928.067 6.04 6.04 0 005.207-2.7h-3.634l-.8-.939-1.638-1.91a.993.993 0 01-.052-1.215c.02-.028.03-.06.052-.087l.8-.938 1.638-1.911h3.641a6.041 6.041 0 00-5.207-2.7 6.672 6.672 0 00-2.376.426V1.958a8.2 8.2 0 012.376-.344 7.244 7.244 0 016.711 4 7.4 7.4 0 01.5 1.33h-5.033l-1.307 1.524-.553.646 1.86 2.17zm-9.267 4.576a6.968 6.968 0 01-3.291-3.253l-4.744 4.744a2.175 2.175 0 000 3.076l.195.2a2.175 2.175 0 003.076 0zM5.2 8.83a3.345 3.345 0 01-2.379.985h-.46v-1.33h.457a2.02 2.02 0 001.438-.6l.235-.235a4.736 4.736 0 01-.977-2.865A4.789 4.789 0 018.3 0h4.119l.665.665v4.12A4.79 4.79 0 018.3 9.573 4.735 4.735 0 015.432 8.6zm.234-2.117L8.46 3.684l.941.942-3.029 3.029a3.452 3.452 0 005.379-2.866V1.335H8.3a3.452 3.452 0 00-2.869 5.378z\"/>`\n);\n\nexport const LocateShape = clrIconSVG(\n `<path d=\"M23 11.45h-2a9 9 0 00-8.3-8.31v-2h-1.37v2A9 9 0 003 11.45H1v1.33h2a9 9 0 008.3 8.3v2h1.34v-2a9 9 0 008.3-8.3h2zm-10.33 8.3v-2.64h-1.34v2.64a7.69 7.69 0 01-7-7H7v-1.3H4.36a7.69 7.69 0 017-7v2.66h1.34V4.47a7.69 7.69 0 017 7H17v1.33h2.64a7.69 7.69 0 01-6.97 6.95z\"/>`\n);\n\nexport const NewCarUtilityVehicleShape = clrIconSVG(\n `<path d=\"M23.771 17.55a4.448 4.448 0 00-2.092-3.5l-.852-.508a3.569 3.569 0 01-.718-.565L16.9 9.72a2.723 2.723 0 00-1.928-.831h-3.308v5.876H1.8v-1.314l8.79.035.005-1.33-10.127-.041v2.861a41.508 41.508 0 00-.188 1.592L.055 19.21a1.044 1.044 0 00.757 1.123l1.988.477a2.354 2.354 0 004.7.015l9.136-.029a2.354 2.354 0 004.7-.015h.164l1.5-.43A1.287 1.287 0 0023.88 19zm-7.816-6.9l2.823 2.867-5.762-.026.011-3.275h1.944a1.392 1.392 0 01.984.437zm-14.35 6.031c.014-.163.037-.371.062-.586h10.01l-.011 3.387-4.453.018a2.344 2.344 0 00-4.128.013l-1.684-.4zm3.547 4.989a1.023 1.023 0 01-1-.834c-.007-.038-.014-.077-.023-.114s-.017-.056-.017-.087a1.036 1.036 0 112.071 0 .424.424 0 01-.021.106 1.027 1.027 0 01-1.01.929zm13.832 0a1.022 1.022 0 01-1-.878l-.007-.032a1.063 1.063 0 01-.025-.125 1.036 1.036 0 012.071 0 .984.984 0 01-.03.151 1.024 1.024 0 01-1.009.884zm2.328-2.219h-.291a2.345 2.345 0 00-4.08.013L13 19.478l.016-4.654 7.425.033.561.334a2.865 2.865 0 01.943.944 44.01 44.01 0 00-2.638-.148l-.031 1.33c1.074.025 2.128.092 3.145.191.006.049.024.093.027.142l.105 1.446z\"/>`\n);\n\nexport const PlusServiceShape = clrIconSVG(\n `<path d=\"M11.925 4.356a2.915 2.915 0 001.205-.669c.316-.314.335-.571.144-.762-.175-.175-.366-.147-.809.084l-.448.229a1.293 1.293 0 01-1.68-.159c-.623-.625-.611-1.443.227-2.28a3.357 3.357 0 011.21-.789l.412.863a2.747 2.747 0 00-.995.6c-.267.267-.286.513-.1.7.134.134.29.178.566.036l.45-.229c.859-.44 1.366-.517 1.889.008.694.7.578 1.562-.242 2.38a4.026 4.026 0 01-1.416.849zm-8.866 8.569l.984.987-.809.808L0 11.478l1.292-1.289a1.445 1.445 0 012.285-.043 1.46 1.46 0 01-.036 2.3zm-.322-1.934a.563.563 0 00-.921-.019l-.354.352.941.944.353-.353a.571.571 0 00-.019-.924zM3.2 8.283l3.233 3.242 2.152-2.144-.652-.653-1.339 1.335-2.581-2.588zm4.449-.8a1.8 1.8 0 002.885.091 1.8 1.8 0 00-.082-2.886L8.633 2.866l-.8.8 1.845 1.856c.428.43.657.927.194 1.388s-.958.23-1.386-.2L6.637 4.857l-.8.8 1.82 1.825m12.169 3.8h-.856l-1.86-2.171.554-.645 1.306-1.525H24a7.459 7.459 0 00-.5-1.33 7.137 7.137 0 00-5.811-3.941v1.3A5.926 5.926 0 0122 5.613h-3.647l-1.638 1.911-.8.939c-.022.027-.032.058-.052.087a1 1 0 00.052 1.215l1.638 1.91.8.938H22a6.043 6.043 0 01-5.208 2.7 7.038 7.038 0 01-.928-.066 6.488 6.488 0 01-1.5-.378 5.793 5.793 0 01-3.294-3.248 6.486 6.486 0 01-.393-1.488v-.01l-1.116 1.105v.007l-5.173 5.176a3.5 3.5 0 000 4.957l.2.194a3.5 3.5 0 004.957 0l5.205-5.206a8.292 8.292 0 002.041.257 7.244 7.244 0 006.711-4 7.42 7.42 0 00.5-1.329h-4.181zM8.6 20.623a2.175 2.175 0 01-3.076 0l-.195-.2a2.175 2.175 0 010-3.076l4.745-4.745a6.95 6.95 0 003.291 3.253zM7.049 17.9a1 1 0 101 1 1 1 0 00-1-1\"/>`\n);\n\nexport const PriceTypeSwitchShape = clrIconSVG(\n `<path d=\"M2.598 6.605h13.106c3.1 0 3.927.871 3.927 3.314h1.33c0-3.162-1.406-4.644-5.257-4.644H2.598zM21.402 17.244H8.296c-3.1 0-3.927-.872-3.927-3.314h-1.33c0 3.162 1.406 4.644 5.257 4.644h13.106z\"/>\n <path d=\"M3.69 4.996c.808-.81 2.022-1.982 3.643-3.512L6.42.516C2.407 4.306 1.335 5.382 1.335 5.9c0 .518 1.072 1.597 5.085 5.39l.914-.967A176.794 176.794 0 013.69 6.806c-.384-.386-.674-.69-.868-.906.194-.216.484-.518.868-.904zM19.978 16.996c-.807-.81-2.022-1.982-3.643-3.512l.913-.968c4.014 3.79 5.086 4.866 5.086 5.384 0 .518-1.073 1.597-5.085 5.39l-.914-.967a176.795 176.795 0 003.643-3.517c.384-.386.674-.69.867-.906a25.407 25.407 0 00-.867-.904z\"/>`\n);\n\nexport const RouteShape = clrIconSVG(\n `<path d=\"M6.5 1A5.4 5.4 0 001 6.619a17.322 17.322 0 002.26 7.846C4.452 16.714 5.765 18.5 6.5 18.5s2.061-1.8 3.252-4.051A17.285 17.285 0 0012 6.619 5.394 5.394 0 006.5 1zm2.076 12.827A14.509 14.509 0 016.5 16.975a14.556 14.556 0 01-2.065-3.132A15.985 15.985 0 012.33 6.619 4.048 4.048 0 016.5 2.33a4.048 4.048 0 014.17 4.289 15.96 15.96 0 01-2.094 7.208zm.3-7.261A2.374 2.374 0 116.5 4.18a2.38 2.38 0 012.374 2.386zM1 21h2v2H1zm4 0h2v2H5zm4 0h2v2H9zm4 0h2v2h-2zm4 0h2v2h-2zm6 0v2h-2v-2z\"/>`\n);\n\nexport const SizeShape = clrIconSVG(\n `<path d=\"M18.73 7.77l-.27-.25-.91 1 .26.25c1.11 1 2.07 2 2.72 2.6H3.5c.56-.56 1.47-1.45 3-2.85l-.91-1c-4.2 4-4.2 4.11-4.2 4.48s0 .51 4.2 4.48l.91-1c-1.5-1.36-2.44-2.25-3-2.81h17c-.77.76-1.89 1.85-2.95 2.85l.91 1c4.2-4 4.2-4.14 4.2-4.48 0-.53-.19-.73-3.93-4.27z\"/>`\n);\n\nexport const TaxiDealerShape = clrIconSVG(\n `<path d=\"M1.58 6.41L.39 3.54 1.62 3 2.8 5.9zm6.13-1.73l-.5-3-1.31.22.5 3zm5-3.39h-1.37v3h1.33zm5.45.61l-1.31-.22-.5 3 1.31.22zm5.5 1.64L22.39 3l-1.18 2.9 1.23.51zM22 19.61v1.77h2v1.33H0v-1.33h2v-1.77H0v-1.33h.24L1.85 9.4a3.34 3.34 0 013.41-2.54h13.48a3.34 3.34 0 013.41 2.54l1.61 8.88H24v1.33zM1.59 18.28h20.82l-1.56-8.65a2 2 0 00-2.11-1.44H5.26a2 2 0 00-2.11 1.44zm19.09 1.33H3.34v1.77h17.34zM8.13 10.69H4.47V12H5.6v3.77h1.33V12h1.2zm10 5.1h1.33v-5.11h-1.32zm-.65-5.11l-1.66 2.57 1.64 2.55h-1.57L15 14.47l-.86 1.33h-2.55l-.24-.66-.15-.38H9.73l-.13.34-.25.66H7.93l1.91-5.11h1.24l1.78 4.7 1.39-2.14-1.65-2.53h1.58L15 12l.86-1.34zm-7 2.14l-.25.65h.49z\"/>`\n);\n\nexport const TouaregServiceShape = clrIconSVG(\n `<path d=\"M.735 9.949a2.213 2.213 0 003.129 0L5.913 7.9a3.921 3.921 0 004.245-2.084l.157-.486L9.5 3.877l.8-1.45-.157-.314A3.861 3.861 0 006.6 0a3.848 3.848 0 00-3.982 3.979 4.383 4.383 0 00.061.723L.649 6.731a2.213 2.213 0 000 3.128zm.855-2.276l2.556-2.558-.1-.369a2.974 2.974 0 01-.1-.767A2.534 2.534 0 016.6 1.33a2.585 2.585 0 012.184 1.09l-.124.224H6.887L5.768 4.037l1.17 1.123h1.755l.158.278a2.688 2.688 0 01-2.994 1.1l-.366-.092-2.567 2.562a.907.907 0 01-1.246 0l-.089-.09a.88.88 0 010-1.248zm19.819 10.535a2.38 2.38 0 00.1-1.827c-.007-.018-.017-.033-.024-.051a53.47 53.47 0 001-.383 2.1 2.1 0 001.467-1.6c.247-.872-.558-2.289-1.022-3.084a1.918 1.918 0 00-2.025-1.143 7.536 7.536 0 00-.819.05c-1.985.217-4.093.7-4.093.7a32.316 32.316 0 00-3.254-1.21 5.418 5.418 0 00-1.639-.291A13.983 13.983 0 006.555 10.6C3.023 11.932 1.16 13.109.6 13.786c.505.651.368.612-.291 2.325S.18 18.64.684 20.337a3.548 3.548 0 001.269 2.125 4.064 4.064 0 00.437.019 8.044 8.044 0 001.63-.181c.074-.016.166-.038.274-.066.014.054.02.109.039.162A2.391 2.391 0 006.587 24c.065 0 .129-.011.194-.016L6.734 24h4.035L24 19.38v-1.409l-3.447 1.2a2.382 2.382 0 00.856-.963zm-1.154-1.386a1.061 1.061 0 01-2 .705 1.062 1.062 0 011-1.413 1.073 1.073 0 01.314.049 1.059 1.059 0 01.26.126c.006 0 .014.006.02.01a1.061 1.061 0 01.393.5c.002.006.009.013.013.023zm-.022-5.334a6.3 6.3 0 01.674-.042c.565 0 .6.02.842.427-.608.13-1.192.272-1.964.48l.346 1.285c.9-.243 1.537-.395 2.27-.543a2.115 2.115 0 01.273.884c-.128.454-.18.532-.682.734-.224.09-.712.275-1.356.516a2.383 2.383 0 00-3.537.91 2.455 2.455 0 00-.163.453c-1.2.437-2.4.869-3.336 1.2-.411.144-.891.311-1.4.487l-1.472-3.761c4.66-1.682 7.865-2.766 7.916-2.784l-.008-.02c.51-.087 1.057-.167 1.597-.226zm-7.882-.564a29.11 29.11 0 012.251.8c-1.254.441-2.776.981-4.5 1.6l-1.64-2A8.41 8.41 0 0111.1 10.7a4.108 4.108 0 011.251.224zM2.215 14.147a23.583 23.583 0 014.808-2.3l.117-.043L8.8 13.8c-2.2.8-4.655 1.713-7.214 2.691.089-.23.17-.432.238-.6a3.44 3.44 0 00.391-1.744zM3.747 21a6.742 6.742 0 01-1.242.148 3.867 3.867 0 01-.546-1.191c-.093-.314-.187-.6-.275-.866A8.591 8.591 0 011.37 18a500.413 500.413 0 018.1-3.027l1.463 3.739c-.952.323-1.964.662-2.925.978a2.377 2.377 0 00-3.675 1.161c-.253.069-.456.123-.586.149zm2.383 1.564a1.051 1.051 0 01-.541-.605c-.011-.031-.006-.063-.014-.095a1.07 1.07 0 01.085-.751.822.822 0 01.049-.067 1.021 1.021 0 01.181-.232 1.032 1.032 0 01.7-.267 1.029 1.029 0 01.31.053 1.059 1.059 0 01.256.123c.008 0 .017.007.025.012a1.068 1.068 0 01.392.495c0 .011.013.019.017.031a1.061 1.061 0 01-.651 1.352 1.051 1.051 0 01-.809-.049zm1.785 1.024a2.371 2.371 0 00.931-2.772c1.909-.632 3.923-1.32 5.2-1.767.841-.3 1.892-.673 2.965-1.063a2.391 2.391 0 002.246 1.582c.08 0 .159-.012.239-.02z\"/>`\n);\n\nexport const VehicleConversionShape = clrIconSVG(\n `<path d=\"M23.887 17.55a4.447 4.447 0 00-2.092-3.5l-.852-.508a3.6 3.6 0 01-.718-.565L17.019 9.72a2.723 2.723 0 00-1.928-.831h-1.949l.005-1.771H.584v7.859A35.209 35.209 0 00.4 16.568L.171 19.21a1.044 1.044 0 00.757 1.123l1.992.477a2.354 2.354 0 004.7.015l9.136-.029a2.354 2.354 0 004.7-.015h.166l1.5-.43A1.286 1.286 0 0024 19zm-8.8-7.331a1.392 1.392 0 01.984.434l2.823 2.867-5.765-.026.009-3.275zm-3.274-1.771v1.054l-.03 5.263H1.914V8.448zM1.722 16.681c.013-.163.036-.371.061-.586h10.008l-.01 3.387-4.452.018a2.344 2.344 0 00-4.128.013l-1.685-.4zm3.546 4.989a1.023 1.023 0 01-1-.834 1.052 1.052 0 01-.04-.2 1.036 1.036 0 111.04 1.034zm13.832 0a1.035 1.035 0 111.036-1.035 1.076 1.076 0 01-.03.15 1.024 1.024 0 01-1.006.885zm2.328-2.219h-.291a2.345 2.345 0 00-4.08.013l-3.945.013.013-4.654 7.429.033.56.334a2.878 2.878 0 01.944.944 44.139 44.139 0 00-2.639-.148l-.031 1.33c1.074.025 2.128.092 3.146.191.005.048.023.093.026.142l.105 1.446z\"/>`\n);\n\nexport const VirtualRealityShape = clrIconSVG(\n `<path d=\"M23.012 11.706l-1.005-.091c-.725-3.268-3.382-4.488-6.521-4.901l-1.362-3.067H9.948l-1.43 3.066c-3.156.415-5.825 1.646-6.534 4.952l-.99.114-.006 3.397.947.086c.704 4.074 3.976 4.872 7.485 5.07l.351.019.215-.28A2.335 2.335 0 0112 19.049a2.256 2.256 0 011.957 1.02l.216.284.355-.023c4.36-.278 6.875-2 7.513-5.116l.966-.111zM10.077 6.562l.725-1.585h2.45l.691 1.585h-.088c-.613-.033-1.235-.046-1.855-.046s-1.242.013-1.855.046zm4.697 12.417A3.811 3.811 0 0012 17.719a3.976 3.976 0 00-2.833 1.264c-3.612-.254-5.34-1.258-5.865-3.597l.687.063v-4.015l-.602.07c.791-2.6 3.407-3.658 8.613-3.658 5.197 0 7.813 1.052 8.609 3.642l-.598-.054v4.015l.598-.07c-.645 2.154-2.529 3.325-5.835 3.6z\"></path><path d=\"M9.387 14.479l-1.115-3.441-.025-.08H6.988v.186l1.718 4.816h1.349l1.71-4.777.007-.225h-1.258zM15.778 13.961a1.387 1.387 0 00.974-1.449c0-.709-.308-1.554-1.771-1.554h-2.13v5.002h1.206v-1.887h.434l1.278 1.887h1.243v-.264zm-1.721-1.959h.875c.369 0 .572.18.572.51 0 .333-.203.517-.572.517h-.875z\"/>`\n);\n\nexport const WindscreenWashShape = clrIconSVG(\n `<path d=\"M22.782 10.49c-.997-1.453-3.855-4.537-10.117-4.75V4.013a.96.96 0 01.959-.96.947.947 0 01.96.944h1.33A2.288 2.288 0 0012 2.402 2.288 2.288 0 008.085 4h1.33a.95.95 0 01.96-.946.96.96 0 01.96.96V5.74c-6.28.205-9.128 3.299-10.12 4.754a1.027 1.027 0 00.13 1.307L11.27 21.7a1.032 1.032 0 001.457 0l9.927-9.9a1.027 1.027 0 00.127-1.31zm-10.79 5.333h.002a8.226 8.226 0 013.697.902l-3.565 3.556a.179.179 0 01-.253 0l-3.567-3.557a8.162 8.162 0 013.685-.901zm4.772-.026a9.576 9.576 0 00-4.1-1.265v-2.525h-1.33v2.525a9.504 9.504 0 00-4.099 1.264l-4.774-4.76c.956-1.295 3.492-3.778 8.873-3.968v2.944h1.33V7.069c5.369.196 7.912 2.674 8.874 3.967z\"/>`\n);\n\nexport const WrenchForward = clrIconSVG(\n `<path d=\"M33.18 26.11L20.35 13.28A9.28 9.28 0 007.54 2.79l-1.34.59 5.38 5.38-2.82 2.83-5.38-5.38-.59 1.33a9.27 9.27 0 0010.49 12.81l12.83 12.83a2 2 0 002.83 0l4.24-4.24a2 2 0 000-2.83zm-5.66 5.66L13.88 18.12l-.57.16a7.27 7.27 0 01-9-4.94A7.54 7.54 0 014 11.28a7.36 7.36 0 01.15-1.48l4.61 4.61 5.66-5.66-4.61-4.6a7.27 7.27 0 018.47 9.16l-.16.57 13.65 13.65z\"/><circle cx=\"27.13\" cy=\"27.09\" r=\"1.3\"/><path d=\"M18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const TopcardShape = clrIconSVG(\n `<path fill=\"none\" d=\"M0 0h36v36H0z\"/><path d=\"M32 6H4a2 2 0 00-2 2v20a2 2 0 002 2h28a2 2 0 002-2V8a2 2 0 00-2-2zm0 2v12H4V8zM4 28v-4h28v4z\"/><path d=\"M12.09 11.24h-1.9v6.24a1.16 1.16 0 01-.24.8.82.82 0 01-.62.26.8.8 0 01-.63-.27 1.13 1.13 0 01-.24-.79v-6.24h-1.9A1 1 0 015.9 11a.65.65 0 01-.22-.52.67.67 0 01.23-.48 1 1 0 01.65-.19h5.53a1 1 0 01.67.2.66.66 0 01.22.52.65.65 0 01-.22.52 1 1 0 01-.67.19zM17.63 9.65a4.53 4.53 0 012.3.55 3.49 3.49 0 011.45 1.54 5.2 5.2 0 01.49 2.34 5.69 5.69 0 01-.27 1.81 3.9 3.9 0 01-.81 1.42 3.51 3.51 0 01-1.32.91 4.85 4.85 0 01-1.8.32 4.75 4.75 0 01-1.81-.33 3.49 3.49 0 01-1.33-.92 3.86 3.86 0 01-.8-1.42 5.76 5.76 0 01-.27-1.8 5.5 5.5 0 01.28-1.81 3.94 3.94 0 01.82-1.41 3.58 3.58 0 011.32-.85 4.79 4.79 0 011.75-.35zm2.48 4.42a4 4 0 00-.31-1.63 2.27 2.27 0 00-.87-1 2.46 2.46 0 00-1.3-.35 2.35 2.35 0 00-1 .19 2.12 2.12 0 00-.76.57 2.9 2.9 0 00-.51 1 4.46 4.46 0 00-.18 1.31 4.6 4.6 0 00.18 1.33 2.78 2.78 0 00.53 1 2.15 2.15 0 00.77.58 2.32 2.32 0 001 .19 2.27 2.27 0 002.12-1.36 4 4 0 00.33-1.83zM26.69 15H25.1v2.44a1.12 1.12 0 01-.25.79.86.86 0 01-1.25 0 1.14 1.14 0 01-.24-.78v-6.58a1.09 1.09 0 01.26-.82 1.19 1.19 0 01.84-.25h2.23a6 6 0 011.53.15 2.3 2.3 0 01.91.49 2.22 2.22 0 01.58.83 3 3 0 01.2 1.11 2.45 2.45 0 01-.81 2 3.69 3.69 0 01-2.41.62zm-.42-3.93H25.1v2.62h1.17a3.4 3.4 0 001-.13 1.18 1.18 0 00.63-.42 1.28 1.28 0 00.22-.77 1.32 1.32 0 00-.34-.92 2.19 2.19 0 00-1.51-.34z\"/>`,\n '0 0 36 36'\n);\n\nexport const TaskAndAppointment = clrIconSVG(\n `<path d=\"M11.59,5.12v2h8.24v-2ZM5,23.85V7.12H7.34v-2H4.58a1.6079,1.6079,0,0,0-1.13.49A1.5847,1.5847,0,0,0,3,6.75l.01,17.56a1.7838,1.7838,0,0,0,.03.28c.02.08.09.28.09.28a1.4509,1.4509,0,0,0,.12.22l.07.1a1.1511,1.1511,0,0,0,.14.17l.09.09.12.1a1.0634,1.0634,0,0,0,.19.11l.11.05c.05.02.1.04.16.06a.6468.6468,0,0,0,.13.04,1.5682,1.5682,0,0,0,.33.04h5.69v-2ZM26.83,5.12H24.07V6.77a4.6661,4.6661,0,0,1,.9.35h1.44V8.14a4.97,4.97,0,0,1,.65.79h1.35V6.72A1.6138,1.6138,0,0,0,26.83,5.12ZM21.95,2a1.0029,1.0029,0,0,0-1,1V6.86c.11-.04.24-.08.36-.11a5.0565,5.0565,0,0,1,1.33-.17c.1,0,.2,0,.31.01V3A1.0029,1.0029,0,0,0,21.95,2ZM9.46,2a1.0029,1.0029,0,0,0-1,1V7.68a1,1,0,0,0,2,0V3A.9965.9965,0,0,0,9.46,2ZM7.68,19.17v2h2v-2Zm0-3.9v2h2v-2Zm0-3.91v2h2v-2Z\"/><path d=\"M17.5626,24.0412a1,1,0,0,1,1.3984-1.4229L21.62,25.2765l5.1353-5.1357a.9994.9994,0,0,1,1.4228.0976.9945.9945,0,0,1,0,1.3l-6.5581,6.56ZM16.1769,16.047V12.963a2.05,2.05,0,0,1,2.0366-2.0371h1.2319a3.3415,3.3415,0,0,1,2.3608-2.2431,3.3794,3.3794,0,0,1,.8316-.1055,3.3389,3.3389,0,0,1,3.1875,2.3486h1.2388a2.0508,2.0508,0,0,1,2.0376,2.0362V16.047Zm10.9248-2V12.963L23.98,12.9259v-1a1.3409,1.3409,0,0,0-2.6817,0v1h-3.084a.0374.0374,0,0,0-.0375.0371v1.084ZM31.45,10.93H31V32H14.28V10.93h-.22a1.6292,1.6292,0,0,0-1.77,1.34,1.21,1.21,0,0,0-.01.19v20A1.5429,1.5429,0,0,0,13.83,34H31.46A1.5407,1.5407,0,0,0,33,32.46v-20A1.5408,1.5408,0,0,0,31.45,10.93Z\"/>`,\n '0 0 36 36'\n);\n\nexport const ParkingLocation = clrIconSVG(\n `<path d=\"M28,8V28H8V8H28m0-2H8A2,2,0,0,0,6,8V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V8a2,2,0,0,0-2-2Z\"/><path d=\"M16,25H14V11h4.5a4.5,4.5,0,0,1,0,9H16Zm0-7h2.5a2.5,2.5,0,0,0,0-5H16Z\"/>`,\n '0 0 36 36'\n);\n\nexport const PartsShape = clrIconSVG(\n `<path data-name=\"Path 177\" d=\"M6.6 10l-3.39 6.2 3.39 6.16h6.78l3.39-6.16-3.39-6.2zm5.81 10.68H7.57L5.08 16.2l2.49-4.53h4.84l2.49 4.53zM10 13.43a2.77 2.77 0 102.78 2.77A2.77 2.77 0 0010 13.43zm0 3.9a1.13 1.13 0 111.13-1.13A1.12 1.12 0 0110 17.33zM32.79 5.42H18v6.16h4.11v18.16h6.56l.12-18.16h4zM27.13 15v2.14l-3.37-1.07v-2.16zm0 3.85v2l-3.34-1.06v-2.02zm0 3.76v2.19l-3.32-1.06v-2.2zm-3.33 5.5v-2.66l3.31 1.05v1.6zm3.4-14.83l-3.4-1.08v-.61h3.41zm4-3.33H19.64V7.06h11.51zM3.21 29.76h13.56v-4.93H3.21zm1.64-3.29h10.28v1.65H4.85z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const PartsForwardShape = clrIconSVG(\n `<path data-name=\"Path 177\" d=\"M32.79 5.42H18v6.16h4.11v18.16h6.56l.12-18.16h4zM27.13 15v2.14l-3.37-1.07v-2.16zm0 3.85v2l-3.34-1.06v-2.02zm0 3.76v2.19l-3.32-1.06v-2.2zm-3.33 5.5v-2.66l3.31 1.05v1.6zm3.4-14.83l-3.4-1.08v-.61h3.41zm4-3.33H19.64V7.06h11.51z\"/><path d=\"M13.38 10H6.6l-3.39 6.2 3.39 6.16h6.78l3.39-6.16zm-1 10.68H7.57L5.08 16.2l2.49-4.53h4.84l2.49 4.53z\"/><path d=\"M10 13.43a2.77 2.77 0 102.78 2.77A2.77 2.77 0 0010 13.43zm1.12 2.77A1.13 1.13 0 0110 17.33a1.13 1.13 0 111.13-1.13zM16.08 24.83l.69.69v-.69zm-12.86 0V27h1.64v-.53H10a2.42 2.42 0 010-.47 2.92 2.92 0 01.24-1.17zm14.84 6.23l-4 4a1.5 1.5 0 01-2.12 0 1.49 1.49 0 010-2.12l1.44-1.44H3a1.5 1.5 0 010-3h10.38l-1.44-1.44a1.5 1.5 0 012.12-2.12l4 4a1.49 1.49 0 010 2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const PartsNonStockShape = clrIconSVG(\n `<path d=\"M6.61 14.07l-3.39 6.15 3.39 6.16h6.77l3.39-6.16-3.39-6.15zm5.8 10.67H7.58l-2.49-4.52 2.49-4.52h4.83l2.49 4.52zM10 17.45A2.77 2.77 0 0010 23a2.77 2.77 0 000-5.55zm0 3.9a1.13 1.13 0 111.14-1.13A1.13 1.13 0 0110 21.35zm22.78-15.9H18v6.15h4.11v18.16h6.56l.12-18.16h4zM27.13 15v2.14l-3.37-1.07v-2.13zm0 3.86v2l-3.34-1.06v-2zm0 3.75v2.18l-3.31-1.05v-2.18zm-3.33 5.5v-2.64l3.3 1.05v1.6zm3.4-14.82l-3.4-1.08v-.61h3.4zm4-3.33H19.65V7.09h11.5zM10.5 13.5v-3h-8v-4h8v-3l6 5z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const PartNonStockForwardShape = clrIconSVG(\n `<path d=\"M10.5 13.5v-3h-8v-4h8v-3l6 5zM10 26.38a2.33 2.33 0 010-.38 3 3 0 01.29-1.26H7.57l-2.48-4.51 2.48-4.53h4.84l2.49 4.52L13.35 23a2.87 2.87 0 011.52.64l1.9-3.45-3.39-6.16H6.61l-3.39 6.2 3.39 6.15zm2.73-6.16A2.77 2.77 0 1110 17.45a2.77 2.77 0 012.76 2.77zm-1.63 0a1.14 1.14 0 10-1.1 1.13 1.13 1.13 0 001.13-1.13zm6.92 8.72l-4-4a1.49 1.49 0 00-2.12 0 1.51 1.51 0 000 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.37l-1.44 1.44a1.51 1.51 0 000 2.12 1.53 1.53 0 001.07.44 1.49 1.49 0 001.06-.44l4-4a1.49 1.49 0 00-.01-2.12zM32.79 5.42H18v6.16h4.11v18.16h6.56l.12-18.16h4zM27.13 15v2.14l-3.37-1.07v-2.16zm0 3.85v2l-3.34-1.06v-2.02zm0 3.76v2.19l-3.32-1.06v-2.2zm-3.33 5.5v-2.66l3.31 1.05v1.6zm3.4-14.83l-3.4-1.08v-.61h3.41zm4-3.33H19.64V7.06h11.51z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const PaintMaterialShape = clrIconSVG(\n `<path d=\"M18,5.65C11.63,5.65,7.83,7,7.83,9.27V26.73c0,2.27,3.8,3.62,10.17,3.62S28.17,29,28.17,26.73V9.27C28.17,7,24.37,5.65,18,5.65ZM9.98,9.35c.19-.2,1.69-1.55,8.02-1.55s7.83,1.35,8.02,1.55v17.3c-.19.2-1.69,1.55-8.02,1.55s-7.83-1.35-8.02-1.55Z\"/></g><ellipse cx=\"18\" cy=\"10.7\" rx=\"6.34\" ry=\"2\"/><path d=\"M20.86,13.91l-2,2.89a2.482,2.482,0,1,0,4.08,0Z\"/>`,\n '0 0 36 36'\n);\n\nexport const PaintMaterialForwardShape = clrIconSVG(\n `<path d=\"M18.86,16.8a2.482,2.482,0,1,0,4.08,0l-2.08-2.89Z\"/><ellipse cx=\"18\" cy=\"10.7\" rx=\"6.34\" ry=\"2\"/><path d=\"M28.17,9.27V26.73c0,1.94-2.79,3.22-7.68,3.54a1.4769,1.4769,0,0,0,.01-.21,3.3752,3.3752,0,0,0-.57-1.91c4.72-.24,5.92-1.31,6.09-1.5V9.35C25.83,9.14,24.33,7.8,18,7.8S10.17,9.14,9.98,9.35V24.29a3.4091,3.4091,0,0,0-.48,1.77,2.8858,2.8858,0,0,0,.04.5H7.83V9.27C7.83,7,11.63,5.65,18,5.65S28.17,7,28.17,9.27Z\"/><path d=\"M18.0605,28.9952l-4-4a1.5,1.5,0,0,0-2.121,2.1211l1.4394,1.44H3a1.5,1.5,0,0,0,0,3H13.3789L11.94,32.9952a1.5,1.5,0,1,0,2.121,2.1211l4-4A1.4993,1.4993,0,0,0,18.0605,28.9952Z\"/><path d=\"M18.0605,28.9952l-4-4a1.5,1.5,0,0,0-2.121,2.1211l1.4394,1.44H3a1.5,1.5,0,0,0,0,3H13.3789L11.94,32.9952a1.5,1.5,0,1,0,2.121,2.1211l4-4A1.4993,1.4993,0,0,0,18.0605,28.9952Z\"/>`,\n '0 0 36 36'\n);\n\nexport const ItemsReceiveShape = clrIconSVG(\n `<path d=\"M31.995,8.1968H4.0049A2.005,2.005,0,0,0,2,10.2018v5.4008a2.9662,2.9662,0,0,1,1.5-.4172h.5034l.0015-4.9886h27.99l.005.005L31.995,26.174,4,26.169l.0015-4.9836H3.5A2.9662,2.9662,0,0,1,2,20.7682V26.169a2.005,2.005,0,0,0,2.0049,2.005h27.99A2.005,2.005,0,0,0,34,26.169V10.2018A2.005,2.005,0,0,0,31.995,8.1968Z\"/><path d=\"M18.5605,17.1248l-4-4a1.5,1.5,0,1,0-2.1211,2.1211l1.44,1.44H3.5a1.5,1.5,0,0,0,0,3H13.8789l-1.44,1.4394a1.5,1.5,0,1,0,2.1211,2.1211l4-4A1.4993,1.4993,0,0,0,18.5605,17.1248Z\"/><path d=\"M25.9893,23.1855h-4a1,1,0,0,1,0-2h4a1,1,0,0,1,0,2Z\"/><path d=\"M28.4893,19.1855h-6.5a1,1,0,0,1,0-2h6.5a1,1,0,0,1,0,2Z\"/><path d=\"M27.9893,15.1855h-6a1,1,0,0,1,0-2h6a1,1,0,0,1,0,2Z\"/>`,\n '0 0 36 36'\n);\n\nexport const ItemsForwardShape = clrIconSVG(\n `<path d=\"M31.996,22.9315l-.001,3.2425L4,26.169l.0049-15.9722h27.99l.005.005-.001,3.24L34,15.4432V10.2018a2.005,2.005,0,0,0-2.005-2.005H4.0049A2.005,2.005,0,0,0,2,10.2018V26.169a2.005,2.005,0,0,0,2.0049,2.005h27.99A2.005,2.005,0,0,0,34,26.169V20.9276Z\"/><path d=\"M33.5605,17.1248l-4-4a1.5,1.5,0,1,0-2.1211,2.1211l1.44,1.44H18.5a1.5,1.5,0,0,0,0,3H28.8789l-1.44,1.4394a1.5,1.5,0,1,0,2.1211,2.1211l4-4A1.4993,1.4993,0,0,0,33.5605,17.1248Z\"/></g><path d=\"M11.6836,23.1855h-4a1,1,0,0,1,0-2h4a1,1,0,1,1,0,2Z\"/><path d=\"M14.1836,19.1855h-6.5a1,1,0,0,1,0-2h6.5a1,1,0,1,1,0,2Z\"/><path d=\"M13.6836,15.1855h-6a1,1,0,0,1,0-2h6a1,1,0,0,1,0,2Z\"/>`,\n '0 0 36 36'\n);\n\nexport const DollarBillPartialShape = clrIconSVG(\n `<path d=\"M18 24.55h-.16a5.52 5.52 0 01-1.07-.15 1 1 0 01-.77-1.23 1 1 0 011.22-.72 6.48 6.48 0 00.86.1 3.2 3.2 0 00.62-.09 1 1 0 11.5 1.93 4.74 4.74 0 01-1.2.16zM14.67 22.9a1 1 0 01-.76-.35 6.84 6.84 0 01-1.44-3 1 1 0 012-.43 4.79 4.79 0 001 2.1 1 1 0 01-.12 1.41 1 1 0 01-.68.27zm-1.21-5.33a.78.78 0 01-.22 0 1 1 0 01-.76-1.19 6.87 6.87 0 011.45-3 1 1 0 111.52 1.3 4.87 4.87 0 00-1 2.09 1 1 0 01-.99.8zM21.35 22.88a1 1 0 01-.64-.23 1 1 0 01-.13-1.41 4.88 4.88 0 001-2.1 1 1 0 011.19-.76 1 1 0 01.76 1.18 6.79 6.79 0 01-1.41 3 1 1 0 01-.77.32zm1.19-5.34a1 1 0 01-1-.77 4.85 4.85 0 00-1-2.08 1 1 0 011.52-1.31 6.85 6.85 0 011.46 2.94 1 1 0 01-.75 1.2.82.82 0 01-.23.02zm-5.48-4a1 1 0 01-.23-2 5 5 0 012.34 0 1 1 0 11-.47 1.94 3 3 0 00-1.4 0z\"/><path d=\"M21.57 26H9.49A5.87 5.87 0 004 20.44V15.6A5.87 5.87 0 009.51 10h17A5.87 5.87 0 0032 15.6v3.93l2-1.25V10a2 2 0 00-2-2H4a2 2 0 00-2 2v16a2 2 0 002 2h14.35zM32 10v4a4.25 4.25 0 01-3.9-4zM4 10h3.9A4.25 4.25 0 014 14zm0 16v-3.94A4.25 4.25 0 017.9 26z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const DollarBillForwardShape = clrIconSVG(\n `<path d=\"M24.3 18c0-3.94-2.83-7.15-6.3-7.15s-6.3 3.21-6.3 7.15a7.63 7.63 0 001.85 5.05 3 3 0 011.57.83l.91.9a5.43 5.43 0 002 .37c3.44 0 6.27-3.21 6.27-7.15zm-11 0c0-3.06 2.11-5.55 4.7-5.55s4.7 2.49 4.7 5.55-2.11 5.56-4.7 5.56c-2.59-.02-4.7-2.51-4.7-5.56z\"/><path d=\"M32 8H4a2 2 0 00-2 2v16a2 2 0 00.32 1.08A3.08 3.08 0 013 27h7.17a3 3 0 01-.17-1h-.51A5.87 5.87 0 004 20.44V15.6A5.87 5.87 0 009.51 10h17A5.87 5.87 0 0032 15.6v4.85A5.88 5.88 0 0026.49 26h-9.25l1.88 1.88.1.12H32a2 2 0 002-2V10a2 2 0 00-2-2zM7.9 26H4v-3.94A4.25 4.25 0 017.9 26zM4 14v-4h3.9A4.25 4.25 0 014 14zm28 12h-3.9a4.25 4.25 0 013.9-3.94zm0-12a4.25 4.25 0 01-3.9-4H32z\"/><path d=\"M18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const BlocksGroupForwardShape = clrIconSVG(\n `<path d=\"M10.17 33H8.42l1.6.74a3 3 0 01.15-.74zM33.53 18.76l-6.93-3.19V6.43a1 1 0 00-.6-.9l-7.5-3.45a1 1 0 00-.84 0l-7.5 3.45a1 1 0 00-.58.91v9.14l-6.9 3.18a1 1 0 00-.58.91v7.48A3 3 0 013 27h1.1v-5.77L10.18 24a1 1 0 00.55.06 1.3 1.3 0 01.15-.18A3 3 0 0113 23h.14l3.94-1.81v4.65l2 2v-6.62L25.19 24a1 1 0 00.81 0l6.08-2.8v7.61l-6.5 3-5.74-2.65A3 3 0 0120 30a3 3 0 01-.3 1.29l5.48 2.52a1 1 0 00.84 0l7.5-3.45a1 1 0 00.58-.91v-9.78a1 1 0 00-.57-.91zM18.1 4.08l5.11 2.35-5.11 2.35L13 6.43zM10.6 22l-5.11-2.33 5.11-2.36 5.11 2.35zm7.5-3.42l-6.5-3V8l6.08 2.8a1 1 0 00.84 0L24.6 8v7.58zM25.61 22l-5.11-2.33 5.11-2.35 5.11 2.35z\"/><path d=\"M18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const TextForward = clrIconSVG(\n `<path d=\"M26 16.5a1 1 0 01-1 1H11a1 1 0 010-2h14a1 1 0 011 1zm-4.25 4h-7.5a1 1 0 000 2h7.5a1 1 0 000-2zm-10.47-8h13.44a1 1 0 000-2H11.28a1 1 0 000 2zM18 2.5c-8.82 0-16 6.28-16 14A13.31 13.31 0 007.45 27h2.73a3 3 0 01-.15-.64A11.62 11.62 0 014 16.5c0-6.62 6.28-12 14-12s14 5.38 14 12a11.09 11.09 0 01-3.71 8.11 1 1 0 00-.32.73v5.34l-4.38-2.79a1 1 0 00-.83-.11 16.11 16.11 0 01-3.22.64 3 3 0 01.42 2 18.13 18.13 0 002.92-.56l5.53 3.52a1 1 0 001.38-.3 1 1 0 00.21-.58v-6.73a13 13 0 004-9.27c0-7.72-7.18-14-16-14zm.06 26.44l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const CalculatorForwardShape = clrIconSVG(\n `<path d=\"M22 28v2h4v-4h-2v2h-2zM26 20h-2v2h-2v2h4v-4zM13 23a3.05 3.05 0 011 .18V20h-2v2h-2v2h.78l.1-.12A3 3 0 0113 23zM26 14h-2v2h-2v2h4v-4zM6.28 33A2 2 0 008 34h2a3 3 0 01.17-1zM18 26v.76l1.12 1.12A3 3 0 0120 30v-4z\"/><path d=\"M28 2H8a2 2 0 00-2 2v23h2V4h20v28h-8.78l-.1.12L17.24 34H28a2 2 0 002-2V4a2 2 0 00-2-2z\"/><path d=\"M10 7v4.67h2V8h13.67V6H11a1 1 0 00-1 1zM10 18h4v-4h-2v2h-2v2zM20 20h-2v2h-2v2h4v-4zM20 14h-2v2h-2v2h4v-4zM18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const BundleForwardShape = clrIconSVG(\n `<path d=\"M32.43 8.35l-13-6.21a1 1 0 00-.87 0l-15 7.24a1 1 0 00-.57.9v16.55A1 1 0 003 27h3.67L5 26.2V12.13l11 5.27v7.36l2 2v-9.4l13-6.29v14.1l-11 5.34a2.88 2.88 0 01-.83 1.61L17.26 34a1.46 1.46 0 00.2-.05l15-7.24a1 1 0 00.57-.9V9.25a1 1 0 00-.6-.9zM17 15.64L6 10.41l5.9-2.85 10.7 5.35zm7.88-3.83L14.21 6.46 19 4.15l10.93 5.22z\"/><path d=\"M18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const InternalPartForwardShape = clrIconSVG(\n `<path d=\"M9.9945,18.971a2.7725,2.7725,0,0,0,.001-5.545h-.004l.003.001a2.772,2.772,0,0,0,0,5.544Zm-.008-3.906a1.134,1.134,0,0,1,1.138,1.13v.004a1.134,1.134,0,1,1-1.138-1.134Z\"/><path d=\"M18.0005,5.42v6.161H22.11V29.739h6.561l.123-18.158h3.992V5.42Zm9.044,22.679-3.296-.002v-2.65l3.307,1.052Zm.023-3.312-3.319-1.056V21.535l3.334,1.062Zm.026-3.906-3.345-1.065V17.774l3.36,1.071Zm.025-3.753-3.371-1.072V13.9109l3.387,1.0771Zm.03-3.86-3.4-1.081v-.61h3.409Zm-7.51-3.327V7.059h11.509l.001,2.882Z\"/><path d=\"M13.38,22.36l3.388-6.161L13.38,10.038H6.6025l-3.388,6.161,3.388,6.161ZM7.5715,11.674h4.843l2.486,4.522-2.486,4.525H7.5715l-2.487-4.522Z\"/><path d=\"M3.2145,29.76h13.554V24.831H3.2145Zm1.639-3.2859H15.13v1.651H4.8535Z\"/><path d=\"M8.6811,8.8945a.4812.4812,0,0,0,.7819-.3758v-1.74L12.2255,8.9A.4813.4813,0,0,0,13,8.5187V2.4813A.4814.4814,0,0,0,12.2255,2.1L9.463,4.2216v-1.74a.4813.4813,0,0,0-.7819-.3759L4.9077,5.1242a.4812.4812,0,0,0,0,.7515Z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const InvoiceShape = clrIconSVG(\n `<path d=\"M16.2139,15.3164a2.8144,2.8144,0,0,0,.93-.708l1.0683.9834a4.2774,4.2774,0,0,1-3.12,1.3437,4.2121,4.2121,0,0,1-1.7822-.39,4.4426,4.4426,0,0,1-1.4639-1.08,4.23,4.23,0,0,1-.8936-1.5537H9.9434V13.06h.8408c-.0166-.1758-.0244-.3076-.0244-.3955a4.1283,4.1283,0,0,1,.0361-.5645H9.9434V11.248h1.0683a4.2052,4.2052,0,0,1,.918-1.4638A4.49,4.49,0,0,1,13.37,8.77a4.2483,4.2483,0,0,1,3.42-.0117,4.4989,4.4989,0,0,1,1.4219.9785l-1.0683.9961a2.9612,2.9612,0,0,0-.93-.7021,2.5521,2.5521,0,0,0-1.1221-.2578,2.65,2.65,0,0,0-1.41.4013,2.873,2.873,0,0,0-1.0254,1.0742H15.752V12.1H12.3438a2.8811,2.8811,0,0,0-.06.5645q0,.1319.0234.3955H15.752v.8525H12.56a2.9781,2.9781,0,0,0,1.0439,1.2,2.6326,2.6326,0,0,0,1.4883.4561A2.6012,2.6012,0,0,0,16.2139,15.3164Z\"/><path d=\"M21.89,4H7.83A1.88,1.88,0,0,0,6,5.91V30.09A1.88,1.88,0,0,0,7.83,32H28.17A1.88,1.88,0,0,0,30,30.09V11.92Zm-.3,2.49,6,5.9h-6ZM8,30V6H20v8h8V30Z\"/><path d=\"M19,25.833H10.61a1,1,0,1,1,0-2H19a1,1,0,0,1,0,2Z\"/><path d=\"M23,21.833H10.61a1,1,0,1,1,0-2H23a1,1,0,0,1,0,2Z\"/>`,\n '0 0 36 36'\n);\nexport const InvoiceReadyShape = clrIconSVG(\n `<path d=\"M13.6816,10.1738a2.65,2.65,0,0,1,1.41-.4013,2.5521,2.5521,0,0,1,1.1221.2578,2.9612,2.9612,0,0,1,.93.7021l1.0683-.9961A4.4989,4.4989,0,0,0,16.79,8.7578a4.2483,4.2483,0,0,0-3.42.0117,4.49,4.49,0,0,0-1.44,1.0147,4.2052,4.2052,0,0,0-.918,1.4638H9.9434V12.1h.8525a4.1283,4.1283,0,0,0-.0361.5645c0,.0879.0078.22.0244.3955H9.9434v.8525h1.0087a4.23,4.23,0,0,0,.8936,1.5537,4.4426,4.4426,0,0,0,1.4639,1.08,4.2913,4.2913,0,0,0,3.4922.0361,4.2643,4.2643,0,0,0,1.41-.99l-1.0683-.9834a2.8144,2.8144,0,0,1-.93.708,2.6012,2.6012,0,0,1-1.1221.252,2.6326,2.6326,0,0,1-1.4883-.4561,2.9781,2.9781,0,0,1-1.0439-1.2H15.752V13.06H12.3076q-.0234-.2637-.0234-.3955a2.8811,2.8811,0,0,1,.06-.5645H15.752V11.248H12.6562A2.873,2.873,0,0,1,13.6816,10.1738Z\"/><path d=\"M18.08,25.83a9.0156,9.0156,0,0,1,.5-2H10.61a1,1,0,0,0,0,2Z\"/><path d=\"M21.57,19.83H10.61a1,1,0,0,0,0,2h9.03A9.1583,9.1583,0,0,1,21.57,19.83Z\"/><path d=\"M8,30V6H20v8h8v4.06a8.4307,8.4307,0,0,1,2,.46v-6.6L21.89,4H7.83A1.88,1.88,0,0,0,6,5.91V30.09A1.88,1.88,0,0,0,7.83,32H19.52a9.124,9.124,0,0,1-1-2ZM21.59,6.49l6,5.9h-6Z\"/><path d=\"M26.9373,19.9375A7.0625,7.0625,0,1,0,34,27,7.0625,7.0625,0,0,0,26.9373,19.9375ZM27,32a5,5,0,1,1,5-5A5.0018,5.0018,0,0,1,27,32Z\"/><path d=\"M30.8672,24.4834a1,1,0,0,0-1.4141,0l-3.3017,3.3027-1.6045-1.6045a1,1,0,1,0-1.4141,1.4141l3.0186,3.0186,4.7158-4.7168A1,1,0,0,0,30.8672,24.4834Z\"/>`,\n '0 0 36 36'\n);\n\nexport const ExternalPartForwardShape = clrIconSVG(\n `<path d=\"M18.0005,5.42v6.161H22.11V29.739h6.561l.123-18.158h3.992V5.42Zm9.044,22.679-3.296-.002v-2.65l3.307,1.052Zm.023-3.312-3.319-1.056V21.535l3.334,1.062Zm.026-3.906-3.345-1.065V17.774l3.36,1.071Zm.025-3.753-3.371-1.072V13.9109l3.387,1.0771Zm.03-3.86-3.4-1.081v-.61h3.409Zm-7.51-3.327V7.059h11.509l.001,2.882Z\"/><path d=\"M13.38,22.36l3.388-6.161L13.38,10.038H6.6026l-3.388,6.161,3.388,6.161ZM7.5716,11.674h4.8429l2.486,4.522-2.486,4.525H7.5716l-2.487-4.522Z\"/><path d=\"M9.9945,18.971a2.7725,2.7725,0,0,0,.0011-5.545H9.9915l.003.001a2.772,2.772,0,0,0,0,5.544Zm-.008-3.906a1.134,1.134,0,0,1,1.138,1.13v.004a1.1337,1.1337,0,0,1-1.132,1.1336l.002,0H9.9906l.0019,0a1.1338,1.1338,0,0,1-.006-2.2676Z\"/><polygon points=\"16.766 24.83 16.076 24.83 16.766 25.52 16.766 24.83\"/><path d=\"M14.0606,24.94A1.5,1.5,0,0,0,11.94,27.0613l1.4394,1.44H3a1.5,1.5,0,1,0,0,3H13.3789L11.94,32.94a1.5,1.5,0,1,0,2.1211,2.1211l4-4a1.5,1.5,0,0,0,0-2.1211Z\"/><path d=\"M3.2161,24.83V27h1.64v-.53h5.18a2.41,2.41,0,0,1-.04-.47,2.9166,2.9166,0,0,1,.24-1.17Z\"/><path d=\"M8.6811,8.8945a.4812.4812,0,0,0,.7819-.3758v-1.74L12.2255,8.9A.4812.4812,0,0,0,13,8.5187V2.4813A.4814.4814,0,0,0,12.2255,2.1L9.463,4.2216v-1.74a.4813.4813,0,0,0-.7819-.3759L4.9077,5.1242a.4812.4812,0,0,0,0,.7515Z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const BusinessPartnerWithCar = clrIconSVG(\n '<g clip-path=\"url(#clip0_10808_12864)\">' +\n '<path d=\"M30.2941 20H23.6801C22.8807 20.0774 22.162 20.5351 21.7623 21.2313L21.7526 21.2506L21.7429 21.2699L20.9887 23.1007C20.5278 23.033 20.0604 22.9557 19.5737 22.8687L19.5447 22.8622H19.1869L19.1515 23.1426L19.0387 23.9871L19 24.2901L19.303 24.3449C19.6479 24.4061 20.0056 24.4674 20.3892 24.5254L20.1797 25.0314C19.7832 25.7051 19.577 26.4754 19.5802 27.2587V31.4746C19.5608 32.2288 20.1668 32.8703 20.9307 32.8928H22.2297C23.0064 32.8703 23.6156 32.2288 23.5963 31.4617H30.3973V31.4746C30.3876 31.8388 30.5262 32.1934 30.7808 32.4609C31.0387 32.7317 31.3836 32.8832 31.7542 32.8928H33.05C33.8203 32.867 34.423 32.2256 34.4037 31.4682V27.2587C34.4037 26.4786 34.2006 25.7083 33.8106 25.0314L33.5915 24.5028C33.9525 24.448 34.3199 24.39 34.6873 24.3191L35 24.2579L34.942 23.9452L34.7873 23.1072L34.7292 22.7913L34.4134 22.8493C33.9492 22.9331 33.4915 23.0073 32.9952 23.0814L32.2409 21.2699L32.2345 21.2506L32.2248 21.2345C31.8251 20.5351 31.1096 20.0741 30.3102 20H30.2941ZM23.7897 21.502H30.1942C30.4714 21.5439 30.7131 21.7019 30.8646 21.9371L31.4448 23.2748C29.9686 23.4359 28.473 23.5165 26.9903 23.5165C25.5077 23.5165 24.0121 23.4359 22.5359 23.2716L23.1096 21.9339C23.2643 21.6954 23.5093 21.5375 23.7897 21.4988V21.502ZM26.8582 25.0411C28.5729 25.0379 30.3038 24.9283 32.0056 24.7188C32.0056 24.7188 32.6696 26.1821 32.7341 26.4174C31.8735 26.5431 30.9839 26.6398 30.0814 26.7107L29.7623 26.7365L29.7881 27.0556L29.8525 27.9065L29.8783 28.2288L30.2006 28.2063C31.0322 28.145 31.9025 28.0483 32.8598 27.9162V31.394H31.9122V29.9629H22.0846V31.394H21.0725V27.9807C22.0588 28.116 22.9549 28.2127 23.8026 28.274L24.1249 28.2965L24.1475 27.9742L24.2119 27.1168L24.2377 26.7945L23.9154 26.772C23.0032 26.7043 22.0846 26.6076 21.1853 26.4819C21.2498 26.2337 21.8622 24.7381 21.8622 24.7381C23.5157 24.9412 25.1918 25.0443 26.855 25.0443L26.8582 25.0411ZM26.9936 26.7043C26.4617 26.7043 26.0266 27.1555 26.0266 27.7099C26.0266 28.2643 26.4617 28.7156 26.9936 28.7156C27.5254 28.7156 27.9605 28.2643 27.9605 27.7099C27.9605 27.1555 27.5254 26.7043 26.9936 26.7043Z\"/>' +\n '</g>' +\n '<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18 17C19.3845 17 20.7378 16.5895 21.889 15.8203C23.0401 15.0511 23.9373 13.9579 24.4672 12.6788C24.997 11.3997 25.1356 9.99224 24.8655 8.63437C24.5954 7.2765 23.9287 6.02922 22.9497 5.05026C21.9708 4.07129 20.7235 3.4046 19.3656 3.13451C18.0078 2.86441 16.6003 3.00303 15.3212 3.53285C14.0421 4.06266 12.9489 4.95987 12.1797 6.11101C11.4105 7.26216 11 8.61553 11 10C11 11.8565 11.7375 13.637 13.0503 14.9497C14.363 16.2625 16.1435 17 18 17ZM18 5C18.9889 5 19.9556 5.29325 20.7779 5.84265C21.6001 6.39206 22.241 7.17296 22.6194 8.08659C22.9978 9.00022 23.0969 10.0055 22.9039 10.9755C22.711 11.9454 22.2348 12.8363 21.5355 13.5355C20.8363 14.2348 19.9454 14.711 18.9755 14.9039C18.0055 15.0969 17.0002 14.9978 16.0866 14.6194C15.173 14.241 14.3921 13.6001 13.8427 12.7779C13.2932 11.9556 13 10.9889 13 10C13 8.67392 13.5268 7.40215 14.4645 6.46447C15.4021 5.52679 16.6739 5 18 5ZM7 31H17.0275C17.0093 31.1642 17 31.331 17 31.5C17 32.026 17.0902 32.5308 17.2561 33H7C6.46957 33 5.96086 32.7893 5.58579 32.4142C5.21072 32.0391 5 31.5304 5 31V25.74C4.99921 25.2313 5.19231 24.7414 5.54 24.37C7.14369 22.675 9.07623 21.3249 11.2195 20.4022C13.3627 19.4795 15.6716 19.0036 18.005 19.0036C18.7916 19.0036 19.5754 19.0577 20.3511 19.1647C19.7711 19.65 19.3467 20.2816 19.1404 21.0494C18.7615 21.0208 18.3811 21.0065 18 21.0065C15.942 21.0065 13.9054 21.4252 12.0144 22.2373C10.1233 23.0493 8.41723 24.2377 7 25.73V31Z\"/>\\n' +\n '<defs>' +\n '<clipPath id=\"clip0_10808_12864\">' +\n '<rect width=\"16\" height=\"12.8928\" transform=\"translate(19 20)\"/>' +\n '</clipPath>' +\n '</defs>',\n '0 0 36 36'\n);\n\nexport const VinShape = clrIconSVG(\n '<path d=\"M31,11V25H5V11H31m0-2H5a2,2,0,0,0-2,2V25a2,2,0,0,0,2,2H31a2,2,0,0,0,2-2V11a2,2,0,0,0-2-2Z\"/><path d=\"M15.5884,13.5479,12.144,21.792H10.4761L7.0322,13.5479H8.688L11.3164,19.8l2.6157-6.2519Z\"/><path d=\"M17.0405,13.5479h1.4878V21.792H17.0405Z\"/><path d=\"M20.8086,13.5479h1.4878l4.3559,5.7959V13.5479h1.4883V21.792H26.6523l-4.3559-5.7959V21.792H20.8086Z\"/>',\n '0 0 36 36'\n);\n\nexport const WCPShape = clrIconSVG(\n `\n <svg version=\"1.1\" id=\"Ebene_2_00000045619358864859671630000000130188676533442711_\"\n xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 624.9 553\"\n style=\"enable-background:new 0 0 624.9 553;\" xml:space=\"preserve\">\n\n <style type=\"text/css\">\n .st0{fill:url(#SVGID_1_);}\n .st1{fill:#575756;}\n .st2{fill:url(#SVGID_00000091010959329843021340000008956404619550714262_);}\n .st3{fill:url(#SVGID_00000000908697751028072320000012053017488274284442_);}\n .st4{fill:url(#SVGID_00000025407653354964349290000008220823611752910765_);}\n .st5{fill:none;}\n </style>\n <g id=\"Ebene_1-2\">\n <linearGradient id=\"SVGID_1_\" gradientUnits=\"userSpaceOnUse\" x1=\"243.8834\" y1=\"389.6689\" x2=\"632.2234\" y2=\"-5.5611\" gradientTransform=\"matrix(1 0 0 -1 0 553.2756)\">\n <stop offset=\"0\" style=\"stop-color:#53E2EB\"/>\n <stop offset=\"0.3\" style=\"stop-color:#39AFB6\"/>\n <stop offset=\"0.82\" style=\"stop-color:#0A5155\"/>\n </linearGradient>\n <polygon class=\"st0\" points=\"289.8,152.1 280.8,159.7 271.6,173 269.3,191.9 275.7,210 289.8,222.3 296.9,226.4 297.4,361.2\n 297.9,384.9 306.1,385.7 332.1,385.9 333.7,375.5 334.7,357.3 443.2,357.3 443,376 446.5,384.9 469.5,386.4 481.5,383.9 482,358.4\n 489.9,355.5 490.2,290.2 482,278.4 483.8,274.4 493.8,271.5 495,259.5 493.3,251.1 477.7,249.6 469.8,252.4 463.4,258.5 448.1,220\n 433.5,214.4 338.8,215.1 349.3,201.3 349.8,177.1 337,155.6 330.6,154.1 330.9,182.7 323.2,192.9 311.5,199.8 295.6,190.9\n 289,179.4 \"/>\n <path class=\"st1\" d=\"M5,311.6h147c2.8,0,5,2.2,5,5l0,0c0,2.8-2.2,5-5,5H5c-2.8,0-5-2.2-5-5l0,0C0,313.9,2.2,311.6,5,311.6z\"/>\n <path class=\"st1\" d=\"M40.5,271.8h147c2.8,0,5,2.2,5,5l0,0c0,2.8-2.2,5-5,5h-147c-2.8,0-5-2.2-5-5l0,0\n C35.5,274,37.7,271.8,40.5,271.8z\"/>\n <path class=\"st1\" d=\"M76.9,231.9h147c2.8,0,5,2.2,5,5l0,0c0,2.8-2.2,5-5,5h-147c-2.8,0-5-2.2-5-5l0,0\n C71.9,234.1,74.1,231.9,76.9,231.9z\"/>\n <linearGradient id=\"SVGID_00000093171139891544564380000014842693800181154462_\" gradientUnits=\"userSpaceOnUse\" x1=\"183.4516\" y1=\"562.6666\" x2=\"559.5416\" y2=\"-5.6734\" gradientTransform=\"matrix(1 0 0 -1 0 553.2756)\">\n <stop offset=\"0\" style=\"stop-color:#53E2EB\"/>\n <stop offset=\"0.3\" style=\"stop-color:#39AFB6\"/>\n <stop offset=\"0.82\" style=\"stop-color:#0A5155\"/>\n </linearGradient>\n <path style=\"fill:url(#SVGID_00000093171139891544564380000014842693800181154462_);\" d=\"M368.8,549.4L135.9,405.8\n c-10.9-6.7-17.4-18.4-17.4-31.3v-26.8h11.4c14.1,0,25.6,11.5,25.6,25.6v1.1L368.8,506l214.2-131.6l0.4-195.8L369.4,46.9\n L155.5,177.6l-0.1,0.1v0.1c0,14.9-12.1,27-27,27h-10v-27.2c0-12.8,6.8-25,17.8-31.7L369.4,3.5l251.1,154.4L620,395.1L368.8,549.4\n L368.8,549.4z\"/>\n <linearGradient id=\"SVGID_00000034066379702163167680000007086533495198368150_\" gradientUnits=\"userSpaceOnUse\" x1=\"169.3388\" y1=\"276.8306\" x2=\"586.47\" y2=\"276.8306\" gradientTransform=\"matrix(1 0 0 -1 0 553.2756)\">\n <stop offset=\"0\" style=\"stop-color:#53E2EB\"/>\n <stop offset=\"0.17\" style=\"stop-color:#49CED6\"/>\n <stop offset=\"0.53\" style=\"stop-color:#2F9CA2\"/>\n <stop offset=\"1\" style=\"stop-color:#0A5155\"/>\n </linearGradient>\n <path style=\"fill:url(#SVGID_00000034066379702163167680000007086533495198368150_);\" d=\"M368.6,509.4L175.4,390.2\n c-0.2-0.1-0.2-0.3-0.1-0.5l0.2-0.2c1.6-2.5,4.8-3.3,7.4-1.7l185.9,114.7c0.1,0.1,0.3,0.1,0.4,0l210.9-129.6\n c0.1-0.1,0.2-0.2,0.2-0.3l0.4-192.1c0-0.1-0.1-0.2-0.2-0.3L369.5,50.5c-0.1-0.1-0.3-0.1-0.4,0l-192,117.3c-2.7,1.6-6.1,0.8-7.8-1.9\n l0,0c-0.1-0.2-0.1-0.4,0.1-0.5l199.7-122c0.1-0.1,0.3-0.1,0.4,0l216.7,133.2c0.1,0.1,0.2,0.2,0.2,0.3L586,375.8\n c0,0.1-0.1,0.2-0.2,0.3L369,509.4C368.9,509.5,368.8,509.5,368.6,509.4z\"/>\n <linearGradient id=\"SVGID_00000147904770422740137050000005555796118219514777_\" gradientUnits=\"userSpaceOnUse\" x1=\"115.49\" y1=\"276.8006\" x2=\"623.51\" y2=\"276.8006\" gradientTransform=\"matrix(1 0 0 -1 0 553.2756)\">\n <stop offset=\"0\" style=\"stop-color:#53E2EB\"/>\n <stop offset=\"0.17\" style=\"stop-color:#49CED6\"/>\n <stop offset=\"0.53\" style=\"stop-color:#2F9CA2\"/>\n <stop offset=\"1\" style=\"stop-color:#0A5155\"/>\n </linearGradient>\n <path style=\"fill:url(#SVGID_00000147904770422740137050000005555796118219514777_);\" d=\"M368.8,553C368.8,553,368.8,553,368.8,553\n L134.4,408.4c-11.8-7.3-18.9-19.9-18.9-33.8v-16.3c0,0,0,0,0,0l0,0c3.3,0,6,2.7,6,6v10.4c0,11.8,6,22.5,16,28.7l231.2,142.7\n c0,0,0,0,0,0L617,393.4c0,0,0,0,0,0l0.5-233.8c0,0,0,0,0,0L369.4,7c0,0,0,0,0,0L137.8,148.5c-10.1,6.1-16.3,17.3-16.3,29.1v5.6\n c0,3.3-2.7,6-6,6l0,0c0,0,0,0,0,0v-11.5c0-13.9,7.4-27,19.2-34.2L369.4,0c0,0,0,0,0,0l254,156.2c0,0,0,0,0,0L623,396.7c0,0,0,0,0,0\n l-1.4,0.9L368.8,553L368.8,553z\"/>\n <path class=\"st5\" d=\"M428.2,354l-4-7.9c-1.1-2.2-3.3-3.6-5.8-3.6\"/>\n <path class=\"st5\" d=\"M363.5,335.2h55c5.2,0,10,2.9,12.3,7.6l5.6,11.2h47.6c1.5,0,2.8-1.2,2.8-2.8v-54.6c0-11-8.9-19.9-19.9-19.9\n H363.1 M364,307H420v7.3H364 M457.6,293c9.8,0,17.8,8,17.8,17.8s-8,17.8-17.8,17.8s-17.8-8-17.8-17.8S447.8,293,457.6,293z\"/>\n <path class=\"st5\" d=\"M491.5,255.8c0-1.4-1.1-2.4-2.4-2.4h-12.8c-3.1,0-5.6,2.5-5.6,5.6v10.5h15.2c3.1,0,5.6-2.5,5.6-5.6l0,0\n L491.5,255.8L491.5,255.8z\"/>\n <circle class=\"st5\" cx=\"457.6\" cy=\"310.7\" r=\"10.4\"/>\n <path class=\"st1\" d=\"M457.6,328.5c9.8,0,17.8-8,17.8-17.8s-8-17.8-17.8-17.8s-17.8,8-17.8,17.8S447.8,328.5,457.6,328.5z\n M457.6,300.3c5.8,0,10.4,4.7,10.4,10.4s-4.7,10.4-10.4,10.4s-10.4-4.7-10.4-10.4S451.9,300.3,457.6,300.3z\"/>\n <path class=\"st1\" d=\"M367.7,307h48.7c2,0,3.7,1.6,3.7,3.7v0c0,2-1.6,3.7-3.7,3.7h-48.7c-2,0-3.7-1.6-3.7-3.7v0\n C364,308.7,365.6,307,367.7,307z\"/>\n <path class=\"st1\" d=\"M489.1,246h-12.8c-4.5,0-8.5,2.3-10.8,5.9l-9.3-23.4c-3-11.9-13.6-17.6-25.8-17.6l-83.1-0.1\n c4.6-7,7.2-15.3,7.2-24.2c0-15.7-8.5-30.4-22.1-38.2c-0.1-0.1-0.1,0-0.2-0.1l-0.6-0.2c-0.2-0.1-0.5-0.1-0.7-0.1\n c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.3,0.1-0.4,0.1c-0.3,0-0.5,0.1-0.7,0.1c-0.2,0.1-0.4,0.2-0.5,0.3c-0.2,0.1-0.3,0.2-0.5,0.3\n s-0.3,0.3-0.5,0.5c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.1,0.1-0.1,0.2l-0.2,0.6c-0.1,0.2-0.1,0.5-0.1,0.7c0,0.1-0.1,0.1-0.1,0.2\n v33.5l-16.9,11.4l-17-11.4v-33.5c0-0.1-0.1-0.1-0.1-0.2c0-0.2-0.1-0.4-0.1-0.7l-0.2-0.6c0-0.1,0-0.1-0.1-0.2\n c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.2-0.3-0.3-0.5-0.5c-0.1-0.1-0.3-0.3-0.5-0.3c-0.2-0.1-0.3-0.2-0.5-0.3s-0.5-0.1-0.7-0.1\n c-0.1,0-0.3-0.1-0.4-0.1c-0.1,0-0.1,0.1-0.2,0.1c-0.2,0-0.5,0.1-0.7,0.1l-0.6,0.2c-0.1,0-0.1,0-0.2,0.1\n c-13.7,7.8-22.1,22.5-22.1,38.2c0,17.9,10.9,33.9,27.2,40.6v155.2c0,4,3.2,7.1,7.1,7.1h29.9c4,0,7.1-3.2,7.1-7.1v-20.9v-0.1h102.4\n v18.1c0,5.6,4.5,10.1,10.1,10.1h24.7c5.6,0,10.1-4.5,10.1-10.1v-18.1c5.2-0.4,9.4-4.8,9.4-10.1v-54.6c0-7.8-3.3-14.9-8.6-19.9h0.4\n c7.1,0,12.9-5.8,12.9-12.9v-8.1C498.9,250.4,494.5,246,489.1,246L489.1,246z M477.4,379.4L477.4,379.4c0,1.5-1.2,2.8-2.8,2.8H450\n c-1.5,0-2.8-1.2-2.8-2.8v-18.1h30.2L477.4,379.4L477.4,379.4z M486.8,296.7v54.6c0,1.5-1.2,2.8-2.8,2.8h-47.6l-5.6-11.2\n c-2.3-4.7-7.1-7.6-12.3-7.6h-51.2c-1.9,0-3.6,1.4-3.8,3.3c-0.2,2.2,1.5,4,3.6,4h51.3c2.4,0,4.7,1.4,5.8,3.6l4,7.9h-90.8V252.7\n c0-1.9-1.6-3.5-3.5-3.5h-0.3c-1.9,0-3.5,1.6-3.5,3.5v128c0,0.9-0.7,1.6-1.6,1.6h-26.8c-0.9,0-1.6-0.7-1.6-1.6V225\n c0-0.7-0.2-1.2-0.5-1.8c-0.1-0.1-0.1-0.2-0.2-0.3c-0.4-0.5-0.9-0.9-1.4-1.1l-0.1-0.1c-14.9-5.2-24.9-19.3-24.9-35.2\n c0-11.2,5.1-21.7,13.6-28.8v28.8c0,1.3,0.5,2.3,1.5,3l20.4,13.6c1.2,0.8,2.6,0.8,3.7,0l20.4-13.6c1-0.6,1.5-1.7,1.5-2.9v-28.8\n c8.5,7,13.6,17.6,13.6,28.8s-5,21.9-13.5,28.7c-0.9,0.7-0.4,2.2,0.8,2.2c1.4,0,2.9,0,4.4,0l0,0l91.1,0c8.8,0,16.5,4,18.7,12.6\n l13.3,39.2H367c-1.9,0-3.6,1.4-3.8,3.3c-0.2,2.2,1.5,4,3.6,4H467C477.9,276.8,486.8,285.7,486.8,296.7L486.8,296.7z M485.9,269.5\n h-15.2v-10.5c0-3.1,2.5-5.6,5.6-5.6h12.8c1.4,0,2.4,1.1,2.4,2.4v8.1l0,0C491.5,266.9,489,269.5,485.9,269.5L485.9,269.5z\"/>\n </g>\n </svg>`,\n '0 0 48 48'\n);\n\nexport const VsfSearchShape = clrIconSVG(\n `\n <svg id=\"Icons\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M4,7.98H21.99V21.99H2.01V2.01H6.87L8.8,4.8a.521.521,0,0,0,.41.21H23A1.212,1.212,0,0,0,21.81,4H9.47L7.75,1.49A1.213,1.213,0,0,0,6.77,\n 1H2.21C1.54,1,1,1.35,1,2.01V22.27a.777.777,0,0,0,.8.73H22a1,1,0,0,0,1-1V7.01H4Z\"/>\n <path d=\"M12,16.164a.54.54,0,0,0-.5.5.535.535,0,0,0,1.069.063A.564.564,0,0,0,12,16.164Z\"/>\n <path d=\"M18.164,12.264a10.685,10.685,0,0,1-1.384.252l-.692-1.636A1.865,1.865,0,0,0,14.7,10H9.3a1.593,1.593,0,0,0-1.321.943L7.22,12.579a10.624,\n 10.624,0,0,0-1.384-.252l-.125.818c.44.063.817.125,1.258.188l-.378.629a3.784,3.784,0,0,0-.44,1.7v3.46a.9.9,0,0,0,.88.88H8.038a.859.859,0,0,0,\n .88-.88v-.252h6.1v.252a.9.9,0,0,0,.88.88h1.07a.859.859,0,0,0,.88-.88V15.66a3.267,3.267,0,0,0-.44-1.7l-.315-.692c.378-.062.818-.125,1.2-.188ZM8.73,\n 11.258a.9.9,0,0,1,.628-.44h5.284a.9.9,0,0,1,.691.44l.566,1.384a31.875,31.875,0,0,1-7.735,0Zm8.239,7.924v.063H15.9v-1.2H8.1v1.132H7.031V16.038c.755.126,\n 1.573.188,2.39.251v-.817c-.817-.063-1.635-.126-2.39-.252a3.15,3.15,0,0,1,.315-.817l.5-1.007A30.593,30.593,0,0,0,12,13.648a32.466,32.466,0,0,0,\n 4.277-.252l.39.91a5.173,5.173,0,0,1,.3.914c-.755.126-1.51.189-2.327.252l.062.817c.818-.063,1.573-.125,2.327-.251Z\"/></svg>`,\n '0 0 24 24'\n);\n\nexport const ClrAddonsIconShapes: any = {\n 'air-conditioner': ACShape,\n accessories: AccessoriesShape,\n 'accessory-parts': AccessoryPartsShape,\n 'accpetance-date': AcceptanceDateShape,\n 'award-winner-premium': AwardWinnerPremiumShape,\n brochure: BrochureShape,\n 'business-customers-commercial': BusinessCustomersCommercialShape,\n 'business-customers-private': BusinessCustomersPrivateShape,\n 'california-service': CaliforniaServiceShape,\n 'california-specialist': CaliforniaSpecialistShape,\n 'car-off-site': CarOffSite,\n 'car-on-site': CarOnSite,\n 'car-pickup-service': CarPickupServiceShape,\n 'car-wash': CarWashShape,\n 'certified-repair': CertifiedRepairShape,\n 'certified-retailer': CertifiedRetailerShape,\n 'completed-by-date': CompletedByDateShape,\n 'configurator-commercial': ConfiguratorCommercialShape,\n 'configurator-private': ConfiguratorPrivateShape,\n consumption: ConsumptionShape,\n 'contact-dealer': ContactDealerShape,\n 'customers-center': CustomersCenterShape,\n diesel: DieselShape,\n 'drivers-assistance': DriversAssistanceShape,\n efficiency: EfficiencyShape,\n 'electric-cars': ElectricCarsShape,\n 'electric-cars-service': ElectricCarsServiceShape,\n electricity: ElectricityShape,\n emission: EmissionShape,\n energy: EnergyShape,\n engine: EngineShape,\n 'express-service': ExpressServiceShape,\n exterior: ExteriorShape,\n 'find-a-car': FindACarShape,\n 'fleet-service-commercial': FleetServiceCommercialShape,\n 'fleet-service-private': FleetServicePrivateShape,\n gas: GasShape,\n 'gas-cars-service': GasCarsServiceShape,\n hybrid: HybridShape,\n 'loading-volume': LoadingVolumeShape,\n locate: LocateShape,\n 'new-car-commercial': NewCarCommercialShape,\n 'new-car-private': NewCarPrivateShape,\n 'new-car-utility-vehicle': NewCarUtilityVehicleShape,\n 'night-service': NightServiceShape,\n offers: OffersShape,\n 'on-call-duty': OnCallDutyShape,\n 'open-sat': OpenSatShape,\n 'paint-shop': PaintShopShape,\n payload: PayloadShape,\n performance: PerformanceShape,\n petrol: PetrolShape,\n 'plus-service': PlusServiceShape,\n power: PowerShape,\n 'power-train': PowerTrainShape,\n 'price-type-switch': PriceTypeSwitchShape,\n 'qualified-workshop': QualifiedWorkshopShape,\n 'return-date': ReturnDateShape,\n 'repeat-repair': RepeatRepairShape,\n 'roadside-assistance': RoadsideAssistanceShape,\n route: RouteShape,\n seat: SeatShape,\n 'seat-air': SeatAirShape,\n size: SizeShape,\n service: ServiceShape,\n 'service-bell': ServiceBellShape,\n 'stock-locator-commercial': StockLocatorCommercialShape,\n 'stock-locator-private': StockLocatorPrivateShape,\n 'taxi-dealer': TaxiDealerShape,\n 'transmission-automatic': TransmissionAutomaticShape,\n 'transmission-manual': TransmissionManualShape,\n 'touareg-service': TouaregServiceShape,\n 'used-car-commercial': UsedCarCommercialShape,\n 'used-car-private': UsedCarPrivateShape,\n 'vehicle-conversion': VehicleConversionShape,\n 'virtual-reality': VirtualRealityShape,\n volkswagen: VWShape,\n 'brand-audi': AudiBrandShape,\n 'brand-cupra': CupraBrandShape,\n 'brand-dwa': DWABrandShape,\n 'brand-porsche': PorscheBrandShape,\n 'brand-seat': SeatBrandShape,\n 'brand-skoda': SkodaBrandShape,\n 'brand-vw': VWBrandShape,\n 'brand-vwn': VWNBrandShape,\n 'view-360': View360Shape,\n 'wheel-to-wheel': WheelToWheelShape,\n 'windscreen-wash': WindscreenWashShape,\n 'wrench-fwd': WrenchForward,\n topcard: TopcardShape,\n 'task-appointment': TaskAndAppointment,\n 'parking-location': ParkingLocation,\n parts: PartsShape,\n 'parts-fwd': PartsForwardShape,\n 'parts-nonstock': PartsNonStockShape,\n 'parts-nonstock-fwd': PartNonStockForwardShape,\n 'paint-material': PaintMaterialShape,\n 'paint-material-fwd': PaintMaterialForwardShape,\n 'items-receive': ItemsReceiveShape,\n 'items-forward': ItemsForwardShape,\n 'money-partial': DollarBillPartialShape,\n 'money-fwd': DollarBillForwardShape,\n 'blocksgroup-fwd': BlocksGroupForwardShape,\n 'text-fwd': TextForward,\n 'calculator-fwd': CalculatorForwardShape,\n 'bundle-fwd': BundleForwardShape,\n 'part-return': InternalPartForwardShape,\n invoice: InvoiceShape,\n 'invoice-ready': InvoiceReadyShape,\n 'part-return-fwd': ExternalPartForwardShape,\n 'bp-with-car': BusinessPartnerWithCar,\n 'campaign-outdated': CampaignOutdatedShape,\n campaign: CampaignShape,\n vin: VinShape,\n 'wcp-logo': WCPShape,\n};\n\nexport const airConditionerIcon: IconShapeTuple = ['air-conditioner', ACShape];\nexport const accessoriesIcon: IconShapeTuple = ['accessories', AccessoriesShape];\nexport const accessoryPartsIcon: IconShapeTuple = ['accessory-parts', AccessoryPartsShape];\nexport const acceptanceDateIcon: IconShapeTuple = ['acceptance-date', AcceptanceDateShape];\nexport const awardWinnerPremiumIcon: IconShapeTuple = ['award-winner-premium', AwardWinnerPremiumShape];\nexport const brochureIcon: IconShapeTuple = ['brochure', BrochureShape];\nexport const businessCustomersCommercialIcon: IconShapeTuple = [\n 'business-customers-commercial',\n BusinessCustomersCommercialShape,\n];\nexport const businessCustomersPrivateIcon: IconShapeTuple = [\n 'business-customers-private',\n BusinessCustomersPrivateShape,\n];\nexport const californiaServiceIcon: IconShapeTuple = ['california-service', CaliforniaServiceShape];\nexport const californiaSpecialistIcon: IconShapeTuple = ['california-specialist', CaliforniaSpecialistShape];\nexport const carOffSite: IconShapeTuple = ['car-off-site', CarOffSite];\nexport const carOnSite: IconShapeTuple = ['car-on-site', CarOnSite];\nexport const carPickupServiceIcon: IconShapeTuple = ['car-pickup-service', CarPickupServiceShape];\nexport const carWashIcon: IconShapeTuple = ['car-wash', CarWashShape];\nexport const certifiedRepairIcon: IconShapeTuple = ['certified-repair', CertifiedRepairShape];\nexport const certifiedRetailerIcon: IconShapeTuple = ['certified-retailer', CertifiedRetailerShape];\nexport const completedByDateIcon: IconShapeTuple = ['completed-by-date', CompletedByDateShape];\nexport const configuratorCommercialIcon: IconShapeTuple = ['configurator-commercial', ConfiguratorCommercialShape];\nexport const configuratorPrivateIcon: IconShapeTuple = ['configurator-private', ConfiguratorPrivateShape];\nexport const consumptionIcon: IconShapeTuple = ['consumption', ConsumptionShape];\nexport const contactDealerIcon: IconShapeTuple = ['contact-dealer', ContactDealerShape];\nexport const customersCenterIcon: IconShapeTuple = ['customers-center', CustomersCenterShape];\nexport const dieselIcon: IconShapeTuple = ['diesel', DieselShape];\nexport const driversAssistanceIcon: IconShapeTuple = ['drivers-assistance', DriversAssistanceShape];\nexport const efficiencyIcon: IconShapeTuple = ['efficiency', EfficiencyShape];\nexport const electricCarsIcon: IconShapeTuple = ['electric-cars', ElectricCarsShape];\nexport const electricCarsServiceIcon: IconShapeTuple = ['electric-cars-service', ElectricCarsServiceShape];\nexport const electricityIcon: IconShapeTuple = ['electricity', ElectricityShape];\nexport const emissionIcon: IconShapeTuple = ['emission', EmissionShape];\nexport const energyIcon: IconShapeTuple = ['energy', EnergyShape];\nexport const engineIcon: IconShapeTuple = ['engine', EngineShape];\nexport const expressServiceIcon: IconShapeTuple = ['express-service', ExpressServiceShape];\nexport const exteriorIcon: IconShapeTuple = ['exterior', ExteriorShape];\nexport const findACarIcon: IconShapeTuple = ['find-a-car', FindACarShape];\nexport const fleetServiceCommercialIcon: IconShapeTuple = ['fleet-service-commercial', FleetServiceCommercialShape];\nexport const fleetServicePrivateIcon: IconShapeTuple = ['fleet-service-private', FleetServicePrivateShape];\nexport const gasIcon: IconShapeTuple = ['gas', GasShape];\nexport const gasCarsServiceIcon: IconShapeTuple = ['gas-cars-service', GasCarsServiceShape];\nexport const hybridIcon: IconShapeTuple = ['hybrid', HybridShape];\nexport const loadingVolumeIcon: IconShapeTuple = ['loading-volume', LoadingVolumeShape];\nexport const locateIcon: IconShapeTuple = ['locate', LocateShape];\nexport const newCarCommercialIcon: IconShapeTuple = ['new-car-commercial', NewCarCommercialShape];\nexport const newCarPrivateIcon: IconShapeTuple = ['new-car-private', NewCarPrivateShape];\nexport const newCarUtilityVehicleIcon: IconShapeTuple = ['new-car-utility-vehicle', NewCarUtilityVehicleShape];\nexport const nightServiceIcon: IconShapeTuple = ['night-service', NightServiceShape];\nexport const offersIcon: IconShapeTuple = ['offers', OffersShape];\nexport const onCallDutyIcon: IconShapeTuple = ['on-call-duty', OnCallDutyShape];\nexport const openSatIcon: IconShapeTuple = ['open-sat', OpenSatShape];\nexport const paintShopIcon: IconShapeTuple = ['paint-shop', PaintShopShape];\nexport const payloadIcon: IconShapeTuple = ['payload', PayloadShape];\nexport const performanceIcon: IconShapeTuple = ['performance', PerformanceShape];\nexport const petrolIcon: IconShapeTuple = ['petrol', PetrolShape];\nexport const plusServiceIcon: IconShapeTuple = ['plus-service', PlusServiceShape];\nexport const powerIcon: IconShapeTuple = ['power', PowerShape];\nexport const powerTrainIcon: IconShapeTuple = ['power-train', PowerTrainShape];\nexport const priceTypeSwitchIcon: IconShapeTuple = ['price-type-switch', PriceTypeSwitchShape];\nexport const qualifiedWorkshopIcon: IconShapeTuple = ['qualified-workshop', QualifiedWorkshopShape];\nexport const returnDateIcon: IconShapeTuple = ['return-date', ReturnDateShape];\nexport const repeatRepairIcon: IconShapeTuple = ['repeat-repair', RepeatRepairShape];\nexport const roadsideAssistanceIcon: IconShapeTuple = ['roadside-assistance', RoadsideAssistanceShape];\nexport const routeIcon: IconShapeTuple = ['route', RouteShape];\nexport const seatIcon: IconShapeTuple = ['seat', SeatShape];\nexport const seatAirIcon: IconShapeTuple = ['seat-air', SeatAirShape];\nexport const sizeIcon: IconShapeTuple = ['size', SizeShape];\nexport const serviceIcon: IconShapeTuple = ['service', ServiceShape];\nexport const serviceBellIcon: IconShapeTuple = ['service-bell', ServiceBellShape];\nexport const stockLocatorCommercialIcon: IconShapeTuple = ['stock-locator-commercial', StockLocatorCommercialShape];\nexport const stockLocatorPrivateIcon: IconShapeTuple = ['stock-locator-private', StockLocatorPrivateShape];\nexport const taxiDealerIcon: IconShapeTuple = ['taxi-dealer', TaxiDealerShape];\nexport const transmissionAutomaticIcon: IconShapeTuple = ['transmission-automatic', TransmissionAutomaticShape];\nexport const transmissionManualIcon: IconShapeTuple = ['transmission-manual', TransmissionManualShape];\nexport const touaregServiceIcon: IconShapeTuple = ['touareg-service', TouaregServiceShape];\nexport const usedCarCommercialIcon: IconShapeTuple = ['used-car-commercial', UsedCarCommercialShape];\nexport const usedCarPrivateIcon: IconShapeTuple = ['used-car-private', UsedCarPrivateShape];\nexport const vehicleConversionIcon: IconShapeTuple = ['vehicle-conversion', VehicleConversionShape];\nexport const virtualRealityIcon: IconShapeTuple = ['virtual-reality', VirtualRealityShape];\nexport const volkswagenIcon: IconShapeTuple = ['volkswagen', VWShape];\nexport const audiBrandIcon: IconShapeTuple = ['brand-audi', AudiBrandShape];\nexport const cupraBrandIcon: IconShapeTuple = ['brand-cupra', CupraBrandShape];\nexport const dwaBrandIcon: IconShapeTuple = ['brand-dwa', DWABrandShape];\nexport const porscheBrandIcon: IconShapeTuple = ['brand-porsche', PorscheBrandShape];\nexport const seatBrandIcon: IconShapeTuple = ['brand-seat', SeatBrandShape];\nexport const skodaBrandIcon: IconShapeTuple = ['brand-skoda', SkodaBrandShape];\nexport const vwBrandIcon: IconShapeTuple = ['brand-vw', VWBrandShape];\nexport const vwnBrandIcon: IconShapeTuple = ['brand-vwn', VWNBrandShape];\nexport const view360Icon: IconShapeTuple = ['view-360', View360Shape];\nexport const wheelToWheelIcon: IconShapeTuple = ['wheel-to-wheel', WheelToWheelShape];\nexport const windscreenWashIcon: IconShapeTuple = ['windscreen-wash', WindscreenWashShape];\nexport const wrenchForwardIcon: IconShapeTuple = ['wrench-fwd', WrenchForward];\nexport const topcardIcon: IconShapeTuple = ['topcard', TopcardShape];\nexport const taskAndAppointmentIcon: IconShapeTuple = ['task-appointment', TaskAndAppointment];\nexport const parkingLocationIcon: IconShapeTuple = ['parking-location', ParkingLocation];\nexport const partsIcon: IconShapeTuple = ['parts', PartsShape];\nexport const partsForwardIcon: IconShapeTuple = ['parts-fwd', PartsForwardShape];\nexport const partsNonStockIcon: IconShapeTuple = ['parts-nonstock', PartsNonStockShape];\nexport const partsNonStockForwardIcon: IconShapeTuple = ['parts-nonstock-fwd', PartNonStockForwardShape];\nexport const paintMaterialIcon: IconShapeTuple = ['paint-material', PaintMaterialShape];\nexport const paintMaterialForwardIcon: IconShapeTuple = ['paint-material-fwd', PaintMaterialForwardShape];\nexport const itemsRecieveIcon: IconShapeTuple = ['items-receive', ItemsReceiveShape];\nexport const itemsForwardIcon: IconShapeTuple = ['items-forward', ItemsForwardShape];\nexport const dollarBillPartialIcon: IconShapeTuple = ['money-partial', DollarBillPartialShape];\nexport const dollarBillForwardIcon: IconShapeTuple = ['money-fwd', DollarBillForwardShape];\nexport const blocksGroupForwardIcon: IconShapeTuple = ['blocksgroup-fwd', BlocksGroupForwardShape];\nexport const textForwardIcon: IconShapeTuple = ['text-fwd', TextForward];\nexport const calculatorForwardIcon: IconShapeTuple = ['calculator-fwd', CalculatorForwardShape];\nexport const bundleForwardIcon: IconShapeTuple = ['bundle-fwd', BundleForwardShape];\nexport const internalPartForwardIcon: IconShapeTuple = ['part-return', InternalPartForwardShape];\nexport const invoiceIcon: IconShapeTuple = ['invoice', InvoiceShape];\nexport const invoiceReadyIcon: IconShapeTuple = ['invoice-ready', InvoiceReadyShape];\nexport const externalPartForwardIcon: IconShapeTuple = ['part-return-fwd', ExternalPartForwardShape];\nexport const businessPartnerWithCarIcon: IconShapeTuple = ['bp-with-car', BusinessPartnerWithCar];\nexport const campaignOutdatedIcon: IconShapeTuple = ['campaign-outdated', CampaignOutdatedShape];\nexport const campaignIcon: IconShapeTuple = ['campaign', CampaignShape];\nexport const vinIcon: IconShapeTuple = ['vin', VinShape];\nexport const wcpIcon: IconShapeTuple = ['wcp', WCPShape];\nexport const vsfSearchIcon: IconShapeTuple = ['vsf-search', VsfSearchShape];\nexport const allIcons: IconShapeTuple[] = [\n airConditionerIcon,\n accessoriesIcon,\n accessoryPartsIcon,\n acceptanceDateIcon,\n awardWinnerPremiumIcon,\n brochureIcon,\n businessCustomersCommercialIcon,\n businessCustomersPrivateIcon,\n californiaServiceIcon,\n californiaSpecialistIcon,\n carOffSite,\n carOnSite,\n carPickupServiceIcon,\n carWashIcon,\n certifiedRepairIcon,\n certifiedRetailerIcon,\n completedByDateIcon,\n configuratorCommercialIcon,\n configuratorPrivateIcon,\n consumptionIcon,\n contactDealerIcon,\n customersCenterIcon,\n dieselIcon,\n driversAssistanceIcon,\n efficiencyIcon,\n electricCarsIcon,\n electricCarsServiceIcon,\n electricityIcon,\n emissionIcon,\n energyIcon,\n engineIcon,\n expressServiceIcon,\n exteriorIcon,\n findACarIcon,\n fleetServiceCommercialIcon,\n fleetServicePrivateIcon,\n gasIcon,\n gasCarsServiceIcon,\n hybridIcon,\n loadingVolumeIcon,\n locateIcon,\n newCarCommercialIcon,\n newCarPrivateIcon,\n newCarUtilityVehicleIcon,\n nightServiceIcon,\n offersIcon,\n onCallDutyIcon,\n openSatIcon,\n paintShopIcon,\n payloadIcon,\n performanceIcon,\n petrolIcon,\n plusServiceIcon,\n powerIcon,\n powerTrainIcon,\n priceTypeSwitchIcon,\n qualifiedWorkshopIcon,\n returnDateIcon,\n repeatRepairIcon,\n roadsideAssistanceIcon,\n routeIcon,\n seatIcon,\n seatAirIcon,\n sizeIcon,\n serviceIcon,\n serviceBellIcon,\n stockLocatorCommercialIcon,\n stockLocatorPrivateIcon,\n taxiDealerIcon,\n transmissionAutomaticIcon,\n transmissionManualIcon,\n touaregServiceIcon,\n usedCarCommercialIcon,\n usedCarPrivateIcon,\n vehicleConversionIcon,\n virtualRealityIcon,\n volkswagenIcon,\n audiBrandIcon,\n cupraBrandIcon,\n dwaBrandIcon,\n porscheBrandIcon,\n seatBrandIcon,\n skodaBrandIcon,\n vwBrandIcon,\n vwnBrandIcon,\n view360Icon,\n wheelToWheelIcon,\n windscreenWashIcon,\n wrenchForwardIcon,\n topcardIcon,\n taskAndAppointmentIcon,\n parkingLocationIcon,\n partsIcon,\n partsForwardIcon,\n partsNonStockIcon,\n partsNonStockForwardIcon,\n paintMaterialIcon,\n paintMaterialForwardIcon,\n itemsRecieveIcon,\n itemsForwardIcon,\n dollarBillPartialIcon,\n dollarBillForwardIcon,\n blocksGroupForwardIcon,\n textForwardIcon,\n calculatorForwardIcon,\n bundleForwardIcon,\n internalPartForwardIcon,\n invoiceIcon,\n invoiceReadyIcon,\n externalPartForwardIcon,\n businessPartnerWithCarIcon,\n campaignOutdatedIcon,\n campaignIcon,\n vinIcon,\n wcpIcon,\n vsfSearchIcon,\n];\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './shapes';\nexport * from './svg-tag-generator';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ElementRef, HostBinding, Input, Renderer2, ViewChild } from '@angular/core';\nimport { ClarityIcons } from '@cds/core/icon';\nimport {\n audiBrandIcon,\n cupraBrandIcon,\n dwaBrandIcon,\n newCarPrivateIcon,\n porscheBrandIcon,\n seatBrandIcon,\n skodaBrandIcon,\n vwBrandIcon,\n vwnBrandIcon,\n} from '../icons';\n\nexport enum AcceptedBrands {\n AUDI,\n CUPRA,\n DWA,\n PORSCHE,\n SEAT,\n SKODA,\n VW,\n VWN,\n}\n\n// import car brands to be used for cds-icon\nClarityIcons.addIcons(\n audiBrandIcon,\n cupraBrandIcon,\n dwaBrandIcon,\n porscheBrandIcon,\n seatBrandIcon,\n skodaBrandIcon,\n vwnBrandIcon,\n vwBrandIcon,\n newCarPrivateIcon\n);\n\n@Component({\n selector: 'clr-brand-avatar',\n templateUrl: './brand-avatar.html',\n})\nexport class ClrBrandAvatar {\n @HostBinding('class.clr-brand-avatar') avatar = true;\n\n @Input('clrBrand') brand: string;\n @Input('clrSize') size = 24;\n\n @ViewChild('avatar', { static: true }) avatarElement: ElementRef;\n\n static DEFAULT_ICON_SHAPE = 'new-car-private';\n\n constructor(private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.renderer.setStyle(this.avatarElement.nativeElement, 'width', this.size + 'px');\n this.renderer.setStyle(this.avatarElement.nativeElement, 'height', this.size + 'px');\n }\n\n getShape(): string {\n const brandName = ClrBrandAvatar.getCleanBrandName(this.brand);\n if (brandName in AcceptedBrands) {\n return 'brand-' + brandName.toLowerCase();\n }\n return this.getDefaultIcon();\n }\n\n getDefaultIcon() {\n return ClrBrandAvatar.DEFAULT_ICON_SHAPE;\n }\n\n static getCleanBrandName(input: string): string {\n let output: string = '' + input;\n output = output.replace(/ /g, '');\n output = output.replace(/-/g, '');\n output = output.replace(/_/g, '');\n output = output.toUpperCase();\n output = output.replace('VOLKSWAGEN', 'VW');\n output = output.replace('NUTZFAHRZEUGE', 'N');\n output = output.replace('DASWELTAUTO', 'DWA');\n output = output.replace('Š', 'S');\n return output;\n }\n}\n","<div class=\"brand-avatar-rectangle\">\n <div #avatar class=\"brand-avatar-icon-container\">\n <cds-icon\n [attr.size]=\"size\"\n [attr.shape]=\"getShape()\"\n [ngClass]=\"{'default-icon': getShape() === getDefaultIcon()}\"\n ></cds-icon>\n </div>\n</div>\n","/*\n * Copyright (c) 2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrBrandAvatar } from './brand-avatar';\n\n@NgModule({\n imports: [CommonModule, ClarityModule],\n declarations: [ClrBrandAvatar],\n exports: [ClrBrandAvatar],\n})\nexport class ClrBrandAvatarModule {}\n","/*\n * Copyright (c) 2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './brand-avatar';\nexport * from './brand-avatar.module';\n","/**\n * The abstract base class for all identifier types\n */\nexport abstract class NodeId {\n /**\n * @param other The other instance to check for equality\n */\n abstract equals(other: NodeId): boolean;\n}\n\n/**\n * The data structure of the location bar component. A location bar node holds the data of\n * a single node of the location bar. The type of the nodes id is generic and is determined\n * by the user of the location bar component (e.g. can be a combined identifier). Each node\n * can have a parent node (except the root node) and an array of children (except leaf nodes).\n */\nexport class LocationBarNode<T extends NodeId> {\n private selectedChild: LocationBarNode<T>;\n private children: LocationBarNode<T>[];\n\n /**\n * @param id The generic identifier of the node\n * @param label The label to visualize the node\n * @param selectable Indicator whether the node is selectable\n * @param preSelected Indicator whether the node is pre-selected\n */\n constructor(\n public id: T,\n public label: string,\n public selectable: boolean = true,\n public preSelected: boolean = false\n ) {}\n\n /**\n * Returns the children of this node. If the children has not been determined so far, null will\n * be returned. If this node does not have any children, an empty array will be returned.\n */\n getChildren(): LocationBarNode<T>[] {\n return this.children;\n }\n\n /**\n * Sets the children for this node\n * @param children The children to be set for this node\n * @return This node instance to support a fluent API\n */\n setChildren(children: LocationBarNode<T>[]) {\n this.children = children || [];\n }\n\n /**\n * Sets the new selected child\n * @param selectedChild The child to be selected\n */\n setSelectedChild(selectedChild: LocationBarNode<T>) {\n if (this.selectedChild && !selectedChild) {\n this.selectedChild.setSelectedChild(null);\n }\n this.selectedChild = selectedChild;\n }\n\n /**\n * @returns The currently selected child\n */\n getSelectedChild(): LocationBarNode<T> {\n return this.selectedChild;\n }\n\n /**\n * @param other The other instance to check for equality\n */\n equals(other: LocationBarNode<T>): boolean {\n return this.id.equals(other.id);\n }\n}\n","import { LocationBarNode, NodeId } from './location-bar.model';\nimport { Observable } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\nimport { SearchResponseModel } from './location-bar.search.model';\n\nexport const CONTENT_PROVIDER = new InjectionToken<any>('CONTENT_PROVIDER');\n\n/**\n * Interface denoting the contract between the location bar component and\n * its users. The content provider offers callback methods for the location bar\n * component to gather the content to be displayed.\n */\nexport abstract class LocationBarContentProvider<T extends NodeId> {\n /**\n * Determines the children of the given node. This will only be called if the children of the node are falsy.\n * This enables lazy loading of children. This method should not return a falsy value but at least an empty array.\n *\n * @param node The children of this node should be determined\n */\n abstract getLazyChildren(node: LocationBarNode<T>): Observable<LocationBarNode<T>[]>;\n\n /**\n * Notify users that search is performed and that nodes should be filtered.\n *\n * @param _response Search response\n */\n searchPerformed(_response: SearchResponseModel<T>): void {\n // no implementation if search not enabled\n }\n}\n","import { Directive, ElementRef, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ControlIdService } from './control-id.service';\n\n@Directive({ selector: 'label' })\nexport class ClrAddonsLabel implements OnInit, OnDestroy {\n destroyed$ = new Subject<void>();\n\n constructor(\n @Optional() private controlIdService: ControlIdService,\n private renderer: Renderer2,\n private el: ElementRef\n ) {}\n\n ngOnInit() {\n // Only add the clr-control-label if it is inside a control container\n if (this.controlIdService) {\n this.renderer.addClass(this.el.nativeElement, 'clr-control-label');\n }\n\n if (this.controlIdService && !(this.el.nativeElement as HTMLLabelElement).getAttribute('for')) {\n this.controlIdService.idChange.pipe(takeUntil(this.destroyed$)).subscribe(id =>\n // setTimeout needed, otherwise the ClrLabel directive of clarity will remove this via HostBinding again\n setTimeout(() => this.renderer.setAttribute(this.el.nativeElement, 'for', id))\n );\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { SearchRequestModel } from '../location-bar.search.model';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'clr-location-bar-search',\n templateUrl: './location-bar-search.component.html',\n styleUrls: ['location-bar-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LocationBarSearchComponent implements OnInit {\n searchControl = new FormControl('');\n previousValue: string = '';\n displayWarning: boolean = false;\n\n readonly MIN_CHARACTERS_DEFAULT: number = 3;\n readonly MIM_CHARACTERS_TEXT_DEFAULT: string = 'Type 3+ characters to search.';\n\n @Input('clrSearchRequest') searchRequest: SearchRequestModel;\n\n @Output('searchPerformed') searchPerformed = new EventEmitter<string>();\n\n @ViewChild('searchInput', { static: true }) searchInput: ElementRef;\n\n ngOnInit() {\n this.searchControl.valueChanges.subscribe(text => this.onSearch(text));\n }\n\n private onSearch(text: string) {\n const validatedText = this.validateSearchText(text);\n if (validatedText !== null) {\n this.searchPerformed.emit(validatedText);\n this.displayWarning = false;\n }\n }\n\n private validateSearchText(text: string): string {\n const isDeletion = this.isTextDeletion(text);\n this.displayWarning = text.length < this.getMinSearchTextLength();\n if (isDeletion) {\n return text.length >= this.getMinSearchTextLength() ? text : '';\n } else {\n return text.length >= this.getMinSearchTextLength() ? text : null;\n }\n }\n\n public focusInput(): void {\n setTimeout(() => {\n this.searchInput.nativeElement.focus();\n });\n }\n\n private isTextDeletion(text: string): boolean {\n const isDeletion = text.length < this.previousValue.length;\n this.previousValue = text;\n return isDeletion;\n }\n\n private getMinSearchTextLength(): number {\n return this.searchRequest?.minCharacters !== undefined\n ? this.searchRequest.minCharacters\n : this.MIN_CHARACTERS_DEFAULT;\n }\n\n preventDropdownActions(event: Event) {\n event.stopPropagation();\n }\n}\n","<div class=\"clr-col-md-12 search-wrapper\">\n <form clrForm>\n <clr-input-container class=\"input-container\">\n <label hidden></label>\n <input\n #searchInput\n class=\"clr-col-md-12\"\n clrInput\n clrSearch\n [placeholder]=\"searchRequest?.placeholder ?? ''\"\n type=\"text\"\n name=\"search\"\n (keydown.Space)=\"preventDropdownActions($event)\"\n [formControl]=\"searchControl\"\n />\n <clr-control-helper *ngIf=\"displayWarning\" class=\"min-text-warning\">{{\n searchRequest?.minCharacterText ?? MIM_CHARACTERS_TEXT_DEFAULT\n }}</clr-control-helper>\n </clr-input-container>\n </form>\n</div>\n","import {\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n Optional,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { angleIcon, ClarityIcons, treeViewIcon } from '@cds/core/icon';\nimport '@cds/core/icon/register.js';\nimport { of } from 'rxjs';\nimport { LocationBarNode, NodeId } from '../location-bar.model';\nimport { CONTENT_PROVIDER, LocationBarContentProvider } from '../location-bar.provider';\nimport { SearchRequestModel, SearchResultModel } from '../location-bar.search.model';\nimport { LocationBarSearchComponent } from '../location-bar-search/location-bar-search.component';\n\nClarityIcons.addIcons(treeViewIcon, angleIcon);\n\n/**\n * Component which renders a node of the location bar.\n */\n@Component({\n selector: 'clr-location-bar-node',\n templateUrl: './location-bar-node.component.html',\n host: { '[class.location-bar-node]': 'true' },\n})\nexport class LocationBarNodeComponent<T extends NodeId> implements OnChanges {\n /**\n * The parent node of this component\n */\n private _parentNode: LocationBarNode<T>;\n\n /**\n * The selectable nodes\n */\n selectableChilds: LocationBarNode<T>[] = [];\n\n searchText: string;\n\n focus: boolean;\n\n readonly SEARCH_ITEM_STORAGE_KEY: string = 'searchedItem';\n\n /* inputs */\n @Input()\n set parentNode(parentNode: LocationBarNode<T>) {\n this._parentNode = parentNode;\n if (this._parentNode) {\n const children$ = this._parentNode.getChildren() ? of(this._parentNode.getChildren()) : this.getLazyChildren();\n\n children$.toPromise().then(nodes => this.prepareChildren(nodes || []));\n }\n }\n @Input('clrSearchResultItems') searchResultItems: SearchResultModel[] = [];\n @Input('clrSearchRequest') searchRequest: SearchRequestModel;\n\n /* outputs */\n /**\n * Emits selection changes\n */\n @Output() selectionChanged = new EventEmitter<T[]>();\n @Output() searchItemChanged = new EventEmitter<SearchResultModel>();\n\n @ViewChild('locationBarSearch') set locationBarSearch(search: LocationBarSearchComponent) {\n if (search) {\n search.focusInput();\n }\n }\n\n constructor(@Inject(CONTENT_PROVIDER) @Optional() public contentProvider: LocationBarContentProvider<T>) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.searchResultItems) {\n this.searchResultItems = changes.searchResultItems.currentValue;\n }\n }\n\n get parentNode(): LocationBarNode<T> {\n return this._parentNode;\n }\n\n private getLazyChildren() {\n return this.contentProvider ? this.contentProvider.getLazyChildren(this._parentNode) : of([]);\n }\n\n private prepareChildren(nodes: LocationBarNode<T>[]) {\n this._parentNode.setChildren(nodes);\n /* when no node is selected search within the children for the first child to be pre-selected */\n if (!this._parentNode.getSelectedChild()) {\n for (const node of nodes) {\n if (node.preSelected) {\n this._parentNode.setSelectedChild(node);\n node.preSelected = false;\n break;\n }\n }\n }\n this.selectableChilds = nodes.filter(n => n.selectable);\n }\n\n /**\n * Listens for selection changes of child components and re-emits the selection event.\n * @param selection The changed selection of child components\n */\n onSelectionChanged(selection: T[]) {\n selection.unshift(this._parentNode.getSelectedChild().id);\n this.selectionChanged.emit(selection);\n }\n\n /**\n * Selects the given node\n * @param selectedNode The selected child node.\n */\n selectNode(selectedNode: LocationBarNode<T>) {\n if (selectedNode) {\n selectedNode.setSelectedChild(null);\n this._parentNode.setSelectedChild(selectedNode);\n this.notifySelectionChanged(selectedNode);\n }\n }\n\n /**\n * Method called internally to emit the selection event\n * @param selectedNode The node which has been selected\n */\n private notifySelectionChanged(selectedNode: LocationBarNode<T>) {\n this.selectionChanged.emit([selectedNode.id]);\n }\n\n onSearch(text: string) {\n this.searchText = text;\n this.contentProvider.searchPerformed({ text: text, searchableNodes: this._parentNode.getChildren() });\n }\n\n displaySearchResult(): boolean {\n return this.searchResultItems.length !== 0 || !!this.searchText;\n }\n\n resetSearch(): void {\n this.searchResultItems = [];\n this.searchText = '';\n }\n\n onSearchItemChanged(item: SearchResultModel): void {\n let searchedItem: SearchResultModel;\n if (item) {\n searchedItem = item;\n localStorage.setItem(this.SEARCH_ITEM_STORAGE_KEY, JSON.stringify(item));\n } else {\n const storageItem = localStorage.getItem(this.SEARCH_ITEM_STORAGE_KEY);\n if (storageItem) {\n searchedItem = JSON.parse(storageItem);\n }\n }\n this.searchItemChanged.emit(searchedItem);\n }\n}\n","<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon>&nbsp;...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" *clrIfOpen>\n <clr-location-bar-search\n #locationBarSearch\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <ng-container *ngIf=\"displaySearchResult(); else displaySelectableChilds\">\n <ng-container *ngIf=\"searchResultItems.length !== 0; else displayNotFound\">\n <button\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate display-result\"\n *ngFor=\"let searchResultItem of searchResultItems\"\n (click)=\"onSearchItemChanged(searchResultItem)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchRequest?.searchResultItemRef; context: { $implicit: searchResultItem }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #displayNotFound>\n <span class=\"no-result-text\">\n {{ searchRequest?.noResultsText ?? 'No search result found.' }}\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #displaySelectableChilds>\n <button\n *ngFor=\"let item of selectableChilds\"\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate display-result\"\n [class.selected-child]=\"item.id === parentNode.getSelectedChild()?.id\"\n (click)=\"selectNode(item)\"\n title=\"{{ item.label }}\"\n >\n {{ item.label }}\n </button>\n </ng-template>\n </clr-dropdown-menu>\n </clr-dropdown>\n </ng-container>\n\n <ng-template #singleSelected>\n <ng-container *ngIf=\"parentNode.getSelectedChild()\">\n <ng-container *ngIf=\"parentNode.getSelectedChild().selectable; else unselectable\">\n <button\n class=\"btn btn-link btn-sm\"\n (click)=\"selectNode(parentNode.getSelectedChild())\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </button>\n </ng-container>\n <ng-template #unselectable>\n <span\n class=\"unselectable-node text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </span>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <clr-location-bar-node\n *ngIf=\"parentNode.getSelectedChild() && parentNode.getChildren().length > 0\"\n [parentNode]=\"parentNode.getSelectedChild()\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"onSearchItemChanged(null)\"\n >\n <span>/</span>\n </clr-location-bar-node>\n</ng-container>\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { ClarityIcons, organizationIcon } from '@cds/core/icon';\nimport '@cds/core/icon/register.js';\nimport { ReplaySubject } from 'rxjs';\nimport { LocationBarNode, NodeId } from './location-bar.model';\nimport { SearchRequestModel } from './location-bar.search.model';\nimport { SearchResultModel } from './location-bar.search.model';\n\nClarityIcons.addIcons(organizationIcon);\n\n@Component({\n selector: 'clr-location-bar',\n templateUrl: './location-bar.component.html',\n})\nexport class LocationBarComponent<T extends NodeId> implements OnChanges {\n root$ = new ReplaySubject<LocationBarNode<T>>();\n\n @Input('clrIconShape') iconShape = 'organization';\n @Input('clrIconTitle') iconTitle = '';\n @Input('clrSearchRequest') searchRequest: SearchRequestModel;\n @Input('clrSearchResultItems') searchResultItems: SearchResultModel[] = [];\n\n @Input('clrRoots')\n set roots(roots: LocationBarNode<T>[]) {\n const internalRoot = new LocationBarNode(null, null, false);\n internalRoot.setChildren(roots);\n if (roots.length === 1) {\n internalRoot.setSelectedChild(roots[0]);\n }\n this.root$.next(internalRoot);\n }\n\n @Output('clrSelectionChanged') selectionChanged = new EventEmitter<T[]>();\n @Output('clrSearchItemChanged') searchItemChanged = new EventEmitter<SearchResultModel>();\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.searchResultItems) {\n this.searchResultItems = changes.searchResultItems.currentValue;\n }\n }\n\n onSelectionChanged(selection: T[]) {\n this.selectionChanged.emit(selection);\n }\n}\n","<cds-icon *ngIf=\"iconShape\" [attr.shape]=\"iconShape\" [title]=\"iconTitle\"></cds-icon>\n<clr-location-bar-node\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"searchItemChanged.emit($event)\"\n [parentNode]=\"root$ | async\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n>\n</clr-location-bar-node>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrAddonsLabel } from './label';\n\n@NgModule({\n declarations: [ClrAddonsLabel],\n exports: [ClrAddonsLabel],\n})\nexport class ClrFormModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule, ClrDropdownModule, ClrIconModule } from '@clr/angular';\nimport { LocationBarComponent } from './location-bar.component';\nimport { LocationBarNodeComponent } from './location-bar-node/location-bar-node.component';\nimport { ClrDropdownOverflowModule } from '../dropdown';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ClrAutocompleteOffModule } from '../autocomplete-off';\nimport { ClrFormModule } from '../abstract-form-component';\nimport { ClrSearchFieldModule } from '../searchfield';\nimport { LocationBarSearchComponent } from './location-bar-search/location-bar-search.component';\n\n@NgModule({\n declarations: [LocationBarComponent, LocationBarNodeComponent, LocationBarSearchComponent],\n imports: [\n CommonModule,\n ClrIconModule,\n ClrDropdownModule,\n ClrDropdownOverflowModule,\n ClarityModule,\n FormsModule,\n ClrAutocompleteOffModule,\n ClrFormModule,\n ClrSearchFieldModule,\n ReactiveFormsModule,\n ],\n exports: [LocationBarComponent],\n})\nexport class ClrLocationBarModule {}\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[clrDgField],[clrDgFieldKey]',\n})\nexport class DatagridFieldDirective {\n @Input()\n clrDgField: string;\n @Input()\n clrDgFieldKey: string;\n\n getFieldName(): string {\n return this.clrDgField ?? this.clrDgFieldKey;\n }\n}\n","import {\n AfterContentInit,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {\n ClrDatagrid,\n ClrDatagridComparatorInterface,\n ClrDatagridFilter,\n ClrDatagridFilterInterface,\n ClrDatagridPagination,\n ClrDatagridSortOrder,\n ClrDatagridStateInterface,\n DatagridPropertyComparator,\n} from '@clr/angular';\nimport { ClrDatagridStatePersistenceModel } from './datagrid-state-persistence-model.interface';\nimport { delay, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { StatePersistenceOptions } from './state-persistence-options.interface';\n\nconst DATE_TYPE = 'date';\n\ninterface FilterValueWithMetadata {\n type: string;\n value: unknown;\n}\n\n@Directive({\n selector: '[clrStatePersistenceKey]',\n})\nexport class StatePersistenceKeyDirective implements AfterContentInit, OnDestroy {\n /**\n * Configuration options for the persistence.\n * 'Key' represents the local storage key under which the persistence state is stored.\n *\n * Optional fields with the 'persist' prefix toggle the persistence of the respective datagrid functionality,\n * the default value is always 'true'.\n */\n @Input('clrStatePersistenceKey')\n options: StatePersistenceOptions;\n\n @Input('clrUseLocalStoreOnly')\n useLocalStoreOnly = false;\n\n @Input('clrPaginationDescription')\n paginationDescription = '';\n\n @ContentChild(ClrDatagridPagination)\n pagination: ClrDatagridPagination;\n\n @ContentChild(ClrDatagridPagination, { read: ElementRef })\n paginationElem: ElementRef;\n\n @ContentChildren(ClrDatagridFilter, { descendants: true })\n customFilters: QueryList<ClrDatagridFilter>;\n\n canShowPaginationDescription = false;\n warnedAboutCustomDescription = false;\n destroy$ = new Subject<void>();\n\n constructor(private datagrid: ClrDatagrid) {}\n\n ngAfterContentInit() {\n if (this.options.serverDriven) {\n this.init();\n } else {\n setTimeout(() => {\n this.init();\n });\n }\n }\n\n private init() {\n const volatileDataState = this.getVolatileDataState();\n const localStorageState = this.getLocalStorageState();\n\n this.initFilter(volatileDataState);\n this.initSorting(localStorageState);\n this.initDatagridPersister();\n\n const paginationPersistenceEnabled = this.options.persistPagination ?? true;\n if (this.pagination?.page && paginationPersistenceEnabled) {\n this.initPageSizePersister(localStorageState);\n this.initCurrentPage(volatileDataState);\n }\n this.canShowPaginationDescription = true;\n }\n\n /**\n * With this method filters can be cleared\n * @param key The key for clrStatePersistenceKey\n * @param useLocalStoreOnly The clrUseLocalStoreOnly indicator\n */\n static clearFilters(key: string, useLocalStoreOnly: boolean): void {\n const data = JSON.parse((useLocalStoreOnly ? localStorage : sessionStorage).getItem(key)) || {};\n data.columns = {};\n (useLocalStoreOnly ? localStorage : sessionStorage).setItem(key, JSON.stringify(data));\n }\n\n private initPageSizePersister(savedState: ClrDatagridStatePersistenceModel) {\n /* persist page size changes in local storage */\n this.pagination.page.sizeChange.pipe(takeUntil(this.destroy$)).subscribe(pageSize => {\n const state = this.getLocalStorageState();\n state.pageSize = pageSize;\n localStorage.setItem(this.options.key, JSON.stringify(state));\n });\n\n /* init page size of datagrid if already persisted in local storage */\n if (savedState.pageSize) {\n this.pagination.page.size = savedState.pageSize;\n }\n }\n\n private initCurrentPage(savedState: ClrDatagridStatePersistenceModel) {\n /* init current page of datagrid if already persisted */\n if (savedState?.currentPage) {\n this.datagrid.items.change.pipe(take(1)).subscribe(() => (this.pagination.page.current = savedState.currentPage));\n }\n }\n\n private initFilter(savedState: ClrDatagridStatePersistenceModel): void {\n const filterPersistenceEnabled = this.options.persistFilters ?? true;\n if (savedState.columns && filterPersistenceEnabled) {\n Object.keys(savedState.columns).forEach(prop => {\n const filter = this.getFilter(prop);\n if (filter) {\n /* if the saved value is empty filter send null */\n const savedFilterValue = savedState.columns[prop].filterValue;\n if (savedFilterValue == null) {\n (filter as any)['value'] = null;\n } else {\n Object.keys(savedFilterValue)\n .filter(valueKey => valueKey !== 'property')\n .forEach(valueKey => ((filter as any)[valueKey] = this.parseFilterValue(savedFilterValue[valueKey])));\n }\n }\n });\n }\n }\n\n private initSorting(savedState: ClrDatagridStatePersistenceModel): void {\n const sortPersistenceEnabled = this.options.persistSort ?? true;\n if (savedState.sortBy && sortPersistenceEnabled) {\n this.datagrid.columns.forEach(column => {\n if (this.getSortProperty(column.sortBy) === savedState.sortBy) {\n column.sortOrder = savedState.sortReverse ? ClrDatagridSortOrder.DESC : ClrDatagridSortOrder.ASC;\n } else {\n column.sortOrder = ClrDatagridSortOrder.UNSORTED;\n }\n });\n }\n }\n\n private initDatagridPersister() {\n // delay is needed, as onDestroy the filters emit empty values.\n // So delay it to the end of the current cycle, so the directive is also destroyed before it gets the next values\n this.datagrid.refresh.pipe(delay(0), takeUntil(this.destroy$)).subscribe(dgState => {\n this.persistFiltersAndCurrentPage(dgState);\n this.persistSorting(dgState);\n\n if (this.canShowPaginationDescription) {\n this.updatePaginationDescription();\n }\n });\n\n this.datagrid.items.change.pipe(takeUntil(this.destroy$)).subscribe(() => this.updatePaginationDescription());\n }\n\n private persistFiltersAndCurrentPage(dgState: ClrDatagridStateInterface<unknown>): void {\n const filterPersistenceEnabled = this.options.persistFilters ?? true;\n const paginationPersistenceEnabled = this.options.persistPagination ?? true;\n\n const state = this.getVolatileDataState();\n state.columns = state.columns || {};\n\n if (paginationPersistenceEnabled) {\n state.currentPage = dgState.page?.current;\n }\n\n if (filterPersistenceEnabled) {\n Object.keys(state.columns).forEach(prop => (state.columns[prop].filterValue = undefined));\n dgState.filters?.forEach(filter => {\n const property = this.getFilterPropertyName(filter);\n if (property) {\n state.columns[property] = state.columns[property] || {};\n state.columns[property].filterValue = this.enrichFilterValue(filter);\n }\n });\n }\n\n (this.useLocalStoreOnly ? localStorage : sessionStorage).setItem(this.options.key, JSON.stringify(state));\n }\n\n private persistSorting(dgState: ClrDatagridStateInterface<unknown>): void {\n const sortPersistenceEnabled = this.options.persistSort ?? true;\n if (sortPersistenceEnabled) {\n const state = this.getLocalStorageState();\n state.sortBy = this.getSortProperty(dgState.sort?.by);\n state.sortReverse = dgState.sort?.reverse;\n\n localStorage.setItem(this.options.key, JSON.stringify(state));\n }\n }\n\n /**\n * Pagination description must be set by this directive,\n * otherwise we can't update datagrid values from localStorage\n * without getting ExpressionChangedAfterItHasBeenCheckedError\n */\n private updatePaginationDescription() {\n if (this.paginationElem && this.pagination) {\n const paginationDescElem = (<HTMLElement>this.paginationElem.nativeElement).getElementsByClassName(\n 'pagination-description'\n )?.[0];\n if (paginationDescElem) {\n if (!this.warnedAboutCustomDescription && paginationDescElem.textContent.trim().length !== 0) {\n console.error(\n 'When using clrStatePersistenceKey directive, you should not use custom pagination description' +\n ' inside pagination component content, but use [clrPaginationDescription] on clr-datagrid'\n );\n }\n this.warnedAboutCustomDescription = true;\n if (this.paginationDescription) {\n paginationDescElem.textContent = this.paginationDescription\n .replace('{{first}}', (this.pagination.firstItem + 1).toString())\n .replace('{{last}}', (this.pagination.lastItem + 1).toString())\n .replace('{{total}}', this.pagination.totalItems.toString());\n }\n }\n }\n }\n\n /**\n * Gets the state of volatile data. This can be influenced by clrUseLocalStoreOnly.\n */\n getVolatileDataState(): ClrDatagridStatePersistenceModel {\n return JSON.parse((this.useLocalStoreOnly ? localStorage : sessionStorage).getItem(this.options.key)) || {};\n }\n\n getLocalStorageState(): ClrDatagridStatePersistenceModel {\n return JSON.parse(localStorage.getItem(this.options.key)) || {};\n }\n\n /**\n * As a date is serialized as string, but not deserialized as date\n * we need to add some meta information to do that manually later\n */\n private enrichFilterValue(filter: Record<string, unknown>) {\n const result = {} as Record<string, unknown>;\n\n Object.keys(filter).forEach(\n key =>\n (result[key] =\n filter[key] instanceof Date\n ? ({\n type: DATE_TYPE,\n value: filter[key],\n } as FilterValueWithMetadata)\n : filter[key])\n );\n\n return result;\n }\n\n /**\n * Parse filter values with meta information like date, which needs manual deserialization to a date object\n */\n private parseFilterValue(value: unknown): unknown {\n return (value as FilterValueWithMetadata)?.type === DATE_TYPE\n ? new Date((value as FilterValueWithMetadata).value as string)\n : value;\n }\n\n private getFilter(prop: string): ClrDatagridFilterInterface<unknown, unknown> {\n // get default filter or custom filter\n return (\n this.datagrid.columns.find(col => col.field === prop)?.filter ||\n this.customFilters.find(filter => this.getFilterPropertyName(filter.filter) === prop)?.filter\n );\n }\n\n private getFilterPropertyName(filter: ClrDatagridFilterInterface<unknown, unknown>): string {\n // for NestedProperty we need to get the original property\n const filterWithProp = filter as unknown as { property: unknown };\n return ((filterWithProp.property as Record<string, unknown>)?.prop || filterWithProp.property) as string;\n }\n\n private getSortProperty(sortBy: ClrDatagridComparatorInterface<unknown> | string): string | undefined {\n if (sortBy) {\n if (typeof sortBy === 'string') {\n return sortBy;\n }\n if (sortBy instanceof DatagridPropertyComparator) {\n return sortBy.prop;\n }\n }\n return undefined;\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Directive, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { DatagridFieldDirective } from './datagrid-field.directive';\nimport { ClrDatagrid, ClrDatagridHideableColumn } from '@clr/angular';\nimport { StatePersistenceKeyDirective } from './state-persistence-key.directive';\nimport { ClrDatagridStatePersistenceModel } from './datagrid-state-persistence-model.interface';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[clrDgHideableColumn]',\n})\nexport class ColumnHiddenStatePersistenceDirective implements OnInit, OnDestroy {\n destroy$ = new Subject<void>();\n\n constructor(\n @Optional() private columnDirective: DatagridFieldDirective,\n @Optional() private statePersistenceKey: StatePersistenceKeyDirective,\n private datagrid: ClrDatagrid,\n private hideableColumnDirective: ClrDatagridHideableColumn\n ) {}\n\n ngOnInit() {\n const persistenceEnabled = this.statePersistenceKey?.options?.persistHiddenColumns ?? true;\n if (this.statePersistenceKey?.options.key && this.columnDirective?.getFieldName() && persistenceEnabled) {\n /* set hidden states from local storage (if existing) */\n this.initHiddenState();\n\n /* listen to state changes and persist in local storage */\n this.hideableColumnDirective.hiddenChange.pipe(takeUntil(this.destroy$)).subscribe(hidden => {\n this.setHiddenState(hidden);\n });\n }\n }\n\n private initHiddenState() {\n /* read grid state if existing */\n const persistedGridState = this.readStoredState();\n\n /* read column state if existing */\n if (persistedGridState?.columns?.[this.columnDirective.getFieldName()]) {\n /* read column hidden state if existing */\n const persistedColumnHiddenState = persistedGridState.columns[this.columnDirective.getFieldName()].hidden;\n if (persistedColumnHiddenState !== undefined) {\n this.hideableColumnDirective.clrDgHidden = persistedColumnHiddenState === true;\n }\n }\n }\n\n private setHiddenState(hidden: boolean) {\n if (!this.datagrid?.detailService?.isOpen) {\n /* read grid state if existing */\n const persistedGridState = this.readStoredState();\n\n /* read column state if existing */\n if (!persistedGridState.columns) {\n persistedGridState.columns = {};\n }\n let persistedColumnState = persistedGridState.columns[this.columnDirective.getFieldName()];\n if (!persistedColumnState) {\n persistedColumnState = {};\n persistedGridState.columns[this.columnDirective.getFieldName()] = persistedColumnState;\n }\n\n /* set column hidden state and persist in local storage */\n persistedColumnState.hidden = hidden;\n localStorage.setItem(this.statePersistenceKey.options.key, JSON.stringify(persistedGridState));\n }\n }\n\n private readStoredState(): ClrDatagridStatePersistenceModel {\n return JSON.parse(localStorage.getItem(this.statePersistenceKey.options.key)) || {};\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ColumnHiddenStatePersistenceDirective } from './column-hidden-state-persistence.directive';\nimport { DatagridFieldDirective } from './datagrid-field.directive';\nimport { StatePersistenceKeyDirective } from './state-persistence-key.directive';\n\n@NgModule({\n declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective],\n exports: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective],\n})\nexport class ClrDatagridStatePersistenceModule {}\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { ClrDatagrid, ClrDatagridFilter, ClrDatagridFilterInterface } from '@clr/angular';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ClarityIcons, trashIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(trashIcon);\n\ninterface FilterValue {\n value: string;\n displayValue: string;\n}\n\n@Component({\n selector: 'clr-enum-filter',\n templateUrl: './enum-filter.component.html',\n styleUrls: ['./enum-filter.component.scss'],\n})\nexport class ClrEnumFilterComponent<T extends { [key: string]: any }>\n implements ClrDatagridFilterInterface<T>, OnDestroy\n{\n @Input('clrProperty') property = '';\n\n @Input('clrEmptyValuesTranslation')\n public set setEmptyValuesTranslation(translatedValue: string) {\n if (translatedValue !== this.emptyDefaultValue) {\n this.emptyValue = translatedValue;\n /* update values if translation set */\n this.setFilteredValues(this.filteredValues);\n if (this.possibleValues?.length !== 0) {\n this.setPossibleValues(this.possibleValues);\n }\n }\n }\n\n @Input('clrFilterValues')\n public set value(values: string[]) {\n this.setFilteredValues(values);\n }\n\n private setFilteredValues(values: (string | FilterValue)[]): void {\n const mappedValues = this.mapValues(values);\n if (this.possibleValues?.length) {\n const mappedPossibleValues = this.possibleValues.map(v => this.mapValue(v));\n const values = mappedValues.map(v => v.value);\n this.filteredValues = mappedPossibleValues.filter(possibleValue => values?.includes(possibleValue.value));\n this.clrFilterValuesChange.emit(this.getDisplayValues(this.filteredValues));\n } else {\n this.filteredValues = mappedValues;\n }\n\n this.changes.emit(true);\n }\n\n @Input() set clrPossibleValues(values: (string | FilterValue)[]) {\n this.setPossibleValues(values);\n this.customPossibleValues = true;\n }\n\n @Output() clrFilterValuesChange = new EventEmitter<string[]>();\n\n possibleValues: FilterValue[] = [];\n customPossibleValues = false;\n filteredValues: FilterValue[] = [];\n emptyDefaultValue: string = '(Empty)';\n emptyValue: string = this.emptyDefaultValue;\n changes = new EventEmitter<boolean>(false);\n\n destroyed$ = new Subject<void>();\n\n constructor(filterContainer: ClrDatagridFilter, datagrid: ClrDatagrid) {\n filterContainer.setFilter(this);\n datagrid.items.allChanges.pipe(takeUntil(this.destroyed$)).subscribe(items => {\n if (!this.customPossibleValues) {\n this.setPossibleValues(\n items.map(item => item[this.property]).filter((value, index, self) => self.indexOf(value) === index)\n );\n }\n });\n }\n\n setPossibleValues(values: (string | FilterValue)[]) {\n if (values === null) {\n values = [];\n }\n this.possibleValues = values.map(value => this.mapValue(value));\n this.possibleValues.sort((v1, v2) => v1.displayValue.localeCompare(v2.displayValue));\n this.filteredValues = this.filteredValues.filter(filtered =>\n this.containsFilterValue(this.possibleValues, filtered)\n );\n\n this.emitFilterChanged();\n }\n\n onChange(selectedValue: FilterValue, checkboxState: boolean) {\n if (checkboxState) {\n this.filteredValues.push(selectedValue);\n } else {\n this.filteredValues = this.filteredValues.filter(filtered => filtered.value !== selectedValue.value);\n }\n\n this.emitFilterChanged();\n }\n\n isActive(): boolean {\n return this.filteredValues.length > 0;\n }\n\n accepts(item: T): boolean {\n const displayValues = this.getDisplayValues(this.filteredValues);\n if (this.acceptEmptyValue(displayValues, item)) {\n return true;\n }\n return displayValues.includes(item[this.property]);\n }\n\n private acceptEmptyValue(displayValues: string[], item: T): boolean {\n return displayValues.some(value => !value) && !item[this.property];\n }\n\n public get state(): any {\n return {\n property: this.property,\n value: this.getValues(this.filteredValues),\n };\n }\n\n clearFilters() {\n this.filteredValues = [];\n this.emitFilterChanged();\n }\n\n private emitFilterChanged() {\n this.clrFilterValuesChange.emit(this.getDisplayValues(this.filteredValues));\n this.changes.emit(true);\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n protected containsFilterValue(entries: FilterValue[], filtered: FilterValue): boolean {\n return entries.some(v => v.value === filtered.value);\n }\n\n private getDisplayValues(entries: FilterValue[]): string[] {\n return entries.map(entry => (!entry.value ? entry.value : entry.displayValue));\n }\n\n private getValues(entries: FilterValue[]): string[] {\n return entries.map(entry => entry.value);\n }\n\n private mapValues(values: (string | FilterValue)[]): FilterValue[] {\n if (!values) {\n return [];\n }\n return values.map(value => this.mapValue(value));\n }\n\n private mapValue(value: string | FilterValue): FilterValue {\n if (value instanceof Object) {\n return !value.value ? { value: '', displayValue: this.emptyValue } : value;\n }\n\n return value ? { value: value, displayValue: value } : { value: '', displayValue: this.emptyValue };\n }\n}\n","<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrEnumFilterComponent } from './enum-filter.component';\n\n@NgModule({\n imports: [ClarityModule, CommonModule, FormsModule],\n declarations: [ClrEnumFilterComponent],\n exports: [ClrEnumFilterComponent],\n})\nexport class ClrEnumFilterModule {}\n","/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\n/**\n * Generic accessor for deep object properties\n * that can be specified as simple dot-separated strings.\n */\nexport class NestedProperty<T = any> {\n private splitProp: string[];\n\n constructor(public prop: string) {\n if (prop.indexOf('.') >= 0) {\n this.splitProp = prop.split('.');\n }\n }\n\n // Safe getter for a deep object property, will not throw an error but return\n // undefined if one of the intermediate properties is null or undefined.\n public getPropValue(item: T): any {\n if (this.splitProp) {\n let value = item;\n for (const nestedProp of this.splitProp) {\n if (\n value === null ||\n typeof value === 'undefined' ||\n typeof (value as Record<string, any>)[nestedProp] === 'undefined'\n ) {\n return undefined;\n }\n value = (value as Record<string, any>)[nestedProp];\n }\n return value;\n } else {\n return (item as Record<string, any>)[this.prop];\n }\n }\n}\n","import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n ClrCommonStringsService,\n ClrDatagridFilter,\n ClrDatagridFilterInterface,\n ClrPopoverEventsService,\n} from '@clr/angular';\nimport { Observable, Subject } from 'rxjs';\nimport { NestedProperty } from './nested-property';\nimport { ClarityIcons, trashIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(trashIcon);\n\n@Component({\n selector: 'clr-date-filter',\n templateUrl: './date-filter.component.html',\n styleUrls: ['./date-filter.component.scss'],\n})\nexport class ClrDateFilterComponent<T extends { [key: string]: any }>\n implements ClrDatagridFilterInterface<T>, AfterViewInit\n{\n private nestedProp: NestedProperty<any>;\n\n @Input('clrProperty') set property(value: string) {\n this.nestedProp = new NestedProperty(value);\n }\n\n get property() {\n return this.nestedProp.prop;\n }\n\n constructor(\n private commonStrings: ClrCommonStringsService,\n private clrPopoverEventsService: ClrPopoverEventsService,\n filterContainer: ClrDatagridFilter\n ) {\n filterContainer.setFilter(this);\n }\n\n public ngAfterViewInit(): void {\n this.clrPopoverEventsService.outsideClickClose = false;\n }\n\n /**\n * Provide a way to pass external placeholder and aria-label to the filter input\n */\n @Input('clrFilterMaxPlaceholder') maxPlaceholder: string;\n\n get maxPlaceholderValue() {\n return this.maxPlaceholder || this.commonStrings.keys.maxValue;\n }\n\n @Input('clrFilterMinPlaceholder') minPlaceholder: string;\n\n get minPlaceholderValue() {\n return this.minPlaceholder || this.commonStrings.keys.minValue;\n }\n\n @Input('clrFilterValue')\n public set value(values: [Date, Date]) {\n if (Array.isArray(values)) {\n if (values && (values[0] !== this._from || values[1] !== this._to)) {\n if (typeof values[0] === 'object') {\n this._from = values[0];\n } else {\n this._from = null;\n }\n if (typeof values[1] === 'object') {\n this._to = values[1];\n } else {\n this._to = null;\n }\n this._changes.next(values);\n }\n }\n }\n\n @Output('clrFilterValueChange') filterValueChange = new EventEmitter();\n\n /**\n * Internal values and accessor\n */\n private _from: Date | null = null;\n private _to: Date | null = null;\n\n public get from() {\n return this._from;\n }\n\n public set from(from: Date) {\n if (typeof from === 'object' && from !== this._from) {\n if (from && typeof from.setHours === 'function') {\n from.setHours(0, 0, 0, 0); // set from-date to start of day\n }\n this._from = from;\n this._changes.next([this._from, this._to]);\n this.filterValueChange.emit([this._from, this._to]);\n }\n }\n\n public get to() {\n return this._to;\n }\n\n public set to(to: Date) {\n if (typeof to === 'object' && to !== this._to) {\n if (to && typeof to.setHours === 'function') {\n to.setHours(23, 59, 59, 999); // set to-date to end of day\n }\n this._to = to;\n this._changes.next([this._from, this._to]);\n this.filterValueChange.emit([this._from, this._to]);\n }\n }\n\n /**\n * Indicates if the filter is currently active, (at least one input is set)\n */\n public isActive(): boolean {\n return this._from !== null || this._to !== null;\n }\n\n accepts(item: T): boolean {\n let propValue = this.nestedProp ? this.nestedProp.getPropValue(item) : item;\n if (propValue === undefined) {\n return false;\n }\n if (typeof propValue === 'string') {\n propValue = new Date(propValue);\n }\n if (this._from !== null && (!(propValue instanceof Date) || propValue.getTime() < this._from.getTime())) {\n return false;\n }\n if (this._to !== null && (!(propValue instanceof Date) || propValue.getTime() > this._to.getTime())) {\n return false;\n }\n return true;\n }\n\n /**\n * The Observable required as part of the Filter interface\n */\n private _changes = new Subject<[Date, Date]>();\n\n // We do not want to expose the Subject itself, but the Observable which is read-only\n public get changes(): Observable<[Date, Date]> {\n return this._changes.asObservable();\n }\n\n public get state(): any {\n return {\n property: this.nestedProp,\n from: this._from,\n to: this._to,\n };\n }\n\n public clearFilter() {\n this._from = null;\n this._to = null;\n this._changes.next([this._from, this._to]);\n this.filterValueChange.emit([this._from, this._to]);\n }\n\n public equals(other: ClrDatagridFilterInterface<T, any>): boolean {\n return other === this;\n }\n}\n","<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrDateFilterComponent } from './date-filter.component';\n\n@NgModule({\n imports: [ClarityModule, CommonModule, FormsModule],\n declarations: [ClrDateFilterComponent],\n exports: [ClrDateFilterComponent],\n})\nexport class ClrDateFilterModule {}\n","export const USER_INPUT_REGEX = /\\d+/g;\n\n// https://en.wikipedia.org/wiki/Date_format_by_country\nexport const LITTLE_ENDIAN_REGEX = /d+.+m+.+y+/i;\nexport const MIDDLE_ENDIAN_REGEX = /m+.+d+.+y+/i;\n\nexport const DELIMITER_REGEX = /d+|m+|y+/i;\n\nexport const YEAR = 'YYYY';\nexport const MONTH = 'MM';\nexport const DATE = 'DD';\n\nexport type FormatType = 'LITTLE_ENDIAN' | 'MIDDLE_ENDIAN' | 'BIG_ENDIAN';\n\nexport type InputDateDisplayFormat = {\n readonly name: FormatType;\n readonly format: [string, string, string];\n};\n\nexport const LITTLE_ENDIAN: InputDateDisplayFormat = {\n name: 'LITTLE_ENDIAN',\n format: [DATE, MONTH, YEAR],\n};\n\nexport const MIDDLE_ENDIAN: InputDateDisplayFormat = {\n name: 'MIDDLE_ENDIAN',\n format: [MONTH, DATE, YEAR],\n};\n\nexport const BIG_ENDIAN: InputDateDisplayFormat = {\n name: 'BIG_ENDIAN',\n format: [YEAR, MONTH, DATE],\n};\n\n/** Default separator text. */\nexport const SEPARATOR_TEXT_DEFAULT = ' - ';\n\nexport const TRANSLATIONS = {\n from: 'From',\n to: 'To',\n};\n","/**\n * Day model.\n * Takes care of keeping records of full days, without the times & timezone issues.\n */\nexport class DayModel {\n /** Year. */\n private year!: number;\n\n /** Month, zero-indexed. */\n private month!: number;\n\n /** Date of the month. */\n private date!: number;\n\n /**\n * Creates an day model.\n * @param year - The full year.\n * @param month - The month as a number between 0 and 11 (January to December).\n * @param date - The date as a number between 1 and 31.\n */\n public constructor(year: number, month: number, date: number);\n /**\n * Creates an day model.\n * @param date - Javascript Date object.\n */\n public constructor(date: Date);\n /**\n * Creates an day model.\n * @param date - Date string in `yyyy-mm-dd` format.\n */\n public constructor(date: string);\n public constructor(...args: Array<number | Date | string>) {\n if (args[0] instanceof Date) {\n const date: Date = args[0];\n this.year = date.getFullYear();\n this.month = date.getMonth();\n this.date = date.getDate();\n } else if (typeof args[0] === 'string') {\n const [year, month, day] = args[0].split('-').map(n => parseInt(n, 10));\n this.year = year;\n this.month = month - 1;\n this.date = day;\n } else {\n this.year = args[0];\n this.month = args[1] as number;\n this.date = args[2] as number;\n }\n }\n\n /**\n * Checks if the passed value is equal to current day model.\n * @param value - Day model.\n * @returns Wether value is equal to current day model.\n */\n public isEqual(value: DayModel): boolean {\n if (value) {\n return this.year === value.year && this.month === value.month && this.date === value.date;\n }\n return false;\n }\n\n /**\n * Increment day model with date value.\n * @param value - Incremental date value.\n * @returns Updated day model with incremented date value.\n */\n public incrementBy(value: number): DayModel {\n // Creating new Javascript Date object to increment because\n // it will automatically take care of switching to next or previous\n // months & years without we having to worry about it.\n const date: Date = new Date(this.year, this.month, this.date + value);\n this.year = date.getFullYear();\n this.month = date.getMonth();\n this.date = date.getDate();\n return this;\n }\n\n /**\n * Checks if current day model is after value.\n * @param value - Day model.\n * @returns Wether current day model is after value.\n */\n public isAfter(value: DayModel): boolean {\n return this.toDate() > value.toDate();\n }\n\n /**\n * Checks if current day model is before value.\n * @param value - Day model.\n * @returns Wether current day model is before value.\n */\n public isBefore(value: DayModel): boolean {\n return this.toDate() < value.toDate();\n }\n\n /**\n * Clones the current day model.\n * @returns Cloned day model.\n */\n public clone(): DayModel {\n return new DayModel(this.year, this.month, this.date);\n }\n\n /**\n * Convert to Javascript Date object.\n * @returns Javascript Date object.\n */\n public toDate(): Date {\n return new Date(this.year, this.month, this.date);\n }\n\n /**\n * To HTML5 date spec string.\n * See https://clarity.design/documentation/datepicker\n * @returns Date as HTML5 spec string.\n */\n public toHTML5SpecDateString(): string {\n // The clarity date picker uses the format 'YYYY-MM-DD'.\n return `${this.year}-${this.pad(this.month + 1)}-${this.pad(this.date)}`;\n }\n\n /**\n * String padding with zeros.\n * @param num - Number to pad.\n * @returns Padded string.\n */\n private pad(num: number): string {\n return num < 10 ? `0${num}` : `${num}`;\n }\n}\n\n/**\n * Day model.\n * Takes care of keeping records of full days, without the times & timezone issues.\n */\nexport type NullableDayModel = DayModel | undefined | null;\n","import { EventEmitter, Injectable } from '@angular/core';\n\n/**\n * Keeps track of how many Clarity Datepicker there are open.\n * This is needed for the ClrDaterangepickerContainerComponent, to know when to close the popover.\n */\n@Injectable({ providedIn: 'root' })\nexport class OpenedDatepickersTrackerService {\n private openedDatepickersCount = 0;\n\n /**\n * Event triggered when value changes.\n */\n public valueChange = new EventEmitter<boolean>();\n\n /**\n * Tracks an opened datepicker.\n * @param opened - Opened state.\n */\n public track(opened: boolean): void {\n if (opened) {\n this.openedDatepickersCount++;\n } else {\n this.openedDatepickersCount--;\n }\n this.openedDatepickersCount = Math.max(0, this.openedDatepickersCount);\n this.valueChange.emit(this.openedDatepickersCount !== 0);\n }\n}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { ClrDateContainer, ClrPopoverToggleService } from '@clr/angular';\nimport { Subscription } from 'rxjs';\n\nimport { DayModel, NullableDayModel } from '../../models/day.model';\nimport { OpenedDatepickersTrackerService } from '../../providers/opened-datepickers-tracker.service';\n\n@Component({\n selector: 'clr-datepicker',\n templateUrl: './datepicker.component.html',\n})\nexport class ClrDatepickerComponent implements AfterViewInit, OnDestroy {\n /**\n * Input value.\n */\n @Input()\n public value: NullableDayModel;\n\n /**\n * Text label.\n */\n @Input()\n public label = 'Date';\n\n /**\n * Minimum date that can be selected.\n */\n @Input()\n public minDate: NullableDayModel = undefined;\n\n /**\n * Maximum date that can be selected.\n */\n @Input()\n public maxDate: NullableDayModel = undefined;\n\n /**\n * Input control.\n */\n @ViewChild('inputElm')\n private inputElm!: ElementRef<HTMLInputElement>;\n\n /**\n * Clarity datepicker container.\n */\n @ViewChild(ClrDateContainer)\n private clrDateContainer!: ClrDateContainer;\n\n /**\n * Event triggered when value changes.\n */\n @Output()\n public valueChange = new EventEmitter<NullableDayModel>();\n\n /**\n * Get date.\n * @returns JavaScript Date object.\n */\n protected get date(): Date | undefined | null {\n return this.value?.toDate();\n }\n\n /**\n * Set date.\n */\n protected set date(val: Date | undefined | null) {\n this.value = val == null ? null : new DayModel(val);\n this.valueChange.emit(this.value);\n }\n\n /**\n * Minimum date as attribute string.\n * @returns Minimum date as attribute string.\n */\n protected get minDateAttr(): string | undefined | null {\n return this.minDate?.toHTML5SpecDateString();\n }\n\n /**\n * Maximum date as attribute string.\n * @returns Maximum date as attribute string.\n */\n protected get maxDateAttr(): string | undefined | null {\n return this.maxDate?.toHTML5SpecDateString();\n }\n\n /** List of subscriptions to later destroy. */\n private subscriptions: Array<Subscription> = [];\n\n public constructor(private readonly openedDatepickersTrackerService: OpenedDatepickersTrackerService) {}\n\n public ngAfterViewInit(): void {\n // eslint-disable-next-line dot-notation -- Need access to this private property.\n const toggleService = this.clrDateContainer['toggleService'] as ClrPopoverToggleService;\n this.subscriptions.push(\n toggleService.openChange.subscribe(openState => {\n this.openedDatepickersTrackerService.track(openState);\n })\n );\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n /**\n * Focus input.\n */\n public focus(): void {\n this.inputElm.nativeElement.focus();\n }\n}\n","<clr-date-container>\n <label>{{ this.label }}</label>\n <input #inputElm clrDate [(clrDate)]=\"this.date\" [min]=\"this.minDateAttr\" [max]=\"this.maxDateAttr\" />\n</clr-date-container>\n","import { ClrAlignment, ClrAxis, ClrPopoverPosition, ClrSide } from '@clr/angular';\n\n/**\n * Popover positions.\n * https://github.com/vmware-clarity/ng-clarity/blob/f1a668086bf88bcf5ef1cd36b0d150e45e88def7/projects/angular/src/utils/popover/enums/positions.enum.ts\n */\nexport class PopoverPositions {\n public static options = [\n 'bottom-left',\n 'bottom-right',\n 'left-bottom',\n 'left-top',\n 'right-bottom',\n 'right-top',\n 'top-left',\n 'top-right',\n ];\n\n public static 'bottom-left': ClrPopoverPosition = {\n axis: ClrAxis.VERTICAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.START,\n content: ClrAlignment.START,\n };\n\n public static 'bottom-right': ClrPopoverPosition = {\n axis: ClrAxis.VERTICAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.END,\n content: ClrAlignment.END,\n };\n\n public static 'left-bottom': ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.BEFORE,\n anchor: ClrAlignment.START,\n content: ClrAlignment.START,\n };\n\n public static 'left-top': ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.BEFORE,\n anchor: ClrAlignment.CENTER,\n content: ClrAlignment.END,\n };\n\n public static 'right-bottom': ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.START,\n content: ClrAlignment.START,\n };\n\n public static 'right-top': ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.CENTER,\n content: ClrAlignment.END,\n };\n\n public static 'top-left': ClrPopoverPosition = {\n axis: ClrAxis.VERTICAL,\n side: ClrSide.BEFORE,\n anchor: ClrAlignment.START,\n content: ClrAlignment.START,\n };\n\n public static 'top-right': ClrPopoverPosition = {\n axis: ClrAxis.VERTICAL,\n side: ClrSide.BEFORE,\n anchor: ClrAlignment.END,\n content: ClrAlignment.END,\n };\n}\n\n/**\n * Popover position.\n */\nexport type PopoverPosition = (typeof PopoverPositions.options)[number];\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\n\n/**\n * Daterange control state service.\n * Stores data for communication between daterange container and input.\n */\n@Injectable()\nexport class DaterangeControlStateService {\n /** Disabled control state. */\n public disabled = false;\n\n /** Focused. */\n public focused = false;\n\n /** List of validation errors. */\n public errors: ValidationErrors | null = null;\n\n private _invalid = false;\n /**\n * Control invalid status.\n * @returns Control invalid status.\n */\n public get invalid(): boolean {\n return this._invalid;\n }\n\n private _touched = false;\n /**\n * Touched.\n * @returns Touched.\n */\n public get touched(): boolean {\n return this._touched;\n }\n\n /**\n * Update status.\n * Only for valid & invalid status changes.\n * And only if there was a real change.\n * Also updates errors list.\n * Emits `statusChange` event.\n * @param control\n */\n public updateStatus(control: AbstractControl) {\n this._touched = control.touched;\n\n // We only care about valid & invalid status changes.\n // There is an bug where `ClrDaterangepickerDirective.writeValue` is called twice with same value (`null`).\n // Setting ` && (control.touched || control.dirty)` in next if-statement will hide the errors,\n // but the control will still be invalid with errors (just hidden).\n if (['VALID', 'INVALID'].includes(control.status)) {\n this.errors = control.errors;\n this._invalid = control.invalid;\n this.statusChange.emit(this._invalid);\n }\n }\n\n /**\n * Event triggered when status changes.\n */\n public statusChange = new EventEmitter<boolean>();\n}\n","import { FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core';\n\nimport {\n BIG_ENDIAN,\n DELIMITER_REGEX,\n InputDateDisplayFormat,\n LITTLE_ENDIAN,\n LITTLE_ENDIAN_REGEX,\n MIDDLE_ENDIAN,\n MIDDLE_ENDIAN_REGEX,\n SEPARATOR_TEXT_DEFAULT,\n USER_INPUT_REGEX,\n} from '../daterange.constants';\nimport { NullableDaterange } from '../interfaces/daterange.interface';\nimport { DayModel, NullableDayModel } from '../models/day.model';\n\n/**\n * Daterange parsing service.\n * Heavy inspired by `date-io.service.ts` from Clarity.\n * https://github.com/vmware-clarity/ng-clarity/blob/a21fe726fe91ae3c929b8f016359afe354bb89c6/projects/angular/src/forms/datepicker/providers/date-io.service.ts\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaterangeParsingService {\n public readonly localeDisplayFormat: InputDateDisplayFormat;\n public readonly localeDelimiter: Array<string> = [];\n\n /** Locale format. */\n public get localeFormat(): string {\n return (\n this.localeDisplayFormat.format[0] +\n this.localeDelimiter[0] +\n this.localeDisplayFormat.format[1] +\n this.localeDelimiter[1] +\n this.localeDisplayFormat.format[2]\n );\n }\n\n public constructor(@Inject(LOCALE_ID) private readonly locale: string) {\n const localeFormat = getLocaleDateFormat(this.locale, FormatWidth.Short);\n const format: string = localeFormat.toLocaleLowerCase();\n\n if (LITTLE_ENDIAN_REGEX.test(format)) {\n this.localeDisplayFormat = LITTLE_ENDIAN;\n } else if (MIDDLE_ENDIAN_REGEX.test(format)) {\n this.localeDisplayFormat = MIDDLE_ENDIAN;\n } else {\n this.localeDisplayFormat = BIG_ENDIAN;\n }\n\n // Splitting it by date, month and year, leaves us with the delimiters.\n // E.g. `\"dd/MM/y\".split(/d+|m+|y+/i)` results in `[\"\", \"/\", \"/\", \"\"]`.\n const delimiters: Array<string> = localeFormat.split(DELIMITER_REGEX);\n this.localeDelimiter = [delimiters[1], delimiters[2]];\n }\n\n /**\n * Convert daterange to locale friendly text.\n * @param daterange - Daterange.\n * @param separator - Separator between 'from' and 'to' dates.\n * @returns Friendly daterange text.\n */\n public toLocaleString(daterange: NullableDaterange, separator: string = SEPARATOR_TEXT_DEFAULT): string {\n if (daterange == null) {\n return '';\n }\n\n const { from, to } = daterange;\n if (from == null || to == null) {\n return '';\n }\n\n const fromDate = from.toDate();\n const toDate = to.toDate();\n\n const fromDateStr = this.toLocaleDisplayFormatString(fromDate);\n const toDateStr = this.toLocaleDisplayFormatString(toDate);\n\n return fromDateStr + separator + toDateStr;\n }\n\n /**\n * Convert date to locale display format string.\n * @param date - Javascript Date object.\n * @returns Locale display format string.\n */\n private toLocaleDisplayFormatString(date: Date): string {\n const dateNo: number = date.getDate();\n const monthNo: number = date.getMonth() + 1;\n const yearNo: number = date.getFullYear();\n\n const dateStr: string = this.pad(dateNo);\n const monthStr: string = this.pad(monthNo);\n\n const delim1 = this.localeDelimiter[0];\n const delim2 = this.localeDelimiter[1];\n\n if (this.localeDisplayFormat === LITTLE_ENDIAN) {\n return dateStr + delim1 + monthStr + delim2 + yearNo;\n } else if (this.localeDisplayFormat === MIDDLE_ENDIAN) {\n return monthStr + delim1 + dateStr + delim2 + yearNo;\n } else {\n return yearNo + delim1 + monthStr + delim2 + dateStr;\n }\n }\n\n /**\n * String padding with zeros.\n * @param num - Number to pad.\n * @returns Padded string.\n */\n private pad(num: number): string {\n return num < 10 ? `0${num}` : `${num}`;\n }\n\n /**\n * Parse daterange string to daterange object.\n * @param daterangeString - Daterange string.\n * @param separator - Separator text.\n * @returns Daterange object.\n */\n public parse(daterangeString: string, separator: string = SEPARATOR_TEXT_DEFAULT): NullableDaterange {\n if (daterangeString == null || daterangeString === '') {\n return null;\n }\n\n const [fromString, toString] = daterangeString.split(separator);\n const from = this.getDayModelFromDateString(fromString);\n const to = this.getDayModelFromDateString(toString);\n\n if (from == null && to == null) {\n return null;\n }\n\n return { from, to };\n }\n\n /**\n * Get `DayModel` from date string.\n * @param dateString - Date string.\n * @returns DayModel.\n */\n private getDayModelFromDateString(dateString: string): NullableDayModel {\n if (dateString == null || dateString === '') {\n return null;\n }\n\n const dateParts: RegExpMatchArray = dateString.match(USER_INPUT_REGEX);\n if (dateParts == null || dateParts.length !== 3) {\n return null;\n }\n\n const [firstPart, secondPart, thirdPart] = dateParts;\n if (this.localeDisplayFormat === LITTLE_ENDIAN) {\n // secondPart is month && firstPart is date.\n return this.getDayModelFromDateParts(thirdPart, secondPart, firstPart);\n } else if (this.localeDisplayFormat === MIDDLE_ENDIAN) {\n // firstPart is month && secondPart is date.\n return this.getDayModelFromDateParts(thirdPart, firstPart, secondPart);\n } else {\n // secondPart is month && thirdPart is date.\n return this.getDayModelFromDateParts(firstPart, secondPart, thirdPart);\n }\n }\n\n /**\n * Get `DayModel` from date string parts.\n * @param yearString - Year string.\n * @param monthString - Month string.\n * @param dateString - Date string.\n * @returns DayModel.\n */\n private getDayModelFromDateParts(yearString: string, monthString: string, dateString: string): NullableDayModel {\n // Check for valid date part strings.\n let year: number = parseInt(yearString);\n if (isNaN(year)) {\n return null;\n }\n let month: number = parseInt(monthString);\n if (isNaN(month)) {\n return null;\n }\n const date: number = parseInt(dateString);\n if (isNaN(date)) {\n return null;\n }\n\n // Convert year to 4 digit year.\n year = this.parseToFourDigitYear(year);\n if (year == null) {\n return null;\n }\n\n // Month is zero-indexed.\n month -= 1;\n\n // Creating new Javascript Date object, because it will automatically take care of\n // switching to next or previous months & years without we having to worry about it.\n const parsedDate = new Date(year, month, date);\n if (isNaN(parsedDate.getTime())) {\n return null;\n }\n\n return new DayModel(parsedDate);\n }\n\n /**\n * Takes in a year and if it is a 2 digit year, returns the corresponding 4 digit year.\n * Window of 80 years before and 20 years after the present year.\n * Credit: https://github.com/globalizejs/globalize/blob/e1b31cd6a4f1cff75b185b68b7a32220aac5196f/src/date/parse.js\n * @param year - Year.\n * @returns Four-digit year.\n */\n private parseToFourDigitYear(year: number): number | null {\n // Impossible years.\n if (year > 9999 || (year > 100 && year < 999) || year < 10) {\n return null;\n }\n\n if (year > 999) {\n return year;\n }\n\n const currYear: number = new Date().getFullYear();\n const century: number = Math.floor(currYear / 100) * 100;\n let result: number = year + century;\n if (result > currYear + 20) {\n result = result - 100;\n }\n return result;\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\nimport { NullableDayModel } from '../models/day.model';\n\n/**\n * Daterange service.\n * Keeps track of daterange related values.\n */\n@Injectable()\nexport class DaterangeService {\n /** Minimum date that can be selected. */\n public minDate: NullableDayModel = null;\n\n /** Maximum date that can be selected. */\n public maxDate: NullableDayModel = null;\n\n private _selectedDaterange: NullableDaterange = null;\n\n /**\n * Selected daterange value.\n * @returns Selected daterange value.\n */\n public get selectedDaterange(): NullableDaterange {\n return this._selectedDaterange;\n }\n\n /**\n * Set selected daterange value.\n * @param value - New selected daterange value.\n * @param triggerEvent - Trigger change event (default true).\n */\n public updateSelectedDaterange(value: NullableDaterange, triggerEvent = true): void {\n this._selectedDaterange = value;\n\n if (triggerEvent) {\n this.valueChange.emit(value);\n }\n }\n\n /**\n * Event triggered when value changes.\n */\n public valueChange = new EventEmitter<NullableDaterange>();\n\n /**\n * Checks if daterange is valid.\n * Daterange is considered invalid when it's empty, or when one of it's properties is absent.\n * @returns Wether daterange is valid.\n */\n public isValid(): boolean {\n if (this._selectedDaterange == null || this._selectedDaterange.from == null || this._selectedDaterange.to == null) {\n return false;\n }\n return true;\n }\n}\n","import { ContentChild, Directive, HostBinding, Optional } from '@angular/core';\nimport { ClrControlError, ClrControlHelper, ClrControlSuccess, ClrLabel, ClrLayout } from '@clr/angular';\nimport { DaterangeControlStateService } from '../providers/daterange-control-state.service';\n\n@Directive()\nexport abstract class ClrAbstractContainer {\n @HostBinding('class.clr-form-control') protected readonly isFormControl = true;\n\n /**\n * Detect if container is not part of an vertical form to apply correct grid classes.\n */\n @HostBinding('class.clr-row')\n public get addLayoutGrid() {\n return !this.clrLayout?.layoutService?.isVertical();\n }\n\n /** Label component. */\n @ContentChild(ClrLabel) protected labelComponent: ClrLabel;\n\n /** Helper control component. */\n @ContentChild(ClrControlHelper) protected controlHelperComponent: ClrControlHelper;\n /** Error control component. */\n @ContentChild(ClrControlError) protected controlErrorComponent: ClrControlError;\n /** Success control component. */\n @ContentChild(ClrControlSuccess) protected controlSuccessComponent: ClrControlSuccess;\n\n /**\n * Wether to show the helper control.\n * @returns Wether to show the helper control.\n */\n protected get showHelper(): boolean {\n if (this.controlHelperComponent == null) {\n return false;\n }\n\n // Helper Component exist and the state of the form is NONE (not touched).\n if (!this.daterangeControlStateService.touched) {\n return true;\n }\n\n // Or there is no success component but the state of the form is VALID - show helper information.\n if (\n this.controlSuccessComponent == null &&\n this.daterangeControlStateService.touched &&\n !this.daterangeControlStateService.invalid\n ) {\n return true;\n }\n\n // Or there is no error component but the state of the form is INVALID - show helper information.\n if (this.controlErrorComponent == null && this.daterangeControlStateService.invalid) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Wether to show the valid control.\n * @returns Wether to show the valid control.\n */\n protected get showValid(): boolean {\n return !this.daterangeControlStateService.invalid && !!this.controlSuccessComponent;\n }\n\n /**\n * Wether to show the invalid control.\n * @returns Wether to show the invalid control.\n */\n protected get showInvalid(): boolean {\n return this.daterangeControlStateService.invalid && !!this.controlErrorComponent;\n }\n\n /**\n * Disabled state.\n * @returns Disabled state.\n */\n protected get disabled(): boolean {\n return this.daterangeControlStateService.disabled;\n }\n\n /**\n * If control is focused.\n * @returns Wether control is focused.\n */\n protected get focus(): boolean {\n return this.daterangeControlStateService.focused;\n }\n\n /**\n * Wether control is invalid.\n * @returns Wether control is invalid.\n */\n protected get isInvalid(): boolean {\n return this.daterangeControlStateService.invalid;\n }\n\n public constructor(\n @Optional() protected readonly clrLayout: ClrLayout,\n protected readonly daterangeControlStateService: DaterangeControlStateService\n ) {}\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n Self,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { SEPARATOR_TEXT_DEFAULT } from '../../daterange.constants';\nimport { NullableDaterange } from '../../interfaces/daterange.interface';\nimport { DayModel } from '../../models/day.model';\nimport { DaterangeService } from '../../providers/daterange.service';\nimport { DaterangeParsingService } from '../../providers/daterange-parsing.service';\nimport { DaterangeControlStateService } from '../../providers/daterange-control-state.service';\nimport { ControlIdService } from '../../../abstract-form-component/control-id.service';\n\n/**\n * Daterangepicker.\n */\n@Directive({\n selector: '[clrDaterangepicker]',\n})\nexport class ClrDaterangepickerDirective implements OnInit, OnDestroy, ControlValueAccessor {\n /**\n * Minimum date that can be selected.\n */\n @Input()\n public set min(value: string | undefined | null) {\n this.daterangeService.minDate = !value ? null : new DayModel(value);\n }\n\n /**\n * Maximum date that can be selected.\n */\n @Input()\n public set max(value: string | undefined | null) {\n this.daterangeService.maxDate = !value ? null : new DayModel(value);\n }\n\n /**\n * Locale text between 'from' and 'to' dateranges.\n */\n @Input()\n public separatorText: string = SEPARATOR_TEXT_DEFAULT;\n\n /**\n * Placeholder text.\n *\n * It is recommend against overriding the automatically generated placeholder.\n * Adding an incorrect placeholder will create confusion while entering the daterange in the input.\n */\n @Input() public placeholder: string;\n @HostBinding('attr.placeholder')\n public get placeholderText(): string {\n return (\n this.placeholder ??\n this.daterangeParsingService.localeFormat + this.separatorText + this.daterangeParsingService.localeFormat\n );\n }\n\n /**\n * Id-attribute.\n */\n @HostBinding()\n @Input()\n public get id() {\n return this.controlIdService.id;\n }\n /**\n * Id-attribute.\n * @returns Id-attribute.\n */\n public set id(value: string) {\n this.controlIdService.id = value;\n }\n\n /**\n * Disable control.\n */\n @HostBinding('disabled')\n @Input()\n public set disabled(value: boolean) {\n this.daterangeControlStateService.disabled = value;\n }\n /**\n * Disabled state.\n * @returns Disabled state.\n */\n public get disabled() {\n return this.daterangeControlStateService.disabled;\n }\n\n /**\n * Event that is triggered when value changes.\n */\n @Output()\n public valueChange = new EventEmitter<NullableDaterange>();\n\n /** Set the `type` attribute always to \"text\", to not get the native datepicker. */\n @HostBinding('attr.type')\n public inputType = 'text';\n\n @HostBinding('class.clr-input')\n public inputClass = true;\n\n /** List of subscriptions to later destroy. */\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n @Self()\n private readonly control: NgControl,\n private readonly element: ElementRef,\n private readonly renderer: Renderer2,\n private readonly daterangeControlStateService: DaterangeControlStateService,\n private readonly controlIdService: ControlIdService,\n private readonly daterangeService: DaterangeService,\n private readonly daterangeParsingService: DaterangeParsingService\n ) {\n // To get access to the NgControl, we had to remove the `NG_VALUE_ACCESSOR`\n // provider and set them manually, while still keeping the interfaces.\n this.control.valueAccessor = this;\n }\n\n public ngOnInit(): void {\n this.listenForDaterangeValueChanges();\n this.listenForControlStatusChanges();\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n /**\n * Listen for daterange value changes.\n */\n private listenForDaterangeValueChanges(): void {\n this.subscriptions.push(\n this.daterangeService.valueChange.subscribe((_daterange: NullableDaterange) => {\n this.triggerChange();\n })\n );\n }\n\n /**\n * Listen for control status changes.\n */\n private listenForControlStatusChanges(): void {\n this.subscriptions.push(\n this.control.statusChanges.subscribe((_status: unknown) => {\n this.daterangeControlStateService.updateStatus(this.control.control);\n })\n );\n }\n\n /**\n * Listen to manual changes to the input.\n * @param target - Input element.\n */\n @HostListener('change', ['$event.target'])\n public onChangeEvent(target: HTMLInputElement): void {\n // Remove 'invalid' error.\n if (this.control.control.hasError('invalid')) {\n delete this.control.control.errors.invalid;\n }\n\n // If there is nothing to parse, `ClrDaterangeRequiredValidator` will take care of this.\n if (!target.value) {\n this.daterangeService.updateSelectedDaterange(null, true);\n return;\n }\n\n const daterange = this.daterangeParsingService.parse(target.value, this.separatorText);\n const invalidDaterange: boolean = daterange == null || daterange.from == null || daterange.to == null;\n\n // Invalid manual daterange specified.\n if (invalidDaterange) {\n this.control.control.setErrors({\n invalid: target.value,\n });\n }\n\n // Update selected daterange, but only notify when valid.\n this.daterangeService.updateSelectedDaterange(daterange, !invalidDaterange);\n }\n\n /**\n * Listen to focus event.\n */\n @HostListener('focus')\n public focusEvent(): void {\n this.daterangeControlStateService.focused = true;\n }\n\n /**\n * Listen to blur event.\n */\n @HostListener('blur')\n public blurEvent(): void {\n this.daterangeControlStateService.focused = false;\n }\n\n /**\n * Focus input.\n */\n public focus(): void {\n this.element.nativeElement.focus();\n }\n\n /**\n * Trigger events to notify form controls, trigger validation and update attributes/properties.\n */\n private triggerChange(): void {\n let daterange = this.daterangeService.selectedDaterange;\n\n // When `from` or `to` properties are not set, return null.\n // This will trigger the `required` validator (if present).\n if (!this.daterangeService.isValid()) {\n daterange = null;\n }\n\n // Mark control dirty.\n this.onTouched(daterange);\n // Update NgModel.\n this.onChanged(daterange);\n // Notify parent.\n this.valueChange.emit(daterange);\n // Update attributes/properties.\n this.updateInput();\n }\n\n /**\n * Update input with friendly daterange text.\n */\n private updateInput(): void {\n const dateString = this.daterangeParsingService.toLocaleString(\n this.daterangeService.selectedDaterange,\n this.separatorText\n );\n this.renderer.setProperty(this.element.nativeElement, 'value', dateString);\n }\n\n /**\n * ControlValueAccessor method. Set value from NgModel.\n * @param value - Daterange value.\n */\n public writeValue(value: NullableDaterange) {\n this.daterangeService.updateSelectedDaterange(value);\n }\n\n /**\n * ControlValueAccessor method. Register change event. When value changes.\n * @param fn - Change event.\n */\n public registerOnChange(fn: (value: NullableDaterange) => void): void {\n this.onChanged = fn;\n }\n private onChanged = (_value: NullableDaterange): void => undefined;\n\n /**\n * ControlValueAccessor method. Register touch event. When control is dirty.\n * @param fn - Touch event.\n */\n public registerOnTouched(fn: (value: NullableDaterange) => void): void {\n this.onTouched = fn;\n }\n private onTouched = (_value: NullableDaterange): void => undefined;\n\n /**\n * ControlValueAccessor method. Set disabled state.\n * @param disabled - Disabled state.\n */\n public setDisabledState(disabled: boolean): void {\n this.daterangeControlStateService.disabled = disabled;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ContentChild,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { ClarityIcons, calendarIcon, checkCircleIcon, exclamationCircleIcon, windowCloseIcon } from '@cds/core/icon';\nimport '@cds/core/icon/register.js';\nimport {\n ClrCommonStrings,\n ClrCommonStringsService,\n ClrLayout,\n ClrPopoverEventsService,\n ClrPopoverPosition,\n ClrPopoverPositionService,\n ClrPopoverToggleService,\n} from '@clr/angular';\nimport { Subscription } from 'rxjs';\n\nimport { ControlIdService } from '../../../abstract-form-component/control-id.service';\nimport { TRANSLATIONS } from '../../daterange.constants';\nimport { DaterangePreset } from '../../interfaces/daterange-preset.interface';\nimport { NullableDaterange } from '../../interfaces/daterange.interface';\nimport { NullableDayModel } from '../../models/day.model';\nimport { PopoverPositions } from '../../models/popover-positions.model';\nimport { DaterangeControlStateService } from '../../providers/daterange-control-state.service';\nimport { DaterangeParsingService } from '../../providers/daterange-parsing.service';\nimport { DaterangeService } from '../../providers/daterange.service';\nimport { OpenedDatepickersTrackerService } from '../../providers/opened-datepickers-tracker.service';\nimport { ClrAbstractContainer } from '../abstract-container.component';\nimport { ClrDatepickerComponent } from '../datepicker/datepicker.component';\nimport { ClrDaterangepickerDirective } from '../daterangepicker/daterangepicker.directive';\n\nClarityIcons.addIcons(calendarIcon, exclamationCircleIcon, checkCircleIcon, windowCloseIcon);\n\n/**\n * Daterangepicker container.\n */\n@Component({\n selector: 'clr-daterangepicker-container',\n templateUrl: './daterangepicker-container.component.html',\n styleUrls: ['./daterangepicker-container.component.scss'],\n providers: [\n ClrPopoverToggleService,\n ClrPopoverEventsService,\n ClrPopoverPositionService,\n DaterangeControlStateService,\n DaterangeService,\n OpenedDatepickersTrackerService,\n ControlIdService,\n ],\n})\nexport class ClrDaterangepickerContainerComponent extends ClrAbstractContainer implements AfterViewInit, OnDestroy {\n /**\n * List of presets.\n */\n @Input()\n public presets: Array<DaterangePreset> = [];\n\n /**\n * Set popover position.\n */\n @Input()\n public set clrPosition(position: string) {\n if (position && (PopoverPositions as Record<string, any>)[position]) {\n this.popoverPosition = (PopoverPositions as Record<string, any>)[position];\n }\n }\n\n /**\n * Text for the 'from' label.\n */\n @Input()\n public labelFrom = TRANSLATIONS.from;\n\n /**\n * Text for the 'to' label.\n */\n @Input()\n public labelTo = TRANSLATIONS.to;\n\n /** List of datepicker components children. */\n @ViewChildren(ClrDatepickerComponent)\n private datepickerComponents!: QueryList<ClrDatepickerComponent>;\n\n /** Daterangepicker directive. */\n @ContentChild(ClrDaterangepickerDirective)\n private daterangepickerDirective!: ClrDaterangepickerDirective;\n\n /** CSS classes. */\n @HostBinding('class')\n public classes = 'clr-date-container';\n\n /**\n * Popover open state.\n */\n protected open = false;\n\n /**\n * Popover position config.\n */\n protected popoverPosition: ClrPopoverPosition = PopoverPositions['bottom-left'];\n\n /**\n * Date from.\n * @returns Date from.\n */\n protected get dateFrom() {\n return this.daterangeService.selectedDaterange?.from;\n }\n\n /**\n * Date to.\n * @returns Date to.\n */\n protected get dateTo() {\n return this.daterangeService.selectedDaterange?.to;\n }\n\n /**\n * Minimum date that can be selected.\n * @returns Minimum date that can be selected.\n */\n protected get minDate(): NullableDayModel {\n return this.daterangeService.minDate;\n }\n\n /**\n * Maximum date that can be selected.\n * @returns Maximum date that can be selected.\n */\n protected get maxDate(): NullableDayModel {\n return this.daterangeService.maxDate;\n }\n\n private _friendlyDaterange?: string;\n /**\n * Get friendly daterange text.\n * @returns Friendly daterange text.\n */\n protected get friendlyDaterange(): string {\n return this._friendlyDaterange || this.commonStrings.datepickerToggleChooseDateLabel;\n }\n\n /**\n * List of common translation keys.\n */\n protected get commonStrings(): Readonly<ClrCommonStrings> {\n return this.clrCommonStringsService.keys;\n }\n\n /** List of subscriptions to later destroy. */\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private readonly clrPopoverEventsService: ClrPopoverEventsService,\n private readonly clrPopoverToggleService: ClrPopoverToggleService,\n private readonly clrCommonStringsService: ClrCommonStringsService,\n @Optional() protected readonly clrLayout: ClrLayout,\n protected readonly daterangeControlStateService: DaterangeControlStateService,\n private readonly openedDatepickersTrackerService: OpenedDatepickersTrackerService,\n private readonly daterangeService: DaterangeService,\n private readonly daterangeParsingService: DaterangeParsingService\n ) {\n super(clrLayout, daterangeControlStateService);\n }\n\n public ngAfterViewInit(): void {\n if (this.daterangepickerDirective == null) {\n throw new Error('`ClrDaterangepickerContainerComponent` requires an child `ClrDaterangepickerDirective`');\n }\n\n this.listenForDaterangeValueChanges();\n this.listenForOpenedDatepickersTrackerChanges();\n this.listenForPopoverToggleChanges();\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n /**\n * Listen for daterange value changes.\n */\n private listenForDaterangeValueChanges(): void {\n this.subscriptions.push(\n this.daterangeService.valueChange.subscribe((daterange: NullableDaterange) => {\n this._friendlyDaterange = this.daterangeParsingService.toLocaleString(\n daterange,\n this.daterangepickerDirective.separatorText\n );\n })\n );\n }\n\n /**\n * Listen for any opened datepickers tracker state changes.\n */\n private listenForOpenedDatepickersTrackerChanges(): void {\n this.subscriptions.push(\n this.openedDatepickersTrackerService.valueChange.subscribe(hasOpenDatePickers => {\n // When choosing an date in the DatePicker calender, all popovers are closed. Even our own popover.\n // Therefor we have to remove the ability to close our own popover.\n // Simply changing the `outsideClickClose` property after initialization does nothing.\n // We need to manually remove the listener, change the `outsideClickClose` property and re-attach the click listener.\n // Steps to reproduce with 2 daterangepickers:\n // 1. Click on second daterangepicker action icon to open the popover.\n // 2. Click on one of the datepickers to open calender.\n // 3. Close datepicker.\n // 4. Click on first daterangepicker action icon. Error.\n this.clrPopoverEventsService.removeClickListener();\n this.clrPopoverEventsService.outsideClickClose = !hasOpenDatePickers;\n // We need to wait before we attach the click listener.\n requestAnimationFrame(() => {\n this.clrPopoverEventsService.addClickListener();\n });\n })\n );\n }\n\n /**\n * Listen for popover toggle changes.\n */\n private listenForPopoverToggleChanges(): void {\n this.subscriptions.push(\n this.clrPopoverToggleService.openChange.subscribe(opened => {\n // Focus first datepicker when popover opens.\n // Focus back to input when popover is closed.\n if (opened) {\n // Wait for the datepicker components to be rendered.\n requestAnimationFrame(() => {\n this.datepickerComponents.first.focus();\n });\n } else {\n this.daterangepickerDirective.focus();\n\n // When closing popover modal and daterange is not valid, reset model.\n if (!this.daterangeService.isValid()) {\n this.daterangeService.updateSelectedDaterange(null);\n }\n }\n })\n );\n }\n\n /**\n * Event triggered when date from changed.\n * @param value - Date from.\n */\n protected onDateFromChange(value: NullableDayModel): void {\n this.daterangeService.updateSelectedDaterange({\n from: value,\n to: this.dateTo,\n });\n }\n\n /**\n * Event triggered when date to changed.\n * @param value - Date to.\n */\n protected onDateToChange(value: NullableDayModel): void {\n this.daterangeService.updateSelectedDaterange({\n from: this.dateFrom,\n to: value,\n });\n }\n\n /**\n * Apply selected preset.\n * @param preset - Selected preset.\n */\n protected applyPreset(preset: DaterangePreset): void {\n const range = preset.range();\n this.daterangeService.updateSelectedDaterange(range);\n\n // Close popover here, because it's not possible to conditionally\n // apply `clrPopoverCloseButton` directive on preset button.\n if (this.daterangeService.isValid()) {\n this.clrPopoverToggleService.open = false;\n }\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<label *ngIf=\"!this.labelComponent && this.addLayoutGrid\"></label>\n<div\n class=\"clr-control-container\"\n [class.clr-error]=\"this.isInvalid\"\n [class.clr-col-12]=\"this.addLayoutGrid\"\n [class.clr-col-md-10]=\"this.addLayoutGrid\"\n>\n <div class=\"clr-input-wrapper\" clrPopoverAnchor>\n <div class=\"clr-input-group\" [class.clr-focus]=\"this.focus\">\n <ng-content select=\"[clrDaterangepicker]\"></ng-content>\n <button\n type=\"button\"\n class=\"clr-input-group-icon-action\"\n [disabled]=\"this.disabled\"\n [title]=\"this.friendlyDaterange\"\n [attr.aria-label]=\"this.friendlyDaterange\"\n clrPopoverOpenCloseButton\n >\n <cds-icon status=\"info\" shape=\"calendar\"></cds-icon>\n </button>\n </div>\n <cds-icon\n *ngIf=\"this.isInvalid\"\n class=\"clr-validate-icon\"\n shape=\"exclamation-circle\"\n status=\"danger\"\n aria-hidden=\"true\"\n ></cds-icon>\n <cds-icon\n *ngIf=\"!this.isInvalid\"\n class=\"clr-validate-icon\"\n shape=\"check-circle\"\n status=\"success\"\n aria-hidden=\"true\"\n ></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"this.showHelper\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"this.showInvalid\"></ng-content>\n <ng-content select=\"clr-control-success\" *ngIf=\"this.showValid\"></ng-content>\n\n <div\n class=\"clr-daterangepicker-container-popup datepicker\"\n *clrPopoverContent=\"this.open; at: this.popoverPosition; outsideClickToClose: true; scrollToClose: true\"\n >\n <button\n class=\"btn btn-sm btn-link close\"\n clrPopoverCloseButton\n type=\"button\"\n [attr.aria-label]=\"this.commonStrings.close\"\n >\n <cds-icon shape=\"window-close\" aria-hidden=\"true\" [attr.title]=\"this.commonStrings.close\"></cds-icon>\n <span class=\"clr-sr-only\">{{ this.commonStrings.close }}</span>\n </button>\n <div class=\"clr-daterangepicker-container-popup-content\">\n <form clrForm [clrLayout]=\"'vertical'\">\n <clr-datepicker\n class=\"clr-datepicker\"\n [label]=\"this.labelFrom\"\n [value]=\"this.dateFrom\"\n [minDate]=\"this.minDate\"\n [maxDate]=\"this.maxDate\"\n (valueChange)=\"this.onDateFromChange($event)\"\n >\n </clr-datepicker>\n <clr-datepicker\n class=\"clr-datepicker\"\n [label]=\"this.labelTo\"\n [value]=\"this.dateTo\"\n [minDate]=\"this.minDate\"\n [maxDate]=\"this.maxDate\"\n (valueChange)=\"this.onDateToChange($event)\"\n >\n </clr-datepicker>\n </form>\n <div class=\"clr-daterangepicker-container-popup-content-presets\" *ngIf=\"this.presets?.length > 0\">\n <ng-container *ngFor=\"let preset of this.presets\">\n <button class=\"btn btn-outline btn-sm btn-block\" type=\"button\" (click)=\"this.applyPreset(preset)\">\n {{ preset.text }}\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n","import { Directive, EmbeddedViewRef, Input, OnDestroy, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DaterangeControlStateService } from '../providers/daterange-control-state.service';\n\nimport { ClrDaterangepickerContainerComponent } from './daterangepicker-container/daterangepicker-container.component';\n\n/**\n * Directive for multiple error messages.\n * It works the same as Clarity `ClrIfError`, but for customized `ClrDaterangepickerContainerComponent`.\n * Using Clarity `ClrIfError` requires the container to have service implemented that are not publicly exported.\n *\n * @see https://clarity.design/documentation/forms (section \"Multiple error messages\").\n *\n * Altered version from https://github.com/vmware-clarity/ng-clarity/blob/138a6dd95fdc4ffb67b054391c44ce5fa3c44660/projects/angular/src/forms/common/if-control-state/if-error.ts\n */\n@Directive({\n selector: '[clrIfDaterangeError]',\n})\nexport class ClrIfDaterangeErrorDirective implements OnDestroy {\n /** Error name. */\n @Input()\n public clrIfDaterangeError: string;\n\n /** Rendered view. */\n private embeddedViewRef: EmbeddedViewRef<any>;\n\n /** Flag to remember if content is displayed. */\n protected displayedContent = false;\n\n /** List of subscriptions to later destroy. */\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private readonly template: TemplateRef<any>,\n private readonly container: ViewContainerRef,\n @Optional() private readonly daterangeControlStateService: DaterangeControlStateService,\n @Optional()\n private readonly daterangepickerContainerComponent: ClrDaterangepickerContainerComponent\n ) {\n // This directive only works inside `clr-daterangepicker-container`.\n if (this.daterangeControlStateService == null || this.daterangepickerContainerComponent == null) {\n throw new Error('`ClrIfDaterangeErrorDirective` can only be used within `ClrDaterangepickerContainerComponent`');\n }\n\n // Listen to status changes to toggle error visibility.\n this.subscriptions.push(\n this.daterangeControlStateService.statusChange.subscribe((_status: boolean) => {\n this.handleState();\n })\n );\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n /**\n * Handle error depending on states.\n */\n private handleState() {\n if (!this.daterangeControlStateService.invalid) {\n // If control is not invalid, hide all errors.\n this.toggleErrorVisibility(false);\n } else if (this.clrIfDaterangeError) {\n // Display error only if error input is list of errors.\n const hasError = this.clrIfDaterangeError in this.daterangeControlStateService.errors;\n this.toggleErrorVisibility(hasError);\n } else {\n // Display error.\n this.toggleErrorVisibility(true);\n }\n }\n\n /**\n * Display/hide error.\n * @param displayError - Wether to show/hide error.\n */\n private toggleErrorVisibility(displayError: boolean) {\n if (displayError) {\n const error = this.daterangeControlStateService.errors[this.clrIfDaterangeError];\n if (this.displayedContent === false) {\n this.embeddedViewRef = this.container.createEmbeddedView(this.template, {\n error,\n });\n this.displayedContent = true;\n } else if (this.embeddedViewRef && this.embeddedViewRef.context) {\n // If view is already rendered, update the error object to keep it in sync.\n this.embeddedViewRef.context.error = error;\n }\n } else {\n this.container.clear();\n this.displayedContent = false;\n }\n }\n}\n","import { Directive, forwardRef, Input, Optional } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\nimport { NullableDayModel } from '../models/day.model';\nimport { DaterangeService } from '../providers/daterange.service';\n\n/**\n * Validator for daterangepicker to validate that 'to' date is not after 'max' value.\n * Otherwise will throw corresponding `max` validation error.\n *\n * Validator is applied to the ClrDaterangepickerDirective with `max` attribute.\n * Or when set manually with `clrDaterangeMax` attribute.\n *\n * Validator is active by default when applied. It can be disabled with: `[clrDaterangeMax]=\"false\"`\n */\n@Directive({\n selector: '[clrDaterangepicker][max], [clrDaterangeMax]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ClrDaterangeMaxValidator),\n multi: true,\n },\n ],\n})\nexport class ClrDaterangeMaxValidator implements Validator {\n /** Validation error name. */\n public static readonly validationErrorName = 'max';\n\n private _active = true;\n\n public constructor(@Optional() private readonly daterangeService: DaterangeService) {}\n\n /**\n * Disable validator by setting value to `false`.\n */\n @Input('clrDaterangeMax')\n public set active(active: boolean | string | undefined | null) {\n this._active = active == null || (active !== false && `${active}` !== 'false');\n }\n\n /**\n * Validator method. Method that performs synchronous validation against the provided control.\n * @param control - The control to validate against.\n * @returns A map of validation errors if validation fails, otherwise null.\n */\n public validate(control: AbstractControl<NullableDaterange, any>): ValidationErrors | null {\n if (!this._active) {\n return null;\n }\n\n if (control.value == null) {\n return null;\n }\n\n const max: NullableDayModel = this.daterangeService.maxDate;\n if (max == null) {\n return null;\n }\n\n const { to } = control.value;\n\n if (to == null) {\n return null;\n }\n\n if (to.isAfter(max)) {\n return {\n [ClrDaterangeMaxValidator.validationErrorName]: {\n max,\n actual: to,\n },\n };\n }\n\n return null;\n }\n}\n","import { Directive, forwardRef, Input, Optional } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\nimport { NullableDayModel } from '../models/day.model';\nimport { DaterangeService } from '../providers/daterange.service';\n\n/**\n * Validator for daterangepicker to validate that 'from' date is not before 'min' value.\n * Otherwise will throw corresponding `min` validation error.\n *\n * Validator is applied to the ClrDaterangepickerDirective with `min` attribute.\n * Or when set manually with `clrDaterangeMin` attribute.\n *\n * Validator is active by default when applied. It can be disabled with: `[clrDaterangeMin]=\"false\"`\n */\n@Directive({\n selector: '[clrDaterangepicker][min], [clrDaterangeMin]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ClrDaterangeMinValidator),\n multi: true,\n },\n ],\n})\nexport class ClrDaterangeMinValidator implements Validator {\n /** Validation error name. */\n public static readonly validationErrorName = 'min';\n\n private _active = true;\n\n public constructor(@Optional() private readonly daterangeService: DaterangeService) {}\n\n /**\n * Disable validator by setting value to `false`.\n */\n @Input('clrDaterangeMin')\n public set active(active: boolean | string | undefined | null) {\n this._active = active == null || (active !== false && `${active}` !== 'false');\n }\n\n /**\n * Validator method. Method that performs synchronous validation against the provided control.\n * @param control - The control to validate against.\n * @returns A map of validation errors if validation fails, otherwise null.\n */\n public validate(control: AbstractControl<NullableDaterange, any>): ValidationErrors | null {\n if (!this._active) {\n return null;\n }\n\n if (control.value == null) {\n return null;\n }\n\n const min: NullableDayModel = this.daterangeService.minDate;\n if (min == null) {\n return null;\n }\n\n const { from } = control.value;\n\n if (from == null) {\n return null;\n }\n\n if (from.isBefore(min)) {\n return {\n [ClrDaterangeMinValidator.validationErrorName]: {\n min,\n actual: from,\n },\n };\n }\n\n return null;\n }\n}\n","import { Directive, forwardRef, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\n\n/**\n * Validator for daterangepicker to validate that 'from' date is before 'to' date.\n * Otherwise will throw `fromIsAfterTo` validation error.\n *\n * This validator is applied automatically on ClrDaterangepickerDirective.\n * Or when set manually with `clrDaterangeOrder` attribute.\n *\n * Validator is active by default when applied. It can be disabled with: `[clrDaterangeOrder]=\"false\"`\n */\n@Directive({\n selector: '[clrDaterangepicker], [clrDaterangeOrder]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ClrDaterangeOrderValidator),\n multi: true,\n },\n ],\n})\nexport class ClrDaterangeOrderValidator implements Validator {\n /** Validation error name. */\n public static readonly validationErrorName = 'fromIsAfterTo';\n\n private _active = true;\n\n /**\n * Disable validator by setting value to `false`.\n */\n @Input('clrDaterangeOrder')\n public set active(active: boolean | string | undefined | null) {\n this._active = active == null || (active !== false && `${active}` !== 'false');\n }\n\n /**\n * Validator method. Method that performs synchronous validation against the provided control.\n * @param control - The control to validate against.\n * @returns A map of validation errors if validation fails, otherwise null.\n */\n public validate(control: AbstractControl<NullableDaterange, any>): ValidationErrors | null {\n if (!this._active) {\n return null;\n }\n\n // Validation with `null` value is done with the regular required validator.\n if (control.value == null) {\n return null;\n }\n\n const { from, to } = control.value;\n\n // Validation with `null` values from 'from' & 'to' is done with the ClrDaterangeRequiredValidator.\n if (from == null || to == null) {\n return null;\n }\n\n if (from.isAfter(to)) {\n return {\n [ClrDaterangeOrderValidator.validationErrorName]: control.value,\n };\n }\n\n return null;\n }\n}\n","import { Directive, forwardRef, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\n\n/**\n * Validator for daterangepicker to validate that 'from' *AND* 'to' date are not `null`.\n * Will throw `required` validation error.\n *\n * Validator is applied to the ClrDaterangepickerDirective with `required` attribute.\n * Or when set manually with `clrDaterangeRequired` attribute.\n *\n * Validator is active by default when applied. It can be disabled with: `[clrDaterangeRequired]=\"false\"`\n */\n@Directive({\n selector: '[clrDaterangepicker][required], [clrDaterangeRequired]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ClrDaterangeRequiredValidator),\n multi: true,\n },\n ],\n})\nexport class ClrDaterangeRequiredValidator implements Validator {\n /** Validation error name. */\n public static readonly validationErrorName = 'required';\n\n private _active = true;\n\n /**\n * Disable validator by setting value to `false`.\n */\n @Input('clrDaterangeRequired')\n public set active(active: boolean | string | undefined | null) {\n this._active = active == null || (active !== false && `${active}` !== 'false');\n }\n\n /**\n * Validator method. Method that performs synchronous validation against the provided control.\n * @param control - The control to validate against.\n * @returns A map of validation errors if validation fails, otherwise null.\n */\n public validate(control: AbstractControl<NullableDaterange, any>): ValidationErrors | null {\n if (!this._active) {\n return null;\n }\n\n // Validation with `null` value is done with the regular required validator.\n if (control.value == null) {\n return null;\n }\n\n const { from, to } = control.value;\n if (from == null || to == null) {\n return {\n [ClrDaterangeRequiredValidator.validationErrorName]: control.value,\n };\n }\n\n return null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrDatepickerModule, ClrIconModule } from '@clr/angular';\n\nimport { ClrDatepickerComponent } from './directives/datepicker/datepicker.component';\nimport { ClrDaterangepickerContainerComponent } from './directives/daterangepicker-container/daterangepicker-container.component';\nimport { ClrDaterangepickerDirective } from './directives/daterangepicker/daterangepicker.directive';\nimport { ClrIfDaterangeErrorDirective } from './directives/if-daterange-error.directive';\nimport { ClrDaterangeMaxValidator } from './validators/daterange-max.validator';\nimport { ClrDaterangeMinValidator } from './validators/daterange-min.validator';\nimport { ClrDaterangeOrderValidator } from './validators/daterange-order.validator';\nimport { ClrDaterangeRequiredValidator } from './validators/daterange-required.validator';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ClarityModule, ClrDatepickerModule, ClrIconModule],\n declarations: [\n ClrDatepickerComponent,\n ClrDaterangeMaxValidator,\n ClrDaterangeMinValidator,\n ClrDaterangeOrderValidator,\n ClrDaterangepickerContainerComponent,\n ClrDaterangepickerDirective,\n ClrDaterangeRequiredValidator,\n ClrIfDaterangeErrorDirective,\n ],\n exports: [\n ClrDaterangeMaxValidator,\n ClrDaterangeMinValidator,\n ClrDaterangeOrderValidator,\n ClrDaterangepickerContainerComponent,\n ClrDaterangepickerDirective,\n ClrDaterangeRequiredValidator,\n ClrIfDaterangeErrorDirective,\n ],\n})\nexport class ClrDaterangepickerModule {}\n","import { AfterViewInit, Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[clrIfWarning]',\n})\nexport class ClrIfWarning implements AfterViewInit {\n private hostElement: Element;\n private formContainer: Element;\n private icon = this.renderer.createElement('cds-icon');\n\n constructor(\n private container: ViewContainerRef,\n private template: TemplateRef<any>,\n private renderer: Renderer2,\n private host: ElementRef\n ) {}\n\n @Input() set clrIfWarning(clrIfWarning: boolean) {\n if (clrIfWarning) {\n this.container.createEmbeddedView(this.template);\n setTimeout(() => {\n this.hostElement = this.host.nativeElement?.previousElementSibling;\n const wrapper = this.hostElement?.previousElementSibling;\n this.formContainer = this.getFormContainer(wrapper);\n //Radio buttons have no wrapper\n if (!wrapper) {\n this.formContainer = this.getFormContainer(this.hostElement?.parentElement);\n this.renderer.insertBefore(this.hostElement?.parentElement, this.icon, this.hostElement);\n }\n //if an error icon is already present, place the icon in the parent\n if (wrapper?.classList?.contains('clr-validate-icon')) {\n this.renderer.insertBefore(wrapper.parentElement, this.icon, wrapper?.nextSibling);\n } else {\n this.renderer.insertBefore(wrapper, this.icon, wrapper?.previousElementSibling);\n }\n this.setControlStyles();\n });\n } else {\n this.resetControlStyles();\n this.icon.remove();\n this.container.clear();\n }\n }\n\n getFormContainer(element: Element) {\n return element?.parentElement;\n }\n\n ngAfterViewInit(): void {\n this.icon.setAttribute('shape', 'exclamation-triangle');\n this.renderer.addClass(this.icon, 'clr-control-warning-icon');\n }\n\n resetControlStyles() {\n if (this.hostElement) {\n this.renderer.removeClass(this.hostElement, 'clr-warning');\n }\n if (this.formContainer) {\n this.renderer.removeClass(this.formContainer, 'clr-warning');\n }\n }\n\n setControlStyles() {\n if (this.hostElement) {\n this.renderer.addClass(this.hostElement, 'clr-warning');\n }\n if (this.formContainer) {\n this.renderer.addClass(this.formContainer, 'clr-warning');\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClrIfWarning } from './if-warning.directive';\nimport { ClarityIcons, exclamationTriangleIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(exclamationTriangleIcon);\n\n@NgModule({\n declarations: [ClrIfWarning],\n imports: [CommonModule],\n exports: [ClrIfWarning],\n})\nexport class ClrIfWarningModule {}\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrBackButtonModule } from './back-button';\nimport { ClrBreadcrumbModule } from './breadcrumb';\nimport { ClrCollapseExpandSectionModule } from './collapse-expand-section';\nimport { ClrContentPanelModule } from './content-panel';\nimport { ClrDataListValidatorModule } from './data-list-validator';\nimport { ClrDateTimeModule } from './date-time-container';\nimport { ClrDotPagerModule } from './dot-pager';\nimport { ClrFlowBarModule } from './flow-bar';\nimport { ClrGenericQuickListModule } from './generic-quick-list';\nimport { ClrLetterAvatarModule } from './letter-avatar';\nimport { ClrMainNavGroupModule } from './main-nav-group';\nimport { ClrMultilingualModule } from './multilingual';\nimport { ClrNotificationModule } from './notification';\nimport { ClrNumericFieldModule } from './numericfield';\nimport { ClrPagedSearchResultListModule } from './paged-search-result-list';\nimport { ClrPagerModule } from './pager';\nimport { ClrProgressSpinnerModule } from './progress-spinner';\nimport { ClrQuickListModule } from './quick-list';\nimport { ClrSearchFieldModule } from './searchfield';\nimport { ClrTreetableModule } from './treetable';\nimport { ClrViewEditSectionModule } from './view-edit-section';\nimport { ClrHistoryModule } from './history';\nimport { ClrAutocompleteOffModule } from './autocomplete-off';\nimport { ClrBrandAvatarModule } from './brand-avatar';\nimport { ClrLocationBarModule } from './location-bar';\nimport { ClrFormModule } from './abstract-form-component';\nimport { ClrDropdownOverflowModule } from './dropdown';\nimport { ClrDatagridStatePersistenceModule, ClrDateFilterModule, ClrEnumFilterModule } from './datagrid';\nimport { ClrDaterangepickerModule } from './daterangepicker';\nimport { ClrIfWarningModule } from './clr-control-warning/if-warning.module';\n\n@NgModule({\n exports: [\n ClrViewEditSectionModule,\n ClrPagerModule,\n ClrDotPagerModule,\n ClrPagedSearchResultListModule,\n ClrCollapseExpandSectionModule,\n ClrBreadcrumbModule,\n ClrMainNavGroupModule,\n ClrContentPanelModule,\n ClrNotificationModule,\n ClrFlowBarModule,\n ClrBackButtonModule,\n ClrNumericFieldModule,\n ClrSearchFieldModule,\n ClrTreetableModule,\n ClrProgressSpinnerModule,\n ClrDateTimeModule,\n ClrQuickListModule,\n ClrLetterAvatarModule,\n ClrMultilingualModule,\n ClrGenericQuickListModule,\n ClrDataListValidatorModule,\n ClrHistoryModule,\n ClrAutocompleteOffModule,\n ClrBrandAvatarModule,\n ClrLocationBarModule,\n ClrFormModule,\n ClrDropdownOverflowModule,\n ClrDatagridStatePersistenceModule,\n ClrEnumFilterModule,\n ClrDateFilterModule,\n ClrDaterangepickerModule,\n ClrIfWarningModule,\n ],\n})\nexport class ClrAddonsModule {}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nconst entityMap: Map<string, string> = new Map([\n ['&', '&amp;'],\n ['<', '&lt;'],\n ['>', '&gt;'],\n ['\"', '&quot;'],\n [\"'\", '&#39;'],\n ['/', '&#x2F;'],\n]);\n\nexport function escapeHtml(source: string): string {\n return source.replace(/[&<>\"'/]/g, s => entityMap.get(s));\n}\n\nexport function escapeRegex(s: string): string {\n return String(s).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './escape.util';\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './clr-addons.module';\n\nexport * from './view-edit-section/index';\nexport * from './pager/index';\nexport * from './dot-pager/index';\nexport * from './paged-search-result-list/index';\nexport * from './collapse-expand-section/index';\nexport * from './main-nav-group/index';\nexport * from './content-panel/index';\nexport * from './breadcrumb/index';\nexport * from './notification/index';\nexport * from './flow-bar/index';\nexport * from './back-button/index';\nexport * from './progress-spinner/index';\nexport * from './numericfield/index';\nexport * from './searchfield/index';\nexport * from './treetable/index';\nexport * from './date-time-container/index';\nexport * from './quick-list/index';\nexport * from './multilingual/index';\nexport * from './util/index';\nexport * from './generic-quick-list/index';\nexport * from './letter-avatar/index';\nexport * from './data-list-validator/index';\nexport * from './icons/index';\nexport * from './history/index';\nexport * from './brand-avatar/index';\nexport * from './location-bar/index';\nexport * from './autocomplete-off/index';\nexport * from './abstract-form-component/index';\nexport * from './dropdown/index';\nexport * from './datagrid/index';\nexport * from './daterangepicker/index';\nexport * from './clr-control-warning/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ClrBreadcrumbService","i2","i3","i3.ClrDropdownOverflowDirective","i1","i4.ClrMultilingualSelector","i3.ClrPager","i3.ClrAddOption","i3.ClrTreetableActionOverflow","i1.ClrHistoryService","i4.ClrDropdownOverflowDirective","takeUntil","i1.ControlIdService","i4.ClrAutocompleteOff","i5.ClrAddonsLabel","i6.ClrSearchField","i4.LocationBarSearchComponent","i3.LocationBarNodeComponent","i1.DatagridFieldDirective","i2.StatePersistenceKeyDirective","i1.OpenedDatepickersTrackerService","i2.DaterangeControlStateService","i3.ControlIdService","i4.DaterangeService","i5.DaterangeParsingService","i3.OpenedDatepickersTrackerService","i6","i7","i8.ClrDatepickerComponent","i1.DaterangeControlStateService","i2.ClrDaterangepickerContainerComponent","i1.DaterangeService"],"mappings":"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"}
1
+ {"version":3,"file":"clr-addons.mjs","sources":["../../../src/clr-addons/back-button/back-button.ts","../../../src/clr-addons/back-button/back-button.html","../../../src/clr-addons/back-button/back-button.module.ts","../../../src/clr-addons/back-button/index.ts","../../../src/clr-addons/breadcrumb/breadcrumb.service.ts","../../../src/clr-addons/breadcrumb/breadcrumb.ts","../../../src/clr-addons/breadcrumb/breadcrumb.html","../../../src/clr-addons/breadcrumb/breadcrumb.module.ts","../../../src/clr-addons/breadcrumb/breadcrumb-model.interface.ts","../../../src/clr-addons/breadcrumb/index.ts","../../../src/clr-addons/collapse-expand-section/collapse-expand-section.ts","../../../src/clr-addons/collapse-expand-section/collapse-expand-section.html","../../../src/clr-addons/collapse-expand-section/collapse-expand-section.module.ts","../../../src/clr-addons/collapse-expand-section/index.ts","../../../src/clr-addons/content-panel/content-panel.ts","../../../src/clr-addons/content-panel/content-panel.html","../../../src/clr-addons/content-panel/content-panel-container.ts","../../../src/clr-addons/content-panel/content-panel-container-content.ts","../../../src/clr-addons/content-panel/content-panel-container-footer.ts","../../../src/clr-addons/content-panel/content-panel.module.ts","../../../src/clr-addons/content-panel/index.ts","../../../src/clr-addons/data-list-validator/data-list.validator.ts","../../../src/clr-addons/data-list-validator/data-list-predefined-validator.directive.ts","../../../src/clr-addons/data-list-validator/data-list-validator.module.ts","../../../src/clr-addons/data-list-validator/index.ts","../../../src/clr-addons/date-time-container/date-time-container.ts","../../../src/clr-addons/date-time-container/time-input.ts","../../../src/clr-addons/date-time-container/date-time-module.ts","../../../src/clr-addons/date-time-container/index.ts","../../../src/clr-addons/dot-pager/dot-pager.ts","../../../src/clr-addons/dot-pager/dot-pager.html","../../../src/clr-addons/dot-pager/dot-pager.module.ts","../../../src/clr-addons/dot-pager/index.ts","../../../src/clr-addons/dropdown/clr-dropdown-overflow.directive.ts","../../../src/clr-addons/flow-bar/flow-bar.ts","../../../src/clr-addons/flow-bar/flow-bar.html","../../../src/clr-addons/dropdown/clr-dropdown-overflow.module.ts","../../../src/clr-addons/dropdown/index.ts","../../../src/clr-addons/flow-bar/flow-bar.module.ts","../../../src/clr-addons/flow-bar/index.ts","../../../src/clr-addons/generic-quick-list/generic-quick-list.ts","../../../src/clr-addons/generic-quick-list/generic-quick-list.html","../../../src/clr-addons/generic-quick-list/generic-quick-list.module.ts","../../../src/clr-addons/generic-quick-list/index.ts","../../../src/clr-addons/letter-avatar/letter-avatar.ts","../../../src/clr-addons/letter-avatar/letter-avatar.html","../../../src/clr-addons/letter-avatar/letter-avatar.module.ts","../../../src/clr-addons/letter-avatar/index.ts","../../../src/clr-addons/main-nav-group/main-nav-group-item.ts","../../../src/clr-addons/main-nav-group/main-nav-group.ts","../../../src/clr-addons/main-nav-group/main-nav-group.html","../../../src/clr-addons/main-nav-group/main-nav-group.module.ts","../../../src/clr-addons/main-nav-group/index.ts","../../../src/clr-addons/multilingual/multilingual-validators.ts","../../../src/clr-addons/abstract-form-component/control-id.service.ts","../../../src/clr-addons/abstract-form-component/abstract-form-component.ts","../../../src/clr-addons/multilingual/abstract-multilingual.ts","../../../src/clr-addons/multilingual/multilingual-selector.ts","../../../src/clr-addons/multilingual/multilingual-input/multilingual-input.ts","../../../src/clr-addons/multilingual/multilingual-input/multilingual-input.html","../../../src/clr-addons/multilingual/multilingual-textarea/multilingual-textarea.ts","../../../src/clr-addons/multilingual/multilingual-textarea/multilingual-textarea.html","../../../src/clr-addons/multilingual/multilingual.module.ts","../../../src/clr-addons/multilingual/index.ts","../../../src/clr-addons/notification/notification-ref.ts","../../../src/clr-addons/notification/scheduler-utils.ts","../../../src/clr-addons/notification/notification.ts","../../../src/clr-addons/notification/notification.html","../../../src/clr-addons/notification/notification.module.ts","../../../src/clr-addons/notification/notification.service.ts","../../../src/clr-addons/notification/index.ts","../../../src/clr-addons/numericfield/numeric-field.ts","../../../src/clr-addons/numericfield/numeric-field-validators.ts","../../../src/clr-addons/numericfield/numeric-field.module.ts","../../../src/clr-addons/numericfield/index.ts","../../../src/clr-addons/pager/pager.ts","../../../src/clr-addons/pager/pager.html","../../../src/clr-addons/paged-search-result-list/paged-search-result-list.ts","../../../src/clr-addons/paged-search-result-list/paged-search-result-list.html","../../../src/clr-addons/pager/pager.module.ts","../../../src/clr-addons/paged-search-result-list/paged-search-result-list.module.ts","../../../src/clr-addons/paged-search-result-list/index.ts","../../../src/clr-addons/pager/index.ts","../../../src/clr-addons/progress-spinner/progress-spinner.ts","../../../src/clr-addons/progress-spinner/progress-spinner.module.ts","../../../src/clr-addons/progress-spinner/index.ts","../../../src/clr-addons/quick-list/add-option.service.ts","../../../src/clr-addons/quick-list/add-option.ts","../../../src/clr-addons/quick-list/add-option.html","../../../src/clr-addons/quick-list/quick-list.ts","../../../src/clr-addons/quick-list/quick-list.html","../../../src/clr-addons/quick-list/quick-list.module.ts","../../../src/clr-addons/quick-list/index.ts","../../../src/clr-addons/searchfield/search-field.ts","../../../src/clr-addons/searchfield/search-field.module.ts","../../../src/clr-addons/searchfield/index.ts","../../../src/clr-addons/treetable/treetable-column.ts","../../../src/clr-addons/treetable/treetable-action-overflow.ts","../../../src/clr-addons/treetable/treetable-row.ts","../../../src/clr-addons/treetable/treetable-row.html","../../../src/clr-addons/treetable/treetable.ts","../../../src/clr-addons/treetable/treetable.html","../../../src/clr-addons/treetable/treetable-cell.ts","../../../src/clr-addons/treetable/treetable-placeholder.ts","../../../src/clr-addons/treetable/renderer/header-renderer.ts","../../../src/clr-addons/treetable/renderer/cell-renderer.ts","../../../src/clr-addons/treetable/renderer/row-renderer.ts","../../../src/clr-addons/treetable/renderer/main-renderer.ts","../../../src/clr-addons/treetable/treetable.module.ts","../../../src/clr-addons/treetable/index.ts","../../../src/clr-addons/view-edit-section/view-edit-section.ts","../../../src/clr-addons/view-edit-section/view-edit-section.html","../../../src/clr-addons/view-edit-section/view-edit-section.module.ts","../../../src/clr-addons/view-edit-section/index.ts","../../../src/clr-addons/history/history-model.interface.ts","../../../src/clr-addons/history/history.service.ts","../../../src/clr-addons/history/history.provider.ts","../../../src/clr-addons/history/history.ts","../../../src/clr-addons/history/history.html","../../../src/clr-addons/history/history-pinned.ts","../../../src/clr-addons/history/history-pinned.html","../../../src/clr-addons/history/history.module.ts","../../../src/clr-addons/history/index.ts","../../../src/clr-addons/autocomplete-off/autocomplete-off.directive.ts","../../../src/clr-addons/autocomplete-off/autocomplete-off.module.ts","../../../src/clr-addons/icons/svg-tag-generator.ts","../../../src/clr-addons/icons/shapes.ts","../../../src/clr-addons/icons/index.ts","../../../src/clr-addons/brand-avatar/brand-avatar.ts","../../../src/clr-addons/brand-avatar/brand-avatar.html","../../../src/clr-addons/brand-avatar/brand-avatar.module.ts","../../../src/clr-addons/brand-avatar/index.ts","../../../src/clr-addons/location-bar/location-bar.model.ts","../../../src/clr-addons/location-bar/location-bar.provider.ts","../../../src/clr-addons/abstract-form-component/label.ts","../../../src/clr-addons/location-bar/location-bar-search/location-bar-search.component.ts","../../../src/clr-addons/location-bar/location-bar-search/location-bar-search.component.html","../../../src/clr-addons/location-bar/location-bar-node/location-bar-node.component.ts","../../../src/clr-addons/location-bar/location-bar-node/location-bar-node.component.html","../../../src/clr-addons/location-bar/location-bar.component.ts","../../../src/clr-addons/location-bar/location-bar.component.html","../../../src/clr-addons/abstract-form-component/form.module.ts","../../../src/clr-addons/location-bar/location-bar.module.ts","../../../src/clr-addons/datagrid/datagrid-state-persistence/datagrid-field.directive.ts","../../../src/clr-addons/datagrid/datagrid-state-persistence/state-persistence-key.directive.ts","../../../src/clr-addons/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.ts","../../../src/clr-addons/datagrid/datagrid-state-persistence/datagrid-state-persistence.module.ts","../../../src/clr-addons/datagrid/enum-filter/enum-filter.component.ts","../../../src/clr-addons/datagrid/enum-filter/enum-filter.component.html","../../../src/clr-addons/datagrid/enum-filter/enum-filter.module.ts","../../../src/clr-addons/datagrid/date-filter/nested-property.ts","../../../src/clr-addons/datagrid/date-filter/date-filter.component.ts","../../../src/clr-addons/datagrid/date-filter/date-filter.component.html","../../../src/clr-addons/datagrid/date-filter/date-filter.module.ts","../../../src/clr-addons/daterangepicker/daterange.constants.ts","../../../src/clr-addons/daterangepicker/models/day.model.ts","../../../src/clr-addons/daterangepicker/providers/opened-datepickers-tracker.service.ts","../../../src/clr-addons/daterangepicker/directives/datepicker/datepicker.component.ts","../../../src/clr-addons/daterangepicker/directives/datepicker/datepicker.component.html","../../../src/clr-addons/daterangepicker/models/popover-positions.model.ts","../../../src/clr-addons/daterangepicker/providers/daterange-control-state.service.ts","../../../src/clr-addons/daterangepicker/providers/daterange-parsing.service.ts","../../../src/clr-addons/daterangepicker/providers/daterange.service.ts","../../../src/clr-addons/daterangepicker/directives/abstract-container.component.ts","../../../src/clr-addons/daterangepicker/directives/daterangepicker/daterangepicker.directive.ts","../../../src/clr-addons/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.ts","../../../src/clr-addons/daterangepicker/directives/daterangepicker-container/daterangepicker-container.component.html","../../../src/clr-addons/daterangepicker/directives/if-daterange-error.directive.ts","../../../src/clr-addons/daterangepicker/validators/daterange-max.validator.ts","../../../src/clr-addons/daterangepicker/validators/daterange-min.validator.ts","../../../src/clr-addons/daterangepicker/validators/daterange-order.validator.ts","../../../src/clr-addons/daterangepicker/validators/daterange-required.validator.ts","../../../src/clr-addons/daterangepicker/daterangepicker.module.ts","../../../src/clr-addons/clr-control-warning/if-warning.directive.ts","../../../src/clr-addons/clr-control-warning/if-warning.module.ts","../../../src/clr-addons/clr-addons.module.ts","../../../src/clr-addons/util/escape.util.ts","../../../src/clr-addons/util/index.ts","../../../src/clr-addons/index.ts","../../../src/clr-addons/clr-addons.ts"],"sourcesContent":["/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { arrowIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(arrowIcon);\n\n@Component({\n selector: 'clr-back-button',\n templateUrl: './back-button.html',\n})\nexport class ClrBackButton {\n constructor(private location: Location) {}\n\n public back(): void {\n this.location.back();\n }\n}\n","<button type=\"button\" class=\"btn btn-icon btn-link back-button\" (click)=\"back()\">\n <cds-icon shape=\"arrow\" direction=\"left\" size=\"36\"></cds-icon>\n</button>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrBackButton } from './back-button';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrBackButton],\n exports: [ClrBackButton],\n})\nexport class ClrBackButtonModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './back-button';\nexport * from './back-button.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ClrBreadcrumbModel } from './breadcrumb-model.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ClrBreadcrumbService {\n breadcrumbChange: Subject<ClrBreadcrumbModel[]> = new Subject();\n\n updateBreadcrumb(breadcrumbElements: ClrBreadcrumbModel[]): void {\n this.breadcrumbChange.next(breadcrumbElements);\n }\n}\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, OnDestroy } from '@angular/core';\nimport { ClrBreadcrumbModel } from './breadcrumb-model.interface';\nimport { ClrBreadcrumbService } from './breadcrumb.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'clr-breadcrumb',\n templateUrl: './breadcrumb.html',\n})\nexport class ClrBreadcrumb implements OnDestroy {\n /**\n * The array of breadcrumb elements to be displayed.\n */\n breadcrumbElements: ClrBreadcrumbModel[] = [];\n destroyed = new Subject<void>();\n\n constructor(private breadcrumbService: ClrBreadcrumbService) {\n this.breadcrumbService.breadcrumbChange.pipe(takeUntil(this.destroyed)).subscribe(r => {\n this.breadcrumbElements = r;\n });\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n","<nav aria-label=\"breadcrumb\" *ngIf=\"breadcrumbElements.length\">\n <ol class=\"breadcrumb\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbElements\">\n <li *ngIf=\"breadcrumbItem.url\" class=\"breadcrumb-item\">\n <a [routerLink]=\"breadcrumbItem.url\">{{breadcrumbItem.label}}</a>\n </li>\n <li *ngIf=\"!breadcrumbItem.url\" class=\"breadcrumb-item active\">{{breadcrumbItem.label}}</li>\n </ng-container>\n </ol>\n</nav>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrBreadcrumb } from './breadcrumb';\nimport { RouterModule } from '@angular/router';\nimport { ClrBreadcrumbService } from './breadcrumb.service';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, RouterModule],\n declarations: [ClrBreadcrumb],\n exports: [ClrBreadcrumb],\n providers: [ClrBreadcrumbService],\n})\nexport class ClrBreadcrumbModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport interface ClrBreadcrumbModel {\n /**\n * The label to be displayed.\n */\n label: string;\n\n /**\n * The url where the navigation goes.\n */\n url?: string;\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './breadcrumb';\nexport * from './breadcrumb.module';\nexport * from './breadcrumb-model.interface';\nexport * from './breadcrumb.service';\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-collapse-expand-section',\n templateUrl: './collapse-expand-section.html',\n animations: [\n trigger('collapseExpandAnimation', [\n transition(':enter', [\n style({ opacity: 0, height: 0, overflow: 'hidden' }),\n animate('300ms', style({ opacity: 1, height: '*' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '*', overflow: 'hidden' }),\n animate('300ms', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n trigger('rotateIcon', [\n state('true', style({ transform: 'rotate(0)' })),\n state('false', style({ transform: 'rotate(180deg)' })),\n transition('true => false', animate('300ms ease-out')),\n transition('false => true', animate('300ms ease-in')),\n ]),\n ],\n})\nexport class ClrCollapseExpandSection {\n @Input('clrIsCollapsed') isCollapsed = true;\n @Input('clrDisableHeaderStyles') disableHeaderStyles = false;\n\n // there is no suitable option to detect, if the the subtitle is available or not\n // see https://github.com/angular/angular/issues/26083\n @Input('clrDisableSubtitle') disableSubtitle = false;\n\n @Output('clrCollapsed') collapsed = new EventEmitter();\n @Output('clrExpanded') expanded = new EventEmitter();\n\n onCollapseExpand(): void {\n if (this.isCollapsed) {\n this.expanded.emit();\n } else {\n this.collapsed.emit();\n }\n\n this.isCollapsed = !this.isCollapsed;\n }\n}\n","<div class=\"ces\">\n <div class=\"ces-title\" [class.disabled-header-styles]=\"disableHeaderStyles\">\n <h2 *ngIf=\"!disableHeaderStyles; else title\">\n <ng-container *ngTemplateOutlet=\"title\"></ng-container>\n </h2>\n <ng-template #title>\n <ng-content select=\"[clr-ces-title]\"></ng-content>\n <button type=\"button\" (click)=\"onCollapseExpand()\" class=\"btn btn-icon btn-link ces-caret-btn\">\n <cds-icon shape=\"angle\" direction=\"up\" size=\"28\" class=\"ces-caret-icon\" [@rotateIcon]=\"isCollapsed\"></cds-icon>\n </button>\n </ng-template>\n </div>\n <div class=\"ces-subtitle\" *ngIf=\"!disableSubtitle\">\n <h4 *ngIf=\"!disableHeaderStyles; else subtitle\">\n <ng-container *ngTemplateOutlet=\"subtitle\"></ng-container>\n </h4>\n <ng-template #subtitle>\n <ng-content select=\"[clr-ces-subtitle]\"></ng-content>\n </ng-template>\n </div>\n <div [@collapseExpandAnimation] *ngIf=\"!isCollapsed\">\n <ng-content select=\"[clr-ces-content]\"></ng-content>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrCollapseExpandSection } from './collapse-expand-section';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrCollapseExpandSection],\n exports: [ClrCollapseExpandSection],\n})\nexport class ClrCollapseExpandSectionModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './collapse-expand-section';\nexport * from './collapse-expand-section.module';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, Output } from '@angular/core';\nimport { ClarityIcons, timesIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(timesIcon);\n\n@Component({\n selector: 'clr-content-panel',\n templateUrl: './content-panel.html',\n animations: [\n trigger('slideIn', [\n transition(':enter', [style({ opacity: 0, width: 0 }), animate('0.2s', style({ opacity: 1, width: '*' }))]),\n transition(':leave', [style({ opacity: 1, width: '*' }), animate('0.2s', style({ opacity: 0, width: 0 }))]),\n ]),\n trigger('fade', [\n transition(':enter', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),\n transition(':leave', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),\n ]),\n ],\n host: {\n '[class.content-panel]': 'true',\n },\n})\nexport class ClrContentPanel {\n _open = false;\n\n @Output('clrOpened') opened: EventEmitter<any> = new EventEmitter();\n @Output('clrClosed') closed: EventEmitter<any> = new EventEmitter();\n\n public isOpen(): boolean {\n return this._open;\n }\n\n public open(): void {\n if (this._open) {\n return;\n }\n this._open = true;\n this.opened.emit();\n }\n\n public close(): void {\n if (!this._open) {\n return;\n }\n this._open = false;\n this.closed.emit();\n }\n\n public toggle(): void {\n if (this._open) {\n this.close();\n } else {\n this.open();\n }\n }\n\n resizeWindow(): void {\n // this event is used by the tree table to adjust the colomns width\n window.dispatchEvent(new Event('resize'));\n }\n}\n","<ng-container *ngIf=\"_open\">\n <div [@slideIn] class=\"content-panel-content-wrapper\" (@slideIn.done)=\"resizeWindow()\">\n <h3 class=\"content-panel-title\">\n <button type=\"button\" class=\"close content-panel-close-btn\" (click)=\"close()\">\n <cds-icon class=\"content-panel-close-icon\" shape=\"times\" size=\"36\"></cds-icon>\n </button>\n <ng-content select=\"[clr-content-panel-title]\"></ng-content>\n </h3>\n <ng-content select=\"[clr-content-panel-content]\"></ng-content>\n </div>\n <div [@fade] class=\"content-panel-backdrop\" (click)=\"close()\" (@fade.done)=\"resizeWindow()\"></div>\n</ng-container>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-content-panel-container',\n template: `\n <div class=\"content-panel-outer-wrapper\">\n <ng-content select=\"clr-content-panel-container-content\"></ng-content>\n <ng-content select=\"clr-content-panel-container-footer\"></ng-content>\n </div>\n <ng-content select=\"clr-content-panel\"></ng-content>\n `,\n host: {\n '[class.content-container]': 'true',\n '[class.content-panel-container]': 'true',\n },\n})\nexport class ClrContentPanelContainer {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-content-panel-container-content',\n template: ` <ng-content></ng-content> `,\n host: {\n '[class.content-area]': 'true',\n },\n})\nexport class ClrContentPanelContainerContent {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-content-panel-container-footer',\n template: ` <ng-content></ng-content> `,\n host: {\n '[class.content-area-footer]': 'true',\n },\n})\nexport class ClrContentPanelContainerFooter {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrContentPanel } from './content-panel';\nimport { ClrContentPanelContainer } from './content-panel-container';\nimport { ClrContentPanelContainerContent } from './content-panel-container-content';\nimport { ClrContentPanelContainerFooter } from './content-panel-container-footer';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [\n ClrContentPanel,\n ClrContentPanelContainer,\n ClrContentPanelContainerContent,\n ClrContentPanelContainerFooter,\n ],\n exports: [ClrContentPanel, ClrContentPanelContainer, ClrContentPanelContainerContent, ClrContentPanelContainerFooter],\n})\nexport class ClrContentPanelModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './content-panel';\nexport * from './content-panel-container';\nexport * from './content-panel-container-content';\nexport * from './content-panel-container-footer';\nexport * from './content-panel.module';\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n/**\n * Class to provide validators for the Clr Data List.\n */\nexport class ClrDataListValidators {\n /**\n * @description\n * Validator that requires the control's value to be found in a possible values array.\n * This prohibits the user from entering custom values.\n *\n * @usageNotes\n *\n * ### Validate against an array of possible values\n *\n * ```typescript\n * const control = new FormControl('1234', ClrDataListValidators.predefined(['ASDF', 'QWER']));\n *\n * console.log(control.errors); // {predefined: {predefined: ['ASDF', 'QWER'], actual: '1234'}}\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `predefined` property if the validation check fails, otherwise `null`.\n *\n */\n static predefined(possibleValues: string[]): ValidatorFn {\n const validatorFn: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (!control.value) {\n return null; // don't validate empty values to allow optional controls\n }\n const value: string = possibleValues.find(v => v === control.value);\n\n return !value ? { predefined: { predefined: possibleValues, actual: control.value } } : null;\n };\n return validatorFn;\n }\n}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Directive, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\nimport { ClrDataListValidators } from './data-list.validator';\n\n/**\n * Directive which validates data list values, to be used in template driven forms.\n * @see {@link ClrDataListValidators#predefined}\n */\n@Directive({\n selector: '[clrDataListPredefined]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrDataListPredefinedValidatorDirective, multi: true }],\n})\nexport class ClrDataListPredefinedValidatorDirective implements Validator {\n @Input() clrDataListPredefined: string[] = [];\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return ClrDataListValidators.predefined(this.clrDataListPredefined)(control);\n }\n}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrDataListPredefinedValidatorDirective } from './data-list-predefined-validator.directive';\n\n@NgModule({\n declarations: [ClrDataListPredefinedValidatorDirective],\n exports: [ClrDataListPredefinedValidatorDirective],\n})\nexport class ClrDataListValidatorModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './data-list.validator';\nexport * from './data-list-predefined-validator.directive';\nexport * from './data-list-validator.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewInit, Component, ElementRef, Renderer2, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'clr-date-time-container',\n template: `\n <ng-content select=\"clr-date-container\"></ng-content>\n\n <ng-template #timeInput>\n <div class=\"clr-input-wrapper\">\n <ng-content select=\"[clrTime]\"></ng-content>\n </div>\n </ng-template>\n `,\n host: {\n '[class.date-time-container]': 'true',\n },\n})\nexport class ClrDateTimeContainer implements AfterViewInit {\n @ViewChild('timeInput', { static: true }) timeInput: TemplateRef<any>;\n\n constructor(private renderer: Renderer2, private inputEl: ElementRef) {}\n\n ngAfterViewInit(): void {\n // Create the time input\n const timeInputElement = this.timeInput.createEmbeddedView(null).rootNodes[0];\n // Select the clr input wrapper of the date-container\n const inputWrapper = this.inputEl.nativeElement.querySelector('.clr-input-wrapper');\n // Append it as a child\n this.renderer.appendChild(inputWrapper, timeInputElement);\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[clrTime]',\n host: {\n '[class.clr-input]': 'true',\n },\n})\nexport class ClrTimeInput {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrFormsModule } from '@clr/angular';\n\nimport { ClrDateTimeContainer } from './date-time-container';\nimport { ClrTimeInput } from './time-input';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule],\n declarations: [ClrDateTimeContainer, ClrTimeInput],\n exports: [ClrDateTimeContainer, ClrTimeInput],\n})\nexport class ClrDateTimeModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './date-time-container';\nexport * from './date-time-module';\nexport * from './time-input';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'clr-dot-pager',\n templateUrl: './dot-pager.html',\n host: { '[class.dot-pager]': 'true' },\n})\nexport class ClrDotPager {\n uniqueName = Math.floor(Math.random() * 100000);\n @Output('clrCurrentPageChange') currentPageChange: EventEmitter<number> = new EventEmitter(false);\n\n /**\n * Page count, a value of 0 means no pagination\n */\n private _pages = 0;\n public get pages(): number {\n return this._pages;\n }\n\n @Input('clrPages')\n public set pages(pages: number) {\n this._pages = pages;\n }\n\n /**\n * Current page\n */\n private _currentPage = 0;\n public get currentPage(): number {\n return this._currentPage;\n }\n\n @Input('clrCurrentPage')\n public set currentPage(currentPage: number) {\n if (currentPage !== this._currentPage) {\n this._currentPage = currentPage;\n this.currentPageChange.emit(currentPage);\n }\n }\n\n pageArray(): any[] {\n return Array(this._pages);\n }\n}\n","<clr-radio-container *ngIf=\"pages > 0\" clrInline>\n <clr-radio-wrapper *ngFor=\"let a of pageArray(); let page = index\">\n <input clrRadio type=\"radio\" [value]=\"page+1\" [(ngModel)]=\"currentPage\" name=\"{{uniqueName}}\" />\n <label>&nbsp;</label>\n </clr-radio-wrapper>\n</clr-radio-container>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrDotPager } from './dot-pager';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrDotPager],\n exports: [ClrDotPager],\n})\nexport class ClrDotPagerModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './dot-pager';\nexport * from './dot-pager.module';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewChecked, ContentChildren, Directive, ElementRef, Input, OnDestroy, QueryList } from '@angular/core';\nimport { ClrDropdown } from '@clr/angular';\nimport { Subscription } from 'rxjs';\n\n@Directive({ selector: 'clr-dropdown-menu' })\nexport class ClrDropdownOverflowDirective implements AfterViewChecked, OnDestroy {\n @Input() clrDropdownMenuMaxHeight: string | number; // can be of px, rem, vh, or a number (which then is considered as px value)\n @Input() clrDropdownMenuItemMinHeight: string | number; // can be of px, rem, vh, or a number (which then is considered as px value)\n\n @Input()\n set clrMarginBottom(value: string | number) {\n this.marginBottomPx = this.convertToPixels(value);\n }\n\n @ContentChildren(ClrDropdown, { descendants: true }) private nestedDropdownChildren: QueryList<ClrDropdown>;\n\n public readonly defaultItemMinHeightRem = 1.5;\n\n private alreadyChecked = false;\n private marginBottomPx = 2;\n\n private nestedDropdownSubscription: Subscription;\n\n public constructor(private elRef: ElementRef) {}\n\n ngAfterViewChecked(): void {\n // first trigger manually because the subscription lower only triggers after first change\n if (!this.nestedDropdownChildren?.length) {\n this.applyDropdownOverflowStyles();\n }\n\n if (!this.nestedDropdownSubscription) {\n this.nestedDropdownSubscription = this.nestedDropdownChildren.changes.subscribe(\n (children: QueryList<ClrDropdown>) => {\n // if there are any nested dropdowns, our overflow fix prevents those from showing and needs to be removed\n if (!children?.length) {\n this.applyDropdownOverflowStyles();\n } else if (children?.length) {\n this.removeDropdownOverflowStyles();\n }\n }\n );\n }\n }\n\n ngOnDestroy(): void {\n this.nestedDropdownSubscription?.unsubscribe();\n }\n\n private applyDropdownOverflowStyles(): void {\n // the vertical position of our element in the current window\n const y = this.elRef.nativeElement.getBoundingClientRect().y;\n if (y !== 0 && !this.alreadyChecked) {\n const itemMinHeightPx = this.getItemMinHeight(this.clrDropdownMenuItemMinHeight);\n // see https://stackoverflow.com/questions/22754315/for-loop-for-htmlcollection-elements\n for (const item of this.getAllChildDropdownMenuItems()) {\n item.style.minHeight = itemMinHeightPx + 'px';\n }\n const height = window.innerHeight - y;\n const maxHeight = this.getMenuMaxHeight(this.clrDropdownMenuMaxHeight, height - this.marginBottomPx);\n this.elRef.nativeElement.style.maxHeight = maxHeight + 'px';\n\n this.elRef.nativeElement.style.overflowY = 'auto';\n this.alreadyChecked = true;\n }\n }\n\n private removeDropdownOverflowStyles(): void {\n for (const item of this.getAllChildDropdownMenuItems()) {\n item.style.minHeight = null;\n }\n\n this.elRef.nativeElement.style.maxHeight = null;\n this.elRef.nativeElement.style.overflowY = null;\n this.alreadyChecked = false;\n }\n\n private getAllChildDropdownMenuItems() {\n return this.elRef.nativeElement.getElementsByClassName('dropdown-item');\n }\n\n private getMenuMaxHeight(menuMaxHeightProvided: string | number, menuMaxHeightPx: number): number {\n if (menuMaxHeightProvided) {\n const maxHeightPx = this.convertToPixels(menuMaxHeightProvided);\n return maxHeightPx > menuMaxHeightPx ? menuMaxHeightPx : maxHeightPx;\n }\n return menuMaxHeightPx;\n }\n\n private getItemMinHeight(itemMinHeightProvided: string | number): number {\n if (itemMinHeightProvided) {\n return this.convertToPixels(itemMinHeightProvided);\n }\n return this.convertRemToPixels(this.defaultItemMinHeightRem);\n }\n\n private convertToPixels(value: string | number): number {\n if (typeof value === 'string') {\n if (value.endsWith('px')) {\n return parseFloat(value.replace('px', ''));\n } else if (value.endsWith('rem')) {\n return this.convertRemToPixels(parseFloat(value.replace('rem', '')));\n } else if (value.endsWith('vh')) {\n return this.convertVhToPixels(parseFloat(value.replace('vh', '')));\n }\n return parseFloat(value);\n }\n return value;\n }\n\n private convertRemToPixels(rem: number): number {\n return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);\n }\n\n private convertVhToPixels(vh: number): number {\n const pxPerVhUnit = window.innerHeight / 100;\n return vh * pxPerVhUnit;\n }\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon);\n\nexport interface ClrFlowBarStep {\n title: Observable<string>;\n enabled: boolean;\n activeSubStep?: ClrFlowBarStep;\n subSteps?: ClrFlowBarStep[];\n}\n\n@Component({\n selector: 'clr-flow-bar',\n templateUrl: './flow-bar.html',\n host: {\n '[class.flow-bar]': 'true',\n },\n})\nexport class ClrFlowBar implements OnInit {\n @Input('clrSteps') _steps: ClrFlowBarStep[] = [];\n @Input('clrActiveStep') _activeStep: ClrFlowBarStep;\n @Output('clrActiveStepChange') _activeStepChange: EventEmitter<ClrFlowBarStep> = new EventEmitter(false);\n\n ngOnInit(): void {\n // If no active step is set as input or the active step is not enabled, select the first enabled step\n if (!this._activeStep || !this._activeStep.enabled) {\n this._activeStep = this._steps.find(step => {\n return step.enabled;\n });\n if (this._activeStep) {\n // If sub steps exist then set the first non disabled sub step per default\n if (this.activeTabHasSubSteps()) {\n this._activeStep.activeSubStep = this._activeStep.subSteps.find(step => {\n return step.enabled;\n });\n }\n // Do async update here to avoid ExpressionChangedAfterItHasBeenCheckedError\n setTimeout(() => {\n this._activeStepChange.emit(this._activeStep);\n });\n }\n }\n }\n\n public changeActiveStep(step: ClrFlowBarStep): void {\n const previousIndex = this._steps.indexOf(this._activeStep);\n this._activeStep = step;\n if (this.activeTabHasSubSteps()) {\n if (previousIndex < this._steps.indexOf(this._activeStep)) {\n this._activeStep.activeSubStep = this._activeStep.subSteps[0];\n } else {\n this._activeStep.activeSubStep = this._activeStep.subSteps[this._activeStep.subSteps.length - 1];\n }\n }\n this._activeStepChange.emit(this._activeStep);\n }\n\n public changeActiveSubStep(subStep: ClrFlowBarStep): void {\n this._activeStep.activeSubStep = subStep;\n }\n\n public previous(): void {\n if (this.isPreviousAvailable()) {\n // If active step has no sub steps or first sub step is selected -> go to previous main step\n if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {\n this.changeActiveStep(this.findPreviousEnabledStep());\n } else {\n const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);\n this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex - 1];\n }\n }\n }\n\n public next(): void {\n if (this.isNextAvailable()) {\n // If active step has no sub steps or last sub step is selected -> go to next main step\n if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {\n this.changeActiveStep(this.findNextEnabledStep());\n } else {\n const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);\n this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex + 1];\n }\n }\n }\n\n public isPreviousAvailable(): boolean {\n if (this._activeStep) {\n if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {\n const index = this.getCurrentIndex();\n return index > 0 && this.isAnyPreviousStepEnabled(index);\n } else {\n return true;\n }\n }\n return false;\n }\n\n public isNextAvailable(): boolean {\n if (this._activeStep) {\n if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {\n const index = this.getCurrentIndex();\n return index < this._steps.length - 1 && this.isAnyFollowingStepEnabled(index);\n } else {\n return true;\n }\n }\n return false;\n }\n\n public isLastStep(): boolean {\n if (this.getCurrentIndex() === this._steps.length - 1) {\n if (this.activeTabHasSubSteps()) {\n return this.isLastSubStep();\n } else {\n return true;\n }\n }\n return false;\n }\n\n private getCurrentIndex(): number {\n return this._steps.findIndex(value => {\n return value === this._activeStep;\n });\n }\n\n // Convenience methods for easier to read code\n private activeTabHasSubSteps(): boolean {\n return this._activeStep.subSteps && this._activeStep.subSteps.length > 0;\n }\n\n private isFirstSubStep(): boolean {\n return this._activeStep.activeSubStep === this._activeStep.subSteps[0];\n }\n\n private isLastSubStep(): boolean {\n return this._activeStep.activeSubStep === this._activeStep.subSteps[this._activeStep.subSteps.length - 1];\n }\n\n private isAnyPreviousStepEnabled(index: number): boolean {\n return this._steps.slice(0, index).find(step => step.enabled) !== undefined;\n }\n\n private isAnyFollowingStepEnabled(index: number): boolean {\n return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled) !== undefined;\n }\n\n private findPreviousEnabledStep(): ClrFlowBarStep {\n const index = this.getCurrentIndex();\n return this._steps\n .slice(0, index)\n .reverse()\n .find(step => step.enabled);\n }\n\n private findNextEnabledStep(): ClrFlowBarStep {\n const index = this.getCurrentIndex();\n return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled);\n }\n}\n","<div class=\"flow-bar-wrapper\">\n <ng-container *ngFor=\"let step of _steps; let index = index; let last = last\">\n <div class=\"flow-bar-step\" [class.active]=\"step === _activeStep\">\n <button\n class=\"btn btn-link flow-bar-btn\"\n [disabled]=\"!step.enabled\"\n [class.active]=\"step === _activeStep\"\n (click)=\"changeActiveStep(step)\"\n >\n {{index + 1}}. {{(step.title | async)}}\n </button>\n <cds-icon shape=\"angle\" direction=\"right\" *ngIf=\"!last\"></cds-icon>\n </div>\n </ng-container>\n</div>\n<clr-dropdown class=\"flow-bar-dropdown clr-flex-fill\">\n <button type=\"button\" class=\"btn btn-outline-primary\" clrDropdownTrigger>\n {{_steps.indexOf(_activeStep) + 1}}. {{_activeStep?.title | async}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu>\n <ng-container *ngFor=\"let step of _steps; let index = index; let last = last\">\n <button clrDropdownItem type=\"button\" class=\"btn\" [disabled]=\"!step.enabled\" (click)=\"changeActiveStep(step)\">\n {{index + 1}}. {{step.title | async}}\n </button>\n </ng-container>\n </clr-dropdown-menu>\n</clr-dropdown>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrDropdownOverflowDirective } from './clr-dropdown-overflow.directive';\n\n@NgModule({\n declarations: [ClrDropdownOverflowDirective],\n exports: [ClrDropdownOverflowDirective],\n})\nexport class ClrDropdownOverflowModule {}\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './clr-dropdown-overflow.module';\nexport * from './clr-dropdown-overflow.directive';\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrFlowBar } from './flow-bar';\nimport { ClrDropdownOverflowModule } from '../dropdown';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule],\n declarations: [ClrFlowBar],\n exports: [ClrFlowBar],\n})\nexport class ClrFlowBarModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './flow-bar';\nexport * from './flow-bar.module';\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChildren,\n} from '@angular/core';\nimport { ClarityIcons, plusCircleIcon, trashIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(trashIcon, plusCircleIcon);\n\nexport interface ClrGenericQuickListItem {\n id: any;\n}\n\n@Component({\n selector: 'clr-generic-quick-list',\n host: { '[class.generic-quick-list]': 'true', '[class.clr-form-control]': 'true' },\n templateUrl: './generic-quick-list.html',\n})\nexport class ClrGenericQuickList<T extends ClrGenericQuickListItem> implements OnInit, AfterViewInit, OnDestroy {\n @Input('clrAllItems') allItems = [] as T[];\n @Input('clrAddLabel') addLabel = 'ADD (Translate me)';\n @Input('clrAddPossible') addPossible = true;\n @Input('clrBlankItem') blankItem = {} as any;\n @Input('clrControlClasses') controlClasses: string;\n @Input('clrMandatory') required = false;\n @Input() readonly: string;\n @Input() compactMode = false;\n\n @Output('clrAdded') added = new EventEmitter();\n @Output('clrRemoved') removed = new EventEmitter();\n\n @ContentChildren(TemplateRef) itemTemplate: QueryList<TemplateRef<any>>;\n @ViewChildren('row') itemRows: QueryList<ElementRef>;\n\n rowCountFocus: number;\n\n private timeout: NodeJS.Timeout;\n\n ngOnInit(): void {\n if (this.required && this.allItems.length === 0) {\n this.addItem();\n }\n }\n\n ngAfterViewInit(): void {\n this.timeout = setTimeout(() => this.setFocusOnAdd());\n }\n\n addItem(): void {\n const newItem = { ...this.blankItem };\n newItem.id = Math.ceil(Math.random() * 100000);\n this.allItems.push(newItem);\n this.added.emit(newItem);\n }\n\n removeItem(item: T): void {\n this.allItems.splice(this.allItems.indexOf(item), 1);\n this.removed.emit(item);\n }\n\n setFocusOnAdd(): void {\n this.rowCountFocus = this.itemRows.length;\n this.itemRows.changes.subscribe((els: QueryList<ElementRef>) => {\n if (els.length > this.rowCountFocus && !!els.last) {\n const firstFocusable = els.last.nativeElement.querySelector(\n \"button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])\"\n );\n if (firstFocusable) {\n // needed if the first focusable binds to focus attribute -> ExpressionHasChangedAfterItHasBeenChecked\n setTimeout(() => firstFocusable.focus());\n }\n }\n this.rowCountFocus = els.length;\n });\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.timeout);\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClrGenericQuickList } from './generic-quick-list';\nimport { ClarityModule } from '@clr/angular';\n\n@NgModule({\n imports: [CommonModule, ClarityModule],\n declarations: [ClrGenericQuickList],\n exports: [ClrGenericQuickList],\n})\nexport class ClrGenericQuickListModule {}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './generic-quick-list';\nexport * from './generic-quick-list.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Input, HostBinding, ViewChild, AfterViewInit, Renderer2, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'clr-letter-avatar',\n templateUrl: './letter-avatar.html',\n})\nexport class ClrLetterAvatar implements AfterViewInit {\n @HostBinding('class.clr-avatar') avatar = true;\n\n @Input('clrName') name: string;\n @Input('clrSize') size = 24;\n\n @ViewChild('avatar', { static: true }) avatarElement: ElementRef;\n\n constructor(private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.renderer.setStyle(this.avatarElement.nativeElement, 'width', this.size + 'px');\n this.renderer.setStyle(this.avatarElement.nativeElement, 'height', this.size + 'px');\n }\n\n getInitials(): string {\n if (this.name !== undefined) {\n return this.name.split(/\\s/).reduce((response, word) => {\n if (response.length < 2) {\n return (response += word.slice(0, 1));\n } else {\n return response;\n }\n }, '');\n } else {\n return '';\n }\n }\n}\n","<div class=\"avatar-circle\">\n <div #avatar class=\"avatar-initials\">{{getInitials()}}</div>\n</div>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrLetterAvatar } from './letter-avatar';\n\n@NgModule({\n imports: [CommonModule, ClarityModule],\n declarations: [ClrLetterAvatar],\n exports: [ClrLetterAvatar],\n})\nexport class ClrLetterAvatarModule {}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './letter-avatar';\nexport * from './letter-avatar.module';\n","import { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[clrMainNavGroupItem]',\n})\nexport class ClrMainNavGroupItem {\n constructor(private el: ElementRef<HTMLElement>, private renderer: Renderer2) {\n renderer.setAttribute(el.nativeElement, 'tabindex', '-1');\n }\n\n disabled = false;\n\n focus(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '0');\n this.el.nativeElement.focus();\n }\n blur(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');\n this.el.nativeElement.blur();\n }\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport {\n Component,\n ContentChildren,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport { ClrMainNavGroupItem } from './main-nav-group-item';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nlet instances = 0;\n\nenum ArrowKeyDirection {\n UP,\n DOWN,\n}\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-main-nav-group',\n templateUrl: './main-nav-group.html',\n host: { '[class.main-nav-group]': 'true' },\n})\nexport class ClrMainNavGroup implements OnInit, OnDestroy {\n @Input('clrTitle') title: string;\n\n prefix = 'mainNavGroup';\n id: number;\n protected el: ElementRef;\n protected renderer: Renderer2;\n private unlistenFuncs: { (): void }[] = [];\n private ignore: any;\n\n @ContentChildren(ClrMainNavGroupItem) items: QueryList<ClrMainNavGroupItem>;\n private currentFocusedId = 0;\n\n constructor(injector: Injector) {\n this.el = injector.get(ElementRef);\n this.renderer = injector.get(Renderer2);\n }\n\n ngOnInit(): void {\n this.id = ++instances;\n this.listenForCloseEvents();\n this.attachResizeListener();\n this.listenToArrowKeys();\n }\n\n ngOnDestroy(): void {\n this.detachListener();\n }\n\n onClick(event: MouseEvent): void {\n const input = document.getElementById(this.prefix + this.id) as HTMLInputElement;\n if ((event.target as HTMLElement).classList.contains('collapsible')) {\n // toggle hidden checkbox when clicking nav group div\n input.checked = !input.checked;\n if (input.checked) {\n this.focusFirstItemOnOpen();\n }\n }\n if (\n (event.target as HTMLElement).classList.contains('nav-trigger') ||\n (event.target as HTMLElement).parentElement.classList.contains('nav-trigger')\n ) {\n // '!checked' as the nav-trigger click comes before the update of the checkbox\n if (!input.checked) {\n this.focusFirstItemOnOpen();\n }\n }\n }\n\n isActive(): boolean {\n /* is active outside hamburger menu */\n return this.el.nativeElement.classList.contains('active') && !this.el.nativeElement.closest('.open-hamburger-menu');\n }\n\n isChecked(): boolean {\n /* expand to currently active menu inside hamburger menu */\n return this.el.nativeElement.classList.contains('active') && this.el.nativeElement.closest('.open-hamburger-menu');\n }\n\n private closeMenus(selector: string): void {\n selector = '.main-container:not(.open-hamburger-menu) ' + selector;\n const hiddenInputs: NodeListOf<HTMLInputElement> = document.querySelectorAll(selector);\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < hiddenInputs.length; i++) {\n hiddenInputs[i].checked = false;\n }\n }\n\n private listenForCloseEvents(): void {\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'click', event => {\n /* close other menus when opening this one */\n this.closeMenus('[id^=' + this.prefix + ']:not(#' + this.prefix + this.id + ')');\n if (!event.target.classList.contains('nav-link') || event.target.classList.contains('collapsible')) {\n if (event.target.closest('.open-hamburger-menu')) {\n // stop click handler for grouping items, otherwise hamburger menu gets closed\n event.stopPropagation();\n } else {\n // ignore even on document level for grouping items, otherwise menu gets closed right after it was opened\n this.ignore = event;\n }\n }\n })\n );\n\n this.unlistenFuncs.push(\n this.renderer.listen('document', 'click', event => {\n /* close menu when clicking anywhere in the document */\n if (this.ignore === event) {\n delete this.ignore;\n } else {\n this.closeMenus('#' + this.prefix + this.id);\n }\n })\n );\n\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.tab', () => {\n this.closeMenus('#' + this.prefix + this.id);\n })\n );\n\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.shift.tab', () => {\n this.closeMenus('#' + this.prefix + this.id);\n })\n );\n\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.esc', () => {\n this.closeMenus('#' + this.prefix + this.id);\n })\n );\n }\n\n private attachResizeListener(): void {\n this.unlistenFuncs.push(\n this.renderer.listen('window', 'resize', () => {\n /* when resizing window above 768, remove open-hamburger-menu when present */\n if (!window.matchMedia('(max-width: 992px)').matches) {\n const hamburgerMenu = this.el.nativeElement.closest('.open-hamburger-menu') as Element;\n if (hamburgerMenu) {\n hamburgerMenu.classList.remove('open-hamburger-menu');\n this.closeMenus('[id^=' + this.prefix + ']');\n }\n }\n })\n );\n }\n\n private detachListener(): void {\n this.unlistenFuncs.forEach((unlisten: () => void) => unlisten());\n }\n\n private listenToArrowKeys(): void {\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.arrowup', () => this.move(ArrowKeyDirection.UP))\n );\n this.unlistenFuncs.push(\n this.renderer.listen(this.el.nativeElement, 'keydown.arrowdown', () => this.move(ArrowKeyDirection.DOWN))\n );\n }\n\n private move(direction: ArrowKeyDirection): void {\n if (!this.items || this.items.length <= 0) {\n return;\n }\n\n this.items.toArray()[this.currentFocusedId].blur();\n\n if (direction === ArrowKeyDirection.DOWN) {\n this.currentFocusedId = this.currentFocusedId >= this.items.length - 1 ? 0 : this.currentFocusedId + 1;\n } else if (direction === ArrowKeyDirection.UP) {\n this.currentFocusedId = this.currentFocusedId === 0 ? this.items.length - 1 : this.currentFocusedId - 1;\n }\n\n this.items.toArray()[this.currentFocusedId].focus();\n }\n\n private focusFirstItemOnOpen(): void {\n if (!this.items || this.items.length <= 0) {\n return;\n }\n this.items.forEach(item => item.blur());\n\n this.currentFocusedId = 0;\n setTimeout(() => this.items.toArray()[this.currentFocusedId].focus());\n }\n}\n","<section\n class=\"nav-link collapsible\"\n (click)=\"onClick($event)\"\n (keydown.enter)=\"onClick($event)\"\n (keydown.space)=\"onClick($event)\"\n [class.active]=\"isActive()\"\n tabindex=\"0\"\n>\n <input id=\"{{prefix}}{{id}}\" type=\"checkbox\" [checked]=\"isChecked()\" />\n <label class=\"nav-text nav-trigger\" for=\"{{prefix}}{{id}}\"\n >{{title}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </label>\n <div class=\"nav-list dropdown-menu\">\n <ng-content></ng-content>\n </div>\n</section>\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrMainNavGroup } from './main-nav-group';\nimport { ClrMainNavGroupItem } from './main-nav-group-item';\n\n@NgModule({\n imports: [CommonModule, RouterModule, ClarityModule],\n declarations: [ClrMainNavGroup, ClrMainNavGroupItem],\n exports: [ClrMainNavGroup, ClrMainNavGroupItem],\n})\nexport class ClrMainNavGroupModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './main-nav-group';\nexport * from './main-nav-group-item';\nexport * from './main-nav-group.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';\n\nexport class ClrMultilingualInputValidators {\n /**\n * @description\n * Validator that requires that at least one text is entered.\n *\n * @usageNotes\n * ```typescript\n * const control = new FormControl(this.data, ClrMultilingualInputValidators.requiredOne());\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `requiredOne` property if the validation check fails, otherwise `null`.\n */\n static requiredOne(): ValidatorFn {\n const validatorFn = (control: AbstractControl): ValidationErrors | null => {\n const texts = control.value as Map<string, string>;\n\n if (!texts) {\n return null;\n }\n\n for (const text of Array.from(texts.values())) {\n if (text) {\n return null;\n }\n }\n return { requiredOne: true };\n };\n\n return validatorFn;\n }\n\n /**\n * @description\n * Validator that requires that all texts are entered.\n *\n * @usageNotes\n * ```typescript\n * const control = new FormControl(this.data, ClrMultilingualInputValidators.requiredAll());\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `requiredAll` property if the validation check fails, otherwise `null`.\n */\n static requiredAll(): ValidatorFn {\n const validatorFn = (control: AbstractControl): ValidationErrors | null => {\n const texts = control.value as Map<string, string>;\n\n if (texts) {\n for (const text of Array.from(texts.values())) {\n if (!text) {\n return { requiredAll: true };\n }\n }\n }\n return null;\n };\n\n return validatorFn;\n }\n}\n\n@Directive({\n selector: '[clrRequiredOneMultilang]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrRequiredOneMultilang, multi: true }],\n})\nexport class ClrRequiredOneMultilang implements Validator {\n _active: boolean;\n\n @Input('clrRequiredOneMultilang')\n set active(active: boolean | string) {\n this._active = active != null && active !== false && `${active}` !== 'false';\n }\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return this._active ? ClrMultilingualInputValidators.requiredOne()(control) : null;\n }\n}\n\n@Directive({\n selector: '[clrRequiredAllMultilang]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrRequiredAllMultilang, multi: true }],\n})\nexport class ClrRequiredAllMultilang implements Validator {\n _active: boolean;\n\n @Input('clrRequiredAllMultilang')\n set active(active: boolean | string) {\n this._active = active != null && active !== false && `${active}` !== 'false';\n }\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return this._active ? ClrMultilingualInputValidators.requiredAll()(control) : null;\n }\n}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Observable } from 'rxjs';\n\nlet counter = 0;\n\n@Injectable()\nexport class ControlIdService {\n private _id = 'clra-form-control-' + ++counter;\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value;\n this._idChange.next(value);\n }\n\n private _idChange: BehaviorSubject<string> = new BehaviorSubject(this._id);\n public get idChange(): Observable<string> {\n return this._idChange.asObservable();\n }\n}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewInit, Directive, HostBinding, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { ControlValueAccessor, UntypedFormControl, NgControl } from '@angular/forms';\nimport { ClrForm } from '@clr/angular';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ControlIdService } from './control-id.service';\n\nlet instanceCount = 0;\nlet origMarkAsTouched: () => void;\nconst markedAsTouch = new Subject<void>();\n\n@Directive()\nexport abstract class ClrAbstractFormComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy {\n @HostBinding('class.clr-form-control') formControl = true;\n @HostBinding('class.clr-error') get showError() {\n return this.invalid && this.control.touched;\n }\n\n control: UntypedFormControl;\n inputId: string;\n disabled = false;\n invalid = false;\n destroyed = new Subject<void>();\n\n constructor(private injector: Injector) {\n instanceCount++;\n this.patchMarkAsTouched();\n }\n\n ngOnInit(): void {\n const controlIdService = this.injector.get(ControlIdService, null);\n if (controlIdService) {\n this.inputId = controlIdService.id;\n }\n }\n\n ngAfterViewInit(): void {\n // get the form control to know invalid state in angular\n const ngControl: NgControl = this.injector.get(NgControl, null);\n if (ngControl) {\n this.control = ngControl.control as UntypedFormControl;\n this.control.statusChanges.pipe(takeUntil(this.destroyed)).subscribe(status => {\n this.invalid = status === 'INVALID';\n });\n }\n\n markedAsTouch.pipe(takeUntil(this.destroyed)).subscribe(() => {\n this.control.markAsTouched();\n this.control.updateValueAndValidity();\n });\n }\n\n abstract writeValue(value: unknown): void;\n\n onChange = (_: unknown): void => {\n /* empty default */\n };\n\n registerOnChange(fn: (_: unknown) => void): void {\n this.onChange = fn;\n }\n\n onTouch = (): void => {\n /* empty default */\n };\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n instanceCount--;\n this.unpatchMarkAsTouched();\n }\n\n /**\n * Patch markAsTouched method of ClrForm to get recognized when touched programmatically.\n * No other way found to accomplish the same thing.\n */\n patchMarkAsTouched() {\n if (instanceCount === 1) {\n origMarkAsTouched = ClrForm.prototype.markAsTouched;\n ClrForm.prototype.markAsTouched = function () {\n markedAsTouch.next();\n origMarkAsTouched.call(this);\n };\n }\n }\n\n unpatchMarkAsTouched() {\n if (instanceCount === 0 && origMarkAsTouched) {\n ClrForm.prototype.markAsTouched = origMarkAsTouched;\n }\n }\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';\nimport { Directive, ElementRef, HostBinding, Injector, Input, ViewChild } from '@angular/core';\n\n@Directive()\nexport abstract class ClrMultilingualAbstract extends ClrAbstractFormComponent {\n @HostBinding('class.clr-multilingual') multi = true;\n\n @Input('clrControlClasses') controlClasses = 'clr-col-md-10';\n @Input('clrSelectedLang') selectedLang: string;\n @Input() readonly: string;\n @Input() maxlength: number;\n /** Show language selector when only one language provided */\n @Input('clrShowSingleLanguageSelector') showSingleLanguageSelector: boolean;\n\n @ViewChild('input') inputElement: ElementRef;\n\n texts: Map<string, string>;\n shownTexts: Map<string, string>;\n languages: string[];\n missingPrefix = '';\n fallbackLang: string;\n\n protected constructor(injector: Injector) {\n super(injector);\n }\n\n @Input('clrFallbackLang')\n set fallbackLanguage(fallbackLang: string) {\n this.fallbackLang = fallbackLang;\n this.updateShownTexts();\n }\n\n @Input('clrMissingPrefix')\n set missingPre(missingPrefix: string) {\n this.missingPrefix = missingPrefix;\n this.updateShownTexts();\n }\n\n @Input('clrLanguages')\n set langs(languages: string[]) {\n this.languages = languages;\n this.updateShownTexts();\n }\n\n writeValue(value: Map<string, string>): void {\n if (value) {\n this.texts = new Map(value);\n }\n this.updateShownTexts();\n }\n\n setText(key: string, value: string): void {\n this.texts.set(key, value);\n this.onChange(new Map(this.texts));\n this.updateShownTexts(key);\n }\n\n updateShownTexts(currentlyEditingLang?: string) {\n if (this.texts) {\n if (this.languages) {\n this.shownTexts = this.applyMissingPrefix(\n new Map(this.languages.map(lang => [lang, this.texts.get(lang) || ''])),\n currentlyEditingLang\n );\n } else {\n this.shownTexts = this.applyMissingPrefix(new Map(this.texts), currentlyEditingLang);\n }\n }\n }\n\n applyMissingPrefix(texts: Map<string, string>, currentlyEditingLang: string): Map<string, string> {\n if (!this.missingPrefix) {\n return texts;\n }\n\n let fallbackText = this.determineFallbackText();\n if (!fallbackText) {\n return texts;\n }\n fallbackText = this.missingPrefix + fallbackText;\n for (const lang of texts.keys()) {\n if (!texts.get(lang) && lang !== currentlyEditingLang) {\n texts.set(lang, fallbackText);\n } else if (lang === currentlyEditingLang && texts.get(lang).startsWith(this.missingPrefix)) {\n texts.set(lang, texts.get(lang).replace(this.missingPrefix, ''));\n }\n }\n return texts;\n }\n\n determineFallbackText(): string {\n const fallbackText = this.fallbackLang && this.texts.get(this.fallbackLang);\n if (fallbackText) {\n return fallbackText;\n }\n\n const languages = [...(this.languages || [])].sort();\n\n const nonEmptyTextFromShownTexts = languages.map(lang => this.texts.get(lang)).find(text => text);\n if (nonEmptyTextFromShownTexts) {\n return nonEmptyTextFromShownTexts;\n }\n\n const nonEmptyTextFromHiddenTexts = [...this.texts.keys()]\n .sort()\n .filter(lang => !languages.includes(lang))\n .map(lang => this.texts.get(lang))\n .find(text => text);\n if (nonEmptyTextFromHiddenTexts) {\n return nonEmptyTextFromHiddenTexts;\n }\n\n return undefined;\n }\n\n showLanguageSelector(): boolean {\n return this.shownTexts?.size > 1 || this.showSingleLanguageSelector;\n }\n\n changeLanguage(lang: string): void {\n // need as the click for closing the menu is registered on a single item\n // if the language change destroys it immediately, the click won't get fired\n setTimeout(() => {\n this.selectedLang = lang;\n this.inputElement.nativeElement.focus();\n });\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-multilingual-selector',\n template: `\n <div>\n <clr-dropdown [clrCloseMenuOnItemClick]=\"true\">\n <button\n type=\"button\"\n class=\"btn btn-outline btn-sm clr-multilingual-button\"\n clrDropdownTrigger\n [disabled]=\"disabled\"\n >\n {{ selectedLang }}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu *clrIfOpen>\n <ng-container *ngFor=\"let text of texts | keyvalue\">\n <div\n *ngIf=\"text.key !== selectedLang\"\n class=\"clr-multilingual-dd-entry\"\n clrDropdownItem\n (click)=\"selectedLangChange.emit(text.key)\"\n >\n <span class=\"label\">{{ text.key }}</span\n >{{ text.value }}\n </div>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n `,\n})\nexport class ClrMultilingualSelector {\n @Input() disabled: boolean;\n @Input() texts: Map<string, string>;\n @Input() selectedLang: string;\n @Output() selectedLangChange = new EventEmitter<string>();\n}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component, forwardRef, Injector } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ControlIdService } from '../../abstract-form-component/control-id.service';\nimport { ClrMultilingualAbstract } from '../abstract-multilingual';\nimport { ClarityIcons, exclamationCircleIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(exclamationCircleIcon);\n\n@Component({\n selector: 'clr-multilingual-input',\n templateUrl: './multilingual-input.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ClrMultilingualInput),\n multi: true,\n },\n ControlIdService,\n ],\n})\nexport class ClrMultilingualInput extends ClrMultilingualAbstract {\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-input-wrapper\">\n <input\n class=\"clr-input\"\n type=\"text\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n autocomplete=\"off\"\n [maxlength]=\"maxlength || null\"\n #input\n />\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component, forwardRef, Injector, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ControlIdService } from '../../abstract-form-component/control-id.service';\nimport { ClrMultilingualAbstract } from '../abstract-multilingual';\nimport { ClarityIcons, exclamationCircleIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(exclamationCircleIcon);\n\n@Component({\n selector: 'clr-multilingual-textarea',\n templateUrl: './multilingual-textarea.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ClrMultilingualTextarea),\n multi: true,\n },\n ControlIdService,\n ],\n})\nexport class ClrMultilingualTextarea extends ClrMultilingualAbstract {\n @Input() rows: number;\n\n constructor(injector: Injector) {\n super(injector);\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <clr-multilingual-selector\n *ngIf=\"showLanguageSelector()\"\n [disabled]=\"disabled\"\n [texts]=\"shownTexts\"\n [selectedLang]=\"selectedLang\"\n (selectedLangChange)=\"changeLanguage($event)\"\n >\n </clr-multilingual-selector>\n <div class=\"clr-multi-input-wrapper\">\n <div class=\"clr-textarea-wrapper\">\n <textarea\n class=\"clr-textarea\"\n [id]=\"inputId\"\n [ngModel]=\"!!shownTexts && !!selectedLang ? shownTexts.get(selectedLang) : ''\"\n (ngModelChange)=\"setText(selectedLang, $event)\"\n (blur)=\"onTouch()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readonly === ''\"\n [maxlength]=\"maxlength || null\"\n [rows]=\"rows || 1\"\n #input\n ></textarea>\n <cds-icon *ngIf=\"showError\" class=\"clr-validate-icon\" shape=\"exclamation-circle\" aria-hidden=\"true\"></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"!showError\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"showError\"></ng-content>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrRequiredAllMultilang, ClrRequiredOneMultilang } from './multilingual-validators';\nimport { ClrMultilingualInput } from './multilingual-input/multilingual-input';\nimport { ClrMultilingualTextarea } from './multilingual-textarea/multilingual-textarea';\nimport { ClrMultilingualSelector } from './multilingual-selector';\nimport { ClrDropdownOverflowModule } from '../dropdown';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule, ClrDropdownOverflowModule],\n declarations: [\n ClrMultilingualInput,\n ClrMultilingualTextarea,\n ClrRequiredOneMultilang,\n ClrRequiredAllMultilang,\n ClrMultilingualSelector,\n ],\n exports: [\n ClrMultilingualInput,\n ClrMultilingualTextarea,\n ClrRequiredOneMultilang,\n ClrRequiredAllMultilang,\n ClrMultilingualSelector,\n ],\n})\nexport class ClrMultilingualModule {}\n","/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './multilingual.module';\nexport * from './multilingual-validators';\nexport * from './multilingual-selector';\nexport * from './multilingual-input/multilingual-input';\nexport * from './multilingual-textarea/multilingual-textarea';\n","/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ComponentRef, ViewRef } from '@angular/core';\nimport { ClrNotification } from './notification';\nimport { take } from 'rxjs/operators';\n\n/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\n/**\n * A reference to an active (currently opened) notification.\n *\n * @deprecated not used anymore.\n */\nexport class ClrActiveNotification {}\n\nexport class ClrContentRef {\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef<any>) {}\n}\n\n/**\n * A reference to a newly opened notification.\n */\nexport class ClrNotificationRef {\n private _resolve: (value?: unknown) => void;\n\n /**\n * A promise that is resolved when a notification is closed.\n */\n result: Promise<any>;\n\n constructor(private _notificationCmptRef: ComponentRef<ClrNotification>, private _contentRef: ClrContentRef) {\n _notificationCmptRef.instance.closed.pipe(take(1)).subscribe(() => {\n this.close();\n });\n\n this.result = new Promise(resolve => {\n this._resolve = resolve;\n });\n this.result.then(null);\n }\n\n /**\n * Can be used to close a notification\n */\n close(): void {\n if (this._notificationCmptRef) {\n this._resolve();\n this._removeModalElements();\n }\n }\n\n private _removeModalElements(): void {\n const notificationNativeEl = this._notificationCmptRef.location.nativeElement;\n notificationNativeEl.parentNode.removeChild(notificationNativeEl);\n this._notificationCmptRef.destroy();\n\n if (this._contentRef && this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._notificationCmptRef = null;\n this._contentRef = null;\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { asyncScheduler, interval, Observable, SchedulerLike, Subscription, timer } from 'rxjs';\nimport { NgZone } from '@angular/core';\nimport { observeOn } from 'rxjs/operators';\n\n/**\n * Scheduler that runs outside the angular zone\n */\nclass OutsideAngularZoneScheduler implements SchedulerLike {\n constructor(private zone: NgZone, private scheduler: SchedulerLike) {}\n\n now(): number {\n return this.scheduler.now();\n }\n\n schedule(...args: any[]): Subscription {\n // eslint-disable-next-line prefer-spread\n return this.zone.runOutsideAngular(() => this.scheduler.schedule.apply(this.scheduler, args));\n }\n}\n\n/**\n * Scheduler that runs inside the angular zone\n */\nclass InsideAngularZoneScheduler implements SchedulerLike {\n constructor(private zone: NgZone, private scheduler: SchedulerLike) {}\n\n now(): number {\n return this.scheduler.now();\n }\n\n schedule(...args: any[]): Subscription {\n // eslint-disable-next-line prefer-spread\n return this.zone.run(() => this.scheduler.schedule.apply(this.scheduler, args));\n }\n}\n\n/**\n * Runs a timer outside of the angular zone and executes the subscription inside the angular zone.\n */\nexport function zonedTimer(dueTime: number | Date, zone: NgZone): Observable<number> {\n return timer(dueTime, new OutsideAngularZoneScheduler(zone, asyncScheduler)).pipe(\n observeOn(new InsideAngularZoneScheduler(zone, asyncScheduler))\n );\n}\n\n/**\n * Runs a interval outside of the angular zone and executes the subscription inside the angular zone.\n */\nexport function zonedInterval(period: number, zone: NgZone): Observable<number> {\n return interval(period, new OutsideAngularZoneScheduler(zone, asyncScheduler)).pipe(\n observeOn(new InsideAngularZoneScheduler(zone, asyncScheduler))\n );\n}\n","/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, NgZone, OnInit, Output, ElementRef, ViewChild } from '@angular/core';\nimport { animate, style, transition, trigger, state } from '@angular/animations';\nimport { Subscription } from 'rxjs';\nimport { ClrAlert } from '@clr/angular';\nimport { zonedInterval, zonedTimer } from './scheduler-utils';\n\n@Component({\n selector: 'clr-notification',\n templateUrl: './notification.html',\n animations: [\n trigger('slideDown', [\n transition(':enter', [\n style({ transform: 'translateY(-200%)' }),\n animate('0.5s', style({ transform: 'translateY(0%)' })),\n ]),\n ]),\n trigger('move', [\n state('currentPosition', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),\n state('moveUp', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),\n state('moveDown', style({ transform: 'translateY({{absolute}}px)' }), { params: { absolute: '0' } }),\n transition('* => moveDown', animate('0.3s')),\n transition('* => moveUp', animate('0.3s')),\n ]),\n trigger('fade', [\n state('fadeOut', style({ transform: 'translateY({{absolute}}px)', opacity: 0 }), { params: { absolute: '0' } }),\n transition('* => fadeOut', animate('0.3s')),\n ]),\n ],\n host: {\n '[class.notification]': 'true',\n },\n})\nexport class ClrNotification implements OnInit {\n @ViewChild(ClrAlert, { static: true }) clrAlert: ClrAlert;\n progressStatus = 0;\n\n private step = 100;\n private startTime: number;\n state: any;\n private timer: Subscription;\n private interval: Subscription;\n\n private _translate = 0;\n get translate(): number {\n return this._translate;\n }\n\n private _height = 0;\n get height(): number {\n return this._height + 10;\n }\n\n private _heightInitalized: (value?: unknown) => void;\n heightInitalized = new Promise(resolve => {\n this._heightInitalized = resolve;\n });\n\n @Input() timeout = 2000;\n @Input() notificationType = 'info'; // \"info\", \"warning\", \"success\" and \"danger\"\n @Input() dismissable = false;\n @Input() progressbar = false;\n\n @Output() closed: EventEmitter<any> = new EventEmitter();\n\n constructor(private elementRef: ElementRef, private ngZone: NgZone) {}\n\n ngOnInit(): void {\n zonedTimer(0, this.ngZone).subscribe(() => {\n this._height = this.elementRef.nativeElement.children[0].offsetHeight;\n this._heightInitalized();\n });\n\n if (this.timeout > 0) {\n if (this.progressbar) {\n this.startTime = new Date().getTime();\n this.interval = zonedInterval(this.timeout / (this.timeout / this.step), this.ngZone).subscribe(() =>\n this.updateProgressStatus()\n );\n }\n\n this.timer = zonedTimer(this.timeout, this.ngZone).subscribe(() => this.close());\n }\n }\n\n public updateProgressStatus(): void {\n this.progressStatus = new Date().getTime() - this.startTime;\n }\n\n public close(): void {\n if (this.interval) {\n this.interval.unsubscribe();\n }\n if (this.timer) {\n this.timer.unsubscribe();\n }\n this.clrAlert._closed = false;\n this.state = { value: 'fadeOut', params: { absolute: this._translate } };\n zonedTimer(300, this.ngZone).subscribe(() => this.closed.emit());\n }\n\n public moveDown(translateValue: number): void {\n this._translate += translateValue;\n this.state = { value: 'moveDown', params: { absolute: this._translate } };\n this.setCurrentPosition();\n }\n\n public moveUp(translateValue: number): void {\n this._translate -= translateValue;\n this.state = { value: 'moveUp', params: { absolute: this._translate } };\n this.setCurrentPosition();\n }\n\n private setCurrentPosition(): void {\n zonedTimer(300, this.ngZone).subscribe(\n () => (this.state = { value: 'currentPosition', params: { absolute: this._translate } })\n );\n }\n}\n","<div class=\"notification__wrapper\" [@slideDown] [@move]=\"state\" [@fade]=\"state\">\n <div class=\"progress top\" [ngClass]=\"notificationType\" *ngIf=\"progressbar && timeout > 0\">\n <progress class=\"progress\" [max]=\"timeout\" [value]=\"progressStatus\"></progress>\n </div>\n <clr-alert\n [clrAlertType]=\"notificationType\"\n [clrAlertAppLevel]=\"true\"\n [clrAlertClosable]=\"dismissable\"\n (clrAlertClosedChange)=\"close()\"\n >\n <div class=\"alert-item\">\n <span class=\"alert-text\">\n <ng-content select=\"[clr-notification-message]\"></ng-content>\n </span>\n </div>\n </clr-alert>\n</div>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrNotification } from './notification';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrNotification],\n})\nexport class ClrNotificationModule {}\n","/*\n * Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Inject,\n Injectable,\n Injector,\n TemplateRef,\n} from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport { ClrNotification } from './notification';\nimport { ClrContentRef, ClrNotificationRef } from './notification-ref';\n\nexport interface ClrNotificationOptions {\n timeout?: number;\n notificationType?: string;\n dismissable?: boolean;\n progressbar?: boolean;\n /* If your notification is a ng-template with variables, the variables must be set in the ngTemplateOutletContext */\n ngTemplateOutletContext?: Record<string, unknown>;\n}\n\n@Injectable()\nexport class ClrNotificationService {\n private elements = new Set<ClrNotification>();\n\n constructor(\n private _injector: Injector,\n private _applicationRef: ApplicationRef,\n private _componentFactoryResolver: ComponentFactoryResolver,\n @Inject(DOCUMENT) private _document: Document\n ) {}\n\n openNotification(content: TemplateRef<unknown> | string, options: ClrNotificationOptions = {}): ClrNotificationRef {\n const contentRef = this._getContentRef(content, options);\n const notificationCmptRef: ComponentRef<ClrNotification> = this._attachWindowComponent(\n this._document.body,\n contentRef\n );\n const notificationRef: ClrNotificationRef = new ClrNotificationRef(notificationCmptRef, contentRef);\n\n this._applyWindowOptions(notificationCmptRef.instance, options);\n notificationCmptRef.instance.closed\n .pipe(take(1))\n .subscribe(this._afterClose.bind(this, notificationCmptRef.instance));\n\n notificationCmptRef.instance.heightInitalized.then(() =>\n this.elements.forEach(el => {\n if (el !== notificationCmptRef.instance) {\n el.moveDown(notificationCmptRef.instance.height);\n }\n })\n );\n this.elements.add(notificationCmptRef.instance);\n\n return notificationRef;\n }\n\n private _afterClose(notification: ClrNotification): void {\n this.elements.delete(notification);\n\n this.elements.forEach(el => {\n if (el.translate > notification.translate) {\n el.moveUp(notification.height);\n }\n });\n }\n\n private _getContentRef(content: TemplateRef<unknown> | string, options: ClrNotificationOptions): ClrContentRef {\n if (content instanceof TemplateRef) {\n return this._createFromTemplateRef(content, options.ngTemplateOutletContext);\n } else if (typeof content === 'string') {\n return this._createFromString(content);\n }\n\n return new ClrContentRef([]);\n }\n\n private _createFromTemplateRef(content: TemplateRef<unknown>, context: Record<string, unknown>): ClrContentRef {\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ClrContentRef([viewRef.rootNodes], viewRef);\n }\n\n private _createFromString(content: string): ClrContentRef {\n const component = this._document.createTextNode(`${content}`);\n return new ClrContentRef([[component]]);\n }\n\n private _attachWindowComponent(containerEl: HTMLElement, contentRef: ClrContentRef): ComponentRef<ClrNotification> {\n const containerFactory = this._componentFactoryResolver.resolveComponentFactory(ClrNotification);\n const containerCmptRef = containerFactory.create(this._injector, contentRef.nodes);\n this._applicationRef.attachView(containerCmptRef.hostView);\n containerEl.appendChild(containerCmptRef.location.nativeElement);\n return containerCmptRef;\n }\n\n private _applyWindowOptions(notificationInstance: ClrNotification, options: ClrNotificationOptions): void {\n if (options.timeout != undefined && options.timeout != null) {\n notificationInstance.timeout = options.timeout;\n }\n if (options.notificationType != undefined && options.notificationType != null) {\n notificationInstance.notificationType = options.notificationType;\n }\n if (options.dismissable != undefined && options.dismissable != null) {\n notificationInstance.dismissable = options.dismissable;\n }\n if (options.progressbar != undefined && options.progressbar != null) {\n notificationInstance.progressbar = options.progressbar;\n }\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './notification-ref';\nexport * from './notification';\nexport * from './notification.module';\nexport * from './notification.service';\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterViewChecked,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst NEGATIVE = '-';\nconst BACK_KEYCODE = 8;\nconst DEL_KEYCODE = 46;\nconst CONTROL_KEYCODES_UPPER_BORDER = 46;\nconst OTHER_CONTROL_KEYS = new Set([224, 91, 93]);\nconst NUMBERS = new Set(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']);\n\n@Directive({\n selector: '[clrNumeric]',\n host: {\n '[class.text-right]': 'textAlign === \"right\"',\n '(change)': 'onChange(getValueForFormControl())',\n '(input)': 'onChange(getValueForFormControl())',\n '(blur)': 'onTouched()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ClrNumericField),\n multi: true,\n },\n ],\n})\nexport class ClrNumericField implements OnInit, OnDestroy, AfterViewChecked, ControlValueAccessor {\n @Input('clrTextAlign') textAlign = 'right';\n @Input('clrDecimalPlaces') decimalPlaces = 2;\n @Input('clrRoundDisplayValue') roundValue = false;\n @Input('clrAutofillDecimals') autofillDecimals = false;\n @Input('clrDecimalSep') decimalSeparator = ',';\n @Input('clrGroupingSep') groupingSeparator = '.';\n @Input('clrUnitPosition') unitPosition = 'right';\n @Output('clrNumericValueChange') numericValueChanged = new EventEmitter<number>();\n\n private displayValue = '';\n private originalValue = NaN;\n private _numericValue: number;\n private _unit: string = null;\n private inputChangeListener: () => void;\n private keyupListener: () => void;\n private keydownListener: () => void;\n\n @Input('clrNumericValue')\n set numericValue(value: number) {\n if (this._numericValue !== value && !(isNaN(this._numericValue) && (isNaN(value) || value === null))) {\n this.originalValue = value;\n this._numericValue = this.roundOrTruncate(value);\n this.handleInputChanged();\n }\n }\n\n @Input('clrUnit')\n set unit(value: string) {\n if (value != this._unit) {\n this._unit = value;\n if (this.unitSpan != null) {\n this.unitSpan.innerHTML = '';\n const newUnitText = this.renderer.createText(value);\n this.renderer.appendChild(this.unitSpan, newUnitText);\n }\n }\n }\n\n private unitSpan: HTMLSpanElement;\n private allowedKeys = new Set(NUMBERS);\n\n /* Control Values Accessor Stuff below */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange = (_: number): void => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = (): void => {};\n\n registerOnChange(fn: (_: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.renderer.setProperty(this.inputEl.nativeElement, 'disabled', isDisabled);\n }\n\n writeValue(value: number): void {\n this.numericValue = value;\n }\n\n constructor(private renderer: Renderer2, private inputEl: ElementRef) {}\n\n ngOnInit(): void {\n /* needs to be parsed as number explicitly as it comes as string from user input */\n this.decimalPlaces = Number.parseInt(this.decimalPlaces.toString(), 10);\n this.allowedKeys.add(NEGATIVE);\n this.allowedKeys.add(this.decimalSeparator);\n\n this.inputChangeListener = this.renderer.listen(this.inputEl.nativeElement, 'blur', event => {\n this.formatInput(event.target, true);\n });\n\n this.keyupListener = this.renderer.listen(this.inputEl.nativeElement, 'keyup', event => {\n if (\n event.keyCode === BACK_KEYCODE ||\n (event.keyCode >= CONTROL_KEYCODES_UPPER_BORDER && !OTHER_CONTROL_KEYS.has(event.keyCode))\n ) {\n this.formatInput(event.target, false);\n }\n });\n\n this.keydownListener = this.renderer.listen(this.inputEl.nativeElement, 'keydown', event => {\n const value: string = event.target.value;\n if (\n this.allowedKeys.has(event.key) ||\n (event.keyCode <= CONTROL_KEYCODES_UPPER_BORDER && event.keyCode > 0) ||\n event.metaKey ||\n event.ctrlKey ||\n event.altKey\n ) {\n /* allow negative sign only as first character and none exists outside of text selection */\n const indexNegativeSign = value.indexOf(NEGATIVE);\n if (\n event.key === NEGATIVE &&\n (event.target.selectionStart > 0 || indexNegativeSign > -1) &&\n (event.target.selectionStart === event.target.selectionEnd ||\n !(indexNegativeSign >= event.target.selectionStart && indexNegativeSign <= event.target.selectionEnd))\n ) {\n return false;\n }\n\n /* no duplicate decimal separators */\n const indexDecimalSep = value.indexOf(this.decimalSeparator);\n if (\n event.key === this.decimalSeparator &&\n (indexDecimalSep > -1 || this.decimalPlaces === 0) &&\n (event.target.selectionStart === event.target.selectionEnd ||\n !(indexDecimalSep >= event.target.selectionStart && indexDecimalSep <= event.target.selectionEnd))\n ) {\n return false;\n }\n\n /* prevent too many decimal places */\n if (\n NUMBERS.has(event.key) &&\n indexDecimalSep > -1 &&\n indexDecimalSep < event.target.selectionStart &&\n event.target.selectionStart === event.target.selectionEnd &&\n value.length > indexDecimalSep + this.decimalPlaces\n ) {\n return false;\n }\n\n /* when deleting thousand separator, remove the digit before or after it */\n const cursorStart = event.target.selectionStart;\n\n if (cursorStart === event.target.selectionEnd) {\n if (event.keyCode === BACK_KEYCODE && value.substr(cursorStart - 1, 1) === this.groupingSeparator) {\n event.target.value = value.substring(0, cursorStart - 2) + value.substring(cursorStart - 1, value.length);\n event.target.selectionStart = event.target.selectionEnd = cursorStart - 1;\n return false;\n } else if (event.keyCode === DEL_KEYCODE && value.substr(cursorStart, 1) === this.groupingSeparator) {\n event.target.value = value.substring(0, cursorStart + 1) + value.substring(cursorStart + 2, value.length);\n event.target.selectionStart = event.target.selectionEnd = cursorStart + 1;\n return false;\n }\n }\n this.originalValue = NaN;\n } else {\n return false;\n }\n return true;\n });\n }\n\n ngOnDestroy(): void {\n this.detachListener();\n }\n\n ngAfterViewChecked(): void {\n this.injectUnitSymbol();\n }\n\n handleInputChanged(): void {\n this.updateInput(\n this.formatNumber(this._numericValue.toString().replace(new RegExp('[.]', 'g'), this.decimalSeparator), true),\n true\n );\n }\n\n formatInput(element: HTMLInputElement, finalFormatting: boolean): void {\n const cursorPos = element.selectionStart;\n const length = element.value.length;\n const setCursor = this.displayValue !== element.value;\n this.updateInput(this.formatNumber(element.value, finalFormatting), false);\n if (setCursor) {\n element.selectionStart = element.selectionEnd = Math.max(cursorPos + element.value.length - length, 0);\n }\n }\n\n formatNumber(value: string, finalFormatting: boolean): string {\n let result = this.strip(value, finalFormatting);\n\n /* add grouping separator */\n const decimalIndex = result.indexOf(this.decimalSeparator);\n const isNegative = result[0] === NEGATIVE;\n let i = decimalIndex > -1 ? decimalIndex : result.length;\n while (i > (isNegative ? 4 : 3)) {\n i -= 3;\n result = result.substring(0, i) + this.groupingSeparator + result.substring(i, result.length);\n }\n\n if (finalFormatting) {\n if (this.decimalPlaces > 0 && !!result) {\n /* autofill decimal places */\n let actualDecimalIndex = result.indexOf(this.decimalSeparator);\n if (this.autofillDecimals) {\n if (actualDecimalIndex === -1) {\n actualDecimalIndex = result.length;\n result += this.decimalSeparator;\n }\n\n result = this.addMissingLeadingZero(result, actualDecimalIndex);\n actualDecimalIndex = result.indexOf(this.decimalSeparator);\n\n const actualDecimalPlaces = result.length - actualDecimalIndex - 1;\n for (let j = 0; j < this.decimalPlaces - actualDecimalPlaces; j++) {\n result += '0';\n }\n } else {\n result = this.addMissingLeadingZero(result, actualDecimalIndex);\n }\n }\n }\n\n return result;\n }\n\n addMissingLeadingZero(result: string, actualDecimalIndex: number): string {\n const isNegative = result[0] === NEGATIVE;\n /* autoadd a zero before decimal separator, when it's missing */\n if (actualDecimalIndex === 0) {\n result = '0' + result;\n }\n /* autoadd a zero before decimal separator, when it's missing, for negative values */\n if (actualDecimalIndex === 1 && isNegative) {\n result = result[0] + '0' + result.substring(1, result.length);\n }\n return result;\n }\n\n strip(value: string, removeLeadingZeros = false): string {\n let result = '';\n let indexDecimalSep = -1;\n let j = -1;\n let ignoredChars = 0;\n for (const char of value) {\n j++;\n if (this.allowedKeys.has(char)) {\n if (char === this.decimalSeparator) {\n if (this.decimalPlaces === 0) {\n /* dismiss content after a decimal separator, when no places allowed */\n break;\n } else if (indexDecimalSep > -1) {\n /* ignore subsequent decimal separators */\n continue;\n }\n indexDecimalSep = j;\n }\n if (char === '0' && removeLeadingZeros) {\n /* remove leading zero only if it's not the only zero in the 'value' string */\n if ((result.length === 0 && j + 1 !== value.length) || result === NEGATIVE) {\n ignoredChars++;\n continue;\n }\n }\n if (char === NEGATIVE && j > 0) {\n /* dismiss content after a negative sign not on first position */\n break;\n }\n if (indexDecimalSep > -1 && result.length + ignoredChars > indexDecimalSep + this.decimalPlaces) {\n /* dismiss content after maximum decimal places reached */\n break;\n }\n result += char;\n } else if (char === this.groupingSeparator) {\n if (indexDecimalSep === -1) {\n ignoredChars++;\n }\n } else {\n /* dismiss content after a invalid character */\n break;\n }\n }\n\n return result;\n }\n\n updateInput(value: string, updateAsync: boolean): void {\n this.displayValue = value;\n this.inputEl.nativeElement.value = value;\n this._numericValue = parseFloat(this.strip(value).replace(this.decimalSeparator, '.'));\n if (this._numericValue !== this.roundOrTruncate(this.originalValue)) {\n this.originalValue = this._numericValue;\n if (updateAsync) {\n // Call in setTimeout to avoid Expression has changed after it has been checked error.\n // This happens for example if the initial input has more decimal places than allowed\n setTimeout(() => this.numericValueChanged.emit(this._numericValue));\n } else {\n this.numericValueChanged.emit(this._numericValue);\n }\n }\n }\n\n public getValueForFormControl(): number {\n this.formatInput(this.inputEl.nativeElement, false);\n if (isNaN(this._numericValue)) {\n // Return undefined instead of NaN to support the default required validator.\n return undefined;\n }\n return this._numericValue;\n }\n\n private injectUnitSymbol(): void {\n // Need to inject the unit symbol when the input element width is set to its actual value,\n // otherwise the icon wont show in the correct position\n if (!!this._unit && !this.unitSpan && this.inputEl.nativeElement.offsetWidth !== 0) {\n // Get the input wrapper and apply necessary styles\n const inputWrapper = this.inputEl.nativeElement.parentNode;\n this.renderer.addClass(inputWrapper, 'numeric-input-wrapper');\n\n // Create the span with unit symbol and apply necessary styles\n if (!this.unitSpan) {\n this.unitSpan = this.renderer.createElement('span');\n this.renderer.addClass(this.unitSpan, 'unit');\n const unitSymbol = this.renderer.createText(this._unit);\n this.renderer.appendChild(this.unitSpan, unitSymbol);\n this.renderer.appendChild(inputWrapper, this.unitSpan);\n }\n\n // Add padding to the input element, depending on the width of the unit symbol + 12px\n const paddingOnInput = this.unitSpan.offsetWidth + 12;\n if (this.unitPosition === 'left') {\n this.renderer.addClass(this.unitSpan, 'unit-left');\n this.renderer.setStyle(this.inputEl.nativeElement, 'padding-left', paddingOnInput + 'px');\n } else {\n this.renderer.addClass(this.unitSpan, 'unit-right');\n this.renderer.setStyle(this.inputEl.nativeElement, 'padding-right', paddingOnInput + 'px');\n }\n }\n }\n\n private detachListener(): void {\n if (this.inputChangeListener) {\n this.inputChangeListener();\n delete this.inputChangeListener;\n }\n if (this.keydownListener) {\n this.keydownListener();\n delete this.keydownListener;\n }\n if (this.keyupListener) {\n this.keyupListener();\n delete this.keyupListener;\n }\n }\n\n private roundOrTruncate(value: number): number {\n const method = this.roundValue ? 'round' : value < 0 ? 'ceil' : 'floor';\n // 16 is the highest precision before numbers have weird behaviour. see https://stackoverflow.com/q/21472828/15120942\n return Math[method](+(value * Math.pow(10, this.decimalPlaces)).toPrecision(15)) / Math.pow(10, this.decimalPlaces);\n }\n}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AbstractControl, ValidationErrors, ValidatorFn, NG_VALIDATORS, Validator } from '@angular/forms';\nimport { Directive, Input } from '@angular/core';\n\nfunction isEmptyInputValue(value: any): boolean {\n // we don't check for string here so it also works with arrays\n return value == null || value.length === 0;\n}\n\n// TODO maybe create directives for it aswell? to not only support reactive forms?\nexport class ClrNumericFieldValidators {\n /**\n * @description\n * Validator that requires the control's value to be greater than or equal to the provided number.\n * The validator exists only as a function and not as a directive.\n *\n * @usageNotes\n *\n * ### Validate against a minimum of 3\n *\n * ```typescript\n * const control = new FormControl(2, ClrNumericFieldValidators.min(3, '.', ','));\n *\n * console.log(control.errors); // {min: {min: 3, actual: 2}}\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `min` property if the validation check fails, otherwise `null`.\n *\n */\n static min(min: number, groupingSeparator = '.', decimalSeparator = ','): ValidatorFn {\n const validatorFn: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value) || isEmptyInputValue(min)) {\n return null; // don't validate empty values to allow optional controls\n }\n const value: number = this.parseInputString(control.value, groupingSeparator, decimalSeparator);\n // Controls with NaN values after parsing should be treated as not having a\n // minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min\n return !isNaN(value) && value < min ? { min: { min: min, actual: value } } : null;\n };\n return validatorFn;\n }\n\n /**\n * @description\n * Validator that requires the control's value to be less than or equal to the provided number.\n * The validator exists only as a function and not as a directive.\n *\n * @usageNotes\n *\n * ### Validate against a maximum of 15\n *\n * ```typescript\n * const control = new FormControl(16, ClrNumericFieldValidators.max(15, '.', ','));\n *\n * console.log(control.errors); // {max: {max: 15, actual: 16}}\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `max` property if the validation check fails, otherwise `null`.\n *\n */\n static max(max: number, groupingSeparator = '.', decimalSeparator = ','): ValidatorFn {\n const validatorFn: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n if (isEmptyInputValue(control.value) || isEmptyInputValue(max)) {\n return null; // don't validate empty values to allow optional controls\n }\n const value: number = this.parseInputString(control.value, groupingSeparator, decimalSeparator);\n // Controls with NaN values after parsing should be treated as not having a\n // minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min\n return !isNaN(value) && value > max ? { max: { max: max, actual: value } } : null;\n };\n return validatorFn;\n }\n\n private static parseInputString(value: string, groupingSeparator: string, decimalSeparator: string): number {\n if (typeof value !== 'string') {\n return parseFloat(value);\n }\n const notGroupedNumber: string = value.replace(new RegExp('[' + groupingSeparator + ']', 'g'), '');\n const formattedNumber: string = notGroupedNumber.replace(new RegExp('[' + decimalSeparator + ']', 'g'), '.');\n return parseFloat(formattedNumber);\n }\n}\n\n@Directive({\n selector: '[clrMaxNumeric]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrMaxNumeric, multi: true }],\n})\nexport class ClrMaxNumeric implements Validator {\n @Input('clrMaxNumeric') _max: number;\n @Input('clrGroupingSep') _groupingSep = '.';\n @Input('clrDecimalSep') _decimalSep = ',';\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return ClrNumericFieldValidators.max(this._max, this._groupingSep, this._decimalSep)(control);\n }\n}\n\n@Directive({\n selector: '[clrMinNumeric]',\n providers: [{ provide: NG_VALIDATORS, useExisting: ClrMinNumeric, multi: true }],\n})\nexport class ClrMinNumeric implements Validator {\n @Input('clrMinNumeric') _min: number;\n @Input('clrGroupingSep') _groupingSep = '.';\n @Input('clrDecimalSep') _decimalSep = ',';\n\n validate(control: AbstractControl): { [key: string]: any } | null {\n return ClrNumericFieldValidators.min(this._min, this._groupingSep, this._decimalSep)(control);\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrFormsModule } from '@clr/angular';\n\nimport { ClrNumericField } from './numeric-field';\nimport { ClrMaxNumeric, ClrMinNumeric } from './numeric-field-validators';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, ClrFormsModule, FormsModule],\n declarations: [ClrNumericField, ClrMaxNumeric, ClrMinNumeric],\n exports: [ClrNumericField, ClrMaxNumeric, ClrMinNumeric],\n})\nexport class ClrNumericFieldModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './numeric-field';\nexport * from './numeric-field.module';\nexport * from './numeric-field-validators';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n/**\n * Custom pager component because clarity's pager component can only be used inside a data grid.\n * Currently a requested feature, see here: https://github.com/vmware/clarity/issues/2268\n * In this issue it is mentioned that a button group is a suitable replacement until the pager component is released.\n */\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-pager',\n templateUrl: './pager.html',\n host: { '[class.pager]': 'true' },\n})\nexport class ClrPager {\n @Output('clrPageChange') pageChange: EventEmitter<any> = new EventEmitter(false);\n\n /**\n * Page size, a value of 0 means no pagination\n */\n private _pageSize = 0;\n public get pageSize(): number {\n return this._pageSize;\n }\n\n @Input('clrPageSize')\n public set pageSize(size: number) {\n const oldSize = this._pageSize;\n if (size !== oldSize) {\n this._pageSize = size;\n if (size === 0) {\n this._page = 1;\n } else {\n // Yeap. That's the formula to keep the first item from the old page still\n // displayed in the new one.\n this._page = Math.floor((oldSize / size) * (this._page - 1)) + 1;\n }\n // We always emit an event even if the current page index didn't change, because\n // the size changing means the items inside the page are different\n this.pageChange.emit(this._page);\n }\n }\n\n /**\n * Total items (needed to guess the last page)\n */\n private _totalItems = 0;\n public get totalItems(): number {\n return this._totalItems;\n }\n\n @Input('clrTotalItems')\n public set totalItems(total: number) {\n this._totalItems = total;\n // If we have less items than before, we might need to change the current page\n if (this.page > this.last) {\n this.page = this.last;\n }\n }\n\n /**\n * Last page\n */\n private _last: number;\n public get last(): number {\n if (this._last) {\n return this._last;\n }\n // If the last page isn't known, we compute it from the last item's index\n if (this.pageSize > 0 && this.totalItems) {\n return Math.ceil(this.totalItems / this.pageSize);\n }\n return 1;\n }\n\n @Input('clrLast')\n public set last(page: number) {\n this._last = page;\n }\n\n /**\n * Current page\n */\n private _page = 1;\n public get page(): number {\n return this._page;\n }\n\n @Input('clrPage')\n public set page(page: number) {\n if (page !== this._page) {\n this._page = page;\n this.pageChange.emit(page);\n }\n }\n\n /**\n * Moves to the previous page if it exists\n */\n public previous(): void {\n if (this.page > 1) {\n this.page--;\n }\n }\n\n /**\n * Moves to the next page if it exists\n */\n public next(): void {\n if (this.page < this.last) {\n this.page++;\n }\n }\n\n /**\n * Conditionally adds page numbers before and after the current page\n */\n public get middlePages(): number[] {\n const middlePages: number[] = [];\n if (this.page > 1) {\n middlePages.push(this.page - 1);\n }\n middlePages.push(this.page);\n if (this.page < this.last) {\n middlePages.push(this.page + 1);\n }\n return middlePages;\n }\n}\n","<div class=\"btn-group\" *ngIf=\"last > 1\">\n <button class=\"btn pagination-previous\" (click)=\"previous()\" [disabled]=\"page == 1\">\n <cds-icon shape=\"angle\" direction=\"left\"></cds-icon>\n </button>\n <button *ngIf=\"page > 2\" class=\"btn\" (click)=\"page = 1\">1</button>\n <button *ngIf=\"page > 3\" class=\"btn\" disabled>...</button>\n\n <ng-container *ngFor=\"let pageNum of middlePages\">\n <button *ngIf=\"pageNum !== page; else activePage\" class=\"btn\" (click)=\"page = pageNum\">{{pageNum}}</button>\n <ng-template #activePage>\n <button class=\"btn btn-primary\" type=\"button\">{{pageNum}}</button>\n </ng-template>\n </ng-container>\n\n <button *ngIf=\"page < last - 2\" class=\"btn\" disabled>...</button>\n <button *ngIf=\"page < last - 1\" class=\"btn\" (click)=\"page = last\">{{last}}</button>\n <button class=\"btn pagination-next\" (click)=\"next()\" [disabled]=\"page == last\">\n <cds-icon shape=\"angle\" direction=\"right\"></cds-icon>\n </button>\n</div>\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'clr-paged-search-result-list',\n templateUrl: './paged-search-result-list.html',\n})\nexport class ClrPagedSearchResultList {\n /**\n * The page size, used for pagination.\n */\n @Input('clrPageSize') pageSize: number;\n\n /**\n * The page size options, used for changing the size of the page.\n */\n @Input('clrPageSizeOptions') pageSizeOptions?: number[];\n\n /**\n * Page size label.\n */\n @Input('clrPageSizeLabel') pageSizeLabel: string = 'Results per page (Translate me)';\n\n /**\n * The current page, used for pagination.\n */\n @Input('clrPage') currentPage: number;\n\n /**\n * Number of total items, used for pagination.\n */\n @Input('clrTotalItems') totalItems: number;\n\n /**\n * The array of items to be displayed.\n */\n @Input('clrItems') items: Array<any>;\n\n /**\n * The template how each item should be displayed.\n */\n @ContentChild(TemplateRef, { static: true })\n itemTemplate: TemplateRef<any>;\n\n /**\n * The position of the pager\n */\n @Input('clrPagerPosition') clrPagerPosition = 'bottom';\n\n /**\n * Triggered whenever a page change occurs.\n */\n @Output('clrPageChange') pageChange: EventEmitter<any> = new EventEmitter();\n\n /**\n * Triggered whenever a page size change occurs.\n */\n @Output('clrPageSizeChange') pageSizeChange: EventEmitter<number> = new EventEmitter();\n}\n","<div *ngIf=\"clrPagerPosition === 'top' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'top' }\"> </ng-container>\n</div>\n<ng-container *ngFor=\"let item of items\" [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{item: item}\">\n <div *ngIf=\"!itemTemplate\">Item template input is undefined!</div>\n</ng-container>\n<div *ngIf=\"clrPagerPosition === 'bottom' || clrPagerPosition === 'both'\">\n <ng-container [ngTemplateOutlet]=\"pager\" [ngTemplateOutletContext]=\"{ $implicit: 'bottom' }\"> </ng-container>\n</div>\n<ng-template #pager let-position>\n <div class=\"clr-row\">\n <div [class.pager-top]=\"position === 'top'\" [class.pager-bottom]=\"position === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageSizeDropdown\"></ng-container>\n <clr-pager\n [clrPage]=\"currentPage\"\n [clrPageSize]=\"pageSize\"\n [clrTotalItems]=\"totalItems\"\n (clrPageChange)=\"pageChange.emit($event)\"\n ></clr-pager>\n </div>\n </div>\n</ng-template>\n<ng-template #pageSizeDropdown>\n <div *ngIf=\"pageSizeOptions?.length > 1\">\n <clr-dropdown>\n <button type=\"button\" class=\"btn btn-link options-text-button btn-no-capitalized\" clrDropdownTrigger>\n {{pageSizeLabel}}: {{pageSize}}\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <button type=\"button\" class=\"btn btn-link options-icon-button\" clrDropdownTrigger>\n <cds-icon shape=\"cog\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\"></cds-icon>\n </button>\n <clr-dropdown-menu class=\"spinner-in-front\" clrPosition=\"top-right\">\n <ng-container *ngFor=\"let sizeOption of pageSizeOptions\">\n <button type=\"button\" clrDropdownItem (click)=\"pageSizeChange.emit(sizeOption)\">{{sizeOption}}</button>\n </ng-container>\n </clr-dropdown-menu>\n </clr-dropdown>\n </div>\n</ng-template>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrPager } from './pager';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrPager],\n exports: [ClrPager],\n})\nexport class ClrPagerModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrPagedSearchResultList } from './paged-search-result-list';\nimport { ClrPagerModule } from '../pager/pager.module';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule, ClrPagerModule],\n declarations: [ClrPagedSearchResultList],\n exports: [ClrPagedSearchResultList],\n})\nexport class ClrPagedSearchResultListModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './paged-search-result-list';\nexport * from './paged-search-result-list.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './pager';\nexport * from './pager.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { ChangeDetectorRef, Component, Input, OnDestroy } from '@angular/core';\n\n@Component({\n selector: 'clr-progress-spinner',\n template: `\n <ng-container *ngIf=\"_showSpinner\">\n <span [class]=\"'spinner-' + size + ' spinner'\"></span>\n <span>&nbsp;<ng-content></ng-content></span>\n </ng-container>\n `,\n host: {\n '[class.progress-spinner-overlay]': '_showSpinner',\n },\n})\nexport class ClrProgressSpinnerComponent implements OnDestroy {\n private static readonly MINIMUM_VISIBLE_DURATION = 200;\n private startTimestamp: number;\n private hideTimeout: any;\n\n @Input('clrSize') size = 'sm';\n\n _showSpinner: boolean;\n\n @Input('clrShowSpinner')\n set showSpinner(value: boolean) {\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n clearTimeout(this.hideTimeout);\n }\n\n private show(): void {\n clearTimeout(this.hideTimeout);\n this._showSpinner = true;\n this.startTimestamp = new Date().getTime();\n }\n\n private hide(): void {\n this.hideTimeout = setTimeout(() => {\n this.startTimestamp = undefined;\n this._showSpinner = false;\n this.changeDetectorRef.markForCheck();\n }, this.getRemainingVisibleTime());\n }\n\n private getRemainingVisibleTime(): number {\n return Math.max(0, ClrProgressSpinnerComponent.MINIMUM_VISIBLE_DURATION - this.getVisibleTime());\n }\n\n private getVisibleTime(): number {\n if (!this.startTimestamp) {\n return 0;\n } else {\n return new Date().getTime() - this.startTimestamp;\n }\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClrProgressSpinnerComponent } from './progress-spinner';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ClrProgressSpinnerComponent],\n exports: [ClrProgressSpinnerComponent],\n})\nexport class ClrProgressSpinnerModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './progress-spinner';\nexport * from './progress-spinner.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport interface ClrQuickListValue<T> {\n id: string;\n label?: string;\n value: T;\n}\n\nexport const CLR_BLANK_OPTION: ClrQuickListValue<any> = { id: '-BLANK-', label: '- Select an option -', value: null };\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { ClrQuickListValue } from './add-option.service';\nimport { ClarityIcons, plusCircleIcon, trashIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(trashIcon, plusCircleIcon);\n\n@Component({\n selector: 'clr-add-option',\n templateUrl: './add-option.html',\n host: { '[class.quick-list-option]': 'true' },\n})\nexport class ClrAddOption<T> {\n @Input() blankOption: ClrQuickListValue<T>;\n @Input() value: ClrQuickListValue<T>;\n @Input() mandatory = false;\n @Input() allValues: Array<ClrQuickListValue<T>> = [];\n @Input() excludedValues: Array<ClrQuickListValue<T>> = [];\n @Input() readonly: string;\n @Input() disabled = false;\n @Input() disableAddButton = true;\n @Input() showAddButton = false;\n\n @Output() valueChanged = new EventEmitter<ClrQuickListValue<T>>();\n @Output() remove = new EventEmitter<void>();\n @Output() add = new EventEmitter<void>();\n\n @ViewChild('select', { static: false }) select: ElementRef;\n\n set selectedValue(id: string) {\n this.value = this.allValues.find(val => val.id === id);\n this.valueChanged.emit(this.value);\n }\n\n get selectedValue(): string {\n return this.value.id;\n }\n\n getValues(): ClrQuickListValue<T>[] {\n const excludedIds = this.excludedValues.filter(val => val.id !== this.value.id).map(val => val.id);\n return this.allValues.filter(val => !excludedIds.includes(val.id));\n }\n\n trashDisabled(): boolean {\n return this.mandatory && this.excludedValues.length === 1;\n }\n\n focusComponent(): void {\n if (this.select) {\n (this.select.nativeElement as HTMLInputElement).focus();\n }\n }\n}\n","<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n [disabled]=\"disableAddButton\"\n>\n <cds-icon shape=\"plus-circle\"></cds-icon>\n</button>\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, forwardRef, Input, OnInit, Output, QueryList, ViewChildren } from '@angular/core';\nimport { CLR_BLANK_OPTION, ClrQuickListValue } from './add-option.service';\nimport { ClrAddOption } from './add-option';\nimport { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClarityIcons, plusCircleIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(plusCircleIcon);\n\n@Component({\n selector: 'clr-quick-list',\n host: { '[class.quick-list]': 'true' },\n templateUrl: './quick-list.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ClrQuickList),\n multi: true,\n },\n ],\n})\nexport class ClrQuickList<T> extends ClrAbstractFormComponent implements OnInit {\n @Input('clrBlankOption') blankOption: ClrQuickListValue<T> = CLR_BLANK_OPTION;\n @Input('clrAllValues') allValues: ClrQuickListValue<T>[] = [this.blankOption];\n @Input('clrMandatory') mandatory = false;\n @Input('clrValues') values: ClrQuickListValue<T>[] = [];\n @Input('clrAddLabel') addLabel = 'ADD';\n @Input('clrControlClasses') controlClasses = 'clr-col-md-10';\n @Input() readonly: string;\n @Input() compactMode = false;\n @Output('clrValuesChanged') valuesChanged = new EventEmitter<ClrQuickListValue<T>[]>();\n @Output('clrEmptyOptionAdded') emptyOptionAdded = new EventEmitter<void>();\n\n @ViewChildren(ClrAddOption) options: QueryList<ClrAddOption<T>>;\n\n ngOnInit(): void {\n if (this.values.length === 0) {\n this.values.push(...this.getEmptyValues());\n }\n }\n\n writeValue(value: ClrQuickListValue<T>[]): void {\n this.values = value?.length ? [...value] : this.getEmptyValues();\n }\n\n getEmptyValues(): ClrQuickListValue<T>[] {\n return this.mandatory ? [this.blankOption] : [];\n }\n\n onValueChanged(value: ClrQuickListValue<T>, i: number): void {\n if (value) {\n this.values[i] = value;\n this.emitValueChanged();\n this.focusOption(value);\n }\n }\n\n onRemoveValue(i: number): void {\n this.values.splice(i, 1);\n this.emitValueChanged();\n }\n\n addBlankOption(): void {\n if (!this.hasBlankOption()) {\n this.values.push(this.blankOption);\n this.emitValueChanged();\n this.emptyOptionAdded.emit();\n this.focusOption(this.blankOption);\n }\n }\n\n emitValueChanged(): void {\n this.valuesChanged.emit(this.values);\n this.onChange(this.values);\n }\n\n focusOption(option: ClrQuickListValue<T>): void {\n setTimeout(() => {\n const opt = this.options.find(o => o.value.id === option.id);\n if (opt) {\n opt.focusComponent();\n }\n });\n }\n\n hasBlankOption(): boolean {\n return this.values.map(val => val.id).includes(this.blankOption.id);\n }\n\n addNotPossible(): boolean {\n return this.hasBlankOption() || this.values.length === this.allValues.length;\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [disableAddButton]=\"addNotPossible() || disabled\"\n [showAddButton]=\"compactMode && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClrQuickList } from './quick-list';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrFormsModule } from '@clr/angular';\nimport { ClrAddOption } from './add-option';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ClarityModule, ClrFormsModule],\n declarations: [ClrQuickList, ClrAddOption],\n exports: [ClrQuickList],\n})\nexport class ClrQuickListModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './quick-list';\nexport * from './quick-list.module';\nexport * from './add-option.service';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewInit, Directive, ElementRef, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ClarityIcons, searchIcon, timesIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(timesIcon, searchIcon);\n\n@Directive({\n selector: '[clrSearch]',\n host: { '[class.search-input]': 'true' },\n})\nexport class ClrSearchField implements OnInit, OnDestroy, AfterViewInit {\n private keyupListener: () => void;\n\n private deleteSymbol: HTMLElement;\n private deleteButton: HTMLElement;\n private searchSymbol: HTMLElement;\n\n destroyed = new Subject<void>();\n\n constructor(private renderer: Renderer2, private inputEl: ElementRef, @Optional() private ngControl: NgControl) {}\n\n ngOnInit(): void {\n this.setHasValueClass(!!this.inputEl.nativeElement.value);\n\n // use angular form control for change detection and input listener as fallback\n if (this.ngControl) {\n this.ngControl.valueChanges.pipe(takeUntil(this.destroyed)).subscribe(value => this.setHasValueClass(!!value));\n } else {\n this.keyupListener = this.renderer.listen(this.inputEl.nativeElement, 'input', event =>\n this.setHasValueClass(!!event.target.value)\n );\n }\n }\n\n ngAfterViewInit(): void {\n this.addClassToWrapper(this.inputEl.nativeElement.parentNode);\n this.injectSearchIcon();\n this.injectDeleteIcon();\n }\n\n ngOnDestroy(): void {\n this.detachListener();\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n clearSearchInput(): void {\n this.renderer.setProperty(this.inputEl.nativeElement, 'value', '');\n this.setHasValueClass(false);\n const event = document.createEvent('Event');\n event.initEvent('input', false, false);\n this.inputEl.nativeElement.dispatchEvent(event);\n }\n\n private setHasValueClass(active: boolean): void {\n if (active) {\n this.renderer.addClass(this.inputEl.nativeElement.parentNode, 'has-value');\n } else {\n this.renderer.removeClass(this.inputEl.nativeElement.parentNode, 'has-value');\n }\n }\n\n private injectDeleteIcon(): void {\n // Get the input wrapper and apply necessary styles\n const inputWrapper = this.inputEl.nativeElement.parentNode;\n\n if (!this.deleteSymbol) {\n this.deleteButton = this.renderer.createElement('button');\n this.renderer.setAttribute(this.deleteButton, 'type', 'button');\n this.renderer.addClass(this.deleteButton, 'btn');\n this.renderer.addClass(this.deleteButton, 'btn-link');\n this.renderer.addClass(this.deleteButton, 'btn-icon');\n this.renderer.addClass(this.deleteButton, 'delete-button');\n this.deleteButton.addEventListener('click', () => this.clearSearchInput());\n\n this.deleteSymbol = this.renderer.createElement('cds-icon');\n this.renderer.setAttribute(this.deleteSymbol, 'shape', 'times');\n this.renderer.appendChild(this.deleteButton, this.deleteSymbol);\n this.renderer.appendChild(inputWrapper, this.deleteButton);\n }\n }\n\n private injectSearchIcon(): void {\n const inputWrapper = this.inputEl.nativeElement.parentNode;\n\n // Create the icon and apply necessary styles\n if (!this.searchSymbol) {\n this.searchSymbol = this.renderer.createElement('cds-icon');\n this.renderer.addClass(this.searchSymbol, 'search-symbol');\n this.renderer.setAttribute(this.searchSymbol, 'shape', 'search');\n this.renderer.insertBefore(inputWrapper, this.searchSymbol, this.inputEl.nativeElement);\n }\n }\n\n private addClassToWrapper(inputWrapper: any): void {\n this.renderer.addClass(inputWrapper, 'search-input-wrapper');\n }\n\n private detachListener(): void {\n if (this.keyupListener) {\n this.keyupListener();\n delete this.keyupListener;\n }\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrSearchField } from './search-field';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule],\n declarations: [ClrSearchField],\n exports: [ClrSearchField],\n})\nexport class ClrSearchFieldModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './search-field';\nexport * from './search-field.module';\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-tt-column',\n template: '<ng-content></ng-content>',\n host: {\n '[class.treetable-column]': 'true',\n role: 'columnheader',\n },\n})\nexport class ClrTreetableColumn {}\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Input, NgZone, OnDestroy } from '@angular/core';\nimport {\n ClrAlignment,\n ClrAxis,\n ClrPopoverEventsService,\n ClrPopoverPosition,\n ClrPopoverPositionService,\n ClrPopoverToggleService,\n ClrSide,\n} from '@clr/angular';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ClarityIcons, ellipsisVerticalIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(ellipsisVerticalIcon);\n\n@Component({\n selector: 'clr-tt-action-overflow',\n providers: [ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService],\n template: `\n <ng-container *ngIf=\"!empty\">\n <button class=\"treetable-action-trigger\" clrPopoverAnchor clrPopoverOpenCloseButton>\n <cds-icon shape=\"ellipsis-vertical\"></cds-icon>\n </button>\n <div\n class=\"datagrid-action-overflow\"\n clrFocusTrap\n (click)=\"closeOverflowContent($event)\"\n *clrPopoverContent=\"false; at: smartPosition; outsideClickToClose: true; scrollToClose: true\"\n >\n <ng-content></ng-content>\n </div>\n </ng-container>\n `,\n host: {\n '[class.treetable-row-actions]': 'true',\n '[class.treetable-cell]': 'true',\n role: 'cell',\n },\n})\nexport class ClrTreetableActionOverflow implements OnDestroy {\n @Input() empty = false;\n\n public smartPosition: ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.CENTER,\n content: ClrAlignment.CENTER,\n };\n\n destroyed$ = new Subject<void>();\n\n constructor(private smartToggleService: ClrPopoverToggleService, private zone: NgZone) {\n this.smartToggleService.openChange.pipe(takeUntil(this.destroyed$.asObservable())).subscribe(openState => {\n if (openState) {\n this.focusFirstButton();\n }\n });\n }\n\n private focusFirstButton(): void {\n this.zone.runOutsideAngular(() =>\n setTimeout(() => {\n const firstButton: HTMLButtonElement | null = document.querySelector('button.action-item');\n if (firstButton) {\n firstButton.focus();\n }\n })\n );\n }\n\n closeOverflowContent(event: Event): void {\n this.smartToggleService.toggleWithEvent(event);\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n}\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ClrTreetableActionOverflow } from './treetable-action-overflow';\nimport { angleIcon, ClarityIcons } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon);\n\n@Component({\n selector: 'clr-tt-row',\n templateUrl: './treetable-row.html',\n host: { '[class.treetable-row-wrapper]': 'true' },\n animations: [\n trigger('collapseExpandAnimation', [\n state('false', style({ display: 'none' })),\n state('true', style({ display: 'block' })),\n transition('false => true', [\n style({ opacity: 0, height: 0, overflow: 'hidden', display: 'block' }),\n animate('300ms', style({ opacity: 1, height: '*' })),\n ]),\n transition('true => false', [\n style({ opacity: 1, height: '*', overflow: 'hidden' }),\n animate('300ms', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n ],\n})\nexport class ClrTreetableRow implements OnInit {\n @Input('clrExpanded') expanded = false;\n @Input('clrClickable') clickable = true;\n @Input('clrExpandable') expandable = false;\n\n @Output() hasActionOverflow = new EventEmitter<boolean>();\n @Output('clrExpandedChange') expandedChange = new EventEmitter<boolean>();\n\n showActionOverflow = false;\n showEmptyActionOverflow = false;\n showClickClass = false;\n\n @ContentChild(ClrTreetableActionOverflow)\n set actionOverflow(actionOverflow: ClrTreetableActionOverflow) {\n this.showActionOverflow = !!actionOverflow;\n this.showEmptyActionOverflow = !this.showActionOverflow;\n this.hasActionOverflow.emit(this.showActionOverflow);\n }\n\n constructor() {}\n\n ngOnInit(): void {\n this.showClickClass = this.expandable && this.clickable;\n }\n\n private toggleExpand(): void {\n if (this.expandable) {\n this.expanded = !this.expanded;\n this.expandedChange.emit(this.expanded);\n }\n }\n\n onRowClick(event: MouseEvent): void {\n if (this.clickable && !(event.target as HTMLElement).closest('.treetable-action-trigger')) {\n this.toggleExpand();\n }\n }\n\n onCaretClick(): void {\n if (!this.clickable) {\n this.toggleExpand();\n }\n }\n}\n","<!--\n ~ Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div\n [ngClass]=\"{'clr-row-clickable': showClickClass}\"\n class=\"clr-tt-node-content treetable-row\"\n (click)=\"onRowClick($event)\"\n>\n <ng-content select=\"clr-tt-action-overflow\"></ng-content>\n <clr-tt-action-overflow *ngIf=\"showActionOverflow && showEmptyActionOverflow\" [empty]=\"true\"></clr-tt-action-overflow>\n <div class=\"treetable-scrolling-cells\">\n <div class=\"treetable-expandable-caret\" *ngIf=\"expandable\">\n <button type=\"button\" class=\"treetable-expandable-caret-button\" (click)=\"onCaretClick()\">\n <cds-icon\n shape=\"angle\"\n [attr.direction]=\"expanded ? 'down' : 'right'\"\n class=\"treetable-expandable-caret-icon\"\n ></cds-icon>\n </button>\n </div>\n\n <ng-content select=\"clr-tt-cell\"></ng-content>\n </div>\n</div>\n<div [@collapseExpandAnimation]=\"expanded\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n</div>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component, ContentChildren, Input, OnDestroy, QueryList } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ClrTreetableColumn } from './treetable-column';\nimport { ClrTreetableRow } from './treetable-row';\n\n@Component({\n selector: 'clr-treetable',\n templateUrl: './treetable.html',\n host: { '[class.empty]': 'empty', '[class.treetable-host]': 'true' },\n})\nexport class ClrTreetable implements OnDestroy {\n @Input() clrClickableRows = true;\n @Input('clrHideHeader') hideHeader = false;\n\n @ContentChildren(ClrTreetableColumn, { descendants: true })\n ttColumns: QueryList<ClrTreetableRow>;\n\n empty = true;\n hasActionOverflow = false;\n\n private _ttRows: QueryList<ClrTreetableRow>;\n private destroyed$ = new Subject<void>();\n\n @ContentChildren(ClrTreetableRow, { descendants: true })\n set ttRows(items: QueryList<ClrTreetableRow>) {\n this._ttRows = items;\n this.hasActionOverflow = false;\n this.initClickableRows();\n this.initEmpty();\n this.initActionOverflow();\n }\n\n private initClickableRows(): void {\n if (this._ttRows) {\n this._ttRows.forEach(ttRow => {\n ttRow.clickable = this.clrClickableRows;\n });\n }\n }\n\n private initEmpty(): void {\n this.empty = this._ttRows.length === 0;\n }\n\n private initActionOverflow() {\n this._ttRows.forEach(row => {\n this.setActionOverflow(row.showActionOverflow);\n row.hasActionOverflow.pipe(takeUntil(this.destroyed$)).subscribe((hasActionOverflow: boolean) => {\n this.setActionOverflow(hasActionOverflow);\n });\n });\n }\n\n private setActionOverflow(hasActionOverflow: boolean) {\n if (!this.hasActionOverflow && hasActionOverflow) {\n this.hasActionOverflow = true;\n // setTimeout needed, as this method needs to change data which shouldn't be changed anymore in this cycle\n setTimeout(() => {\n if (this.hasActionOverflow) {\n this._ttRows.forEach(ttRow => (ttRow.showActionOverflow = true));\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n}\n","<!--\n ~ Copyright (c) 2018-2021 Porsche Informatik. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"treetable\">\n <div class=\"treetable-grid\" role=\"grid\">\n <div class=\"treetable-header\" role=\"rowgroup\" [class.hide-header]=\"hideHeader\">\n <div *ngIf=\"hasActionOverflow\" class=\"treetable-row-actions treetable-column\">&nbsp;</div>\n <div class=\"treetable-row-scrollable\" role=\"row\">\n <ng-content select=\"clr-tt-column\"></ng-content>\n </div>\n </div>\n <div class=\"treetable-body\">\n <ng-content select=\"clr-tt-row\"></ng-content>\n <ng-content select=\"clr-tt-placeholder\"></ng-content>\n </div>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-tt-cell',\n template: '<ng-content></ng-content>',\n host: {\n '[class.treetable-cell]': 'true',\n role: 'cell',\n },\n})\nexport class ClrTreetableCell {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-tt-placeholder',\n template: `\n <div class=\"treetable-placeholder treetable-empty\">\n <div class=\"treetable-placeholder-image\"></div>\n <ng-content></ng-content>\n </div>\n `,\n host: { '[class.treetable-placeholder-container]': 'true' },\n})\nexport class ClrTreetablePlaceholder {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({ selector: 'clr-tt-column' })\nexport class TreetableHeaderRenderer {\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n /**\n * Returns the client width of the header cell.\n */\n public getWidth(): number {\n return this.el.nativeElement.clientWidth;\n }\n\n /**\n * Returns all classes starting with 'clr-col'.\n */\n public getColumnClasses(): string[] {\n const classes: string[] = [];\n this.el.nativeElement.classList.forEach((className: string) => {\n if (className.indexOf('clr-col') !== -1) {\n classes.push(className);\n }\n });\n return classes;\n }\n\n public setDefaultColumnClass(): void {\n this.renderer.addClass(this.el.nativeElement, 'clr-col');\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({ selector: 'clr-tt-cell' })\nexport class TreetableCellRenderer {\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n public setColumnClasses(columnClasses: string[]): void {\n columnClasses.forEach((className: string) => {\n this.renderer.addClass(this.el.nativeElement, className);\n });\n }\n\n public setMaxWidth(maxWidth: number): void {\n this.renderer.setStyle(this.el.nativeElement, 'max-width', maxWidth + 'px');\n }\n}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { ContentChildren, Directive, QueryList } from '@angular/core';\nimport { TreetableCellRenderer } from './cell-renderer';\n\n@Directive({ selector: 'clr-tt-row' })\nexport class TreetableRowRenderer {\n @ContentChildren(TreetableCellRenderer) cells: QueryList<TreetableCellRenderer>;\n}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\nimport { AfterViewChecked, ContentChildren, Directive, HostListener, QueryList, AfterContentInit } from '@angular/core';\n\nimport { ClrTreetableColumn } from '../treetable-column';\nimport { TreetableHeaderRenderer } from './header-renderer';\nimport { TreetableRowRenderer } from './row-renderer';\n\n@Directive({\n selector: 'clr-treetable',\n})\nexport class TreetableMainRenderer implements AfterViewChecked, AfterContentInit {\n @ContentChildren(TreetableHeaderRenderer) headers: QueryList<TreetableHeaderRenderer>;\n @ContentChildren(TreetableRowRenderer, { descendants: true })\n rows: QueryList<TreetableRowRenderer>;\n @ContentChildren(ClrTreetableColumn) columns: QueryList<ClrTreetableColumn>;\n private shouldStabilizeColumn = true;\n\n @HostListener('window:resize')\n onResize(): void {\n this.applyMaxWidth();\n }\n\n ngAfterContentInit(): void {\n this.headers.changes.subscribe(() => {\n this.shouldStabilizeColumn = true;\n });\n this.rows.changes.subscribe(() => {\n this.shouldStabilizeColumn = true;\n });\n }\n\n ngAfterViewChecked(): void {\n if (this.shouldStabilizeColumn) {\n this.applyColumnClasses();\n setTimeout(() => {\n this.applyMaxWidth();\n }, 10);\n }\n }\n\n /**\n * Applies css column class to every header and cell.\n */\n private applyColumnClasses(): void {\n this.shouldStabilizeColumn = false;\n\n this.headers.forEach((header, headerIndex) => {\n const columnClasses = header.getColumnClasses();\n if (columnClasses.length === 0) {\n header.setDefaultColumnClass();\n this.rows.forEach(row => {\n // set every child cell of the same index to default class\n const cell = row.cells.find((_c, cellIndex) => cellIndex === headerIndex);\n if (cell) {\n cell.setColumnClasses(['clr-col']);\n }\n });\n } else {\n // set every child cell of the same index to the same class\n // we do not allow overriding column width on a per cell basis different to the header.\n this.rows.forEach(row => {\n const cell = row.cells.find((_c, cellIndex) => cellIndex === headerIndex);\n if (cell) {\n cell.setColumnClasses(columnClasses);\n }\n });\n }\n });\n }\n\n private applyMaxWidth(): void {\n if (this.headers.first) {\n const maxWidth = this.headers.first.getWidth();\n if (maxWidth === 0) {\n // If the max width is zero, call this in a timeout to be able to retrieve the client rendered value\n setTimeout(() => {\n this.applyMaxWidthOnEachRow(this.headers.first.getWidth());\n }, 100);\n } else {\n this.applyMaxWidthOnEachRow(maxWidth);\n }\n }\n }\n\n private applyMaxWidthOnEachRow(maxWidth: number): void {\n this.rows.forEach(row => {\n row.cells.first.setMaxWidth(maxWidth);\n });\n }\n}\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrTreetableRow } from './treetable-row';\nimport { ClrTreetable } from './treetable';\nimport { ClrTreetableCell } from './treetable-cell';\nimport { ClrTreetableColumn } from './treetable-column';\nimport { ClrTreetablePlaceholder } from './treetable-placeholder';\nimport { TreetableHeaderRenderer } from './renderer/header-renderer';\nimport { TreetableMainRenderer } from './renderer/main-renderer';\nimport { TreetableRowRenderer } from './renderer/row-renderer';\nimport { TreetableCellRenderer } from './renderer/cell-renderer';\nimport { ClrTreetableActionOverflow } from './treetable-action-overflow';\n\nconst CLR_TREETABLE_DIRECTIVES: Type<any>[] = [\n ClrTreetable,\n ClrTreetableRow,\n ClrTreetableCell,\n ClrTreetableColumn,\n ClrTreetablePlaceholder,\n ClrTreetableActionOverflow,\n TreetableMainRenderer,\n TreetableHeaderRenderer,\n TreetableRowRenderer,\n TreetableCellRenderer,\n];\n\n@NgModule({\n imports: [CommonModule, ClarityModule],\n declarations: [CLR_TREETABLE_DIRECTIVES],\n exports: [CLR_TREETABLE_DIRECTIVES],\n})\nexport class ClrTreetableModule {}\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './treetable';\nexport * from './treetable-row';\nexport * from './treetable-column';\nexport * from './treetable-cell';\nexport * from './treetable-placeholder';\nexport * from './treetable-action-overflow';\nexport * from './treetable.module';\nexport * from './renderer';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { angleIcon, ClarityIcons, pencilIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(angleIcon, pencilIcon);\n\n@Component({\n selector: 'clr-view-edit-section',\n templateUrl: './view-edit-section.html',\n animations: [\n trigger('collapseExpandAnimation', [\n transition(':enter', [\n style({ opacity: 0, height: 0, overflow: 'hidden' }),\n animate('300ms', style({ opacity: 1, height: '*' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '*', overflow: 'hidden' }),\n animate('300ms', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n trigger('rotateIcon', [\n state('true', style({ transform: 'rotate(0)' })),\n state('false', style({ transform: 'rotate(180deg)' })),\n transition('true => false', animate('300ms ease-out')),\n transition('false => true', animate('300ms ease-in')),\n ]),\n ],\n})\nexport class ClrViewEditSection {\n @Input('clrTitle') _title: string;\n @Input('clrSaveText') _saveText = 'Save';\n @Input('clrPreventModeChangeOnSave') _preventSave = false;\n @Input('clrCancelText') _cancelText = 'Cancel';\n @Input('clrEditable') _editable = true;\n @Input('clrEditIcon') _editIcon = 'pencil';\n @Input('clrIsCollapsible') _isCollapsible = false;\n @Input('clrIsCollapsed') _isCollapsed = false;\n\n @Input('clrViewRef') viewRef: TemplateRef<any>;\n @Input('clrEditRef') editRef: TemplateRef<any>;\n\n @Output('clrIsCollapsedChange') _isCollapsedChange = new EventEmitter<boolean>();\n @Output('clrEditModeChange') _editModeChanged = new EventEmitter(false);\n @Output('clrSectionSubmitted') _submitted = new EventEmitter(false);\n @Output('clrSectionEditCancelled') _cancelled = new EventEmitter(false);\n\n @Input('clrEditMode')\n public set editMode(value: boolean) {\n this._editMode = value;\n\n if (value) {\n this.toggleCollapsed(false);\n }\n }\n\n public get editMode(): boolean {\n return this._editMode;\n }\n\n private _editMode = false;\n\n public onSubmit(): void {\n this._submitted.emit();\n if (!this._preventSave) {\n this.setEditMode(false);\n }\n }\n\n public onCancel(): void {\n this._cancelled.emit();\n this.setEditMode(false);\n }\n\n public onEdit(): void {\n this.setEditMode(true);\n this.toggleCollapsed(false);\n }\n\n private setEditMode(mode: boolean): void {\n this.editMode = mode;\n this._editModeChanged.emit(this.editMode);\n }\n\n private toggleCollapsed(collapsed: boolean) {\n this._isCollapsed = collapsed;\n this._isCollapsedChange.emit(this._isCollapsed);\n }\n\n onCollapseExpand(): void {\n if (this._isCollapsed) {\n this.toggleCollapsed(false);\n } else {\n this.toggleCollapsed(true);\n }\n }\n}\n","<div class=\"card view-edit-section\" (keyup.escape)=\"onCancel()\">\n <div class=\"card-block\">\n <div class=\"card-title\">\n {{_title}}\n <button\n type=\"button\"\n (click)=\"onCollapseExpand()\"\n class=\"btn btn-icon btn-link ces-caret-btn\"\n *ngIf=\"_isCollapsible && !editMode\"\n >\n <cds-icon shape=\"angle\" direction=\"up\" size=\"20\" class=\"ces-caret-icon\" [@rotateIcon]=\"_isCollapsed\"></cds-icon>\n </button>\n <div class=\"ves-actions\">\n <button\n type=\"button\"\n (click)=\"onEdit()\"\n class=\"btn btn-icon btn-link ves-action\"\n *ngIf=\"_editable && !editMode && actionBlock.children.length == 0\"\n >\n <cds-icon class=\"ves-edit-icon\" [attr.shape]=\"_editIcon\" size=\"20\"></cds-icon>\n </button>\n <div #actionBlock>\n <ng-content select=\"[action-block]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"card-text\" [@collapseExpandAnimation] *ngIf=\"!(_isCollapsed && _isCollapsible)\">\n <ng-template [ngTemplateOutlet]=\"viewRef\" *ngIf=\"!editMode\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"editRef\" *ngIf=\"editMode\"></ng-template>\n <ng-container *ngIf=\"editMode\">\n <form clrForm (ngSubmit)=\"onSubmit()\" class=\"button-bar\">\n <button class=\"btn btn-primary ves-save\" type=\"submit\">{{_saveText}}</button>\n <button class=\"btn ves-cancel\" (click)=\"onCancel()\" type=\"button\">{{_cancelText}}</button>\n </form>\n </ng-container>\n </div>\n </div>\n</div>\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrFormsModule } from '@clr/angular';\n\nimport { ClrViewEditSection } from './view-edit-section';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, FormsModule, ClrFormsModule],\n declarations: [ClrViewEditSection],\n exports: [ClrViewEditSection],\n})\nexport class ClrViewEditSectionModule {}\n","/*\n * Copyright (c) 2018-2019 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './view-edit-section';\nexport * from './view-edit-section.module';\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { InjectionToken } from '@angular/core';\n\nexport const HISTORY_NOTIFICATION_URL_PROVIDER = new InjectionToken<string>('HISTORY_NOTIFICATION_URL_PROVIDER');\n\nexport interface ClrHistoryModel {\n /**\n * The username\n */\n username: string;\n\n /**\n * The name of the page\n */\n pageName: string;\n\n /**\n * The context of the page\n */\n context: {\n applicationName?: string;\n tenantid: string;\n context?: string;\n [key: string]: string;\n };\n\n /**\n * The title to be displayed.\n */\n title: string;\n\n /**\n * The url where the navigation goes.\n */\n url: string;\n}\n\nexport interface ClrHistorySettingsModel {\n /**\n * Indicating if history is pinned (additional menu is shown if true)\n */\n historyPinned: boolean;\n\n /**\n * The username\n */\n username: string;\n}\n\nexport interface ClrHistoryNotificationModel {\n username: string;\n pageName: string;\n applicationName?: string;\n tenantId: string;\n title: string;\n url: string;\n context?: string;\n}\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport {\n ClrHistoryModel,\n ClrHistoryNotificationModel,\n ClrHistorySettingsModel,\n HISTORY_NOTIFICATION_URL_PROVIDER,\n} from './history-model.interface';\nimport { BehaviorSubject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable()\nexport class ClrHistoryService {\n public cookieSettings$ = new BehaviorSubject<ClrHistorySettingsModel[]>([]);\n cookieName = 'clr.history';\n cookieNameSettings = 'clr.history.settings';\n private expiryDate: Date;\n\n // maxmimum history length\n private maxSize = 1024;\n // maximum url length for usage in history\n private maxUrlSize = 256;\n\n constructor(\n @Inject(HISTORY_NOTIFICATION_URL_PROVIDER) @Optional() private historyNotificationUrl: string,\n @Optional() private httpClient: HttpClient\n ) {\n this.expiryDate = new Date();\n this.expiryDate.setTime(this.expiryDate.getTime() + 365 * 24 * 60 * 60 * 1000);\n }\n\n /**\n * Add a new history entry\n * @param historyEntry The entry to be added\n * @param domain The optional domain param where the cookie is stored\n * @returns true when entry added, otherwise false is returned\n */\n addHistoryEntry(historyEntry: ClrHistoryModel, domain?: string): boolean {\n this.notifyExternalUrl(historyEntry);\n this.removeFromHistory(historyEntry);\n let history = this.getHistory(historyEntry.username, historyEntry.context);\n\n /* only add to history in case url does not exceed maxUrlSize characters */\n if (historyEntry.url && historyEntry.url.length < this.maxUrlSize) {\n /* add it as last element */\n history.push(historyEntry);\n /* support a maximum of 4 pages in history */\n history = history.slice(-4);\n this.setHistory(history, domain);\n return true;\n }\n return false;\n }\n\n getHistoryDisplay(username: string, context: { [key: string]: string }): ClrHistoryModel[] {\n const history = this.getHistory(username, context);\n if (history.length > 0) {\n const currentPageTitle = history[history.length - 1].title;\n const toDisplay: ClrHistoryModel[] = [];\n const alreadyDisplay: string[] = [];\n\n for (let i = history.length - 1; i >= 0 && alreadyDisplay.length < 4; i--) {\n if (!alreadyDisplay.includes(history[i].title) && history[i].title !== currentPageTitle) {\n alreadyDisplay.push(history[i].title);\n toDisplay.push(history[i]);\n }\n }\n\n return toDisplay.reverse();\n } else {\n return history;\n }\n }\n\n getHistory(username: string, context: { [key: string]: string }): ClrHistoryModel[] {\n const history: ClrHistoryModel[] = this.getCookieByName(this.cookieName);\n if (!history) {\n return [];\n }\n return history.filter(element => this.checkEqualContext(element, context) && element.username === username);\n }\n\n /**\n * Set history\n * @param entries\n * @param domain\n */\n private setHistory(entries: ClrHistoryModel[], domain?: string): void {\n if (!entries || entries.length === 0) {\n // clear all entries\n this.setCookie(this.cookieName, this.encode([]), domain);\n } else {\n entries = this.reduceSize(entries);\n // encode title & pagename to be cookie saving save\n if (entries && entries.length > 0) {\n entries.forEach(entry => {\n entry.title = encodeURI(entry.title);\n entry.pageName = encodeURI(entry.pageName);\n });\n }\n this.setCookie(this.cookieName, this.encode(entries), domain);\n }\n }\n\n reduceSize(entries: ClrHistoryModel[]): ClrHistoryModel[] {\n if (JSON.stringify(entries).length > this.maxSize) {\n const reduced: ClrHistoryModel[] = [...entries];\n do {\n reduced.shift();\n } while (JSON.stringify(reduced).length > this.maxSize);\n return reduced;\n } else {\n return entries;\n }\n }\n\n resetHistory(): void {\n this.setHistory(null);\n }\n\n removeFromHistory(entry: ClrHistoryModel): void {\n let history = this.getHistory(entry.username, entry.context);\n /* remove current entry from array */\n history = history.filter(\n element =>\n !(\n element.title === entry.title &&\n element.username === entry.username &&\n this.checkEqualContext(element, entry.context)\n )\n );\n this.setHistory(history);\n }\n\n private checkEqualContext(entry: ClrHistoryModel, toCompare: { [key: string]: string }): boolean {\n let equal = false;\n if (entry && entry.context && toCompare) {\n Object.keys(toCompare).forEach(key => {\n equal = key in entry.context && entry.context[key] === toCompare[key];\n });\n }\n return equal;\n }\n\n initializeCookieSettings(username: string, domain?: string): void {\n let historySettings: ClrHistorySettingsModel[] = this.getCookieByName(this.cookieNameSettings);\n if (!historySettings || historySettings.length === 0) {\n this.setHistoryPinned(username, false, domain);\n historySettings = [{ username: username, historyPinned: false }];\n }\n if (!historySettings.find(hSetting => hSetting.username === username)) {\n this.setHistoryPinned(username, false, domain);\n historySettings.push({ username: username, historyPinned: false });\n }\n this.cookieSettings$.next(historySettings);\n }\n\n setHistoryPinned(username: string, pin: boolean, domain?: string): void {\n const historySettings: ClrHistorySettingsModel[] = this.getCookieByName(this.cookieNameSettings);\n const historySetting = historySettings.find(hSetting => hSetting.username === username);\n if (historySetting) {\n historySetting.historyPinned = pin;\n } else {\n historySettings.push({ username: username, historyPinned: pin });\n }\n this.cookieSettings$.next(historySettings);\n // Set it\n this.setCookie(this.cookieNameSettings, JSON.stringify(historySettings), domain);\n }\n\n private getCookieByName(name: string): any[] {\n const cookieEntries =\n document.cookie\n .split(';')\n .map(c => c.trim())\n .filter(cookie => {\n return cookie.substring(0, name.length + 1) === `${name}=`;\n })\n .map(cookie => {\n return name === this.cookieName\n ? this.decode(cookie.substring(name.length + 1))\n : JSON.parse(cookie.substring(name.length + 1));\n })[0] || [];\n if (cookieEntries && cookieEntries.length > 0) {\n cookieEntries.forEach((entry: any) => {\n if (entry.title) {\n entry.title = decodeURI(entry.title);\n }\n if (entry.pageName) {\n entry.pageName = decodeURI(entry.pageName);\n }\n });\n }\n return cookieEntries;\n }\n\n private encode(content: ClrHistoryModel[]): string {\n const jsonString = btoa(encodeURIComponent(JSON.stringify(content)));\n return jsonString.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '!');\n }\n\n private decode(content: string): ClrHistoryModel[] {\n try {\n const base64 = content.replace(/-/g, '+').replace(/_/g, '/').replace(/!/g, '=');\n return JSON.parse(decodeURIComponent(atob(base64)));\n } catch (error) {\n return [];\n }\n }\n\n private setCookie(name: string, content: string, domain: string): void {\n document.cookie =\n name +\n '=' +\n content +\n ';domain=' +\n (domain ? domain : this.getDomain()) +\n ';expires=' +\n this.expiryDate.toUTCString() +\n ';path=/';\n }\n\n private getDomain(): string {\n const domain = window.location.hostname.split('.');\n //localhost fallback\n if (domain.length === 1) {\n return domain[0];\n }\n domain.shift();\n return domain.join('.');\n }\n\n private notifyExternalUrl(historyEntry: ClrHistoryModel) {\n if (!this.historyNotificationUrl || !this.httpClient) {\n return;\n }\n\n const body: ClrHistoryNotificationModel = {\n username: historyEntry.username,\n pageName: historyEntry.pageName,\n applicationName: historyEntry.context.applicationName,\n tenantId: historyEntry.context.tenantid,\n title: historyEntry.title,\n url: historyEntry.url,\n context: historyEntry.context.context,\n };\n\n this.httpClient.post(this.historyNotificationUrl, body).subscribe();\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ClrHistoryModel } from './history-model.interface';\n\nexport const HISTORY_PROVIDER = new InjectionToken<any>('HISTORY_PROVIDER');\n\n/**\n * Interface to be implemented by a history provider to adjust the behavior of the history components.\n * */\nexport abstract class HistoryProvider {\n /**\n * Modifies the history entries before they are displayed. The list of modified entries will be shown to the user.\n *\n * @param entries The history entries before modification\n * @returns The modified history entries\n */\n abstract getModifiedHistoryEntries(entries: ClrHistoryModel[]): ClrHistoryModel[];\n}\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Inject, Input, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { ClrHistoryModel } from './history-model.interface';\nimport { ClrHistoryService } from './history.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { angleIcon, ClarityIcons, historyIcon } from '@cds/core/icon';\nimport { HISTORY_PROVIDER, HistoryProvider } from './history.provider';\n\nClarityIcons.addIcons(historyIcon, angleIcon);\n\n@Component({\n selector: 'clr-history',\n templateUrl: './history.html',\n})\nexport class ClrHistory implements OnInit, OnDestroy {\n @Input('clrUsername') username: string;\n @Input('clrContext') context: { [key: string]: string };\n @Input('clrPinActive') pinActive = true;\n @Input('clrDropdownHeader') dropdownHeader = 'History';\n @Input('clrDropdownPin') dropdownPin = 'Pin History';\n @Input('clrDropdownUnpin') dropdownUnpin = 'Unpin History';\n @Input('clrDomain') domain: string;\n @Input('clrPosition') position = 'bottom-right';\n\n /**\n * The array of history elements to be displayed.\n */\n historyElements: ClrHistoryModel[] = [];\n pinActivated = false;\n private onDestroy$ = new Subject<void>();\n\n constructor(\n private historyService: ClrHistoryService,\n @Inject(HISTORY_PROVIDER) @Optional() private historyProvider: HistoryProvider\n ) {}\n\n ngOnInit(): void {\n const historyElements = this.historyService.getHistoryDisplay(this.username, this.context);\n this.historyElements = this.historyProvider\n ? this.historyProvider.getModifiedHistoryEntries(historyElements)\n : historyElements;\n\n this.historyService.initializeCookieSettings(this.username, this.domain);\n this.historyService.cookieSettings$.pipe(takeUntil(this.onDestroy$)).subscribe(settings => {\n this.pinActivated = settings.find(setting => setting.username === this.username).historyPinned;\n });\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n select(history: ClrHistoryModel): void {\n window.location.href = history.url;\n }\n\n togglePinHistory(): void {\n this.historyService.setHistoryPinned(this.username, !this.pinActivated);\n }\n}\n","<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-link\" clrDropdownTrigger>\n <cds-icon shape=\"history\" size=\"24\"></cds-icon>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"12\"></cds-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{dropdownHeader}}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements\" (click)=\"select(history)\">\n {{history.title}}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{dropdownPin}}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{dropdownUnpin}}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Inject, Input, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { ClrHistoryModel } from './history-model.interface';\nimport { ClrHistoryService } from './history.service';\nimport { Subscription } from 'rxjs';\nimport { HISTORY_PROVIDER, HistoryProvider } from './history.provider';\n\n@Component({\n selector: 'clr-history-pinned',\n templateUrl: './history-pinned.html',\n})\nexport class ClrHistoryPinned implements OnInit, OnDestroy {\n @Input('clrUsername') username: string;\n @Input('clrContext') context: { [key: string]: string };\n @Input('clrDomain') domain: string;\n\n /**\n * The array of history elements to be displayed.\n */\n historyElements: ClrHistoryModel[] = [];\n active = false;\n private settingsSubscription: Subscription;\n\n constructor(\n private historyService: ClrHistoryService,\n @Inject(HISTORY_PROVIDER) @Optional() private historyProvider: HistoryProvider\n ) {}\n\n ngOnInit(): void {\n const historyElements = this.historyService.getHistoryDisplay(this.username, this.context);\n this.historyElements = this.historyProvider\n ? this.historyProvider.getModifiedHistoryEntries(historyElements)\n : historyElements;\n\n this.historyService.initializeCookieSettings(this.username, this.domain);\n this.settingsSubscription = this.historyService.cookieSettings$.subscribe(settings => {\n const setting = settings.find(setting => setting.username === this.username);\n if (setting) {\n this.active = setting.historyPinned;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.settingsSubscription.unsubscribe();\n }\n}\n","<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"historyElements.length && active\">\n <ol class=\"history\">\n <ng-container *ngFor=\"let historyItem of historyElements\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{historyItem.title}}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrHistory } from './history';\nimport { RouterModule } from '@angular/router';\nimport { ClrHistoryPinned } from './history-pinned';\nimport { ClrDropdownOverflowModule } from '../dropdown';\n\n@NgModule({\n imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule],\n declarations: [ClrHistory, ClrHistoryPinned],\n exports: [ClrHistory, ClrHistoryPinned],\n})\nexport class ClrHistoryModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './history';\nexport * from './history-pinned';\nexport * from './history.module';\nexport * from './history-model.interface';\nexport * from './history.service';\nexport * from './history.provider';\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: 'input:not([autocomplete])',\n host: {\n '[attr.autocomplete]': '\"off\"',\n },\n})\nexport class ClrAutocompleteOff {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrAutocompleteOff } from './autocomplete-off.directive';\n\n@NgModule({\n declarations: [ClrAutocompleteOff],\n exports: [ClrAutocompleteOff],\n})\nexport class ClrAutocompleteOffModule {}\n","/*\n * Copyright (c) 2018-2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nconst BADGED_CLASS_SUBSTRING = '--badged';\nconst ALERTED_CLASS_SUBSTRING = '--alerted';\nconst SOLID_CLASS = 'clr-i-solid';\n\n/**\n * Class copied from Clarity as it is not accessible.\n *\n * @see {@link https://github.com/vmware/clarity/blob/0afa75bf6bf183bb76474f7c3b20ebc7dcf89263/packages/icons/src/utils/svg-tag-generator.ts}\n * @param content content of the SVG\n * @param viewBox viewBox of the SVG\n */\nexport function clrIconSVG(content: string, viewBox = '0 0 24 24'): string {\n let classes = '';\n\n if (content.indexOf(BADGED_CLASS_SUBSTRING) > -1) {\n classes += 'can-badge ';\n }\n\n if (content.indexOf(ALERTED_CLASS_SUBSTRING) > -1) {\n classes += 'can-alert ';\n }\n\n if (content.indexOf(SOLID_CLASS) > -1) {\n classes += 'has-solid ';\n }\n\n let openingTag;\n if (classes) {\n openingTag = `<svg version=\"1.1\" class=\"${classes}\" viewBox=\"${viewBox}\" preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" role=\"img\">`;\n } else {\n openingTag = `<svg version=\"1.1\" viewBox=\"${viewBox}\" preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" role=\"img\">`;\n }\n const closingTag = `</svg>`;\n\n return openingTag + content + closingTag;\n}\n","/*\n * Clarity Addons Icons, © Volkswagen 2020\n *\n * When using the icons, copyrights, name and trademark rights as well as other property rights of\n * Volkswagen AG must be observed. The icons and the brand are protected.\n * No licence or other right of use is granted by the availability of the icons.\n */\n\nimport { clrIconSVG } from './svg-tag-generator';\nimport { IconShapeTuple } from '@cds/core/icon/interfaces/icon.interfaces';\n\n// To support badges, alerts or the is-solid, the SVGs would need to be extended.\n\nexport const AcceptanceDateShape = clrIconSVG(\n `<rect x=\"13\" y=\"7\" width=\"10\" height=\"2\"/><path d=\"M4,16.89V9H7V7H4A2.0059,2.0059,0,0,0,2,9v8.29a2.9516,2.9516,0,0,1,1.5-.4Z\"/><path d=\"M10,11a1.0029,1.0029,0,0,0,1-1V4A1,1,0,0,0,9,4v6A1.0029,1.0029,0,0,0,10,11Z\"/><path d=\"M26,11a1.0029,1.0029,0,0,0,1-1V4a1,1,0,0,0-2,0v6A1.0029,1.0029,0,0,0,26,11Z\"/><path d=\"M32,7H29V9h3v7.89h.49A2.9688,2.9688,0,0,1,34,17.3V9A2.0059,2.0059,0,0,0,32,7Z\"/><path d=\"M32,22.89V31H4V22.89H3.5a3.0545,3.0545,0,0,1-1.5-.4V31a2.0059,2.0059,0,0,0,2,2H32a2.0059,2.0059,0,0,0,2-2V22.48a2.9688,2.9688,0,0,1-1.51.41Z\"/><path d=\"M3.5,21.3888H13.8789L12.44,22.8282a1.5,1.5,0,1,0,2.121,2.1211l4-4a1.4993,1.4993,0,0,0,0-2.1211l-4-4a1.5,1.5,0,0,0-2.121,2.1211l1.4394,1.4395H3.5a1.5,1.5,0,0,0,0,3Z\"/><circle cx=\"27.3403\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"22.1899\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"32.4897\" cy=\"19.8896\" r=\"1.5\"/>`,\n '0 0 36 36'\n);\n\nexport const CarOffSite = clrIconSVG(\n `\n <polygon points=\"24 8.39 24 24 22.7 24 22.7 9.07 12 1.58 1.3 9.07 1.3 24 0 24 0 8.39 12 0 24 8.39\"/>\n <path d=\"M20.7166,10.9785a.6429.6429,0,0,0,.3637-.1123l.6446-.4358,0,0L23.8,9.0283l-.7275-1.0762-1.542,1.042-.0047.002L20.3518,9.79a.65.65,0,0,0,.3648,1.1885Z\"/>\n <path d=\"M7.9006,18.2051,5.41,19.8877a.65.65,0,1,0,.7275,1.0781l2.49-1.6826a.65.65,0,0,0-.7276-1.0781Z\"/>\n <path d=\"M13.7839,15.0127a.65.65,0,0,0-.9028-.1738L12,15.4346l-.8811-.5957A.65.65,0,1,0,10.39,15.915l.4494.3039-.4489.3036a.65.65,0,1,0,.7285,1.0761L12,17.0033l.8806.5953a.643.643,0,0,0,.3638.1123.65.65,0,0,0,.3647-1.1884l-.4489-.3036.4494-.3039A.6493.6493,0,0,0,13.7839,15.0127Z\"/>\n <path d=\"M17.8616,11.4727l-2.49,1.6835A.65.65,0,1,0,16.1,14.2324l2.49-1.6836a.65.65,0,1,0-.7285-1.0761Z\"/>\n <path d=\"M3.65,22.65l-.59.4-.37.25-.22.14L1.65,24H.6l-.4-.59,2.13-1.44.59-.4a.6518.6518,0,0,1,.73,1.08Z\"/>\n <path d=\"M2.4739,8.9961,2.469,8.994.9277,7.9521.1992,9.0283l1.9517,1.3194.0005-.0009.7683.5194a.6429.6429,0,0,0,.3637.1123A.65.65,0,0,0,3.6482,9.79Z\"/>\n <path d=\"M6.1384,11.4727A.65.65,0,1,0,5.41,12.5488L7.9,14.2324a.6432.6432,0,0,0,.3638.1123.65.65,0,0,0,.3648-1.1885Z\"/>\n <path d=\"M16.0994,18.2051a.65.65,0,0,0-.7276,1.0781l2.49,1.6826a.65.65,0,0,0,.7275-1.0781Z\"/>\n <path d=\"M23.8,23.41l-.4.59H22.35l-1.37-.93-.63-.42a.6518.6518,0,0,1,.73-1.08l.63.43Z\"/>`\n);\nexport const CarOnSite = clrIconSVG(\n `\n <path d=\"M12,16.8a.86.86,0,0,0-.8.8.8515.8515,0,0,0,1.7.1A.8963.8963,0,0,0,12,16.8Z\"/>\n <path d=\"M21.8,10.6a16.9577,16.9577,0,0,1-2.2.4L18.5,8.4A2.9653,2.9653,0,0,0,16.3,7H7.7A2.5336,2.5336,0,0,0,5.6,8.5L4.4,11.1a16.9577,16.9577,0,0,0-2.2-.4L2,12c.7.1,1.3.2,2,.3l-.6,1A6.0075,6.0075,0,0,0,2.7,16v5.5a1.43,1.43,0,0,0,1.4,1.4H5.7a1.3671,1.3671,0,0,0,1.4-1.4v-.4h9.7v.4a1.43,1.43,0,0,0,1.4,1.4h1.7a1.3671,1.3671,0,0,0,1.4-1.4V16a5.1892,5.1892,0,0,0-.7-2.7l-.5-1.1c.6-.1,1.3-.2,1.9-.3ZM6.8,9a1.4454,1.4454,0,0,1,1-.7h8.4a1.4425,1.4425,0,0,1,1.1.7l.9,2.2a50.6175,50.6175,0,0,1-12.3,0ZM19.9,21.6v.1H18.2V19.8H5.8v1.8H4.1v-5c1.2.2,2.5.3,3.8.4V15.7c-1.3-.1-2.6-.2-3.8-.4A5.0234,5.0234,0,0,1,4.6,14l.8-1.6a48.7229,48.7229,0,0,0,6.6.4,51.7006,51.7006,0,0,0,6.8-.4l.6207,1.4462A8.24,8.24,0,0,1,19.9,15.3c-1.2.2-2.4.3-3.7.4l.1,1.3c1.3-.1,2.5-.2,3.7-.4Z\"/>\n <polygon points=\"12 0 0 8.39 0 24 1.3 24 1.3 9.07 12 1.58 22.7 9.07 22.7 24 24 24 24 8.39 12 0\"/>`\n);\n\nexport const CampaignOutdatedShape = clrIconSVG(\n ` <sodipodi:namedview bordercolor=\"#000000\" borderopacity=\"0.25\" id=\"namedview4\" inkscape:deskcolor=\"#d1d1d1\" inkscape:pagecheckerboard=\"0\" inkscape:pageopacity=\"0.0\" inkscape:showpageshadow=\"2\" pagecolor=\"#ffffff\">\n </sodipodi:namedview>\n <g id=\"g8\" transform=\"matrix(1.3333333,0,0,-1.3333333,0,48)\" inkscape:groupmode=\"layer\" inkscape:label=\"ink_ext_XXXXXX\">\n <g id=\"g10\" transform=\"scale(0.1)\">\n <path id=\"path12\" d=\"M226,139.6h-25.1c1,3.7,3.4,6.7,6.9,8.5c2.4,1.2,4.3,3,5.7,5.1c1.4-2.1,3.3-3.9,5.7-5.1\n C222.6,146.3,225,143.3,226,139.6z M226.5,200.2v-13.6c0-3.6-1.4-7.1-3.9-9.6c-1-1.1-2.2-1.9-3.5-2.6c-2.4-1.2-4.4-3-5.7-5.1\n c-1.4,2.1-3.3,3.9-5.7,5.1c-4.6,2.3-7.4,7-7.4,12.2v13.6H226.5z M243.5,122.3v13.6c0,10.3-4.9,19.7-12.9,25.4\n c1.5,1.1,2.9,2.3,4.2,3.6c5.7,5.8,8.8,13.6,8.8,21.8v13.6v17.3h-60v-17.3v-13.6c0-10.3,4.9-19.7,12.9-25.4\n c-8.1-5.7-12.9-15.1-12.9-25.4v-13.6V105h60L243.5,122.3\"/>\n <path id=\"path14\" d=\"M195.8,290c-3,2.8-7.7,2.6-10.6-0.4l-111.5-119c-2.8-3-2.6-7.7,0.4-10.6c1.4-1.3,3.2-1.9,5.1-1.9\n c2,0,4,0.8,5.5,2.3l111.5,119C199,282.4,198.8,287.1,195.8,290z M101.9,242.5c-13.6,0-24.3,10.6-24.3,23.7\n c0,13.1,10.7,23.6,24.3,23.6c13.6,0,24.3-10.6,24.3-23.6C126.2,253.1,115.5,242.5,101.9,242.5z M101.9,304.8\n c-21.5,0-39.2-17.3-39.2-38.6c0-21.3,17.7-38.6,39.2-38.6c21.5,0,39.2,17.3,39.2,38.6C141.1,287.5,123.4,304.8,101.9,304.8z\n M175.9,161.4c-2.4-0.8-5-1.2-7.8-1.2c-13.6,0-24.3,10.6-24.3,23.6c0,13,10.7,23.7,24.3,23.7h0.4v14.9h-0.4\n c-21.5,0-39.2-17.3-39.2-38.6c0-21.3,17.8-38.6,39.2-38.6c0.4,0,0.9,0,1.3,0.1c1.1,5.7,3.4,11.1,6.5,16\n C176,161.3,175.9,161.3,175.9,161.4\"/>\n </g>\n </g>`,\n '0 0 36 36'\n);\n\nexport const CampaignShape = clrIconSVG(\n `<sodipodi:namedview bordercolor=\"#000000\" borderopacity=\"0.25\" id=\"namedview4\" inkscape:deskcolor=\"#d1d1d1\" inkscape:pagecheckerboard=\"0\" inkscape:pageopacity=\"0.0\" inkscape:showpageshadow=\"2\" pagecolor=\"#ffffff\">\n </sodipodi:namedview>\n <g id=\"g8\" transform=\"matrix(1.3333333,0,0,-1.3333333,0,48)\" inkscape:groupmode=\"layer\" inkscape:label=\"ink_ext_XXXXXX\">\n <g id=\"g10\" transform=\"scale(0.1)\">\n <path id=\"path12\" d=\"M195.8,289.9c-3,2.8-7.7,2.7-10.6-0.3l-111.5-119c-2.8-3-2.7-7.7,0.3-10.6c0,0,0,0,0,0\n c3-2.8,7.7-2.7,10.6,0.3l111.5,119C199,282.4,198.9,287.1,195.8,289.9C195.8,289.9,195.8,289.9,195.8,289.9L195.8,289.9z\n M101.9,289.8c13.6,0,24.3-10.6,24.3-23.7c0-13.1-10.7-23.7-24.3-23.7c-13.6,0-24.3,10.6-24.3,23.7\n C77.6,279.2,88.3,289.8,101.9,289.8z M101.9,304.8c-21.5,0-39.2-17.3-39.2-38.6s17.7-38.6,39.2-38.6c21.5,0,39.2,17.3,39.2,38.6\n S123.4,304.8,101.9,304.8z M168.1,207.5c13.6,0,24.3-10.6,24.3-23.7c0-13.1-10.7-23.7-24.3-23.7c-13.6,0-24.3,10.6-24.3,23.7\n C143.8,196.9,154.5,207.5,168.1,207.5z M168.1,222.4c-21.5,0-39.2-17.3-39.2-38.6c0-21.3,17.7-38.6,39.2-38.6\n c21.5,0,39.2,17.3,39.2,38.6C207.3,205.1,189.6,222.4,168.1,222.4\"/>\n </g>\n </g>`,\n '0 0 36 36'\n);\n\nexport const CompletedByDateShape = clrIconSVG(\n `<rect x=\"13\" y=\"7\" width=\"10\" height=\"2\"/><path d=\"M4,16.89V9H7V7H4A2.0059,2.0059,0,0,0,2,9v8.29a2.9516,2.9516,0,0,1,1.5-.4Z\"/><path d=\"M26,11a1.0029,1.0029,0,0,0,1-1V4a1,1,0,0,0-2,0v6A1.0029,1.0029,0,0,0,26,11Z\"/><path d=\"M10,11a1.0029,1.0029,0,0,0,1-1V4A1,1,0,0,0,9,4v6A1.0029,1.0029,0,0,0,10,11Z\"/><path d=\"M32,22.89V31H4V22.89H3.5a3.0545,3.0545,0,0,1-1.5-.4V31a2.0059,2.0059,0,0,0,2,2H32a2.0059,2.0059,0,0,0,2-2V22.48a2.9688,2.9688,0,0,1-1.51.41Z\"/><path d=\"M32,7H29V9h3v7.89h.49A2.9688,2.9688,0,0,1,34,17.3V9A2.0059,2.0059,0,0,0,32,7Z\"/><circle cx=\"8.6602\" cy=\"19.8896\" r=\"1.5\"/><path d=\"M16.64,15.8887v8a1.5,1.5,0,0,0,3,0v-8a1.5,1.5,0,0,0-3,0Z\"/><circle cx=\"3.5098\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"13.8096\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"27.3403\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"22.1899\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"32.4897\" cy=\"19.8896\" r=\"1.5\"/>`,\n '0 0 36 36'\n);\n\nexport const NewCarCommercialShape = clrIconSVG(\n `<path d='M17.18,22a1.638,1.638,0,0,1-1.61-1.62v-.5H8.01v.481A1.645,1.645,0,0,1,6.39,22h-3a1.624,1.624,0,0,1-1.61-1.62V10.1l.27-1.69L0,8.25v-.67L.07,6.92H.13l2.13.16L2.5,5.54A6.75,6.75,0,0,1,3.91,2.361L5.42.461A1.245,1.245,0,0,1,6.39,0H17.14a1.259,1.259,0,0,1,1,.5l1.64,2.24a6.811,6.811,0,0,1,1.27,2.92l.229,1.4,2.16-.18.121,1.33L21.5,8.37l.28,1.731v10.28A1.626,1.626,0,0,1,20.18,22ZM6.671,18.551H16.85v1.83a.29.29,0,0,0,.29.29h3a.289.289,0,0,0,.28-.29v-5.94c-1.558.216-3.126.384-4.66.5l-.1-1.319c1.529-.113,3.131-.288,4.76-.52v-2.89l-.26-1.74c-2.946.186-5.829.28-8.57.28-2.718,0-5.48-.087-8.21-.26L3.1,10.211v2.91c1.633.23,3.269.406,4.86.52l-.09,1.32c-1.6-.108-3.209-.277-4.77-.5v5.92a.289.289,0,0,0,.281.29h3a.311.311,0,0,0,.29-.31V18.552h0ZM4.95,3.2A5.376,5.376,0,0,0,3.78,5.75l-.15,1.4c2.705.167,5.459.251,8.18.251s5.469-.085,8.18-.251l-.21-1.27a5.487,5.487,0,0,0-1-2.35L17.1,1.33H6.46Zm5.83,11.41a1,1,0,1,1,1,1A1,1,0,0,1,10.78,14.611Z'/>`\n);\n\nexport const NewCarPrivateShape = clrIconSVG(\n `<path d='M19.24,19a1.658,1.658,0,0,1-1.62-1.7v-.52H6.07v.51A1.673,1.673,0,0,1,4.45,19h-2A1.663,1.663,0,0,1,.84,17.3V10.76a6.3,6.3,0,0,1,.88-3.23L2.3,6.12C1.476,6,.723,5.881,0,5.75L.17,4.44H.24c.9.167,1.753.3,2.6.42L4.16,1.66A3.357,3.357,0,0,1,6.75,0H16.94a3.324,3.324,0,0,1,2.58,1.66L20.84,4.83c.794-.119,1.694-.254,2.6-.42l.24,1.3c-.608.119-1.226.213-1.824.306h-.011l-.475.074.6,1.44a6.388,6.388,0,0,1,.87,3.23V17.3a1.666,1.666,0,0,1-1.6,1.7ZM4.731,15.45H18.96V17.3a.338.338,0,0,0,.29.37h1.98a.35.35,0,0,0,.2-.37V11.2c-1.7.249-3.222.422-4.66.53l-.1-1.319c1.6-.126,3.171-.308,4.68-.54a4.973,4.973,0,0,0-.61-1.71V8l-.83-1.72a66.133,66.133,0,0,1-8.28.54A64.183,64.183,0,0,1,3.57,6.3L2.84,8.04V8.2a5.065,5.065,0,0,0-.6,1.77c1.568.234,3.18.412,4.79.53l-.1,1.329c-1.465-.107-3.025-.281-4.77-.529v6a.342.342,0,0,0,.28.37h2a.36.36,0,0,0,.291-.38V15.451h0ZM5.37,2.27,4.2,5a64.333,64.333,0,0,0,7.635.457A64.223,64.223,0,0,0,19.47,5L18.29,2.27a1.989,1.989,0,0,0-1.45-.94h-10A1.988,1.988,0,0,0,5.37,2.27Zm5.469,9.19a1,1,0,1,1,1,1.06A1.031,1.031,0,0,1,10.84,11.46Z'/>`\n);\n\nexport const UsedCarCommercialShape = clrIconSVG(\n `<path d='M17.12,22a1.619,1.619,0,0,1-1.589-1.62v-.5H7.97v.481A1.641,1.641,0,0,1,6.34,22h-3a1.62,1.62,0,0,1-1.61-1.62V10.1L2,8.5,0,8.34V7H.06c.71.111,1.419.16,2.129.211l.26-1.67A6.741,6.741,0,0,1,3.84,2.361L5.4.461A1.236,1.236,0,0,1,6.4,0h3V1.34h-3L4.89,3.21A5.405,5.405,0,0,0,3.74,5.761L3.5,7.3c1.95.12,3.88.21,5.88.21v1.35c-2.09-.04-4.09-.1-6.089-.23l-.25,1.58V13.3c1.56.22,3.18.4,4.86.52l-.09,1.34q-2.47-.18-4.77-.51v5.73a.291.291,0,0,0,.28.28h3a.311.311,0,0,0,.3-.3v-1.82H16.84v1.84a.291.291,0,0,0,.28.28h3a.291.291,0,0,0,.28-.28v-5.76c-1.51.22-3.07.4-4.66.51l-.1-1.33c1.62-.12,3.22-.3,4.76-.53V11.78H21.73v8.6A1.62,1.62,0,0,1,20.12,22Zm-6.39-7.22a1,1,0,1,1,1,1A1,1,0,0,1,10.73,14.781Zm2.177-7.9a4.17,4.17,0,0,1,.833-5.055l.44-.43.94.94-.46.45a2.874,2.874,0,0,0-.92,2.091,2.84,2.84,0,1,0,5.67,0V2.59l-2.05,2-.941-.94L20.08,0l3.65,3.65-.941.9-2.05-2v2.32a4.17,4.17,0,0,1-7.833,2.005Z'/>`\n);\n\nexport const UsedCarPrivateShape = clrIconSVG(\n `<path d='M11.33,3.65,7.68,0,4.02,3.65l.94.94,2.05-2V4.92a2.84,2.84,0,1,1-5.67,0,2.87,2.87,0,0,1,.92-2.09l.46-.45-.94-.94-.44.43a4.17,4.17,0,1,0,7,3.05V2.55l2.05,2Z' transform='translate(12.59 0.08)'/>\n <circle cx='1' cy='1' r='1' transform=\"translate(10.92 13.86)\"/>\n <path d='M21.92,7.12H20.51l.24.55v.08l.05.08a4.47,4.47,0,0,1,.58,1.52c-1.5.22-3.06.39-4.67.51l.1,1.33c1.6-.12,3.16-.3,4.66-.51v5.71a.29.29,0,0,1-.28.28h-2a.29.29,0,0,1-.28-.28V14.57H4.73v1.81a.3.3,0,0,1-.3.29h-2a.29.29,0,0,1-.28-.28V10.71c1.54.21,3.13.39,4.77.5l.09-1.32c-1.64-.12-3.24-.29-4.78-.51a4.65,4.65,0,0,1,.59-1.55l.1-.08V7.67L3.66,6c2.09.24,4.19.4,6.28.46V5.1Q7.09,5,4.22,4.73L5.33,2.21A2,2,0,0,1,6.8,1.33H9.92V0H6.74A3.33,3.33,0,0,0,4.16,1.58l-1.32,3C1.97,4.46,1.1,4.34.23,4.19H.17l-.11.65L0,5.51c.76.13,1.52.24,2.29.34l-.58,1.3A5.82,5.82,0,0,0,.84,10.2v6.19A1.61,1.61,0,0,0,2.45,18h2a1.63,1.63,0,0,0,1.63-1.62V15.9H17.62v.49A1.61,1.61,0,0,0,19.23,18h2a1.62,1.62,0,0,0,1.61-1.61V10.2a5.82,5.82,0,0,0-.87-3.07Z' transform=\"translate(0.08 4)\"/>`\n);\n\nexport const WheelToWheelShape = clrIconSVG(\n `<path d=\"M17.528,20.6V19.32H5.418v1.272H4.088V16.469h1.33V17.99H17.528V16.475h1.329V20.6Zm-2.276-8.806-7.46.02A2.987,2.987,0,0,1,4.83,14.441c-.059,0-.12,0-.178-.005A2.991,2.991,0,0,1,1.84,11.465l-.459-.115A1.7,1.7,0,0,1,.01,9.509L.221,7.322c.085-.953.886-4.924,1.047-5.711l0-.019A2,2,0,0,1,3.217,0h.008L14.45.043H14.5a3.079,3.079,0,0,1,2.19.906l2.961,2.831a6.24,6.24,0,0,0,1.287.82,4.505,4.505,0,0,1,2.3,3.586l.1,1.26a1.785,1.785,0,0,1-1.305,1.872l-.829.224a2.993,2.993,0,0,1-2.857,2.9l-.127,0A2.979,2.979,0,0,1,15.251,11.793Zm2.962-2.005a1.662,1.662,0,1,0,1.663,1.661,1.663,1.663,0,0,0-1.663-1.661h0Zm-13.379,0A1.662,1.662,0,1,0,6.5,11.449,1.664,1.664,0,0,0,4.835,9.788h0ZM5,8.462a2.964,2.964,0,0,1,2.651,2.021l7.744-.022a2.963,2.963,0,0,1,2.695-2l.123,0a2.983,2.983,0,0,1,2.727,1.778l.736-.2A.452.452,0,0,0,22,9.554l-.1-1.259a3.6,3.6,0,0,0-1.8-2.627c-2.507.075-4.462.108-6.343.108-2.715,0-5.351-.069-9.342-.175l-2.56-.067c0,.009-.284,1.6-.313,1.913L1.337,9.581c0,.356.1.413.358.475l.444.112A2.987,2.987,0,0,1,4.832,8.457C4.889,8.457,4.946,8.458,5,8.462Zm7.949-3.981h.14c.989,0,1.8-.009,2.562-.028l2.7-.07L15.767,1.91A1.782,1.782,0,0,0,14.5,1.373h-.051l-1.8-.007ZM3.217,1.33a.669.669,0,0,0-.645.537c-.11.538-.29,1.435-.464,2.342l7.5.226c.563.017,1.138.023,1.693.03l.319,0-.3-3.108L3.22,1.33h0Z\" transform=\"translate(0.452 0.402)\"/>`\n);\n\nexport const View360Shape = clrIconSVG(\n `<path d=\"M10.83,14.626c.57-.632.986-1.1,1.3-1.471-.344.014-.676.042-1.026.042C4.568,13.2,0,10.994,0,7.84,0,6.33,1.075,4.97,3.025,4.012l.587,1.193C2.759,5.624,1.33,6.522,1.33,7.84c0,2.3,4.2,4.028,9.777,4.028.347,0,.675-.028,1.015-.041-.316-.365-.73-.832-1.292-1.456l.989-.891C14.177,12.1,14.177,12.2,14.177,12.5s0,.4-2.358,3.019Zm5.225-3.277c2.978-.7,4.829-2.04,4.829-3.509,0-1.046-.751-1.9-2.294-2.607l.554-1.209c2.038.934,3.069,2.219,3.069,3.816,0,2.183-2.134,3.935-5.856,4.8ZM9.595,5.711A1.812,1.812,0,0,1,9,4.349a2.287,2.287,0,0,1,.369-1.267L10.812.824h1.183V.9L10.789,2.668l.008.015a1.509,1.509,0,0,1,.541-.1h.034A1.643,1.643,0,0,1,13.008,4.35,1.806,1.806,0,0,1,11.2,6.171c-.063,0-.127,0-.19-.01a1.84,1.84,0,0,1-.212.013A1.8,1.8,0,0,1,9.595,5.711Zm1.492-.46a.821.821,0,0,0,.58-.243.808.808,0,0,0,.228-.66.776.776,0,0,0-.883-.851.713.713,0,0,0-.116-.009.786.786,0,0,0-.782.86.82.82,0,0,0,.817.9.8.8,0,0,0,.081,0C11.037,5.25,11.062,5.252,11.087,5.252ZM4.735,5.77l.284-.845a2.854,2.854,0,0,0,1.4.323c.554,0,.968-.246.968-.684,0-.476-.253-.706-.968-.706H5.533V2.966h.891c.607,0,.83-.284.83-.683S7,1.623,6.424,1.623a3.539,3.539,0,0,0-1.26.261l-.307-.83A3.936,3.936,0,0,1,6.424.709c1.291,0,1.943.553,1.943,1.482A1.18,1.18,0,0,1,7.584,3.32v.015a1.323,1.323,0,0,1,.922,1.306c0,.921-.723,1.52-2.082,1.52l-.134,0A3.268,3.268,0,0,1,4.735,5.77Zm8.839-2.335c0-1.809.682-2.726,2.028-2.726s2.012.917,2.012,2.726S16.936,6.161,15.6,6.161,13.574,5.244,13.574,3.435Zm1.113,0c0,1.287.266,1.813.914,1.813s.9-.526.9-1.813-.26-1.813-.9-1.813S14.687,2.147,14.687,3.435Zm4.685-.842c-.035,0-.071,0-.107,0a1.254,1.254,0,0,1-1.253-1.31A1.243,1.243,0,0,1,19.253,0c.04,0,.08,0,.119.005S19.453,0,19.493,0a1.233,1.233,0,0,1,1.23,1.288A1.247,1.247,0,0,1,19.478,2.6C19.443,2.6,19.407,2.6,19.372,2.594Zm.063-.7a.555.555,0,0,0,.552-.6.563.563,0,0,0-.562-.594l-.052,0-.048,0a.572.572,0,0,0-.574.593.563.563,0,0,0,.563.6l.059,0A.493.493,0,0,0,19.435,1.891Z\" transform=\"translate(0.893 4.353)\"/>`\n);\n\nexport const TransmissionManualShape = clrIconSVG(\n `<path d=\"M18.005,2.006a2,2,0,1,0-2.67,1.88v7a.5.5,0,0,1-.4.5H9.665v-7.5a2,2,0,1,0-1.33,0v7.45H2.665V3.886a2,2,0,1,0-1.33,0v15.24a2,2,0,1,0,1.33,0v-6.46h5.67v6.46a2,2,0,1,0,1.33,0v-6.45h3.68a12.81,12.81,0,0,0,1.81,0,1.82,1.82,0,0,0,1.51-1.81v-7a2,2,0,0,0,1.34-1.86Z\" transform=\"translate(0.235 0.494)\"/>`\n);\n\nexport const TransmissionAutomaticShape = clrIconSVG(\n `<path d=\"M14,21.74a1,1,0,1,1,1,1A1,1,0,0,1,14,21.74Zm-5.342.95H7.33V17.95H1.8A1.816,1.816,0,0,1,0,16.15v-2a1.82,1.82,0,0,1,1.8-1.78H7.33V0H8.66V12.37H14.2a1.827,1.827,0,0,1,1.281.541A1.8,1.8,0,0,1,16,14.2v2A1.816,1.816,0,0,1,14.2,18H8.66v4.689h0Zm-7.329-6H14.67v-3H1.33ZM14,8a1,1,0,1,1,1,1A1,1,0,0,1,14,8Zm0-7a1,1,0,1,1,1,1A1,1,0,0,1,14,1Z\" transform=\"translate(0 0.63)\"/>`\n);\n\nexport const StockLocatorPrivateShape = clrIconSVG(\n `<path d=\"M12.92 16a1 1 0 11-1-1 1 1 0 011 1zM22 12.44h-1.41l.24.55v.08l.05.08a4.47 4.47 0 01.58 1.52c-1.5.22-3.06.39-4.67.51l.1 1.33c1.6-.12 3.16-.3 4.66-.51v5.71a.29.29 0 01-.28.28h-2a.29.29 0 01-.28-.28v-1.82H4.81v1.81a.3.3 0 01-.3.29h-2a.29.29 0 01-.28-.28V16c1.54.21 3.13.39 4.77.5l.09-1.32c-1.64-.12-3.24-.29-4.78-.51a4.65 4.65 0 01.59-1.55l.1-.05V13l.73-1.66c2.09.24 4.19.4 6.28.46v-1.38q-2.85-.06-5.72-.37l1.12-2.52a2 2 0 011.47-.88H10V5.32H6.82A3.33 3.33 0 004.24 6.9l-1.32 3c-.87-.13-1.74-.25-2.61-.4H.25l-.11.65-.06.67c.76.13 1.52.24 2.29.34l-.58 1.3a5.82 5.82 0 00-.87 3.07v6.19a1.61 1.61 0 001.61 1.61h2a1.63 1.63 0 001.61-1.63v-.48H17.7v.49a1.61 1.61 0 001.61 1.61h2a1.62 1.62 0 001.61-1.61v-6.19a5.82 5.82 0 00-.87-3.07zm1.88-5.76h-1.29a4.73 4.73 0 01-4 4V12h-1.35v-1.33a4.71 4.71 0 01-4-4h-1.32V5.32h1.33a4.71 4.71 0 014-4V0h1.35v1.34a4.73 4.73 0 014 4h1.32zm-5.29 2.67a3.42 3.42 0 002.68-2.68h-1.35V5.34h1.35a3.42 3.42 0 00-2.68-2.69V4h-1.34V2.65a3.41 3.41 0 00-2.68 2.69h1.35v1.33h-1.35a3.42 3.42 0 002.68 2.68V8h1.34v1.34z\"/>`\n);\n\nexport const StockLocatorCommercialShape = clrIconSVG(\n `<path d=\"M11.89 14.78a1 1 0 11-1 1 1 1 0 011-1zm8.67-2v1.49c-1.54.23-3.14.41-4.76.53l.1 1.33c1.59-.11 3.15-.29 4.66-.51v5.76a.29.29 0 01-.28.28h-3a.29.29 0 01-.28-.28v-1.84H6.78v1.82a.31.31 0 01-.3.3h-3a.29.29 0 01-.28-.28v-5.73q2.3.33 4.77.51l.09-1.34c-1.68-.12-3.3-.3-4.86-.52v-3.09l.25-1.58c2 .13 4 .19 6.09.23V8.51c-2 0-3.93-.09-5.88-.21l.24-1.54a5.41 5.41 0 011.15-2.55l1.51-1.87h3V1h-3a1.24 1.24 0 00-1 .46L4 3.36a6.74 6.74 0 00-1.39 3.18l-.26 1.67C1.64 8.16.93 8.11.22 8H.16v1.34l2 .16-.27 1.6v10.28A1.62 1.62 0 003.5 23h3a1.64 1.64 0 001.63-1.64v-.48h7.56v.5A1.62 1.62 0 0017.28 23h3a1.62 1.62 0 001.61-1.62v-8.6zm3.33-6.1h-1.33a4.73 4.73 0 01-4 4V12h-1.35v-1.33a4.71 4.71 0 01-4-4h-1.32V5.32h1.33a4.71 4.71 0 014-4V0h1.35v1.34a4.73 4.73 0 014 4h1.32zm-5.33 2.67a3.42 3.42 0 002.68-2.68h-1.35V5.34h1.35a3.42 3.42 0 00-2.68-2.69V4h-1.34V2.65a3.41 3.41 0 00-2.68 2.69h1.35v1.33h-1.35a3.42 3.42 0 002.68 2.68V8h1.34v1.34z\"/>`\n);\n\nexport const ServiceShape = clrIconSVG(\n `<path d=\"M1.223,19.949l-.2-.2a3.509,3.509,0,0,1,0-4.957L6.2,9.622A8.353,8.353,0,0,1,5.926,7.5a7.254,7.254,0,0,1,7.5-7.5,7.25,7.25,0,0,1,6.711,4,7.465,7.465,0,0,1,.5,1.33H15.6L14.3,6.854l-.553.645L15.6,9.67h5.035a7.428,7.428,0,0,1-.5,1.33,7.251,7.251,0,0,1-6.711,4,8.313,8.313,0,0,1-2.04-.257L6.179,19.949a3.5,3.5,0,0,1-4.956,0Zm.743-4.212a2.174,2.174,0,0,0,0,3.075l.2.2a2.175,2.175,0,0,0,3.076,0L10,14.246A6.96,6.96,0,0,1,6.71,10.993ZM7.227,7.5a6.906,6.906,0,0,0,.08,1.017A6.4,6.4,0,0,0,7.7,10.005a5.8,5.8,0,0,0,3.294,3.248,6.516,6.516,0,0,0,1.5.378,7.111,7.111,0,0,0,.928.067A6.038,6.038,0,0,0,18.633,11H14.991l-.8-.939L12.55,8.151A1,1,0,0,1,12.5,6.936a.33.33,0,0,0,.024-.041.241.241,0,0,1,.028-.046l.8-.938L14.991,4h3.641a6.038,6.038,0,0,0-5.207-2.7A6,6,0,0,0,7.227,7.5ZM2.686,17.289a1,1,0,1,1,1,1A1,1,0,0,1,2.686,17.289Z\" transform=\"translate(0 0)\"/>`\n);\n\nexport const ServiceBellShape = clrIconSVG(\n `<path d=\"M22,21.2H0v-1.33H1.348c.912-5.082,3.623-7.93,8.06-8.463a2.577,2.577,0,1,1,3.185,0c4.437.533,7.148,3.38,8.059,8.463H22V21.2h0ZM2.705,19.868H19.3C18.35,15,15.638,12.636,11,12.636S3.65,15,2.705,19.868ZM9.753,9.394a1.242,1.242,0,0,0,.769,1.152,1.227,1.227,0,0,0,.477.1A1.247,1.247,0,1,0,9.753,9.394Zm5.592-4.069,2.467-3.148L18.858,3,16.391,6.145ZM3.141,3l1.046-.821,2.47,3.147-1.046.82Zm7.194,1V0h1.33V4Z\" transform=\"translate(0 0.805)\"/>`\n);\n\nexport const SeatShape = clrIconSVG(\n `<path d=\"M16.44 22.51H3L1.43 17.9a1.71 1.71 0 01.08-1.31 1.61 1.61 0 011-.81 18.73 18.73 0 014.17 0c1.87.08 4.13.17 5.71.06A2.86 2.86 0 0113 13.9a12.27 12.27 0 002.68-5.11 18.52 18.52 0 00.87-5.61 1.64 1.64 0 011.66-1.69h4.37v.63a34.57 34.57 0 01-1 10 25.11 25.11 0 01-5 10.18zM3.91 21.18H15.8a23.72 23.72 0 004.53-9.39 34.22 34.22 0 001-9h-3.1a.32.32 0 00-.24.09.35.35 0 00-.09.25 20 20 0 01-.92 6A13.6 13.6 0 0114 14.76c-.24.29-.35.53-.35 1.65V17l-.59.07a50 50 0 01-6.49 0 26.84 26.84 0 00-3.73 0 .25.25 0 00-.16.14.34.34 0 000 .28z\"/>`\n);\n\nexport const SeatAirShape = clrIconSVG(\n `<path d=\"M15.1,21.02H1.664L.094,16.411a1.724,1.724,0,0,1,.08-1.31,1.619,1.619,0,0,1,1-.81,18.785,18.785,0,0,1,4.171,0c1.314.057,2.7.112,3.945.112.694,0,1.272-.017,1.765-.051a2.855,2.855,0,0,1,.61-1.94,12.337,12.337,0,0,0,2.68-5.11,18.506,18.506,0,0,0,.869-5.61A1.64,1.64,0,0,1,16.854,0h4.389V.63a34.926,34.926,0,0,1-1,10,25.307,25.307,0,0,1-5,10.181l-.14.21ZM1.5,15.58a.249.249,0,0,0-.16.14.338.338,0,0,0,0,.28l1.23,3.69h11.89A24.034,24.034,0,0,0,19,10.3a34.617,34.617,0,0,0,1-9H16.885a.322.322,0,0,0-.221.091.375.375,0,0,0-.09.25,19.959,19.959,0,0,1-.92,6,13.669,13.669,0,0,1-2.99,5.63c-.243.293-.35.538-.35,1.65v.59l-.589.069c-1.076.073-2.167.11-3.245.11s-2.17-.037-3.245-.11c-.617-.043-1.245-.065-1.865-.065S2.122,15.537,1.5,15.58ZM7.4,11.1a3,3,0,0,0,1.53-2.3c0-.64-.32-1-.9-1.65A4.442,4.442,0,0,1,6.564,3.92,3.45,3.45,0,0,1,8.664.98l.57,1.2A2.148,2.148,0,0,0,7.884,3.97,3.194,3.194,0,0,0,9.014,6.251a3.616,3.616,0,0,1,1.25,2.55,4.17,4.17,0,0,1-2.129,3.41Zm-5.11,0a2.933,2.933,0,0,0,1.53-2.3c0-.64-.32-1-.9-1.65A4.442,4.442,0,0,1,1.454,3.92,3.45,3.45,0,0,1,3.514.98l.571,1.2A2.149,2.149,0,0,0,2.774,3.97,3.191,3.191,0,0,0,3.9,6.251,3.623,3.623,0,0,1,5.154,8.8a4.17,4.17,0,0,1-2.13,3.41Z\" transform=\"translate(0.336 0.49)\"/>`\n);\n\nexport const ReturnDateShape = clrIconSVG(\n `<path d=\"M26,11a1.0029,1.0029,0,0,0,1-1V4a1,1,0,0,0-2,0v6A1.0029,1.0029,0,0,0,26,11Z\"/><path d=\"M10,11a1.0029,1.0029,0,0,0,1-1V4A1,1,0,0,0,9,4v6A1.0029,1.0029,0,0,0,10,11Z\"/><path d=\"M4,16.89V9H7V7H4A2.0059,2.0059,0,0,0,2,9v8.29a2.9516,2.9516,0,0,1,1.5-.4Z\"/><rect x=\"13\" y=\"7\" width=\"10\" height=\"2\"/><path d=\"M32,31H4V22.89H3.5a3.0545,3.0545,0,0,1-1.5-.4V31a2.0059,2.0059,0,0,0,2,2H32a2.0059,2.0059,0,0,0,2-2V22.44l-2,2Z\"/><path d=\"M32,7H29V9h3v6.34l2,2V9A2.0059,2.0059,0,0,0,32,7Z\"/><path d=\"M27.2446,16.9493l1.44,1.4395H18.3052a1.5,1.5,0,0,0,0,3H28.6841l-1.44,1.4394a1.5,1.5,0,1,0,2.1211,2.1211l4-4a1.4993,1.4993,0,0,0,0-2.1211l-4-4a1.5,1.5,0,1,0-2.1211,2.1211Z\"/><circle cx=\"8.6602\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"3.5098\" cy=\"19.8896\" r=\"1.5\"/><circle cx=\"13.8096\" cy=\"19.8896\" r=\"1.5\"/>`,\n '0 0 36 36'\n);\n\nexport const RepeatRepairShape = clrIconSVG(\n `<path d=\"M15.6072,9.7988l.56-.65,1.3-1.52h5.03a6.8631,6.8631,0,0,0-.5-1.33,7.2324,7.2324,0,0,0-6.71-4,4.17,4.17,0,0,0-.5,0,7.1116,7.1116,0,0,0-2.95.75l.54.54.45.45a5.9155,5.9155,0,0,1,2.46-.44,6.0331,6.0331,0,0,1,5.21,2.7h-3.64l-1.64,1.91-.8.94a.138.138,0,0,0-.03.04c-.01.02-.02.03-.02.04a1.0062,1.0062,0,0,0,.05,1.22l1.64,1.91.8.94h3.64a6.025,6.025,0,0,1-5.21,2.69,7.26,7.26,0,0,1-.93-.06,7.0226,7.0226,0,0,1-1.5-.38,5.76,5.76,0,0,1-3.18-3.01,5.4706,5.4706,0,0,1-2.96,1h-.27l-3.56,3.55a3.5066,3.5066,0,0,0,0,4.96l.2.2h.01a3.4916,3.4916,0,0,0,4.94,0l5.21-5.21a8.2682,8.2682,0,0,0,2.04.26,7.2772,7.2772,0,0,0,6.71-4,7.3892,7.3892,0,0,0,.5-1.33h-5.03Zm-8.5,11.51a2.1788,2.1788,0,0,1-3.08,0l-.2-.2a2.1788,2.1788,0,0,1,0-3.08l4.75-4.74a6.92,6.92,0,0,0,3.29,3.25Zm-.56-1.72a1,1,0,1,1-1-1A1.0029,1.0029,0,0,1,6.5472,19.5888Zm-4.03-10.31a4.5942,4.5942,0,0,1-.17-.82,4.1759,4.1759,0,0,1,4.17-4.59h2.37l-2-2.05.9-.94,3.65,3.65-3.49,3.5-.16.16-.94-.94,2-2.05h-2.33a2.84,2.84,0,1,0-.34,5.67,1.93,1.93,0,0,0,.34,0,2.9459,2.9459,0,0,0,1.31-.32,3.247,3.247,0,0,0,.78-.6l.45-.46.94.94-.43.44c-.11.11-.22.22-.33.32a3.9935,3.9935,0,0,1-1.18.71,4.1406,4.1406,0,0,1-4.39-.8,3.672,3.672,0,0,1-.58-.67,3.6882,3.6882,0,0,1-.42-.75A2.74,2.74,0,0,1,2.5172,9.2788Z\"/>`\n);\n\nexport const RoadsideAssistanceShape = clrIconSVG(\n `<path d=\"M6.91 17.88a1 1 0 11-1 1 1 1 0 011-1zm-2.65-1.49a3.51 3.51 0 000 5l.2.19v.05a3.5 3.5 0 005-.05l5.2-5.2a8.43 8.43 0 002 .25 7.23 7.23 0 006.71-4 6.86 6.86 0 00.5-1.33h-5L17 9.09l.55-.64 1.34-1.53h5a6.86 6.86 0 00-.5-1.33 7.23 7.23 0 00-6.71-4v1.3a6 6 0 015.21 2.7h-3.62L16.63 7.5l-.8.94-.06.09a1 1 0 00.06 1.21l1.63 1.91.81.94h3.64a6 6 0 01-5.21 2.7 7.28 7.28 0 01-.93-.07 6.46 6.46 0 01-1.5-.37 5.75 5.75 0 01-3.18-3H8.83l-4.53 4.5zm.35 2.48a2.16 2.16 0 01.63-1.54L10 12.59a7.05 7.05 0 003.29 3.25L8.52 20.6a2.17 2.17 0 01-3.07 0l-.2-.19a2.16 2.16 0 01-.64-1.54zm6-13.12a4.57 4.57 0 002.06.57C14.1 6.32 15 5.6 15 4.41c0-.92-.54-1.41-1.68-1.76l-.63-.21c-.49-.15-.63-.38-.63-.69S12.29 1 13 1a3.71 3.71 0 011.42.39l.37-1A4.31 4.31 0 0013 0c-1.44 0-2.2.75-2.2 1.85a1.77 1.77 0 001.43 1.69l.65.21c.64.21.86.37.86.77s-.33.76-1 .76A3.65 3.65 0 0111 4.77zM4.38 7.52c0-1.76.91-3.16 2.91-3.16s2.93 1.4 2.93 3.16-.9 3.17-2.93 3.17-2.91-1.4-2.91-3.17zm4.54 0c0-1.19-.42-2.1-1.63-2.1s-1.62.91-1.62 2.1.43 2.11 1.62 2.11 1.63-.91 1.63-2.11zM0 14.61a4.58 4.58 0 002.06.58c1.4 0 2.26-.73 2.26-1.92 0-.92-.54-1.41-1.68-1.76L2 11.3c-.49-.15-.62-.38-.62-.69s.27-.71.94-.71a3.62 3.62 0 011.41.39l.38-1a4.31 4.31 0 00-1.79-.44c-1.45 0-2.2.75-2.2 1.85a1.77 1.77 0 001.43 1.7l.65.21c.63.21.86.38.86.77s-.33.76-1 .76a3.85 3.85 0 01-1.68-.5z\"/>`\n);\n\nexport const QualifiedWorkshopShape = clrIconSVG(\n `<path d=\"M3.375,22.943l-.19-.19a3.49,3.49,0,0,1,0-4.95l4.8-4.8h1.86a5.831,5.831,0,0,0,3.29,3.25,6.725,6.725,0,0,0,1.5.37,7.123,7.123,0,0,0,.93.07l.194,0A5.986,5.986,0,0,0,20.765,14h-3.63L14.7,11.163a1,1,0,0,1,0-1.3L17.135,7h3.63a5.981,5.981,0,0,0-5.011-2.7c-.063,0-.126,0-.189,0h-.085a6.318,6.318,0,0,0-3.335.95v-1.5A7.964,7.964,0,0,1,15.51,3h.055c.076,0,.155,0,.231,0A7.23,7.23,0,0,1,22.265,7a6.9,6.9,0,0,1,.48,1.339h-5l-1.86,2.171,1.86,2.17,4.98-.01a6.9,6.9,0,0,1-.5,1.329,7.231,7.231,0,0,1-6.47,4c-.076,0-.154,0-.229,0a8,8,0,0,1-2-.26l-5.2,5.2a3.492,3.492,0,0,1-4.95,0Zm.75-4.2a2.16,2.16,0,0,0-.64,1.53,2.188,2.188,0,0,0,.64,1.54l.19.19a2.187,2.187,0,0,0,1.537.64h.023A2.167,2.167,0,0,0,7.405,22l4.739-4.75A7.078,7.078,0,0,1,8.855,14Zm.72,1.55a1,1,0,1,1,1,1A1,1,0,0,1,4.845,20.292Zm-3.89-8.42a1.058,1.058,0,0,1-.74-.4,1,1,0,0,1-.191-.841l.52-3a1.673,1.673,0,0,1,.86-1.17l1.1-.52a4.411,4.411,0,0,0,1,1l-1.47.7a.361.361,0,0,0-.16.24L1.4,10.6c.76.06,2.8.2,5,.2,1.93,0,4.18-.149,5-.2l-.43-2.74a.371.371,0,0,0-.18-.23l-1.44-.69a4.253,4.253,0,0,0,1-1l1.05.51a1.671,1.671,0,0,1,.87,1.16l.49,3.04a1.048,1.048,0,0,1-.95,1.22c-.02,0-2.959.23-5.43.23C3.555,12.1.955,11.872.955,11.872ZM6.4,6.323H6.336A3.062,3.062,0,0,1,3.274,3.162,3.05,3.05,0,0,1,6.323,0H6.4l.111,0A3.05,3.05,0,0,1,9.564,3.162a3,3,0,0,1-3,3.165C6.513,6.327,6.458,6.325,6.4,6.323Zm.145-1.314A1.721,1.721,0,0,0,8.265,3.162,1.731,1.731,0,0,0,6.539,1.327c-.045,0-.09,0-.134.005l-.073,0A1.732,1.732,0,0,0,4.6,3.162,1.73,1.73,0,0,0,6.332,5L6.4,5C6.453,5.006,6.5,5.009,6.549,5.009Z\" transform=\"translate(0.595 0)\"/>`\n);\n\nexport const PowerTrainShape = clrIconSVG(\n `<path d=\"M22.065 6.745a1.463 1.463 0 001.53-1.381V3.179A1.46 1.46 0 0022.069 1.8h-5.262a1.464 1.464 0 00-1.53 1.382v2.18a1.464 1.464 0 001.53 1.382h2.01v2.681a2.264 2.264 0 00-1.945 1.91H5.082v-4.59h1.967A1.464 1.464 0 008.58 5.363V3.179A1.46 1.46 0 007.054 1.8h-5.27a1.464 1.464 0 00-1.53 1.382v2.18a1.464 1.464 0 001.53 1.382h1.968v10.51H1.785a1.463 1.463 0 00-1.531 1.381v2.182a1.463 1.463 0 001.53 1.38H7.05a1.463 1.463 0 001.531-1.38v-2.186a1.46 1.46 0 00-1.526-1.377H5.082v-4.59h11.79a2.264 2.264 0 001.944 1.91v2.68h-2.01a1.463 1.463 0 00-1.53 1.381v2.182a1.463 1.463 0 001.53 1.38h5.26a1.463 1.463 0 001.529-1.38v-2.186a1.459 1.459 0 00-1.526-1.377h-1.923v-2.704a2.362 2.362 0 001.92-2.55 2.307 2.307 0 00-1.92-2.558V6.745zM1.584 5.415l-.005-2.284H7.25l.005 2.284zm5.666 13.17l.005 2.283H1.584l-.005-2.283zm15.015 0l.005 2.283h-5.664l-.004-2.283zM20.736 12c0 .91-.388 1.298-1.3 1.298s-1.3-.388-1.3-1.298.388-1.298 1.3-1.298c.96 0 1.3.34 1.3 1.298zm1.534-6.585h-5.664l-.004-2.284h5.662\"/>`\n);\n\nexport const PowerShape = clrIconSVG(\n `<path d=\"M8 9.83h8v1.33H8z\"/>\n <path d=\"M20.5 6.33h-3.83V1.18h-1.34v5.15H8.67V1.18H7.33v5.15H3.5v1.33h1.33v6.65a5.21 5.21 0 005 5.36h1.47V24h1.34v-4.33h1.47a5.21 5.21 0 005-5.36V7.66h1.39zm-2.67 8a3.86 3.86 0 01-3.69 4H9.86a3.86 3.86 0 01-3.69-4V7.66h11.66z\"/>\n <path d=\"M9 12.83h6v1.33H9z\"/>`\n);\n\nexport const PetrolShape = clrIconSVG(\n `<path d=\"M8.233,20.91H8.18A8.18,8.18,0,0,1,1.507,8L7.156,0h2.1l5.65,8A8.18,8.18,0,0,1,8.233,20.91ZM7.846,1.32h0L2.6,8.77a6.86,6.86,0,1,0,11.219,0L8.566,1.32h-.72ZM4.536,16.4h0A5.164,5.164,0,0,1,3.956,9.73l1.09.76a3.861,3.861,0,0,0,.43,5l-.94.909Z\" transform=\"translate(0.794 0.85)\"/>`\n);\n\nexport const PerformanceShape = clrIconSVG(\n `<path d=\"M11.67,0C5.24,0,0,5.67,0,12.67H1.34c0-6.25,4.63-11.33,10.33-11.33S22,6.42,22,12.67h1.34C23.34,5.67,18.1,0,11.67,0Z\" transform=\"translate(0.33 0.33)\"/>\n <path d=\"M6.5,0,1.94,4.55A1.45,1.45,0,0,0,1.5,4.5,1.5,1.5,0,1,0,3,6a1.45,1.45,0,0,0-.08-.47L7.5,1Z\" transform=\"translate(10.5 7)\"/>`\n);\n\nexport const PayloadShape = clrIconSVG(\n `<path d=\"M20.21,22.943H.78a.781.781,0,0,1-.771-.9L2.319,8.393A2.133,2.133,0,0,1,4.431,6.6H8.609a3.444,3.444,0,0,1-1.69-3.05A3.44,3.44,0,0,1,10.36,0L10.5,0l.144,0A3.44,3.44,0,0,1,14.08,3.6a3.442,3.442,0,0,1-1.67,3h4.169A2.111,2.111,0,0,1,18.67,8.383l2.319,13.66a.779.779,0,0,1-.77.9ZM3.64,8.613l-2.21,13H19.57l-2.21-13a.785.785,0,0,0-.78-.67H4.429A.8.8,0,0,0,3.64,8.613Zm6.993-2.836a2.12,2.12,0,0,0,2.117-2.224,2.12,2.12,0,0,0-2.117-2.225c-.044,0-.089,0-.133,0s-.089,0-.133,0A2.12,2.12,0,0,0,8.249,3.553a2.138,2.138,0,0,0,2.137,2.222l.113,0C10.543,5.775,10.589,5.777,10.633,5.777ZM9.709,19.083V12.713H7.549V11.4H13.5v1.31H11.28v6.369Z\" transform=\"translate(0.501 0.527)\"/>`\n);\n\nexport const PaintShopShape = clrIconSVG(\n `<path d=\"M3.365 12.815h4v1.33h-4zm15.018 3.944l1.301 1.301.941-.94-1.301-1.301zm2.241-6.988l-.941-.94-1.301 1.301.94.941zm.581 4.34v-1.33h-1.84v1.33zm.761-7.072a.75.75 0 10-.514 1.408.75.75 0 00.514-1.408zm0 11.473a.75.75 0 10-.514 1.408.75.75 0 00.514-1.408zm1.284-5.816a.75.75 0 100 1.5.75.75 0 000-1.5zm-9.315-2.444l3.735 1.836v3l-3.757 1.685a.941.941 0 01-.857.557h-2.712v2.924h-1.33V17.33H7.718a.478.478 0 00-.464.362l-1.198 4.793A2.001 2.001 0 014.116 24H2.381a1.33 1.33 0 01-1.29-1.653l1.171-4.683A.27.27 0 002 17.33c-.018 0-.036-.005-.054-.005H1.93v-.002A1.997 1.997 0 010 15.33v-3.7a2 2 0 012-2h3.369a2.61 2.61 0 01-1.521-1.646L2.111 2.371 9.752 0l1.736 5.614a2.615 2.615 0 01-1.37 3.13l.288.886h2.65c.407 0 .747.261.879.622zM4.608 5.943h5.59L8.875 1.665l-5.1 1.582zM12.67 16v-5.04H2a.671.671 0 00-.67.67v3.7c0 .36.286.649.643.664h2.715v1.33H3.571a1.58 1.58 0 01-.02.663l-1.17 4.683h1.735a.67.67 0 00.65-.508l1.198-4.793A1.805 1.805 0 017.718 16h1.296v-.002h1.33V16zm3.67-3.084L14 11.766v3.51l2.34-1.049z\"/>`\n);\n\nexport const OpenSatShape = clrIconSVG(\n `<path d=\"M3,23.051a3,3,0,0,1-3-3v-17H4v-2H5.34v2H14a5.24,5.24,0,0,1,10,2.26,5.186,5.186,0,0,1-2,4.1V20.051a3,3,0,0,1-3,3Zm-1.66-3a1.658,1.658,0,0,0,.482,1.184,1.679,1.679,0,0,0,1.177.5H19.01a1.67,1.67,0,0,0,1.67-1.679v-9.86a5.24,5.24,0,0,1-7.17-4.88,4.765,4.765,0,0,1,.1-.92H5.34v2.66H4V4.391H1.34v4.34H13a3.422,3.422,0,0,0,1.34,1.319h-13ZM18.76,1.5a3.82,3.82,0,0,0,.06,7.64,3.82,3.82,0,0,0,0-7.641ZM3.23,19.58l.409-1.02a4.006,4.006,0,0,0,1.79.54c.72,0,1.07-.27,1.07-.82s-.239-.59-.91-.82l-.7-.221a1.889,1.889,0,0,1-1.53-1.8c0-1.18.81-2,2.35-2a4.762,4.762,0,0,1,1.911.46l-.4,1.06a3.942,3.942,0,0,0-1.51-.41c-.72,0-1,.3-1,.751s.14.58.67.74l.67.22c1.22.381,1.8.911,1.8,1.89,0,1.271-.92,2.05-2.42,2.05A4.905,4.905,0,0,1,3.23,19.58Zm12.63.471V14.7H14V13.6h5v1.1H17.18v5.35Zm-3.28-1.33H10l-.44,1.33H8.11l2.38-6.47H12l2.41,6.468-1.41,0Zm-2.23-1.05h1.8l-.88-2.72h-.03ZM15.7,5.511l.841-1.03,1.939,1.6,2.53-2.52.941.941L18.57,7.88Z\" transform=\"translate(0 0.5)\"/>`\n);\n\nexport const OnCallDutyShape = clrIconSVG(\n `<path d=\"M7 17.88a1 1 0 11-1 1 1 1 0 011-1zm-2.65-1.49a3.51 3.51 0 000 5l.2.19v.05a3.5 3.5 0 005-.05l5.2-5.2a8.43 8.43 0 002 .25 7.23 7.23 0 006.71-4 6.86 6.86 0 00.5-1.33H19l-1.89-2.21.55-.64L19 6.92h5a6.86 6.86 0 00-.5-1.33 7.23 7.23 0 00-6.71-4v1.3A6 6 0 0122 5.59h-3.64L16.72 7.5l-.8.94-.06.09a1 1 0 00.06 1.21l1.63 1.91.81.94H22a6 6 0 01-5.21 2.7 7.28 7.28 0 01-.93-.07 6.46 6.46 0 01-1.5-.37 5.75 5.75 0 01-3.18-3H8.92l-4.53 4.5zm.35 2.48a2.16 2.16 0 01.63-1.54l4.75-4.74a7.05 7.05 0 003.29 3.25L8.61 20.6a2.17 2.17 0 01-3.07 0l-.2-.19a2.16 2.16 0 01-.64-1.54zm6.1-17.54a1 1 0 00-.74.34L9 2.72a1.64 1.64 0 00.19 1.45l.51.89-.7.72L6.23 8.5l-.81.81-.92-.68a4.73 4.73 0 00-.69-.42 1.29 1.29 0 00-.24 0 1.07 1.07 0 00-.72.28L1.68 9.56a1 1 0 00-.31.74 1 1 0 00.31.75l.85.85a2 2 0 00.78.5h.11a1.58 1.58 0 00.38 0 2.31 2.31 0 001.49-.73L9.1 8.05l3-2.94c.57-.57.77-.88.77-1.21a2 2 0 00-.57-1.41l-.87-.86a1 1 0 00-.4-.22 1 1 0 00-.29 0M10.8 0a2.36 2.36 0 011.62.64l.89.88a3.27 3.27 0 01.95 2.35A3.07 3.07 0 0113.09 6L10 9l-3.82 3.75a3.57 3.57 0 01-2.42 1.11 2.64 2.64 0 01-.74-.1l-.2-.07a3.26 3.26 0 01-1.26-.8L.69 12A2.41 2.41 0 010 10.33a2.36 2.36 0 01.71-1.68l.06-.06L2 7.48a2.4 2.4 0 011.62-.63 2.35 2.35 0 01.64.09 4.87 4.87 0 011.08.62L8 4.84a2.75 2.75 0 010-3l1-1A2.33 2.33 0 0110.71 0z\"/>`\n);\n\nexport const NightServiceShape = clrIconSVG(\n `<path d=\"M6.461,22.807a3.57,3.57,0,0,1-2.536-1.062l-.2-.2a3.5,3.5,0,0,1,0-5l4.5-4.5a4.628,4.628,0,0,0,2.1-.4,5.613,5.613,0,0,0,5.363,3.916c.145,0,.292-.005.437-.016.087,0,.176.006.265.006a5.947,5.947,0,0,0,4.936-2.706h-3.6l-2.4-2.8a1.05,1.05,0,0,1,0-1.3l2.4-2.8h3.7A5.942,5.942,0,0,0,16.49,3.238c-.088,0-.177,0-.265.006a5.349,5.349,0,0,0-2.2.4,2.707,2.707,0,0,0-.6-1.2,8.562,8.562,0,0,1,2.8-.5c.082,0,.166,0,.248,0A7.1,7.1,0,0,1,20.24,3.033a7.52,7.52,0,0,1,2.685,2.911,5.074,5.074,0,0,1,.5,1.3h-5l-1.9,2.2,1.8,2.1,5-.1a6.956,6.956,0,0,1-.5,1.3,7.533,7.533,0,0,1-2.685,2.911,7.112,7.112,0,0,1-3.767,1.093c-.083,0-.166,0-.248,0a6.818,6.818,0,0,1-2-.2l-5.2,5.2-.1.1a3.315,3.315,0,0,1-2.362.962ZM4.625,17.645a2.254,2.254,0,0,0-.674,1.649,2,2,0,0,0,.674,1.452l.2.2a2.243,2.243,0,0,0,1.588.675,2,2,0,0,0,1.512-.675l4.7-4.7a7.532,7.532,0,0,1-3.3-3.3Zm.8,1.5a.945.945,0,0,1,1-1,1,1,0,0,1,1,1,.945.945,0,0,1-1,1A.945.945,0,0,1,5.425,19.145Zm-3.2-8.5a5.47,5.47,0,0,1-1.1-7.7,5.111,5.111,0,0,1,2.9-2,5.459,5.459,0,0,0,1.1,7.7,5.986,5.986,0,0,0,3.4,1.1,6.763,6.763,0,0,0,1.4-.2,5.584,5.584,0,0,1-4.448,2.225A5.206,5.206,0,0,1,2.225,10.644Zm9.2-1.7v-.1l.2-1v-.1l-.7-.7v-.1h1.1l.4-.9a.1.1,0,0,1,.2,0l.3.9h1a.1.1,0,0,1,.1.1l-.7.7v.1l.3.9a.1.1,0,0,1-.1.1l-1-.4h-.1l-.9.5Zm-2.8-1.6-1.5-.8h-.1l-1.4.7h-.1v-.1l.4-1.4v-.1l-1.1-1.1v-.1c0-.1,0-.1.1-.1h1.5l.1-.1.6-1.4a.1.1,0,0,1,.2,0l.6,1.4a.1.1,0,0,0,.1.1h1.4c.2.1.2.1.1.2l-1.2,1.1v.1l.5,1.5v.1Zm2.8-4.4-.9-.5h-.1l-1,.5h-.1v-.1l.3-.9v-.1l-.8-.8a.1.1,0,0,1,.1-.1h1.1l.4-.9s0-.1.1,0l.4.9h1.1v.1l-.8.8v.1l.3.9v.1Zm-.9-2.9Z\" transform=\"translate(0.375 0.556)\"/>`\n);\n\nexport const LoadingVolumeShape = clrIconSVG(\n `<path d=\"M1.738,18.48c.12.4.25.82.38,1.22l-1.26.35c-.97-2.99-.93-3.091-.77-3.35s.2-.33,3.24-1.121l.34,1.29c-.46.111-.949.25-1.39.371l9.39,4.669,9.31-4.73-1.07-.29.339-1.291c2.811.751,2.84.81,3,1.1s.19.339-.7,3.109l-1.27-.41.33-1-9.941,5Zm8.16-.54-7.34-3.81a1.511,1.511,0,0,1-.83-1.36V5.47a1.314,1.314,0,0,1,.71-1.17l7.83-4a3.42,3.42,0,0,1,2.8,0L20.9,4.32a1.317,1.317,0,0,1,.71,1.17l-.01,4.63V12.77a1.515,1.515,0,0,1-.83,1.36l-7.35,3.81a4.742,4.742,0,0,1-1.76.41A4.794,4.794,0,0,1,9.9,17.94ZM19.838,6.63l-7.349,3.81a.523.523,0,0,0-.291.47v5.71a.529.529,0,0,0,.25.45.523.523,0,0,0,.52,0l7.35-3.811a.519.519,0,0,0,.29-.47V7.1a.521.521,0,0,0-.26-.45.544.544,0,0,0-.27-.08A.534.534,0,0,0,19.838,6.63ZM2.988,6.7a.526.526,0,0,0-.25.4v5.69a.518.518,0,0,0,.29.47l7.34,3.79a.51.51,0,0,0,.77-.45V10.98a.529.529,0,0,0-.281-.47L3.508,6.7a.523.523,0,0,0-.52,0Zm8.49-.77L7.9,7.78l3.42,1.77a.918.918,0,0,0,.339.07h.025a.881.881,0,0,0,.345-.07l3.41-1.77L11.858,5.93a1.354,1.354,0,0,1-.191-.14A1.44,1.44,0,0,1,11.478,5.93Zm.841-4.74c-.06.029-.13.1-.13.28V4.76a.347.347,0,0,0,.13.28l4.209,2.18,2.85-1.52a1.506,1.506,0,0,1,1.23,0V5.47a.3.3,0,0,0-.17-.28l-7.83-4a.262.262,0,0,0-.146-.044A.256.256,0,0,0,12.318,1.19ZM3.968,5.7,6.808,7.22l4.21-2.18a.358.358,0,0,0,.13-.28V1.48a.3.3,0,0,0-.111-.27.289.289,0,0,0-.31,0l-7.83,4a.3.3,0,0,0-.17.28V5.7a1.529,1.529,0,0,1,1.24,0Z\" transform=\"translate(0.332 0.3)\"/>`\n);\n\nexport const HybridShape = clrIconSVG(\n `<path d=\"M2.921,18.987A8.2,8.2,0,0,1,1.49,8l5.65-8h2.1l1.51,2.09-1.09.76L8.551,1.38h-.72L2.58,8.83a6.86,6.86,0,0,0,5.612,10.8,6.938,6.938,0,0,0,.9-.059,6.861,6.861,0,0,0,5.693-4.885h-.661a2.889,2.889,0,0,1-2.889-2.84V8.8h-.82V7.47h2.14V3.97h1.33v3.5h2.56V3.97h1.33v3.5h2.14l-.02,1.28H19.07v3.03a2.889,2.889,0,0,1-2.888,2.84H16.16a8.309,8.309,0,0,1-2.17,3.9,8.2,8.2,0,0,1-11.07.467ZM16.18,13.3h.041a1.542,1.542,0,0,0,1.54-1.5l.04-3.05H12.6V11.8a1.541,1.541,0,0,0,1.539,1.5h2.04ZM3.41,10.05l1.091.72a3.839,3.839,0,0,0,.429,5l-.94.95A5.18,5.18,0,0,1,3.41,10.05Z\" transform=\"translate(0.339 0.53)\"/>`\n);\n\nexport const GasShape = clrIconSVG(\n `<path d=\"M21.75 2.83h-8.87a8.81 8.81 0 00-8.8 8.79v.76a8.73 8.73 0 002.13 5.71l-.8.81a4.89 4.89 0 01-3.47 1.43H1v1.34h.94a6.19 6.19 0 004.41-1.83l.81-.8a8.74 8.74 0 005.72 2.13h.74a8.81 8.81 0 008.8-8.79V3.5zm-.67 9.55a7.46 7.46 0 01-7.46 7.45h-.74A7.42 7.42 0 018.1 18.1l2.9-2.93h5.5v-1.34h-4.14l5.36-5.36-.94-.94-5.61 5.61V8.5H9.83v6l-2.68 2.65a7.42 7.42 0 01-1.73-4.77v-.76a7.46 7.46 0 017.46-7.45h8.2z\"/>`\n);\n\nexport const FleetServicePrivateShape = clrIconSVG(\n `<path d=\"M16.21,24a1.391,1.391,0,0,1-1.35-1.43v-.44H5.12v.43A1.413,1.413,0,0,1,3.75,24H2.09A1.4,1.4,0,0,1,.73,22.62v-5.5a5.394,5.394,0,0,1,.73-2.73l.46-1.08c-.726-.1-1.354-.2-1.92-.31l.24-1.35c.682.121,1.381.226,2.057.328L2.44,12,3.52,9.4A2.812,2.812,0,0,1,5.7,8H14.28a2.78,2.78,0,0,1,2.17,1.41l1.07,2.56c.748-.1,1.492-.222,2.21-.36l.24,1.31c-.581.109-1.21.21-1.92.31l.46,1.11a5.416,5.416,0,0,1,.74,2.731v5.5A1.4,1.4,0,0,1,17.89,24ZM3.791,20.8H16.23v1.88H17.88v-5.1c-1.24.184-2.454.321-3.711.42l-.1-1.32c1.187-.094,2.4-.233,3.721-.429A4.176,4.176,0,0,0,17.33,15l-.05-.08v-.09l-.63-1.43a55.365,55.365,0,0,1-6.78.43,54.566,54.566,0,0,1-6.62-.41L2.66,14.83v.09L2.61,15a4.09,4.09,0,0,0-.42,1.3c1.437.2,2.648.331,3.811.42l-.111,1.32c-1.137-.079-2.341-.21-3.79-.41v5.04H3.79a.154.154,0,0,0,0-.11V20.8h0ZM4.71,10l-.94,2.12a53.746,53.746,0,0,0,6.165.356A53.66,53.66,0,0,0,16.1,12.12L15.22,10a1.459,1.459,0,0,0-1.06-.679H5.71A1.469,1.469,0,0,0,4.71,10ZM9.15,17.66a.84.84,0,1,1,.84.841A.84.84,0,0,1,9.15,17.66ZM20.479,16a6.562,6.562,0,0,0-.36-1.3h1.76V9.6c-1.23.183-2.444.319-3.711.419l-.1-1.319c1.178-.093,2.395-.233,3.721-.43a4.169,4.169,0,0,0-.46-1.25l-.05-.08V6.85l-.6-1.43a55.184,55.184,0,0,1-6.78.43,54.419,54.419,0,0,1-6.62-.41L6.77,6.68H5.59l-.3.05c.024-.05.044-.1.065-.155a1.68,1.68,0,0,1,.105-.236l.46-1.03c-.726-.1-1.354-.2-1.92-.31l.24-1.35c.683.122,1.382.226,2.056.328L6.44,4,7.52,1.4A2.816,2.816,0,0,1,9.7,0H18.28a2.779,2.779,0,0,1,2.17,1.41l1.07,2.56c.685-.1,1.462-.216,2.209-.36l.24,1.31c-.581.109-1.209.21-1.92.31l.46,1.11a5.419,5.419,0,0,1,.74,2.731v5.5A1.4,1.4,0,0,1,21.89,16ZM8.709,2l-.89,2.16a53.673,53.673,0,0,0,5.994.337,53.8,53.8,0,0,0,6.336-.376L19.27,2a1.478,1.478,0,0,0-1.111-.68H9.709A1.471,1.471,0,0,0,8.709,2Z\"/>`\n);\n\nexport const FleetServiceCommercialShape = clrIconSVG(\n `<path d=\"M14.06,24a1.334,1.334,0,0,1-1.319-1.33v-.4H6.55v.39A1.331,1.331,0,0,1,5.22,24H2.78a1.336,1.336,0,0,1-1.31-1.33v-8.4l.2-1.3c-.218-.015-.438-.028-.651-.04C.685,12.911.341,12.891,0,12.86V12.2l.12-.66.281.023c.486.042.985.086,1.48.086l.17-1.111A5.481,5.481,0,0,1,3.21,7.93L4.47,6.38A.991.991,0,0,1,5.254,6h8.789a1,1,0,0,1,.806.411l1.38,1.83a5.386,5.386,0,0,1,1,2.389l.17,1c.2-.014.4-.025.6-.037.388-.022.784-.044,1.18-.084l.11,1.33c-.171.015-.347.029-.518.04-.382.029-.776.058-1.161.12l.22,1.27v8.4A1.334,1.334,0,0,1,16.51,24ZM5.221,20.94H14.07v1.73H16.5V17.96c-1.345.185-2.48.309-3.569.39l-.09-1.33c1.172-.085,2.4-.219,3.659-.4V14.38l-.22-1.34c-2.571.159-4.856.24-6.79.24s-4-.07-6.49-.22l-.2,1.31v2.28l.379.05A24.785,24.785,0,0,0,6.54,17l-.09,1.381c-1.33-.1-2.591-.246-3.65-.381v4.67H5.22V20.941h0ZM4.24,8.74a4.242,4.242,0,0,0-.87,2l-.159.95c2.123.129,4.286.194,6.425.194s4.295-.065,6.424-.194l-.14-.869A4.357,4.357,0,0,0,15.15,9L13.88,7.331H5.41Zm4.59,9.22a.82.82,0,1,1,.82.82A.82.82,0,0,1,8.83,17.96ZM19.28,17h-.12V15.66H21.55V11.34l-1,.11-.12-1.319L21.55,10V7.92l-.2-1.23c-1.46.09-2.97.18-4.459.18L15.96,5.62,15.89,5.54c1.75-.011,3.5-.05,5.24-.15L21,4.59a3.933,3.933,0,0,0-.77-1.68L19.05,1.33H11.12L10.05,2.66a3.889,3.889,0,0,0-.82,1.83v.18H7.88l.059-.39A5.145,5.145,0,0,1,9,1.83L10.25.36A1,1,0,0,1,11,0h8.25A1,1,0,0,1,20,.39L21.26,2.12a4.994,4.994,0,0,1,1,2.25l.16.93L24,5.18V6.51l-1.36.09.2,1.211v7.93A1.251,1.251,0,0,1,21.59,17Z\"/>`\n);\n\nexport const FindACarShape = clrIconSVG(\n `<path d=\"M20.717,21.309l-3.875-3.647a10.128,10.128,0,1,1,.932-.949l3.856,3.628-.912.968h0ZM10.225,18.9A8.534,8.534,0,0,0,16.3,16.382a8.64,8.64,0,0,0,2.515-6.164A8.638,8.638,0,0,0,16.3,4.055a8.534,8.534,0,0,0-6.073-2.516h-.182A8.531,8.531,0,0,0,3.971,4.055a8.638,8.638,0,0,0-2.515,6.163,8.588,8.588,0,0,0,8.587,8.68h.182Zm1.9-1.684a1.25,1.25,0,0,1-1.25-1.25v-.38H5.088a7.5,7.5,0,0,1-1.12-1.33h8.24v1.63h1.38v-4.16c-1.07.149-2.18.27-3.31.35l-.09-1.32c1.09-.08,2.15-.2,3.191-.34-.2-.589-.53-1.42-.91-2.35a53.164,53.164,0,0,1-6.17.37c-1.09,0-2.19-.04-3.28-.11a7.3,7.3,0,0,1,.48-1.31,51.5,51.5,0,0,0,8.42-.229c-.24-.55-.481-1.111-.731-1.64-.18-.381-.38-.571-1.01-.571H5.4a7.284,7.284,0,0,1,2.35-1.33h2.43a2.212,2.212,0,0,1,2.22,1.35s.41.9.9,2.03c.689-.09,1.38-.19,2.07-.31l.229,1.31c-.588.1-1.768.27-1.768.27s1.09,2.912,1.09,3.27v4.8a1.25,1.25,0,0,1-1.25,1.25Zm-6.521-5.54a.775.775,0,1,1,1.551,0,.774.774,0,0,1-.77.78A.78.78,0,0,1,5.607,11.673Z\" transform=\"translate(0.005 0.24)\"/>`\n);\n\nexport const ExpressServiceShape = clrIconSVG(\n `<path d=\"M18.46 11.67h4.178a7.43 7.43 0 01-.502 1.33c-1.195 2.436-3.655 4-6.71 4a8.294 8.294 0 01-2.042-.257L8.18 21.95a3.492 3.492 0 01-2.478 1.027 3.49 3.49 0 01-2.479-1.027l-.196-.195a3.507 3.507 0 010-4.957l4.808-4.808h1.861l.005.016a5.784 5.784 0 003.294 3.248c.47.183.973.308 1.504.378.302.04.61.067.928.067 2.261 0 4.131-1.035 5.207-2.698h-3.641l-.805-.939-1.637-1.91a.993.993 0 01-.052-1.215c.02-.028.03-.06.052-.087l.803-.938 1.64-1.91h3.64c-1.076-1.664-2.946-2.7-5.207-2.7-1.297 0-2.462.344-3.426.947V2.754A7.916 7.916 0 0115.426 2c3.055 0 5.515 1.563 6.71 4 .206.42.375.862.502 1.33h-5.035l-1.306 1.524-.553.646 1.86 2.17h.388zM7.237 21.01l4.764-4.764a6.963 6.963 0 01-3.29-3.253l-4.745 4.744c-.41.411-.637.957-.637 1.538s.226 1.128.637 1.538l.195.196a2.16 2.16 0 001.54.637c.58 0 1.126-.226 1.536-.637zM1 4.32V2.99h9v1.33zm2 3V5.99h7v1.33zm2 3V8.99h5v1.33zm.687 7.967a1.002 1.002 0 110 2.005 1.002 1.002 0 010-2.005z\"/>`\n);\n\nexport const EngineShape = clrIconSVG(\n `<path d=\"M21.59 8.17v3h-1.3a.7.7 0 01-.7-.7V8a1 1 0 00-.95-1h-5.89V5h2.94V3.72H8.36v1.33h3.06v2H5.28a1 1 0 00-1 1v3.37h-2v-3H1v7.33h1.33v-3h2v2.65a1.49 1.49 0 00.52 1.13l3.93 3.42a1.48 1.48 0 001 .37h8.88a1 1 0 00.95-1v-2.55a.7.7 0 01.7-.7h1.3v3.1H23v-11zm-1.3 6.57a2 2 0 00-2 2V19H9.76a.21.21 0 01-.11 0l-3.93-3.51a.16.16 0 01-.06-.13v-7h12.6v2.14a2 2 0 002 2h1.3v2.21z\"/>`\n);\n\nexport const ElectricityShape = clrIconSVG(\n `<path d=\"M12 5.84l-.92 3.43-.32 1.16 1.13.43 4.29 1.61c-1.58 2-3.21 4.09-4.69 6l1.15-3.74.36-1.27-1.23-.41-4-1.32zM14 1a.44.44 0 00-.36.2L6.09 11.82a.62.62 0 00-.09.48.53.53 0 00.32.35l5 1.66-2.45 8a.58.58 0 00.2.63.49.49 0 00.25.08.44.44 0 00.31-.17c4.85-6.11 7.57-9.58 7.68-9.73l.51-.64A.53.53 0 0018 12a.5.5 0 00-.31-.36l-5.31-2 2.12-7.9a.58.58 0 00-.22-.64A.39.39 0 0014 1z\"/>`\n);\n\nexport const ElectricCarsShape = clrIconSVG(\n `<path d=\"M19.23,22.1a1.61,1.61,0,0,1-1.61-1.61V20H6.08v.481A1.632,1.632,0,0,1,4.45,22.1h-2A1.61,1.61,0,0,1,.84,20.49V14.3a5.868,5.868,0,0,1,.87-3.07L2.29,9.94C1.52,9.83.76,9.72,0,9.59L.06,8.93l.11-.66H.23q1.3.229,2.61.4l1.319-3A3.361,3.361,0,0,1,6.74,4.09H9.92V5.42H6.8A2.062,2.062,0,0,0,5.33,6.3L4.21,8.82A50.174,50.174,0,0,0,9.93,9.2v1.36C7.84,10.5,5.74,10.35,3.65,10.1L2.92,11.76v.09l-.079.1a4.7,4.7,0,0,0-.59,1.55c1.54.21,3.14.39,4.78.5L6.92,15.31c-1.64-.12-3.23-.29-4.77-.5v5.67a.283.283,0,0,0,.082.2.28.28,0,0,0,.2.082h2a.3.3,0,0,0,.3-.291V18.66H18.91V20.48a.28.28,0,0,0,.28.28h2a.281.281,0,0,0,.281-.28v-5.7c-1.5.211-3.06.38-4.66.5l-.1-1.32c1.61-.12,3.17-.3,4.67-.51a4.32,4.32,0,0,0-.58-1.519l-.049-.08v-.09l-.24-.54h1.46a5.868,5.868,0,0,1,.87,3.07v6.2a1.621,1.621,0,0,1-1.61,1.61ZM10.84,14.95a1,1,0,1,1,1,1A1,1,0,0,1,10.84,14.95Zm7.288-4.279H16.04a2.893,2.893,0,0,1-2.88-2.84V4.78h-.82V3.45h2.14V0h1.33V3.45h2.56V0H19.7V3.45h2.14V4.83H21.02v3a2.891,2.891,0,0,1-2.891,2.841ZM14.53,7.83A1.543,1.543,0,0,0,16.08,9.34h2.06a1.542,1.542,0,0,0,1.55-1.51l.04-3h-5.2Z\" transform=\"translate(0.08)\"/>`\n);\n\nexport const ElectricCarsServiceShape = clrIconSVG(\n `<path d=\"M11.681 4.782h.819v-1.33h-2.141V0h-1.33v3.452H6.472V0h-1.33v3.452H3v1.33h.82v3.051a2.875 2.875 0 002.91 2.832h2.041a2.876 2.876 0 002.91-2.832zm-6.531 0h5.2v3.051a1.545 1.545 0 01-1.58 1.5H6.73a1.545 1.545 0 01-1.58-1.5zm5.77 6.327a6.425 6.425 0 01-2 .71l-4.53 4.53-.036.037a3.509 3.509 0 00.036 4.963l.2.19.051.051a3.5 3.5 0 004.949-.051l5.2-5.2a8.428 8.428 0 002 .25 7.23 7.23 0 006.71-4 6.643 6.643 0 00.5-1.33h-5l-1.89-2.17.55-.64L19 6.919h5a6.88 6.88 0 00-.5-1.33 7.241 7.241 0 00-6.71-4 7.8 7.8 0 00-3.42.77 5.959 5.959 0 01.54 1.2 6.436 6.436 0 012.88-.67 6.064 6.064 0 015.21 2.7h-3.64L16.72 7.5l-.8.94a.486.486 0 00-.06.09 1 1 0 00.06 1.21l1.63 1.91.81.94H22a6 6 0 01-5.21 2.7 7.06 7.06 0 01-.93-.07 6.571 6.571 0 01-1.5-.37 5.81 5.81 0 01-3.29-3.25c-.07-.151-.07-.3-.15-.491zm-5.59 6.22l4.75-4.74a7 7 0 003.29 3.25L8.61 20.6l-.011.012A2.17 2.17 0 015.53 20.6l-.2-.19a2.2 2.2 0 010-3.08zM8 18.879a1 1 0 10-1 1 1 1 0 001-1z\"/>`\n);\n\nexport const EfficiencyShape = clrIconSVG(\n `<path d=\"M9.158,13.32V11.99h10.5v1.33ZM1.023,13a.261.261,0,0,1-.135-.292L2.369,7.92l-2-.75a.612.612,0,0,1-.291-.86l3.93-6a.251.251,0,1,1,.46.2L3.239,5.4l2.139.8a.6.6,0,0,1,.27.92l-4.31,5.82a.258.258,0,0,1-.2.09A.262.262,0,0,1,1.023,13ZM9.158,9.32V7.99h8.5V9.32Zm0-4V3.99h6.5V5.32Zm0-3.99V0h4.5V1.33Z\" transform=\"translate(0.181 0.35)\"/>`\n);\n\nexport const DriversAssistanceShape = clrIconSVG(\n `<path d=\"M7.39,20.11a1.66,1.66,0,0,1-1.61-1.7v-.52H0V16.56H7.11v1.85a.34.34,0,0,0,.28.37h2a.349.349,0,0,0,.28-.37V12.35c-1.509.22-3.07.41-4.659.53l-.1-1.32q2.4-.189,4.68-.54A5.032,5.032,0,0,0,9,9.31L8.95,9.23V9.15L8.21,7.39A67.681,67.681,0,0,1,0,7.93V6.58a62.862,62.862,0,0,0,7.63-.47L6.49,3.38A2,2,0,0,0,5,2.44H0V1.11H5.1A3.32,3.32,0,0,1,7.68,2.77L9,5.94c.87-.13,1.73-.26,2.6-.42l.24,1.3c-.77.149-1.541.26-2.31.38l.6,1.44A6.383,6.383,0,0,1,11,11.87v6.54a1.659,1.659,0,0,1-1.61,1.7Zm10.9-2.83a11.56,11.56,0,0,0,0-16.34L19.23,0a12.89,12.89,0,0,1,0,18.22Zm-2.84-2.82a7.56,7.56,0,0,0,0-10.7l.94-.941a8.885,8.885,0,0,1,0,12.58Z\" transform=\"translate(0 0.89)\"/>`\n);\n\nexport const CustomersCenterShape = clrIconSVG(\n `<path d=\"M1.214,22.941a1.291,1.291,0,0,1-.94-.509,1.331,1.331,0,0,1-.249-1.06l.91-5.28a2.421,2.421,0,0,1,1.25-1.69l2.92-1.45a7.183,7.183,0,0,0,1.1.95l-3.44,1.65a1.071,1.071,0,0,0-.54.74l-.91,5.29c.04,0,4.44.39,9.3.39,4.23,0,9.311-.39,9.311-.39l-.92-5.3a1.12,1.12,0,0,0-.561-.75l-2.62-1.25a8.2,8.2,0,0,1-3,1.59.691.691,0,0,1-.68.62h-2a.7.7,0,0,1-.7-.7v-.91a.7.7,0,0,1,.7-.7h2a.69.69,0,0,1,.58.33,6.77,6.77,0,1,0-8.83-6.671H2.564a8.09,8.09,0,0,1,15.73-2.4,2.8,2.8,0,0,1,.08,5.12,8.26,8.26,0,0,1-1.53,2.769l2.209,1.06a2.421,2.421,0,0,1,1.28,1.68l.91,5.32a1.309,1.309,0,0,1-1.21,1.55c-.04.01-5.12.4-9.4.4C5.714,23.342,1.214,22.941,1.214,22.941Zm9.42-9.61-.164,0a5.086,5.086,0,0,1-3.623-1.5,5.141,5.141,0,0,1-1.493-3.79,5.121,5.121,0,0,1,5.116-5.282l.164,0,.184,0a5.109,5.109,0,0,1,5.106,5.282,5.091,5.091,0,0,1-5.087,5.295C10.77,13.335,10.7,13.333,10.634,13.331Zm.247-1.282a3.76,3.76,0,0,0,3.752-4.009,3.789,3.789,0,0,0-3.786-3.955c-.071,0-.143,0-.213.005l-.161,0A3.789,3.789,0,0,0,6.684,8.041a3.79,3.79,0,0,0,3.785,4c.055,0,.11,0,.166,0C10.716,12.047,10.8,12.049,10.882,12.049Z\" transform=\"translate(0.366 0.319)\"/>`\n);\n\nexport const ContactDealerShape = clrIconSVG(\n `<path d=\"M21.72.83H11.18a1.45 1.45 0 00-1.45 1.45v3.51a4.48 4.48 0 101.33.21V2.28a.11.11 0 01.12-.11h10.54a.11.11 0 01.11.11v15.63a.12.12 0 01-.11.12H18l-.2-1a3.14 3.14 0 00-2-2.36L14 14l-.47 1.25 1.88.7a1.86 1.86 0 011.17 1.38l.76 3.87-2.34.04-.31-2.33-1.32.18.29 2.2c-2.63.06-5.27.06-7.9 0l.24-2.2-1.3-.18-.3 2.31c-.75 0-1.49 0-2.23-.08l.76-3.85a1.88 1.88 0 011.17-1.38l1.9-.7L5.51 14l-1.88.71a3.18 3.18 0 00-2 2.36l-.77 3.81a1.34 1.34 0 001.25 1.6 161.13 161.13 0 0015.24 0 1.34 1.34 0 001.25-1.6l-.3-1.52h3.42a1.45 1.45 0 001.45-1.45V2.28A1.45 1.45 0 0021.72.83zm-8.93 9.36a3.06 3.06 0 11-3.06-3.07 3.07 3.07 0 013.06 3.07z\"/>\n <path d=\"M15.5 4.37h4.48V5.7H15.5zM15.5 7.41h4.48v1.33H15.5z\"/>`\n);\n\nexport const ConsumptionShape = clrIconSVG(\n `<path d=\"M22.984 14.42c-.018-3.742-.043-8.866-.015-9.724a3.358 3.358 0 00-.8-2.773A3.8 3.8 0 0019.356 1v1.267c1.074.041 1.554.212 1.831.489a2.306 2.306 0 01.48 1.754 3.226 3.226 0 000 6.2c0 1.234.011 2.517.017 3.713.01 1.954.007 3.6.016 4.205.028 1.783-1.142 1.871-1.5 1.871-.383 0-1.487-.009-1.494-1.79l-.011-.683a3.144 3.144 0 00-.874-2.349 2.791 2.791 0 00-1.89-.79V3.056A2.039 2.039 0 0013.9 1.017H3.043A2.043 2.043 0 001 3.06V23h14.937v-6.838c.287.01 1.461.156 1.464 1.88l.011.687a3.013 3.013 0 00.82 2.271 2.57 2.57 0 001.982.819 2.478 2.478 0 001.962-.787 3.014 3.014 0 00.824-2.4c0-.61-.007-2.253-.016-4.212zm-8.379 7.25H2.332V3.057a.713.713 0 01.711-.711h10.851a.713.713 0 01.711.711zM20.66 7.612a1.9 1.9 0 011-1.675V9.29a1.906 1.906 0 01-1-1.678zM8.518 5.223A1.772 1.772 0 1010.266 7a1.76 1.76 0 00-1.748-1.777z\"/>`\n);\n\nexport const ConfiguratorPrivateShape = clrIconSVG(\n `<path d=\"M19.23,23.1a1.61,1.61,0,0,1-1.61-1.61V21H6.08v.471A1.632,1.632,0,0,1,4.45,23.09h-2A1.61,1.61,0,0,1,.84,21.48V15.29a5.87,5.87,0,0,1,.87-3.06l.58-1.29C1.52,10.83.76,10.72,0,10.59L.06,9.93l.11-.66H.23q1.3.229,2.61.39L4.16,6.67A3.362,3.362,0,0,1,6.75,5.09H9.94V6.42H6.84a2.061,2.061,0,0,0-1.51.88L4.14,9.82a49.65,49.65,0,0,0,5.71.38v1.36C7.76,11.5,5.66,11.35,3.57,11.1L2.84,12.76v.17a4.68,4.68,0,0,0-.59,1.57c1.54.21,3.14.39,4.78.5l-.11,1.31c-1.64-.12-3.23-.29-4.77-.5v5.67a.28.28,0,0,0,.28.28h2a.3.3,0,0,0,.3-.29V19.66H18.91V21.48a.28.28,0,0,0,.28.28h2a.291.291,0,0,0,.281-.28v-5.7c-1.5.211-3.06.381-4.66.5l-.1-1.32c1.61-.12,3.17-.3,4.67-.509a4.318,4.318,0,0,0-.58-1.52l-.049-.08v-.09l-.24-.54h1.46a5.868,5.868,0,0,1,.87,3.07v6.19a1.62,1.62,0,0,1-1.61,1.62ZM10.84,15.95a1,1,0,1,1,1,1A1,1,0,0,1,10.84,15.95Zm13-4.95h-11V0h11V11h0ZM14.171,9.67H22.51V1.33H14.171Zm.8-3.73L15.91,5l1.53,1.53L20.97,3l.94.941L17.44,8.41Z\" transform=\"translate(0.16)\"/>`\n);\n\nexport const ConfiguratorCommercialShape = clrIconSVG(\n `<path d=\"M17.17,23a1.621,1.621,0,0,1-1.59-1.62v-.5H8.02v.48A1.641,1.641,0,0,1,6.39,23h-3a1.621,1.621,0,0,1-1.61-1.62V11.1L2,9.54,0,9.38.05,8H.11c.671.11,1.42.16,2.13.21L2.5,6.54A6.745,6.745,0,0,1,3.91,3.36L5.45,1.46a1.248,1.248,0,0,1,1-.46h3V2.34h-3L4.94,4.21A5.406,5.406,0,0,0,3.78,6.76L3.55,8.3C5.5,8.42,7.43,8.51,9.43,8.51V9.86c-2.04-.04-4.091-.1-6.09-.23l-.25,1.58V14.3c1.561.22,3.181.4,4.86.52l-.09,1.34q-2.469-.181-4.77-.51v5.73a.291.291,0,0,0,.28.28h3a.311.311,0,0,0,.3-.3V19.54H16.89v1.84a.289.289,0,0,0,.28.28h3a.291.291,0,0,0,.28-.28V15.62c-1.51.22-3.07.4-4.66.509l-.1-1.33c1.62-.12,3.22-.3,4.76-.529V12.78h1.33v8.6A1.621,1.621,0,0,1,20.17,23ZM10.78,15.78a1,1,0,1,1,1,1A1,1,0,0,1,10.78,15.78Zm13-4.78h-11V0h11V11h0ZM14.11,9.67H22.45V1.33H14.11Zm.8-3.73L15.85,5l1.53,1.53L20.91,3l.941.941L17.38,8.41Z\" transform=\"translate(0.22)\"/>`\n);\n\nexport const CertifiedRetailerShape = clrIconSVG(\n `<path d=\"M6.92,23.119H5.69l-1.42-3.38L.85,21.058,0,20.188l3.23-7.819a7.84,7.84,0,1,1,12.8,0l3.23,7.819-.86.87-3.409-1.32-1.42,3.379H12.34l-2.71-6.55-2.71,6.55Zm8.1-9.621a7.778,7.778,0,0,1-4.39,2.111l2.38,5.52,1-2.5.85-.36,2.54.99L15.02,13.5ZM4.44,18.268h0l.86.36,1,2.5,2.33-5.52a7.742,7.742,0,0,1-4.38-2.1l-2.38,5.76,2.569-1ZM9.63,1.338a6.51,6.51,0,1,0,6.51,6.51A6.531,6.531,0,0,0,9.63,1.338Zm-1.681,9.6h0l-.758-.561.69-1.949L6.25,7.2l.291-.9h2l.67-1.93h.941l.67,1.93h2l.291.9-1.63,1.23.589,1.949-.759.56L9.63,9.769l-1.68,1.17ZM9.63,8.678a.657.657,0,0,1,.38.12l.69.48-.24-.8a.676.676,0,0,1,.23-.73l.67-.5h-.84A.689.689,0,0,1,9.9,6.8l-.27-.79-.27.79a.689.689,0,0,1-.62.45H7.9l.67.5a.676.676,0,0,1,.23.73l-.24.8.69-.48A.657.657,0,0,1,9.63,8.678Z\" transform=\"translate(0.35)\"/>`\n);\n\nexport const CertifiedRepairShape = clrIconSVG(\n `<path d=\"M14.41,21.54l-5.2-5.2a8.453,8.453,0,0,1-2,.25c-.08,0-.16,0-.24,0A7.23,7.23,0,0,1,.5,12.589,6.587,6.587,0,0,1,0,11.26H5L6.89,9.09,6.34,8.449,5,6.919H0A6.9,6.9,0,0,1,.5,5.59a7.242,7.242,0,0,1,6.476-4c.077,0,.157,0,.234,0h.041a7.828,7.828,0,0,1,3.379.77,6.019,6.019,0,0,0-.54,1.2,6.468,6.468,0,0,0-2.857-.67H7.21l-.167,0A6.046,6.046,0,0,0,2,5.59H5.64L7.28,7.5l.8.94a.519.519,0,0,1,.059.09A1,1,0,0,1,8.08,9.74L6.45,11.65l-.81.94H2a5.981,5.981,0,0,0,5.01,2.7c.067,0,.133,0,.2,0a7.025,7.025,0,0,0,.93-.069,6.652,6.652,0,0,0,1.5-.37A5.831,5.831,0,0,0,12.93,11.6a1.181,1.181,0,0,0,.07-.227,1.518,1.518,0,0,1,.079-.263,6.458,6.458,0,0,0,2,.71l4.53,4.53a3.512,3.512,0,0,1,0,5l-.2.19a3.5,3.5,0,0,1-5,0Zm-3.78-5.7L15.39,20.6a2.169,2.169,0,0,0,3.08,0l.2-.19a2.2,2.2,0,0,0,0-3.08l-4.749-4.74A7.024,7.024,0,0,1,10.63,15.84ZM16,18.88a1,1,0,1,1,1,1A1,1,0,0,1,16,18.88ZM10.92,5.54a5.54,5.54,0,1,1,5.54,5.54A5.547,5.547,0,0,1,10.92,5.54Zm1.33,0a4.21,4.21,0,1,0,4.21-4.21A4.215,4.215,0,0,0,12.25,5.54Zm.8.239.85-1.03L16.01,6.49l3.01-3,.941.94L16.1,8.29Z\" transform=\"translate(0 0)\"/>`\n);\n\nexport const CarWashShape = clrIconSVG(\n `<path d=\"M12.9 17.7c0 .5-.4.8-.9.8s-.8-.4-.8-.9c0-.4.4-.8.8-.8.5 0 .9.4.9.9zm9.1-5.8c-.6.1-1.3.2-1.9.3l.5 1.1c.5.8.7 1.8.7 2.7v5.5c0 .8-.6 1.4-1.4 1.4h-1.7c-.8 0-1.4-.7-1.4-1.4v-.4H7.1v.4c0 .8-.6 1.4-1.4 1.4H4.1c-.8 0-1.4-.7-1.4-1.4V16c0-1 .3-1.9.7-2.7l.6-1c-.7-.1-1.3-.2-2-.3l.2-1.3c.7.1 1.5.2 2.2.4l1.2-2.6C6 7.6 6.8 7.1 7.7 7h8.6c.9.1 1.7.6 2.2 1.4l1.1 2.6c.7-.1 1.5-.2 2.2-.4zm-16.1-.7c4.1.5 8.2.5 12.3 0L17.3 9c-.2-.4-.6-.6-1.1-.7H7.8c-.4.1-.8.3-1 .7zM20 16.6c-1.2.2-2.4.3-3.7.4l-.1-1.3c1.3-.1 2.5-.2 3.7-.4-.1-.4-.3-.9-.5-1.3v-.2l-.6-1.4c-2.3.3-4.5.4-6.8.4-2.2 0-4.4-.1-6.6-.4l-.6 1.4v.1l-.2.1c-.2.4-.4.8-.5 1.3 1.2.2 2.5.3 3.8.4V17c-1.3-.1-2.6-.2-3.8-.4v5h1.7v-1.8h12.4V21.7h1.7v-.1zM6.9 6.1c.5-.5.6-1.2.2-1.8L5.8 1.9 4.5 4.3c-.3.6-.2 1.3.3 1.8.6.6 1.5.6 2.1 0zM22.7 1v23H24V0H0v24h1.3V1.3m17.6 4.8c.5-.5.6-1.2.2-1.8l-1.3-2.4-1.3 2.4c-.3.6-.2 1.3.2 1.8.7.6 1.6.6 2.2 0z\"></path><path d=\"M0 0h24v1.3H0z\"></path><path d=\"M13.1 5.2c.5-.5.6-1.2.2-1.8L12 1l-1.3 2.4c-.3.6-.2 1.3.2 1.8.7.6 1.6.6 2.2 0z\"/>`\n);\n\nexport const CarPickupServiceShape = clrIconSVG(\n `<path d=\"M15.321 10.575c1.242 0 2.11-.868 2.11-2.11 0-1.243-.868-2.11-2.11-2.11s-2.11.867-2.11 2.11c0 1.242.868 2.11 2.11 2.11zm0-5.55c1.993 0 3.44 1.446 3.44 3.44 0 1.993-1.447 3.44-3.44 3.44s-3.44-1.447-3.44-3.44c0-1.994 1.447-3.44 3.44-3.44zm3.768 7.401c1.554-1.553 1.996-3.777 1.155-5.807-.84-2.028-2.726-3.289-4.923-3.289-2.196 0-4.082 1.261-4.922 3.29s-.398 4.254 1.155 5.806l3.767 3.769zM8.34 17.52l3.213-3.214-.94-.94a6.9 6.9 0 01-.844-1.05l-6.341 6.339a.335.335 0 000 .473l1.415 1.416c.09.09.243.137.339.144a7.011 7.011 0 00-.055-1.008l-.092-.746h1.501V17.52zM21.473 6.111c1.051 2.535.497 5.316-1.443 7.256l-4.709 4.708-2.827-2.828-3.603 3.603H7.866v1.414H6.509c.013.373-.006.759-.107 1.003a1.209 1.209 0 01-.901.722 1.594 1.594 0 01-.302.029c-.466 0-.96-.196-1.297-.533l-1.415-1.416A1.654 1.654 0 012 18.893c0-.446.173-.863.487-1.179l6.622-6.619.02.02c-.634-1.569-.649-3.337.041-5.003C10.22 3.575 12.577 2 15.321 2c2.745 0 5.102 1.575 6.152 4.111z\"/>`\n);\n\nexport const CaliforniaSpecialistShape = clrIconSVG(\n `<path d=\"M23.8 17.55a3.76 3.76 0 00-.1-.66 5.76 5.76 0 00-.18-.59v-.05a4.41 4.41 0 00-.24-.54 4.28 4.28 0 00-1.54-1.62l-.85-.51a3.23 3.23 0 01-.72-.57l-3.2-3.25a2.75 2.75 0 00-1-.66l.31-6.3 1.62-.6-.42-1.26-16 5.24.41 1.26.63-.21.38 1.61h-.08a1.46 1.46 0 00-1.38 1.22l-.63 3.08a30.14 30.14 0 00-.5 3.43l-.22 2.64a1 1 0 00.75 1.12l2 .48a2.35 2.35 0 004.69 0h9.14a2.35 2.35 0 004.7 0h.16l1.5-.43a1.28 1.28 0 00.88-1.38zm-7.8-6.9l2.88 2.93-2.61.07h-2.81l-.34-3.47H15a1.4 1.4 0 011 .47zM14.86 3.2l-.29 5.69-10.31-.05-.44-2zM2.74 10.33a.21.21 0 01.1-.16h8.93l.34 3.46h-2.08l-7.92-.24zm2.44 11.34a1 1 0 111-1 1 1 0 01-1 1zm13.84 0a1 1 0 110-2.07 1 1 0 010 2.07zm2.32-2.22h-.29a2.35 2.35 0 00-4.08 0H7.24a2.34 2.34 0 00-4.12 0l-1.69-.4.21-2.43c.05-.65.14-1.31.24-2L10 15c1.15 0 2.31.06 3.46.06h2.85l4.18-.12.55.33a2.71 2.71 0 01.46.36 2.37 2.37 0 01.29.34s.09.1.13.16a3.2 3.2 0 01.56 1.6l.06.83v.62z\"/>`\n);\n\nexport const AccessoriesShape = clrIconSVG(\n `<path d=\"M19.49 19.639L4.465 20.927c-.02 0-.081.007-.121-.066-.037-.073.003-.12.016-.136l4.001-4.751c.38-.451.45-1.081.179-1.604a1.448 1.448 0 00-1.414-.78l-.914.08a.115.115 0 01-.12-.066c-.038-.073.002-.12.015-.136l2.926-3.474a1.45 1.45 0 00.179-1.605 1.457 1.457 0 00-1.414-.778.114.114 0 01-.118-.061c-.034-.058-.013-.102-.015-.102l-.002.003.651-.866c.44.075.905.122 1.407.122h1a.664.664 0 100-1.33h-1c-.169 0-.316-.021-.476-.031l1.217-1.618a.116.116 0 01.091-.054c.02 0 .065 0 .125.064l3.339 3.14a.11.11 0 01.027.127c-.028.072-.085.077-.105.079a1.447 1.447 0 00-1.261 1.009 1.45 1.45 0 00.449 1.55l3.474 2.926a.109.109 0 01.038.13c-.024.079-.086.084-.106.086l-.914.078a1.449 1.449 0 00-1.261 1.008 1.45 1.45 0 00.449 1.55l4.751 4.002a.11.11 0 01.038.13.11.11 0 01-.106.086m.926-1.234l-4.751-4.001c-.016-.013-.064-.053-.039-.131s.087-.083.106-.085l.914-.078a1.452 1.452 0 00.813-2.56l-3.475-2.925c-.015-.013-.063-.052-.038-.131a.111.111 0 01.107-.085 1.44 1.44 0 00.96-2.394c1.534-.92 2.373-2.643 2.373-5.015h-1.33c0 2.077-.683 3.437-2.034 4.057l-2.405-2.262a1.433 1.433 0 00-1.178-.446 1.423 1.423 0 00-1.061.609L7.775 5.09C6.174 4.54 5.386 3.19 5.386 1h-1.33c0 2.602 1.025 4.357 2.904 5.174l-.381.507a1.44 1.44 0 00-.044 1.545c.287.486.814.753 1.376.71a.113.113 0 01.12.066.112.112 0 01-.016.135L5.09 12.612a1.446 1.446 0 00-.179 1.604c.271.523.824.822 1.414.779l.914-.08c.019-.003.081-.006.12.067.037.073-.003.12-.015.136l-4.001 4.75a1.447 1.447 0 00-.179 1.605 1.45 1.45 0 001.414.779l15.025-1.288a1.447 1.447 0 001.261-1.01 1.448 1.448 0 00-.448-1.55\"/>`\n);\n\nexport const ACShape = clrIconSVG(\n `<path d=\"M12.7,16.36a2.929,2.929,0,0,0,1.53-2.3c0-.64-.33-1-.9-1.65a4.448,4.448,0,0,1-1.48-3.23,3.479,3.479,0,0,1,2.06-2.94l.58,1.2a2.13,2.13,0,0,0-1.34,1.79,3.11,3.11,0,0,0,1.13,2.28,3.653,3.653,0,0,1,1.25,2.55,4.191,4.191,0,0,1-2.1,3.41Zm-5.11,0a2.932,2.932,0,0,0,1.561-2.3c0-.64-.33-1-.9-1.65A4.449,4.449,0,0,1,6.77,9.18,3.482,3.482,0,0,1,8.8,6.24l.58,1.2A2.128,2.128,0,0,0,8.07,9.23,3.112,3.112,0,0,0,9.2,11.51a3.646,3.646,0,0,1,1.25,2.55,4.19,4.19,0,0,1-2.13,3.41ZM18.25,11.88,20.73,4.19a19,19,0,0,0-9.58-2.86A19.122,19.122,0,0,0,1.54,4.2l2,7.719-1.29.33L0,3.58l.42-.26A20.687,20.687,0,0,1,11.15,0,20.687,20.687,0,0,1,21.88,3.32l.44.27-2.81,8.7Z\" transform=\"translate(0.75 3)\"/>`\n);\n\nexport const OffersShape = clrIconSVG(\n `<path d=\"M16.45,45.74,1.261,30.55a4.327,4.327,0,0,1,0-6.1L22.55,3.12a1.88,1.88,0,0,1,1.325-.551A1.857,1.857,0,0,1,25.2,3.12a1.871,1.871,0,0,0,2.44.18,11.341,11.341,0,0,1,6.9-2.316,11.479,11.479,0,0,1,7.1,2.475L45.111,0H47V.94l-3.89,3.9a11.451,11.451,0,0,1,.6,14.48,1.881,1.881,0,0,0,.17,2.44,1.882,1.882,0,0,1,0,2.65L22.55,45.74a4.32,4.32,0,0,1-6.1,0ZM2.68,25.86a2.324,2.324,0,0,0,0,3.281L17.861,44.32a2.322,2.322,0,0,0,3.281,0l21.24-21.2a3.844,3.844,0,0,1-.27-5,9.54,9.54,0,0,0-.45-11.87L38,9.91A3.94,3.94,0,1,1,34.78,8.24h.041a3.837,3.837,0,0,1,1.66.38l3.73-3.78a9.43,9.43,0,0,0-11.329,0,3.809,3.809,0,0,1-2.3.779h-.087a3.8,3.8,0,0,1-2.574-1ZM32.9,12.12a1.92,1.92,0,0,0,3.84,0v.04a1.92,1.92,0,1,0-3.84-.04ZM16.2,34.715l10.429-10.43L28.04,25.7,17.609,36.129Zm-4.813-4.81L25.426,15.863l1.414,1.414L12.8,31.319Z\" transform=\"translate(-0.001)\"/>`,\n '0 0 48 48'\n);\n\nexport const VWShape = clrIconSVG(\n `<path d=\"M24 45.792c-11.952 0-21.744-9.84-21.744-21.792 0-2.688.48-5.232 1.392-7.632l12.72 25.584c.144.336.384.624.768.624s.624-.288.768-.624l5.856-13.104c.048-.144.144-.288.288-.288s.192.144.288.288l5.856 13.104c.144.336.384.624.768.624s.624-.288.768-.624l12.72-25.584A21.318 21.318 0 0145.84 24C45.744 35.952 35.952 45.792 24 45.792zm0-26.736c-.144 0-.192-.144-.288-.288l-6.816-15.36A20.473 20.473 0 0124 2.16c2.496 0 4.896.432 7.104 1.248l-6.816 15.36c-.096.192-.144.288-.288.288zm-6.96 15.792c-.144 0-.192-.144-.288-.288L5.712 12.288C7.68 9.264 10.32 6.72 13.536 4.944l7.968 17.712c.096.288.336.384.576.384h3.84c.288 0 .48-.048.624-.384l7.968-17.712a22.496 22.496 0 017.824 7.344L31.2 34.56c-.048.144-.144.288-.288.288s-.192-.144-.288-.288l-4.176-9.504c-.144-.336-.336-.384-.624-.384h-3.84c-.288 0-.48.048-.624.384l-4.032 9.504c-.048.144-.144.288-.288.288zM24 48c13.296 0 24-10.704 24-24S37.296 0 24 0 0 10.704 0 24s10.704 24 24 24z\"/>`,\n '0 0 48 48'\n);\n\nexport const AudiBrandShape = clrIconSVG(\n `<path d=\"M36.876 29.297C35.668 29.297 34.556 28.889 33.666 28.202 34.566 27.042 35.104 25.584 35.104 24 35.104 22.415 34.566 20.958 33.666 19.798 34.556 19.111 35.668 18.702 36.876 18.702 39.788 18.702 42.149 21.074 42.149 24 42.149 26.926 39.788 29.297 36.876 29.297M25.083 28.202C25.983 27.042 26.52 25.584 26.52 24 26.52 22.415 25.983 20.958 25.083 19.797 25.972 19.111 27.084 18.702 28.292 18.702 29.5 18.702 30.612 19.111 31.501 19.798 30.601 20.958 30.064 22.415 30.064 24 30.064 25.584 30.601 27.042 31.501 28.202 30.612 28.889 29.5 29.297 28.292 29.297 27.084 29.297 25.972 28.889 25.083 28.202M16.499 28.202C17.399 27.042 17.936 25.584 17.936 24 17.936 22.415 17.399 20.958 16.499 19.798 17.388 19.111 18.5 18.702 19.708 18.702 20.916 18.702 22.028 19.111 22.917 19.798 22.018 20.958 21.48 22.415 21.48 24 21.48 25.584 22.018 27.042 22.917 28.202 22.028 28.889 20.916 29.297 19.708 29.297 18.5 29.297 17.388 28.889 16.499 28.202M5.851 24C5.851 21.074 8.212 18.702 11.124 18.702 12.332 18.702 13.445 19.111 14.334 19.798 13.434 20.958 12.896 22.415 12.896 24 12.896 25.584 13.434 27.042 14.334 28.202 13.445 28.889 12.332 29.297 11.124 29.297 8.212 29.297 5.851 26.926 5.851 24M15.416 27.076C14.799 26.208 14.435 25.147 14.435 24 14.435 22.853 14.799 21.791 15.416 20.924 16.033 21.791 16.397 22.853 16.397 24 16.397 25.147 16.033 26.208 15.416 27.076M24 27.076C23.383 26.208 23.019 25.147 23.019 24 23.019 22.853 23.383 21.792 24 20.924 24.617 21.792 24.981 22.853 24.981 24 24.981 25.147 24.617 26.208 24 27.076M32.584 27.076C31.967 26.208 31.603 25.147 31.603 24 31.603 22.853 31.967 21.792 32.584 20.924 33.201 21.792 33.565 22.853 33.565 24 33.565 25.147 33.201 26.208 32.584 27.076M36.876 17.156C35.249 17.156 33.756 17.73 32.584 18.687 31.412 17.73 29.919 17.156 28.292 17.156 26.665 17.156 25.172 17.73 24 18.686 22.828 17.73 21.335 17.156 19.708 17.156 18.081 17.156 16.588 17.73 15.416 18.686 14.245 17.73 12.751 17.156 11.124 17.156 7.362 17.156 4.313 20.22 4.313 24 4.313 27.78 7.362 30.844 11.124 30.844 12.751 30.844 14.245 30.27 15.416 29.313 16.588 30.27 18.081 30.844 19.708 30.844 21.335 30.844 22.828 30.27 24 29.313 25.172 30.27 26.665 30.844 28.292 30.844 29.919 30.844 31.412 30.27 32.584 29.313 33.756 30.27 35.249 30.844 36.876 30.844 40.638 30.844 43.688 27.78 43.688 24 43.688 20.22 40.638 17.156 36.876 17.156\"/>\\`,\n\"/>`,\n '0 0 48 48'\n);\n\nexport const CupraBrandShape = clrIconSVG(\n `<path d=\"M2.625 7.463C9.638 9.914 16.613 12.478 23.642 14.88 23.891 14.977 24.137 14.977 24.386 14.88 31.403 12.467 38.374 9.923 45.375 7.463 42.891 11.441 40.384 15.406 37.846 19.349 36.673 18.843 35.466 18.421 34.284 17.935 34.968 16.724 35.705 15.54 36.399 14.333 34.138 15.477 31.837 16.54 29.593 17.716 31.162 18.317 32.733 18.906 34.291 19.54 35.158 19.896 36.089 20.582 36.148 21.605 36.286 22.741 35.515 23.67 34.968 24.58 31.586 29.897 28.223 35.229 24.824 40.537 24.843 39.137 24.684 37.723 24.848 36.332 26.185 32.068 27.505 27.8 28.723 23.5 28.962 22.862 28.251 22.52 27.794 22.296 26.504 21.723 25.296 20.964 23.975 20.474 22.636 21.056 21.351 21.761 20.037 22.4 19.632 22.588 19.059 22.961 19.292 23.493 20.499 27.795 21.834 32.061 23.162 36.328 23.309 37.721 23.169 39.135 23.176 40.537 19.831 35.276 16.493 30.008 13.154 24.745 12.572 23.776 11.728 22.786 11.873 21.577 11.95 20.561 12.877 19.887 13.745 19.533 15.288 18.902 16.855 18.324 18.41 17.714 16.17 16.542 13.878 15.47 11.62 14.336 12.312 15.543 13.048 16.724 13.731 17.938 12.541 18.414 11.338 18.854 10.154 19.342 7.625 15.394 5.123 11.427 2.625 7.463Z\"/>`,\n '0 0 48 48'\n);\n\nexport const DWABrandShape = clrIconSVG(\n `<path d=\"M19.244 8.457C20.3 8.457 21.201 8.942 21.616 9.581L21.616 8.7 24.057 8.7 24.057 16.267 21.616 16.267 21.616 15.49C20.993 16.112 20.197 16.526 19.019 16.526 16.821 16.526 15.471 14.885 15.471 12.587 15.471 10.203 16.89 8.457 19.244 8.457ZM28.642 8.44C30.061 8.44 31.065 8.959 31.567 10.22L29.594 10.98C29.352 10.375 28.936 10.186 28.538 10.186 28.227 10.186 27.88 10.375 27.88 10.721 27.88 11.93 31.585 11.378 31.585 14.038 31.585 15.576 30.217 16.492 28.434 16.492 26.703 16.492 25.803 15.922 25.335 14.695L27.413 13.882C27.603 14.384 28.002 14.747 28.504 14.747 28.988 14.747 29.283 14.557 29.283 14.229 29.283 13.123 25.596 13.606 25.596 10.963 25.596 9.581 26.721 8.44 28.642 8.44ZM8.013 4.017C10.073 4.017 11.7 4.553 12.756 5.606 13.916 6.764 14.539 8.112 14.539 9.961 14.539 12.052 13.777 13.485 12.704 14.557 11.458 15.801 9.813 16.267 7.857 16.267L4.533 16.267 4.533 4.017 8.013 4.017ZM19.798 10.583C18.777 10.583 17.998 11.36 17.998 12.518 17.998 13.641 18.708 14.591 19.885 14.591 21.028 14.591 21.703 13.641 21.703 12.604 21.703 11.516 20.958 10.583 19.798 10.583ZM7.77 6.159 7.165 6.159 7.165 14.107 7.909 14.107C9.086 14.107 9.952 13.831 10.609 13.192 11.181 12.622 11.734 11.637 11.734 10.064 11.734 8.803 11.319 7.766 10.696 7.144 9.883 6.333 8.861 6.159 7.77 6.159ZM24.116 22.484C26.422 22.484 28.018 23.922 28.018 26.451L28.018 26.511C28.018 26.658 28.016 26.887 28.001 27.143L22.521 27.143C22.573 28.096 23.301 28.824 24.359 28.824 25.139 28.824 25.746 28.495 26.25 27.819L27.845 28.876C26.96 30.019 25.85 30.626 24.099 30.626 22.053 30.626 20.145 29.309 20.145 26.607 20.145 24.251 21.758 22.484 24.116 22.484ZM31.796 17.374 31.796 30.349 29.334 30.349 29.334 17.374 31.796 17.374ZM36.864 20.059 36.864 22.762 38.269 22.762 38.269 24.597 36.864 24.597 36.864 30.348 34.401 30.348 34.401 24.597 33.36 24.597 33.36 22.762 34.401 22.762 34.401 20.059 36.864 20.059ZM6.778 18.067 8.494 24.771C8.703 25.602 8.876 26.572 8.997 27.507 9.136 26.538 9.31 25.55 9.5 24.702L10.957 18.067 13.923 18.067 15.431 24.805C15.604 25.55 15.812 26.503 15.951 27.542 16.108 26.555 16.299 25.533 16.472 24.84L18.171 18.067 20.859 18.067 17.269 30.348 14.391 30.348 12.865 23.576C12.726 22.934 12.535 21.999 12.362 20.908 12.206 21.999 12.067 22.83 11.911 23.576L10.437 30.348 7.593 30.348 4.003 18.067 6.778 18.067ZM24.099 24.216C23.214 24.216 22.625 24.84 22.538 25.689L25.573 25.689C25.573 24.961 25.018 24.216 24.099 24.216ZM42.491 40.968C43.322 40.968 43.997 41.643 43.997 42.475 43.997 43.307 43.322 43.983 42.491 43.983 41.66 43.983 40.985 43.307 40.985 42.475 40.985 41.643 41.66 40.968 42.491 40.968ZM35.884 35.787C38.376 35.787 40.193 37.519 40.193 39.859 40.193 41.921 38.601 43.931 35.763 43.931 33.408 43.931 31.574 42.232 31.574 39.841 31.574 37.589 33.305 35.787 35.884 35.787ZM19.544 36.064 19.544 39.963C19.544 41.02 19.821 41.851 20.963 41.851 22.111 41.851 22.309 40.951 22.313 40.059L22.313 36.064 24.772 36.064 24.772 40.032C24.772 41.315 24.633 42.216 23.923 42.909 23.179 43.654 22.054 43.931 20.929 43.931 19.734 43.931 18.661 43.584 17.865 42.787 17.312 42.232 17.087 41.418 17.087 40.032L17.087 36.064 19.544 36.064ZM29.549 33.36 29.549 36.064 30.95 36.064 30.95 37.901 29.549 37.901 29.549 43.654 27.091 43.654 27.091 37.901 26.052 37.901 26.052 36.064 27.091 36.064 27.091 33.36 29.549 33.36ZM11.67 31.368 16.725 43.654 13.765 43.654 12.848 41.176 7.759 41.176 6.859 43.654 4.003 43.654 8.832 31.368 11.67 31.368ZM35.866 37.935C34.741 37.935 34.049 38.854 34.049 39.893 34.049 41.002 34.931 41.8 35.884 41.8 36.974 41.8 37.701 40.881 37.701 39.859 37.701 38.767 36.887 37.935 35.866 37.935ZM10.269 33.932C10.061 34.695 9.819 35.44 9.594 36.081L8.59 38.853 12 38.853 10.961 36.064C10.736 35.44 10.477 34.678 10.269 33.932Z\"/>`,\n '0 0 48 48'\n);\n\nexport const PorscheBrandShape = clrIconSVG(\n `<path d=\"M24.047 4.781C25.158 4.795 26.154 4.829 27.258 4.928 29.517 5.131 31.776 5.476 33.939 6.023 35.553 6.431 37.103 6.962 38.619 7.571 38.682 7.597 38.713 7.613 38.713 7.613 38.713 7.613 38.71 7.78 38.705 8.084L38.702 8.247C38.678 9.757 38.611 13.742 38.535 17.749L38.526 18.212C38.479 20.676 38.429 23.114 38.383 24.953 38.342 26.603 38.066 28.256 37.487 29.915 36.885 31.64 36.033 33.371 34.935 35.062 33.921 36.625 32.505 38.199 30.985 39.469 30.394 39.962 29.767 40.452 29.108 40.867 27.996 41.568 26.835 42.115 25.903 42.519 25.536 42.678 25.217 42.826 24.926 42.927 24.515 43.068 24.179 43.195 24 43.219 23.821 43.195 23.486 43.068 23.074 42.927 22.783 42.826 22.464 42.678 22.097 42.519 21.165 42.115 20.004 41.568 18.892 40.867 18.233 40.452 17.606 39.962 17.015 39.469 15.495 38.199 14.079 36.625 13.065 35.062 11.967 33.371 11.115 31.64 10.513 29.915 9.934 28.256 9.658 26.603 9.617 24.953 9.492 19.953 9.335 10.524 9.296 8.157L9.294 8.006C9.29 7.748 9.287 7.608 9.287 7.608 9.287 7.608 9.318 7.597 9.381 7.571 10.897 6.962 12.447 6.431 14.061 6.023 16.224 5.476 18.483 5.131 20.742 4.928 21.846 4.829 22.842 4.795 23.953 4.781L23.953 4.781ZM37.825 25.081 29.769 25.081 29.768 25.361C29.767 26.241 29.526 27.067 29.113 27.795 29.113 27.795 29.112 27.797 29.111 27.799L29.108 27.806C29.09 27.841 29.025 27.968 28.912 28.145L29.106 28.097 30.069 27.881C30.164 27.858 30.261 27.759 30.266 27.661 30.277 27.464 30.38 27.064 30.702 26.674L30.727 26.644 30.76 26.604 30.793 26.565C30.798 26.559 30.804 26.552 30.809 26.546L30.842 26.507C31.03 26.288 31.234 26.091 31.636 26.059 32.074 26.024 32.249 26.173 32.177 26.209 32.051 26.271 31.773 26.323 31.514 26.729 31.255 27.135 31.16 27.588 31.314 27.598 31.419 27.605 31.595 27.598 31.636 27.598 31.871 27.6 31.954 27.603 32.184 27.623 32.205 27.625 32.267 27.594 32.28 27.575 32.303 27.538 32.331 27.5 32.348 27.461 32.516 27.068 32.726 26.58 33.132 26.34 33.356 26.208 33.441 26.165 33.64 26.165 34.09 26.155 34.313 26.411 34.369 26.487 34.435 26.582 34.065 26.398 33.492 26.993 33.306 27.182 33.15 27.445 33.072 27.646 33.067 27.661 33.091 27.702 33.109 27.707 33.374 27.787 33.838 27.897 34.071 27.998 34.124 28.021 34.182 28 34.214 27.951 34.341 27.758 34.468 27.616 34.704 27.446 34.879 27.319 35.14 27.255 35.38 27.249L35.416 27.248 35.465 27.255C36 27.323 36.035 27.588 36.062 27.631 36.091 27.673 35.945 27.67 35.878 27.686 35.663 27.74 35.216 27.889 34.938 28.279 34.903 28.345 35.043 28.457 35.043 28.457 35.432 28.786 35.658 28.99 35.591 29.605 35.582 29.686 35.593 29.725 35.52 29.725 35.482 29.725 35.334 29.593 35.307 29.563 35.031 29.317 34.835 29.175 34.557 28.983 34.096 28.667 33.566 28.507 33.156 28.428 32.814 28.361 32.38 28.309 32.001 28.309 31.242 28.309 30.391 28.424 29.438 28.694 29.318 28.727 28.953 28.832 28.571 28.951L28.503 28.972C28.45 28.989 28.397 29.005 28.345 29.022L28.267 29.047 28.142 29.086C27.946 29.273 27.721 29.454 27.465 29.61 27.466 29.609 27.467 29.609 27.468 29.608L27.468 29.608 27.464 29.61C27.099 29.872 26.704 30.093 26.29 30.269 26.292 30.268 26.295 30.267 26.298 30.266L26.298 30.266 26.065 30.364C26.083 30.399 26.1 30.432 26.1 30.432 26.163 30.551 26.173 30.711 26.028 30.789 25.881 30.869 25.664 30.726 25.571 30.569 25.559 30.55 25.507 30.572 25.495 30.589 25.405 30.79 25.316 30.875 25.196 30.857 25.106 30.844 25.066 30.842 24.999 30.721 24.988 30.697 24.981 30.679 24.976 30.665L24.936 30.671 24.648 30.706C24.481 30.726 24.318 30.739 24.151 30.744L24.151 30.744 24.146 42.611C24.328 42.561 24.588 42.465 24.891 42.36 25.171 42.263 25.477 42.119 25.83 41.964 26.726 41.572 27.843 41.042 28.912 40.362 29.546 39.959 30.148 39.485 30.717 39.006 32.179 37.774 33.54 36.247 34.515 34.73 35.571 33.09 36.39 31.411 36.969 29.738 37.507 28.181 37.773 26.629 37.825 25.081L37.825 25.081ZM23.647 37.075 15.292 37.075C15.913 37.763 16.586 38.418 17.283 39.006 17.852 39.485 18.454 39.959 19.088 40.362 20.157 41.042 21.274 41.572 22.17 41.964 22.523 42.119 22.83 42.263 23.109 42.36 23.311 42.43 23.493 42.496 23.647 42.547L23.647 42.547 23.647 37.075ZM28.372 35.098 28.376 35.098C28.408 35.098 28.594 35.108 28.606 35.182 28.606 35.182 28.226 35.445 28.076 35.842 27.963 36.122 27.973 36.456 28.021 36.679 28.023 36.688 28.048 36.7 28.058 36.697 28.268 36.639 28.472 36.586 28.689 36.539 28.701 36.537 28.728 36.509 28.73 36.497 28.789 36.171 29.002 35.716 29.308 35.459 29.39 35.39 29.52 35.304 29.659 35.24 29.825 35.164 29.943 35.13 30.091 35.13 30.195 35.13 30.235 35.119 30.376 35.156 30.462 35.181 30.504 35.227 30.54 35.272L30.558 35.294C30.586 35.329 30.479 35.281 30.302 35.357 30.124 35.433 29.891 35.626 29.742 35.81 29.573 36.018 29.486 36.257 29.479 36.404 29.479 36.417 29.484 36.446 29.492 36.447 29.707 36.482 29.936 36.532 30.134 36.604 30.142 36.607 30.166 36.599 30.17 36.592 30.184 36.566 30.199 36.54 30.213 36.513 30.327 36.307 30.482 36.112 30.632 35.964 30.739 35.859 30.911 35.785 31.004 35.751 31.089 35.719 31.182 35.703 31.279 35.703 31.438 35.703 31.571 35.747 31.672 35.818L31.692 35.833 31.758 35.887C31.758 35.887 31.823 35.954 31.803 35.967 31.783 35.981 31.434 36.046 31.146 36.387 30.917 36.657 30.888 36.747 30.873 36.814L30.87 36.826C30.869 36.829 30.869 36.833 30.868 36.837 30.852 36.909 30.857 36.936 30.931 36.989 31.332 37.252 31.381 37.472 31.402 37.615 31.425 37.771 31.334 37.987 31.209 37.841L31.2 37.83 31.172 37.801C30.933 37.521 30.757 37.442 30.596 37.378L30.563 37.365C30.553 37.361 30.542 37.357 30.531 37.353 30.158 37.204 29.8 37.129 29.467 37.119L29.417 37.118 29.366 37.118C28.942 37.118 28.596 37.194 28.278 37.303 27.71 37.498 27.292 37.708 26.964 37.966 26.907 38.01 26.848 38.054 26.789 38.097 26.665 38.189 26.483 38.349 26.434 38.399 26.385 38.449 26.469 38.477 26.507 38.499 26.592 38.545 26.78 38.634 26.84 38.755 26.899 38.876 26.981 39.019 26.861 39.161 26.8 39.233 26.749 39.247 26.621 39.255 26.493 39.264 26.371 39.176 26.25 39.035 26.214 38.986 26.139 38.872 26.104 38.84 26.101 38.838 26.09 38.834 26.073 38.834 26.052 38.834 26.016 38.849 26.014 38.851 25.968 38.849 25.87 39.02 25.846 39.058 25.79 39.148 25.79 39.157 25.705 39.243 25.597 39.354 25.553 39.375 25.437 39.375 25.362 39.375 25.216 39.332 25.152 39.22 25.089 39.108 25.01 38.92 25.154 38.741 25.204 38.679 25.263 38.636 25.321 38.593 25.352 38.571 25.383 38.548 25.411 38.523 25.416 38.518 25.42 38.513 25.427 38.507 25.304 38.42 25.177 38.342 25.086 38.263 25.016 38.202 24.979 38.1 24.982 37.983 24.987 37.851 25.023 37.753 25.107 37.69 25.177 37.637 25.264 37.608 25.352 37.608 25.478 37.608 25.593 37.665 25.677 37.767L25.692 37.787 25.849 37.999C25.849 37.999 25.858 38.018 25.872 38.033 25.885 38.048 25.902 38.045 25.921 38.028 25.988 37.97 26.037 37.936 26.107 37.883 26.193 37.815 26.34 37.697 26.364 37.677 26.388 37.657 26.369 37.636 26.369 37.636 26.305 37.513 26.26 37.408 26.225 37.302 26.122 36.994 26.094 36.744 26.139 36.54 26.222 36.056 26.78 35.905 26.796 35.954 26.796 35.954 26.555 36.176 26.607 36.584 26.658 36.993 26.786 37.19 26.806 37.226 26.833 37.262 26.851 37.248 26.864 37.241 27.034 37.158 27.221 37.046 27.415 36.975 27.422 36.973 27.431 36.952 27.429 36.944 27.303 36.45 27.364 36.062 27.572 35.667 27.711 35.402 28.081 35.098 28.372 35.098ZM30.245 30.003C30.245 30.003 30.509 30.044 30.432 30.097 30.409 30.113 30.391 30.125 30.374 30.137L30.356 30.149C30.321 30.174 30.281 30.203 30.2 30.269 30.064 30.38 29.847 30.583 29.674 30.872 29.471 31.208 29.462 31.698 29.499 31.958 29.504 31.993 29.711 31.967 29.923 31.931L29.976 31.922C30.17 31.888 30.355 31.848 30.379 31.842 30.431 31.827 30.458 31.772 30.469 31.736 30.481 31.696 30.494 31.654 30.508 31.61 30.629 31.212 30.717 30.735 31.048 30.5 31.26 30.35 31.437 30.257 31.666 30.257 31.796 30.257 31.92 30.29 32.069 30.352 32.071 30.352 32.074 30.353 32.077 30.354L32.09 30.359C32.135 30.374 32.223 30.408 32.174 30.431 32.114 30.46 31.689 30.651 31.479 30.964 31.269 31.278 31.255 31.413 31.227 31.599 31.199 31.727 31.339 31.762 31.339 31.762 31.586 31.779 31.83 31.811 32.058 31.854 32.129 31.867 32.182 31.773 32.199 31.744 32.307 31.553 32.415 31.452 32.599 31.284 32.772 31.126 32.986 31.028 33.165 31.028 33.61 31.026 33.83 31.356 33.767 31.378 33.746 31.385 33.713 31.397 33.677 31.411L33.647 31.423C33.616 31.435 33.586 31.447 33.564 31.455L33.545 31.463C33.538 31.466 33.533 31.468 33.53 31.469L33.527 31.47C33.357 31.534 33.117 31.635 32.807 32.02 32.793 32.037 32.753 32.059 32.819 32.118 33.177 32.439 33.531 32.944 33.559 33.448 33.561 33.489 33.586 33.673 33.523 33.701 33.46 33.73 33.213 33.186 32.537 32.812 32.142 32.588 31.695 32.48 31.209 32.445 31.1 32.437 30.994 32.434 30.89 32.434 30.468 32.434 30.082 32.479 29.691 32.543 28.916 32.669 27.962 33.041 27.933 33.052L27.932 33.052 27.822 33.105C27.543 33.236 26.992 33.497 26.735 33.684L26.708 33.703 26.73 33.722C26.845 33.821 26.87 33.845 26.941 34.013 27.035 34.234 26.974 34.478 26.789 34.621 26.709 34.683 26.64 34.709 26.559 34.709 26.517 34.709 26.474 34.702 26.427 34.692L26.398 34.686 26.37 34.68C26.12 34.628 26.036 34.427 25.977 34.274L25.971 34.258 25.95 34.202C25.944 34.213 25.939 34.223 25.934 34.232 25.895 34.305 25.86 34.373 25.723 34.462 25.619 34.53 25.514 34.565 25.412 34.565 25.26 34.565 25.145 34.489 25.022 34.341 24.839 34.121 24.965 33.833 25.095 33.719 25.215 33.615 25.246 33.587 25.25 33.583 25.221 33.55 25.197 33.526 25.178 33.507 25.119 33.446 25.111 33.431 25.042 33.324 24.975 33.22 24.956 33.085 24.99 32.954 25.027 32.812 25.12 32.694 25.245 32.629 25.314 32.593 25.406 32.574 25.505 32.574 25.691 32.574 25.926 32.648 26.031 32.856 26.067 32.928 26.076 32.985 26.103 33.056 26.122 33.107 26.142 33.158 26.162 33.206 26.167 33.21 26.182 33.217 26.19 33.219 26.366 33.129 26.668 32.989 26.89 32.868L26.929 32.846 27.047 32.78C27.047 32.78 27.095 32.765 27.077 32.695 27.035 32.531 26.94 32.196 26.965 31.952 26.993 31.661 27.068 31.42 27.228 31.17 27.572 30.57 28.226 30.624 28.164 30.681 28.101 30.738 27.806 31.115 27.717 31.62 27.676 31.843 27.694 32.011 27.722 32.206 27.734 32.293 27.742 32.399 27.794 32.428 27.83 32.448 27.934 32.406 28.037 32.361L28.076 32.344C28.114 32.327 28.151 32.311 28.183 32.299 28.347 32.236 28.57 32.208 28.72 32.166 28.807 32.142 28.782 32.095 28.782 32.076 28.807 31.406 28.948 30.918 29.212 30.55 29.428 30.25 29.851 30.003 30.245 30.003ZM20.055 29.128 10.834 29.128C10.895 29.331 10.961 29.534 11.031 29.738 11.369 30.714 11.789 31.692 12.29 32.664L12.29 32.664 23.647 32.664 23.647 30.725C22.397 30.621 21.182 30.102 20.232 29.286 20.172 29.235 20.113 29.181 20.055 29.128L20.055 29.128ZM29.537 17.149 18.572 17.149 18.584 25.216 18.584 25.361C18.586 26.522 19.02 27.626 19.84 28.555L19.84 28.555 20.228 28.953C20.275 28.997 20.331 29.048 20.388 29.097 21.31 29.889 22.475 30.379 23.667 30.479 23.667 30.479 23.9 30.497 24.159 30.497 24.302 30.497 24.46 30.479 24.62 30.461L24.62 30.461 24.907 30.426C25.251 30.374 25.601 30.281 25.939 30.15L25.939 30.15 26.196 30.041C26.596 29.872 26.976 29.658 27.326 29.407L27.326 29.407 27.341 29.397C28.305 28.81 28.827 27.82 28.889 27.699L28.893 27.689C28.894 27.688 28.894 27.687 28.895 27.687 29.315 26.945 29.524 26.167 29.526 25.36L29.526 25.36 29.536 18.1 29.536 17.41 29.537 17.149ZM18.913 17.42 29.158 17.424C29.179 17.424 29.181 17.433 29.181 17.454L29.181 17.454 29.179 25.492C29.179 25.87 29.109 26.256 28.959 26.705 28.595 27.79 27.789 28.778 26.745 29.419 25.944 29.911 24.974 30.192 24.084 30.192L24.084 30.192 24.069 30.192C22.83 30.188 21.567 29.696 20.602 28.842 19.523 27.887 18.903 26.559 18.9 25.198L18.9 25.198 18.889 17.45C18.889 17.429 18.892 17.42 18.913 17.42L18.913 17.42ZM19.132 17.667 19.132 25.198C19.135 26.487 19.735 27.747 20.761 28.655 21.682 29.471 22.889 29.941 24.071 29.945L24.071 29.945 24.084 29.945C24.931 29.945 25.855 29.677 26.619 29.207 27.615 28.597 28.384 27.656 28.729 26.626 28.871 26.202 28.937 25.842 28.937 25.492L28.937 25.492 28.939 17.67 19.132 17.667ZM24.287 19.879C24.29 19.908 24.262 19.925 24.221 19.946 24.164 19.976 24.101 20.017 24.073 20.075 24.035 20.155 24.002 20.246 24.011 20.334 24.017 20.387 24.065 20.433 24.112 20.459 24.179 20.497 24.258 20.503 24.335 20.504 24.48 20.505 24.512 20.464 24.672 20.405 24.833 20.346 24.935 20.362 25.106 20.373 25.224 20.381 25.317 20.403 25.413 20.473 25.449 20.5 25.442 20.534 25.43 20.538 25.407 20.545 25.384 20.518 25.36 20.522 25.28 20.536 25.191 20.544 25.137 20.569 25.042 20.612 25 20.627 24.955 20.714 24.941 20.74 24.929 20.791 24.943 20.829 24.957 20.867 24.997 20.893 25.007 20.921 25.035 21.001 25.058 21.049 25.106 21.119 25.115 21.132 25.144 21.146 25.157 21.156 25.311 21.289 25.464 21.39 25.6 21.543 25.637 21.584 25.642 21.638 25.661 21.691 25.668 21.709 25.651 21.739 25.635 21.729 25.621 21.72 25.604 21.708 25.577 21.684 25.557 21.666 25.53 21.637 25.494 21.622 25.381 21.579 25.339 21.579 25.218 21.581 25.175 21.582 25.091 21.621 25.138 21.639 25.21 21.666 25.3 21.757 25.346 21.824 25.445 21.967 25.523 22.071 25.515 22.32 25.515 22.328 25.496 22.335 25.491 22.328 25.458 22.271 25.396 22.197 25.33 22.155 25.221 22.085 25.121 22.043 25 22.054 24.976 22.057 24.907 22.054 24.914 22.078 24.921 22.103 25.065 22.263 25.106 22.382 25.154 22.522 25.193 22.675 25.168 22.822 25.167 22.83 25.137 22.836 25.132 22.83 25.091 22.78 25.053 22.745 25.01 22.709 24.968 22.673 24.921 22.637 24.861 22.612 24.777 22.579 24.618 22.611 24.541 22.658 24.443 22.716 24.395 22.77 24.338 22.869 24.278 22.971 24.252 23.077 24.24 23.195 24.226 23.323 24.243 23.493 24.306 23.604 24.377 23.73 24.473 23.811 24.605 23.866 24.768 23.934 24.953 23.931 25.129 23.937 25.348 23.944 25.566 23.912 25.784 23.905 25.993 23.899 26.204 23.873 26.409 23.91 26.577 23.94 26.733 24.012 26.879 24.101 27.006 24.179 27.101 24.301 27.219 24.392 27.231 24.402 27.26 24.387 27.273 24.378 27.357 24.326 27.471 24.095 27.48 24.007 27.496 23.837 27.473 23.765 27.392 23.615 27.318 23.479 27.21 23.327 27.126 23.183 27.037 23.031 26.875 22.873 26.807 22.711 26.753 22.584 26.746 22.493 26.779 22.359 26.8 22.272 26.878 22.199 26.949 22.155 26.966 22.144 26.983 22.166 26.975 22.189 26.956 22.24 26.946 22.315 26.963 22.367 26.989 22.446 27.038 22.539 27.102 22.591 27.124 22.609 27.177 22.583 27.188 22.557 27.218 22.489 27.2 22.382 27.226 22.312 27.273 22.187 27.304 22.046 27.396 21.951 27.553 21.788 27.774 21.748 27.961 21.639 27.978 21.629 27.994 21.607 28.009 21.582L28.024 21.558C28.049 21.518 28.074 21.481 28.105 21.492 28.163 21.514 28.13 21.653 28.087 21.719 28.023 21.814 27.95 21.876 27.88 21.966 27.785 22.089 27.705 22.22 27.635 22.359 27.601 22.425 27.575 22.505 27.589 22.579 27.6 22.641 27.648 22.7 27.704 22.728 27.739 22.745 27.782 22.712 27.812 22.689 27.871 22.642 27.928 22.589 27.966 22.524 28.002 22.463 27.982 22.382 28.016 22.32 28.023 22.306 28.064 22.308 28.074 22.32 28.107 22.357 28.144 22.403 28.144 22.453L28.144 22.496C28.144 22.545 28.142 22.57 28.129 22.634 28.125 22.647 28.091 22.677 28.081 22.706 28.07 22.735 28.056 22.759 28.049 22.771 27.991 22.872 27.925 22.956 27.851 22.971 27.833 22.975 27.824 23.006 27.834 23.022 27.88 23.094 27.938 23.19 28.013 23.231 28.083 23.269 28.164 23.271 28.251 23.246 28.294 23.234 28.327 23.205 28.376 23.189 28.395 23.182 28.385 23.195 28.383 23.216 28.381 23.253 28.376 23.319 28.36 23.352 28.327 23.418 28.3 23.442 28.241 23.485 28.162 23.542 28.072 23.546 27.981 23.564 27.938 23.573 27.874 23.604 27.889 23.646 27.901 23.678 27.926 23.754 27.956 23.782 27.999 23.82 28.023 23.837 28.081 23.843 28.146 23.85 28.223 23.823 28.278 23.787 28.34 23.745 28.375 23.668 28.429 23.615 28.44 23.604 28.472 23.612 28.471 23.628 28.463 23.719 28.452 23.802 28.406 23.882 28.34 23.995 28.242 24.073 28.205 24.101 28.18 24.121 28.149 24.148 28.151 24.18 28.155 24.23 28.194 24.271 28.221 24.314 28.251 24.362 28.3 24.386 28.352 24.4 28.405 24.414 28.451 24.406 28.509 24.4 28.529 24.398 28.526 24.436 28.512 24.45 28.456 24.509 28.403 24.533 28.328 24.559 28.267 24.579 28.189 24.586 28.127 24.571 27.999 24.541 27.916 24.492 27.79 24.455 27.72 24.434 27.648 24.418 27.579 24.441 27.511 24.463 27.454 24.515 27.411 24.572 27.389 24.602 27.368 24.637 27.365 24.675 27.355 24.776 27.404 24.883 27.373 24.981 27.332 25.107 27.306 25.236 27.244 25.354 27.196 25.446 27.126 25.534 27.064 25.617 27 25.702 26.918 25.735 26.876 25.83 26.86 25.865 26.841 25.889 26.816 25.931 26.787 25.976 26.716 26.17 26.725 26.297 26.733 26.42 26.794 26.528 26.857 26.629 26.938 26.755 27.018 26.882 27.098 27.008 27.117 27.049 27.118 27.097 27.112 27.141 27.106 27.185 27.085 27.231 27.043 27.251 26.725 27.449 26.486 27.722 26.386 28.093 26.384 28.1 26.382 28.106 26.381 28.113L26.38 28.116 26.38 28.12C26.374 28.145 26.367 28.157 26.346 28.188 26.326 28.219 26.244 28.292 26.047 28.341 25.96 28.363 25.874 28.387 25.789 28.414 25.768 28.421 25.749 28.432 25.733 28.448 25.728 28.453 25.724 28.459 25.72 28.465 25.716 28.472 25.712 28.478 25.71 28.485 25.691 28.532 25.706 28.581 25.733 28.621 25.757 28.654 25.779 28.691 25.78 28.734 25.781 28.758 25.774 28.781 25.758 28.8 25.746 28.815 25.731 28.826 25.714 28.836 25.605 28.898 25.496 28.944 25.375 28.974 25.295 28.993 25.239 28.972 25.264 28.88 25.308 28.72 25.36 28.566 25.418 28.412 25.457 28.315 25.552 28.254 25.627 28.188 25.734 28.094 25.845 28.011 25.961 27.93 26.036 27.875 26.099 27.814 26.147 27.732 26.241 27.58 26.34 27.433 26.448 27.291 26.497 27.231 26.498 27.162 26.492 27.088 26.478 26.955 26.383 26.848 26.269 26.791 26.225 26.771 26.18 26.754 26.135 26.738 25.971 26.678 25.86 26.593 25.748 26.458 25.723 26.427 25.691 26.396 25.649 26.395 25.55 26.397 25.523 26.537 25.52 26.614 25.515 26.727 25.511 26.839 25.526 26.951 25.532 26.989 25.541 27.03 25.532 27.068 25.523 27.097 25.498 27.113 25.471 27.122 25.163 27.25 24.856 27.369 24.582 27.566 24.542 27.598 24.511 27.635 24.485 27.679 24.476 27.694 24.468 27.709 24.459 27.723 24.376 27.855 24.251 27.889 24.107 27.852 24.085 27.846 24.061 27.84 24.038 27.835 24.002 27.829 23.967 27.842 23.936 27.862 23.912 27.877 23.89 27.896 23.873 27.919 23.865 27.928 23.859 27.938 23.855 27.949 23.855 27.952 23.854 27.956 23.853 27.96 23.853 27.964 23.853 27.968 23.853 27.971 23.854 27.981 23.857 27.99 23.86 28 23.872 28.031 23.883 28.062 23.895 28.094 23.922 28.16 23.905 28.223 23.835 28.248 23.731 28.289 23.628 28.32 23.516 28.335 23.452 28.344 23.398 28.319 23.413 28.244 23.434 28.113 23.475 27.99 23.524 27.867 23.542 27.819 23.566 27.789 23.613 27.77 23.72 27.71 23.808 27.634 23.894 27.547 23.966 27.472 24.061 27.444 24.16 27.432 24.319 27.413 24.442 27.367 24.571 27.271 24.696 27.179 24.819 27.089 24.926 26.976 25.093 26.77 25.08 26.472 24.931 26.263L24.916 26.244 24.886 26.186C24.856 26.139 24.838 26.069 24.813 26.019 24.787 25.967 24.752 25.913 24.752 25.854 24.752 25.745 24.794 25.642 24.801 25.533 24.802 25.514 24.792 25.499 24.774 25.493 24.704 25.47 24.632 25.449 24.559 25.447 24.266 25.436 23.964 25.527 23.68 25.454 23.471 25.4 23.252 25.287 23.066 25.169 22.983 25.115 22.932 25.059 22.847 25.007 22.825 24.993 22.823 24.998 22.803 25.015 22.651 25.147 22.367 25.235 22.111 25.219L22.082 25.216 22.078 25.216C21.922 25.189 21.769 25.149 21.615 25.094 21.501 25.051 21.315 24.976 21.205 25.069 21.161 25.109 21.17 25.165 21.172 25.218 21.184 25.382 21.183 25.541 21.156 25.704 21.15 25.721 21.151 25.739 21.161 25.755 21.164 25.758 21.166 25.762 21.17 25.765 21.186 25.779 21.207 25.788 21.227 25.797 21.232 25.799 21.237 25.801 21.242 25.803 21.288 25.819 21.296 25.84 21.321 25.895 21.331 25.918 21.336 25.93 21.347 25.992 21.354 26.038 21.348 26.065 21.343 26.093 21.339 26.114 21.334 26.135 21.329 26.155 21.311 26.227 21.311 26.302 21.341 26.37 21.356 26.403 21.377 26.435 21.408 26.454 21.413 26.457 21.417 26.459 21.423 26.461 21.428 26.463 21.433 26.464 21.438 26.465 21.444 26.466 21.449 26.466 21.455 26.466 21.46 26.466 21.466 26.465 21.471 26.464 21.482 26.462 21.492 26.457 21.502 26.452 21.504 26.451 21.506 26.449 21.508 26.449 21.524 26.436 21.543 26.426 21.563 26.428 21.569 26.429 21.575 26.431 21.58 26.433 21.636 26.452 21.674 26.489 21.676 26.551 21.68 26.678 21.654 26.79 21.603 26.904 21.581 26.955 21.531 26.969 21.483 26.952 21.473 26.948 21.463 26.944 21.454 26.94 21.366 26.896 21.297 26.83 21.234 26.754 21.188 26.7 21.164 26.645 21.157 26.574 21.153 26.529 21.147 26.477 21.112 26.445 21.098 26.433 21.081 26.424 21.064 26.418 21.019 26.404 20.982 26.383 20.952 26.346 20.87 26.243 20.853 26.125 20.871 25.998 20.912 25.649 20.904 25.313 20.799 24.976 20.778 24.916 20.781 24.863 20.801 24.804 20.81 24.781 20.818 24.758 20.827 24.735 20.83 24.726 20.833 24.718 20.837 24.709 20.851 24.682 20.875 24.664 20.904 24.658 20.919 24.655 20.935 24.654 20.95 24.654 21.193 24.645 21.427 24.623 21.657 24.543 21.689 24.53 21.722 24.525 21.756 24.526 21.793 24.527 21.832 24.53 21.87 24.528 21.917 24.53 21.965 24.485 21.908 24.45 21.86 24.406 21.817 24.361 21.776 24.311 21.757 24.283 21.727 24.264 21.694 24.276 21.689 24.278 21.684 24.28 21.679 24.283 21.674 24.286 21.669 24.289 21.665 24.292 21.624 24.316 21.583 24.337 21.534 24.328 21.488 24.318 21.452 24.285 21.425 24.246 21.361 24.146 21.324 24.036 21.288 23.923 21.247 23.792 21.217 23.644 21.117 23.543 21.039 23.468 20.926 23.427 20.818 23.443 20.727 23.458 20.665 23.528 20.613 23.6 20.579 23.647 20.547 23.693 20.514 23.74 20.492 23.772 20.471 23.806 20.467 23.846 20.467 23.855 20.467 23.864 20.467 23.873 20.469 23.89 20.473 23.907 20.479 23.923 20.51 24.015 20.494 24.108 20.419 24.17L20.319 24.25C20.303 24.263 20.286 24.276 20.27 24.29 20.24 24.315 20.224 24.348 20.22 24.387 20.214 24.434 20.207 24.463 20.202 24.482 20.196 24.505 20.195 24.529 20.197 24.554 20.197 24.56 20.199 24.566 20.2 24.572 20.209 24.599 20.228 24.62 20.25 24.636 20.257 24.642 20.264 24.648 20.27 24.655 20.277 24.663 20.285 24.672 20.29 24.682 20.308 24.721 20.299 24.762 20.271 24.793 20.26 24.806 20.247 24.818 20.234 24.829 20.14 24.901 20.044 24.956 19.934 24.999 19.922 25.004 19.907 25.009 19.894 25.011 19.834 25.016 19.814 24.968 19.811 24.915 19.806 24.843 19.806 24.772 19.807 24.701 19.809 24.612 19.841 24.549 19.897 24.482 19.983 24.377 20.001 24.257 20.009 24.123 20.013 24.049 20.02 23.971 20.072 23.914 20.112 23.872 20.139 23.824 20.162 23.77 20.178 23.733 20.197 23.698 20.224 23.667 20.384 23.471 20.531 23.268 20.667 23.054 20.751 22.916 20.91 22.748 21.039 22.937 21.073 22.989 21.113 23.034 21.162 23.072 21.292 23.169 21.427 23.254 21.568 23.334 21.711 23.415 21.738 23.275 21.763 23.152L21.765 23.14 21.767 23.135C21.782 23.084 21.796 23.035 21.827 22.988 21.919 22.849 22.021 22.705 22.146 22.594 22.168 22.574 22.194 22.554 22.221 22.534L22.304 22.474C22.331 22.454 22.357 22.434 22.38 22.414 22.41 22.389 22.417 22.389 22.431 22.351 22.443 22.316 22.467 22.272 22.483 22.227 22.499 22.183 22.506 22.139 22.521 22.105 22.543 22.054 22.572 22.021 22.584 21.971L22.589 21.949 22.589 21.944C22.59 21.94 22.589 21.94 22.589 21.936 22.589 21.932 22.589 21.928 22.588 21.924 22.587 21.921 22.586 21.917 22.585 21.913 22.578 21.898 22.566 21.885 22.551 21.876 22.508 21.851 22.462 21.835 22.413 21.834L22.391 21.834 22.387 21.834C22.309 21.838 22.225 21.847 22.154 21.882 22.115 21.901 22.087 21.929 22.069 21.969 22.052 22.006 22.031 22.041 22.003 22.07 21.948 22.127 21.859 22.128 21.798 22.08 21.763 22.053 21.779 22.009 21.8 21.979 21.819 21.952 21.841 21.927 21.856 21.897 21.862 21.886 21.865 21.873 21.863 21.86 21.863 21.857 21.863 21.854 21.862 21.852 21.861 21.849 21.859 21.847 21.858 21.844 21.856 21.84 21.853 21.837 21.85 21.834 21.831 21.816 21.804 21.815 21.78 21.823 21.735 21.835 21.692 21.85 21.65 21.867 21.583 21.896 21.516 21.867 21.501 21.791 21.494 21.763 21.492 21.733 21.495 21.704 21.498 21.664 21.522 21.635 21.559 21.624 21.59 21.615 21.637 21.596 21.63 21.556 21.629 21.544 21.629 21.532 21.63 21.52 21.633 21.506 21.64 21.493 21.649 21.482 21.662 21.466 21.679 21.453 21.696 21.441 21.868 21.322 22.039 21.204 22.197 21.068 22.228 21.037 22.26 21.033 22.298 21.052 22.304 21.055 22.309 21.058 22.315 21.061 22.392 21.102 22.468 21.107 22.553 21.092 22.58 21.088 22.609 21.075 22.617 21.046 22.617 21.044 22.618 21.041 22.617 21.038 22.617 21.035 22.617 21.032 22.616 21.029 22.616 21.026 22.615 21.023 22.614 21.02 22.612 21.018 22.611 21.015 22.609 21.013 22.595 20.996 22.574 20.986 22.553 20.98 22.523 20.969 22.492 20.959 22.462 20.947 22.433 20.936 22.405 20.924 22.38 20.907 22.347 20.885 22.332 20.852 22.34 20.812 22.374 20.638 22.557 20.631 22.704 20.643L22.72 20.645 22.726 20.645C22.798 20.643 22.889 20.63 22.947 20.609 23.04 20.575 23.113 20.501 23.202 20.459 23.292 20.416 23.387 20.369 23.479 20.333 23.505 20.323 23.531 20.329 23.556 20.318 23.577 20.309 23.596 20.296 23.61 20.279 23.672 20.204 23.756 20.073 23.834 20.018 23.958 19.93 24.062 19.922 24.204 19.871 24.227 19.863 24.284 19.856 24.287 19.879ZM23.647 9.507C22.7 9.523 21.825 9.558 20.867 9.645 18.695 9.842 16.523 10.176 14.443 10.706 12.891 11.101 11.4 11.616 9.943 12.206 9.961 13.819 9.989 15.744 10.023 17.686L10.028 17.993C10.07 20.447 10.12 22.903 10.166 24.766L10.166 24.766 18.34 24.766 18.335 21.383 18.31 21.381C18.179 21.369 18.028 21.358 17.906 21.358 16.848 21.358 15.252 21.763 14.206 22.277 13.988 22.385 13.808 22.474 13.657 22.549L13.598 22.579C13.148 22.804 12.973 22.9 12.804 23.004L12.782 23.018C12.775 23.022 12.768 23.027 12.76 23.031L12.739 23.045 12.728 23.051 12.717 23.058 12.68 23.086 12.72 23.109C12.928 23.232 13.031 23.434 13.066 23.515 13.134 23.675 13.05 23.91 12.894 23.999 12.809 24.047 12.702 24.074 12.599 24.074 12.475 24.074 12.368 24.035 12.297 23.965 12.254 23.921 12.219 23.874 12.187 23.827L12.168 23.798 12.162 23.791C12.149 23.771 12.135 23.75 12.12 23.73L12.098 23.701 12.079 23.677 12.056 23.697C12.032 23.717 12.008 23.739 11.984 23.761L11.948 23.795 11.942 23.801C11.857 23.881 11.768 23.964 11.672 24.019 11.585 24.068 11.492 24.095 11.403 24.095 11.27 24.095 11.152 24.038 11.071 23.935 10.998 23.843 10.971 23.727 10.995 23.608 11.022 23.477 11.109 23.36 11.236 23.285L11.258 23.272 11.284 23.258C11.359 23.218 11.431 23.18 11.491 23.129L11.517 23.107 11.533 23.092 11.524 23.072C11.498 23.018 11.458 22.969 11.415 22.917 11.365 22.855 11.313 22.791 11.28 22.711 11.202 22.518 11.294 22.29 11.427 22.182 11.485 22.135 11.563 22.11 11.651 22.11 11.748 22.11 11.846 22.139 11.919 22.191 12.052 22.283 12.12 22.428 12.182 22.572L12.194 22.599 12.2 22.612 12.22 22.658 12.235 22.691 12.264 22.67C12.306 22.64 12.349 22.611 12.392 22.582L12.458 22.539 12.467 22.533C12.563 22.47 12.663 22.404 12.775 22.32L12.818 22.287 12.836 22.273 12.828 22.252C12.809 22.205 12.789 22.156 12.769 22.105 12.626 21.753 12.448 21.316 12.554 20.929 12.695 20.416 13.048 20.08 13.495 20.029 13.534 20.029 13.611 20.046 13.63 20.061L13.633 20.064 13.633 20.066C13.631 20.068 13.628 20.073 13.62 20.08 13.525 20.162 13.242 20.529 13.198 21.114 13.173 21.387 13.217 21.692 13.314 21.92L13.329 21.954 13.34 21.979 13.366 21.969C13.5 21.918 13.633 21.865 13.766 21.812 13.933 21.746 14.092 21.682 14.242 21.634L14.298 21.617 14.329 21.607 14.317 21.577C14.189 21.249 14.108 20.57 14.291 20.146 14.458 19.758 15.026 19.416 15.298 19.402L15.315 19.402 15.337 19.403C15.417 19.404 15.459 19.409 15.48 19.414 15.473 19.419 15.465 19.425 15.455 19.432 15.323 19.526 14.922 19.813 14.759 20.478 14.677 20.775 14.71 21.114 14.765 21.325L14.772 21.349 14.779 21.377 14.808 21.37C14.924 21.339 15.077 21.291 15.233 21.24L15.327 21.209C15.358 21.199 15.389 21.189 15.42 21.179L15.465 21.164 15.474 21.161C15.597 21.121 15.714 21.082 15.81 21.052L15.845 21.041 15.867 21.034 15.866 21.011C15.866 21.004 15.865 20.995 15.864 20.983 15.828 20.626 15.974 20.023 16.281 19.632 16.527 19.32 16.954 19.004 17.295 19.004 17.41 19.004 17.533 19.023 17.547 19.036 17.544 19.068 17.544 19.07 17.493 19.106L17.481 19.114 17.434 19.147C17.311 19.234 16.716 19.791 16.552 20.126 16.439 20.357 16.365 20.657 16.376 20.837L16.378 20.859 16.382 20.891 16.413 20.886C16.893 20.802 17.32 20.755 17.716 20.742L17.79 20.74 17.81 20.739 17.817 20.72C17.864 20.592 17.915 20.479 17.97 20.384 18.063 20.221 18.183 20.104 18.333 19.977L18.333 19.977 18.329 17.845C18.16 17.789 18.055 17.728 17.654 17.695 17.481 17.68 17.284 17.707 17.071 17.729 16.232 17.819 15.329 18.033 14.311 18.383 13.73 18.583 13.28 18.819 12.773 19.092L12.696 19.133 12.404 19.289 12.373 19.305 12.393 19.333 12.408 19.355C12.484 19.461 12.588 19.606 12.571 19.735 12.551 19.895 12.519 20.045 12.352 20.137 12.294 20.169 12.222 20.187 12.151 20.187 12.015 20.187 11.898 20.126 11.829 20.019 11.805 19.982 11.78 19.944 11.755 19.907 11.735 19.877 11.716 19.848 11.697 19.819L11.669 19.775 11.649 19.743 11.622 19.77C11.512 19.886 11.387 19.966 11.25 20.007 11.18 20.029 11.115 20.039 11.057 20.039 10.911 20.039 10.799 19.972 10.723 19.84 10.617 19.655 10.668 19.444 10.86 19.277 10.953 19.195 11.059 19.144 11.188 19.098L11.224 19.085 11.26 19.072 11.239 19.04C11.217 19.005 11.191 18.972 11.158 18.931 11.118 18.88 11.076 18.828 11.045 18.767 10.997 18.675 10.989 18.564 11.022 18.464 11.049 18.38 11.101 18.316 11.17 18.283 11.247 18.245 11.325 18.226 11.4 18.226 11.536 18.226 11.654 18.29 11.741 18.413 11.8 18.495 11.835 18.624 11.85 18.686L11.853 18.699 11.86 18.734 11.893 18.72C12.106 18.632 12.238 18.573 12.463 18.458L12.506 18.436 12.522 18.428 12.522 18.41C12.523 18.35 12.522 18.287 12.522 18.215 12.519 17.934 12.516 17.589 12.605 17.296L12.62 17.248 12.637 17.198 12.662 17.123C12.78 16.774 12.858 16.544 13.463 16.339 13.512 16.324 13.588 16.314 13.656 16.314 13.705 16.314 13.734 16.319 13.748 16.324 13.658 16.398 13.589 16.471 13.587 16.474 13.403 16.667 13.282 16.895 13.218 17.172 13.15 17.467 13.152 17.859 13.195 18.046L13.2 18.065 13.209 18.097 13.24 18.085C13.573 17.951 13.871 17.844 14.149 17.759L14.209 17.741 14.23 17.734 14.231 17.668C14.234 17.383 14.241 16.905 14.421 16.484 14.622 16.015 15.016 15.731 15.479 15.719L15.509 15.719 15.551 15.72C15.606 15.721 15.71 15.737 15.756 15.753 15.705 15.786 15.644 15.835 15.608 15.865L15.592 15.878C15.584 15.885 15.578 15.89 15.577 15.89 15.348 16.066 15.201 16.276 15.026 16.58 14.847 16.89 14.803 17.369 14.797 17.443L14.797 17.447 14.793 17.493 14.836 17.478C15.068 17.397 15.321 17.346 15.572 17.296 15.689 17.272 15.81 17.248 15.929 17.22L16.019 17.199 16.038 17.194 16.041 17.175C16.051 17.12 16.058 17.068 16.067 17.015 16.118 16.677 16.162 16.385 16.499 16.011 16.933 15.532 17.5 15.495 17.664 15.495 17.718 15.495 17.769 15.498 17.816 15.505 17.872 15.513 18.046 15.579 18.087 15.618 18.067 15.624 18.032 15.633 17.997 15.642 17.785 15.695 17.342 15.806 17.03 16.208 16.882 16.387 16.78 16.583 16.719 16.809 16.683 16.938 16.675 17.049 16.673 17.098L16.673 17.107 16.672 17.14 16.705 17.138C17.032 17.113 17.435 17.084 17.84 17.072L17.921 17.07 17.941 17.07 17.948 17.05C18.112 16.578 18.347 16.28 18.712 16.084 18.851 16.009 19.079 15.96 19.293 15.96 19.507 15.96 19.701 16.006 19.855 16.094 19.913 16.126 19.968 16.166 19.986 16.188 19.962 16.197 19.926 16.208 19.889 16.219L19.857 16.229C19.787 16.25 19.72 16.269 19.719 16.269 19.338 16.382 19.006 16.546 18.774 16.836L18.749 16.868 18.704 16.902 23.647 16.902ZM37.917 21.004 29.775 21.004 29.77 24.631 37.838 24.631C37.864 23.569 37.89 22.325 37.917 21.004L37.917 21.004ZM23.423 20.788C23.409 20.797 23.398 20.814 23.409 20.826 23.438 20.861 23.485 20.876 23.519 20.907 23.541 20.928 23.56 20.953 23.574 20.98 23.588 21.01 23.612 21.045 23.625 21.075 23.654 21.142 23.676 21.202 23.698 21.271 23.732 21.379 23.762 21.492 23.777 21.604 23.789 21.697 23.786 21.791 23.79 21.884 23.792 21.928 23.792 21.971 23.79 22.014 23.789 22.051 23.789 22.089 23.786 22.125 23.782 22.179 23.779 22.228 23.779 22.282 23.779 22.307 23.776 22.332 23.778 22.41 23.782 22.522 23.8 22.599 23.849 22.599 23.89 22.6 23.941 22.592 23.979 22.571 24.058 22.529 24.103 22.446 24.113 22.333 24.142 22.018 24.172 21.77 24.113 21.415 24.078 21.2 24.025 20.996 23.818 20.837 23.691 20.74 23.534 20.71 23.423 20.788ZM24.875 18.101 24.894 18.102C25.062 18.106 25.194 18.2 25.244 18.355 25.254 18.382 25.245 18.415 25.222 18.434 25.205 18.45 25.181 18.458 25.154 18.458 25.123 18.458 25.097 18.442 25.085 18.418 25.045 18.337 24.954 18.274 24.877 18.274 24.788 18.276 24.716 18.331 24.668 18.434 24.609 18.559 24.583 18.669 24.582 18.792 24.582 18.933 24.606 19.053 24.654 19.158 24.705 19.269 24.784 19.323 24.896 19.323 24.985 19.323 25.148 19.184 25.158 18.955L25.158 18.931 25.158 18.869 24.945 18.869C24.89 18.869 24.853 18.829 24.853 18.77 24.853 18.735 24.862 18.695 24.93 18.69L24.945 18.69 25.248 18.69C25.289 18.69 25.318 18.702 25.336 18.727 25.356 18.755 25.363 18.78 25.363 18.831 25.363 18.906 25.36 18.994 25.344 19.077 25.344 19.08 25.285 19.355 25.11 19.456 25.03 19.503 24.953 19.525 24.874 19.525 24.723 19.523 24.602 19.444 24.516 19.291 24.44 19.153 24.401 18.986 24.401 18.792 24.401 18.608 24.442 18.448 24.527 18.303 24.608 18.164 24.715 18.101 24.875 18.101ZM21.333 18.118C21.395 18.118 21.43 18.153 21.43 18.215 21.43 18.272 21.399 18.307 21.345 18.312L21.333 18.312 21.156 18.312 21.156 19.411C21.156 19.48 21.12 19.519 21.057 19.519 20.998 19.519 20.963 19.485 20.958 19.425L20.958 19.412 20.958 18.312 20.776 18.312C20.714 18.312 20.679 18.277 20.679 18.215 20.679 18.157 20.71 18.123 20.764 18.118L20.776 18.118 21.333 18.118ZM20.143 18.107C20.225 18.107 20.345 18.134 20.406 18.18 20.482 18.236 20.522 18.292 20.523 18.341 20.523 18.365 20.515 18.387 20.499 18.405 20.482 18.424 20.46 18.434 20.434 18.434 20.419 18.434 20.39 18.434 20.373 18.411 20.325 18.343 20.233 18.302 20.127 18.301 20.005 18.301 19.917 18.359 19.891 18.455 19.879 18.498 19.887 18.543 19.911 18.584 19.938 18.629 19.983 18.662 20.033 18.673 20.051 18.677 20.07 18.68 20.09 18.683L20.121 18.688 20.128 18.689C20.171 18.695 20.22 18.703 20.269 18.715 20.361 18.738 20.431 18.775 20.489 18.829 20.554 18.891 20.583 18.97 20.587 19.091 20.592 19.228 20.522 19.326 20.48 19.372 20.408 19.453 20.271 19.508 20.133 19.514L20.109 19.515 20.092 19.514C19.956 19.51 19.722 19.42 19.68 19.295 19.67 19.266 19.681 19.21 19.696 19.188 19.711 19.167 19.75 19.157 19.773 19.157 19.781 19.157 19.79 19.159 19.796 19.161 19.817 19.169 19.837 19.186 19.861 19.206 19.912 19.247 19.982 19.305 20.106 19.307 20.187 19.307 20.3 19.275 20.338 19.226 20.402 19.146 20.393 19.081 20.375 19.04 20.336 18.951 20.211 18.886 20.072 18.882 19.963 18.878 19.869 18.839 19.801 18.771 19.724 18.692 19.684 18.577 19.693 18.455 19.7 18.351 19.758 18.256 19.852 18.191 19.923 18.142 20.015 18.112 20.114 18.108L20.141 18.107 20.143 18.107ZM26.036 18.092C26.089 18.092 26.147 18.145 26.169 18.197L26.173 18.208 26.555 19.358C26.57 19.402 26.567 19.442 26.55 19.469 26.533 19.494 26.505 19.507 26.464 19.509 26.421 19.509 26.384 19.486 26.368 19.449L26.365 19.439 26.31 19.255 26.305 19.238 25.785 19.238 25.78 19.255 25.757 19.345 25.73 19.443C25.712 19.507 25.668 19.513 25.618 19.514 25.592 19.514 25.564 19.491 25.549 19.47 25.532 19.447 25.525 19.421 25.53 19.397L25.533 19.386 25.897 18.213C25.916 18.153 25.969 18.092 26.036 18.092ZM24.182 18.108C24.244 18.108 24.279 18.144 24.279 18.205 24.279 18.263 24.248 18.298 24.194 18.302L24.182 18.302 24.005 18.302 24.005 19.401C24.005 19.47 23.969 19.509 23.905 19.509 23.846 19.509 23.811 19.475 23.807 19.415L23.806 19.402 23.806 18.302 23.625 18.302C23.562 18.302 23.527 18.268 23.527 18.205 23.527 18.147 23.557 18.113 23.612 18.108L23.625 18.108 24.182 18.108ZM23.301 18.108C23.363 18.108 23.399 18.144 23.399 18.205 23.399 18.263 23.368 18.298 23.313 18.302L23.301 18.302 23.124 18.302 23.124 19.401C23.124 19.47 23.088 19.509 23.025 19.509 22.966 19.509 22.931 19.475 22.926 19.415L22.926 19.402 22.926 18.302 22.744 18.302C22.681 18.302 22.647 18.268 22.647 18.205 22.647 18.147 22.677 18.113 22.732 18.108L22.744 18.108 23.301 18.108ZM28.49 18.108C28.552 18.108 28.587 18.144 28.587 18.205 28.587 18.263 28.556 18.298 28.502 18.302L28.489 18.302 28.313 18.302 28.313 19.401C28.313 19.47 28.277 19.509 28.214 19.509 28.155 19.509 28.119 19.475 28.115 19.415L28.114 19.402 28.114 18.302 27.933 18.302C27.871 18.302 27.835 18.267 27.835 18.205 27.835 18.147 27.865 18.113 27.921 18.108L27.933 18.108 28.49 18.108ZM22.401 18.111C22.46 18.111 22.495 18.146 22.5 18.206L22.5 18.219 22.5 18.916C22.5 19.108 22.472 19.242 22.412 19.337 22.339 19.45 22.222 19.505 22.053 19.505 21.889 19.505 21.768 19.448 21.693 19.338 21.631 19.246 21.599 19.119 21.595 18.949L21.595 18.915 21.595 18.218C21.595 18.15 21.631 18.111 21.694 18.111 21.753 18.111 21.789 18.146 21.793 18.206L21.793 18.219 21.793 18.979C21.793 19.085 21.813 19.166 21.852 19.222 21.895 19.282 21.961 19.312 22.053 19.312 22.144 19.312 22.208 19.282 22.248 19.222 22.281 19.172 22.299 19.101 22.302 19.006L22.302 18.979 22.302 18.219C22.302 18.151 22.338 18.111 22.401 18.111ZM26.874 18.113 27.18 18.113C27.24 18.114 27.4 18.124 27.5 18.206 27.551 18.249 27.669 18.365 27.669 18.538 27.67 18.693 27.638 18.782 27.557 18.857 27.505 18.904 27.466 18.94 27.398 18.968L27.374 18.977 27.343 18.989 27.364 19.015 27.59 19.31C27.608 19.333 27.627 19.362 27.625 19.398 27.624 19.45 27.589 19.48 27.531 19.481 27.5 19.481 27.473 19.469 27.453 19.446L27.444 19.436 27.159 19.031 27.151 19.02 27.139 19.02 26.991 19.022 26.967 19.022 26.967 19.393C26.967 19.461 26.931 19.5 26.868 19.5 26.81 19.5 26.774 19.465 26.769 19.405L26.769 19.392 26.769 18.223C26.769 18.192 26.778 18.166 26.795 18.145 26.81 18.126 26.832 18.116 26.861 18.113L26.874 18.113ZM26.04 18.329 25.826 19.081 26.265 19.081 26.04 18.329ZM26.985 18.302 26.961 18.302 26.961 18.83 27.165 18.83C27.308 18.83 27.477 18.757 27.48 18.551 27.481 18.49 27.456 18.434 27.399 18.375 27.357 18.332 27.295 18.307 27.218 18.303L27.196 18.302 26.985 18.302ZM38.059 13.386 24.146 13.386 24.146 16.902 37.996 16.902C38.019 15.682 38.04 14.485 38.059 13.386L38.059 13.386ZM18.908 10.962C19.072 10.962 19.215 10.98 19.255 10.993 19.317 11.014 19.474 11.099 19.497 11.136 19.468 11.165 19.384 11.2 19.335 11.217 18.913 11.359 18.585 11.572 18.36 11.851 18.164 12.093 18.027 12.445 17.953 12.895L17.947 12.932 17.984 12.93C18.255 12.918 18.614 12.904 18.99 12.904 19.113 12.904 19.242 12.905 19.352 12.922L19.373 12.924 19.383 12.905C19.638 12.378 19.975 12.031 20.386 11.872 20.536 11.814 20.732 11.78 20.923 11.78L20.959 11.78C21.474 11.78 21.623 12.011 21.666 12.126 21.652 12.129 21.62 12.134 21.551 12.134 21.503 12.134 21.447 12.132 21.387 12.13L21.355 12.129C21.334 12.128 21.313 12.128 21.292 12.128 20.972 12.128 20.661 12.251 20.492 12.356 20.302 12.475 20.127 12.662 19.987 12.899L19.963 12.938 20.008 12.945C20.397 13.006 20.71 13.114 20.964 13.277 21.273 13.473 21.528 13.793 21.57 14.037 21.598 14.2 21.594 14.258 21.59 14.277 21.588 14.275 21.585 14.273 21.581 14.27 21.503 14.194 21.404 14.113 21.401 14.111 21.186 13.933 20.748 13.684 20.086 13.501 19.562 13.356 19.327 13.37 18.695 13.412 17.687 13.479 17.107 13.563 16.15 13.81 14.583 14.215 13.962 14.432 12.334 15.287L12.316 15.297 12.319 15.317C12.32 15.329 12.323 15.338 12.328 15.347 12.348 15.372 12.37 15.397 12.395 15.424 12.463 15.498 12.548 15.59 12.558 15.728 12.57 15.906 12.48 16.083 12.339 16.156 12.265 16.195 12.181 16.216 12.097 16.216 11.989 16.216 11.887 16.182 11.802 16.117 11.756 16.082 11.718 16.036 11.68 15.992 11.651 15.958 11.621 15.922 11.591 15.891L11.571 15.872 11.55 15.89C11.427 16.002 11.224 16.14 11.056 16.164 11.045 16.166 11.035 16.168 11.025 16.171 11.011 16.174 10.998 16.177 10.982 16.177 10.912 16.177 10.829 16.159 10.765 16.129 10.69 16.095 10.625 16.022 10.595 15.939 10.515 15.715 10.657 15.523 10.734 15.419 10.799 15.331 10.935 15.263 11.072 15.203L11.105 15.188 11.085 15.158C11.033 15.079 10.976 14.986 10.96 14.883 10.917 14.593 11.055 14.47 11.181 14.395 11.245 14.357 11.324 14.337 11.41 14.337 11.51 14.337 11.61 14.364 11.693 14.413 11.796 14.474 11.848 14.595 11.893 14.702 11.91 14.743 11.927 14.783 11.935 14.808L11.947 14.842 11.978 14.825C12.113 14.749 12.227 14.694 12.338 14.64 12.429 14.596 12.519 14.553 12.612 14.509L12.633 14.499 12.629 14.475C12.627 14.468 12.483 13.703 12.609 13.225 12.706 12.856 12.9 12.539 13.186 12.282 13.416 12.076 13.758 11.932 14.016 11.932L14.068 11.935 14.091 11.935C14.179 11.936 14.227 11.946 14.231 11.961 14.233 11.971 14.228 12.01 14.077 12.106 13.803 12.282 13.55 12.579 13.364 12.942 13.19 13.286 13.185 13.704 13.182 14.009 13.182 14.025 13.186 14.042 13.188 14.054L13.202 14.114C13.345 14.064 13.516 14.005 13.661 13.953 14.075 13.803 14.503 13.647 14.91 13.565L14.931 13.561 14.934 13.538C14.942 13.433 14.937 13.329 14.931 13.218 14.926 13.103 14.92 12.985 14.931 12.867 14.977 12.382 15.102 11.887 15.691 11.551 15.892 11.436 16.198 11.353 16.417 11.353L16.437 11.352C16.59 11.352 16.706 11.384 16.746 11.405 16.716 11.431 16.659 11.469 16.637 11.484L16.584 11.517C16.227 11.745 16.009 11.984 15.782 12.399 15.684 12.578 15.622 12.863 15.592 13.272L15.588 13.314 15.629 13.304C15.993 13.207 16.371 13.126 16.741 13.046 16.892 13.013 17.047 12.979 17.203 12.952L17.224 12.948 17.227 12.926C17.266 12.618 17.369 12.045 17.627 11.676 17.867 11.333 18.21 11.078 18.527 11.01 18.638 10.97 18.795 10.962 18.908 10.962ZM24.045 5.356 23.955 5.356C22.887 5.37 21.929 5.403 20.867 5.499 18.695 5.696 16.523 6.031 14.443 6.561 12.891 6.957 11.4 7.473 9.943 8.063 9.882 8.088 9.853 8.099 9.853 8.099 9.853 8.099 9.853 8.099 9.853 8.1L9.853 8.106C9.854 8.219 9.878 9.673 9.913 11.749 9.922 11.743 9.931 11.737 9.943 11.733 11.4 11.143 12.891 10.628 14.443 10.233 16.523 9.703 18.695 9.368 20.867 9.172 21.929 9.076 22.891 9.014 23.959 9.001L23.959 9.001 24.049 9.001C25.117 9.014 26.071 9.076 27.133 9.172 29.305 9.368 31.477 9.703 33.557 10.233 35.109 10.628 36.6 11.143 38.057 11.733 38.069 11.737 38.078 11.743 38.087 11.749 38.124 9.59 38.147 8.104 38.147 8.104 38.147 8.104 38.118 8.088 38.057 8.063 36.6 7.473 35.109 6.957 33.557 6.561 31.477 6.031 29.305 5.696 27.133 5.499 26.071 5.403 25.113 5.37 24.045 5.356L24.045 5.356ZM14.05 7.566C14.054 7.891 14.058 8.215 14.062 8.54 14.066 8.874 13.894 9.052 13.68 9.114 12.817 9.361 11.961 9.641 11.114 9.952 11.118 10.225 11.122 10.498 11.126 10.771 10.937 10.841 10.747 10.912 10.558 10.985 10.543 10.078 10.528 9.171 10.513 8.264 11.548 7.866 12.596 7.516 13.655 7.212L13.655 7.213C13.87 7.151 14.046 7.233 14.05 7.566ZM34.126 7.154C35.231 7.463 36.325 7.824 37.405 8.237L37.397 8.745C36.508 8.405 35.61 8.1 34.702 7.83 34.7 8.02 34.698 8.211 34.696 8.401 35.602 8.671 36.501 8.976 37.389 9.316L37.382 9.824C36.494 9.484 35.596 9.179 34.69 8.909L34.683 9.535C35.588 9.805 36.486 10.11 37.373 10.45L37.366 10.958C36.29 10.546 35.199 10.185 34.097 9.875 34.106 8.968 34.116 8.061 34.126 7.154ZM30.283 6.287C30.481 6.321 30.679 6.356 30.877 6.393 30.874 6.763 30.871 7.134 30.869 7.505 31.53 7.628 32.188 7.77 32.843 7.929 32.846 7.558 32.849 7.187 32.853 6.816 32.983 6.848 33.114 6.881 33.244 6.914L33.439 6.964 33.413 9.685C33.218 9.634 33.023 9.585 32.828 9.538 32.831 9.19 32.834 8.842 32.837 8.494 32.183 8.335 31.525 8.194 30.865 8.071 30.862 8.418 30.86 8.766 30.858 9.114 30.661 9.077 30.463 9.042 30.266 9.009 30.271 8.101 30.277 7.194 30.283 6.287ZM18.054 6.697C18.059 7.295 18.064 7.893 18.068 8.491 18.071 8.825 17.897 8.984 17.678 9.021 16.788 9.174 15.902 9.36 15.022 9.578 14.806 9.631 14.628 9.548 14.624 9.214 14.617 8.616 14.61 8.018 14.603 7.421 14.599 7.087 14.775 6.91 14.991 6.856 15.876 6.638 16.766 6.452 17.662 6.299L17.662 6.299C17.876 6.263 18.052 6.367 18.054 6.697ZM13.37 7.87C12.605 8.095 11.845 8.346 11.093 8.621 11.096 8.875 11.1 9.127 11.105 9.381 11.855 9.106 12.612 8.855 13.375 8.629 13.44 8.61 13.478 8.55 13.477 8.499L13.47 7.944C13.469 7.888 13.438 7.85 13.37 7.87ZM17.36 6.928C16.671 7.051 15.985 7.194 15.303 7.356 15.239 7.371 15.194 7.433 15.194 7.479 15.199 7.939 15.205 8.398 15.21 8.857 15.21 8.898 15.25 8.946 15.307 8.933 15.995 8.768 16.685 8.624 17.379 8.499 17.445 8.487 17.476 8.422 17.475 8.37L17.464 7.024C17.463 6.969 17.429 6.915 17.36 6.928ZM26.944 5.877C27.883 5.951 28.819 6.06 29.751 6.204 29.75 6.395 29.749 6.585 29.748 6.775 28.916 6.646 28.079 6.545 27.241 6.473 27.177 6.467 27.142 6.524 27.142 6.569 27.141 7.025 27.14 7.481 27.138 7.937 27.138 7.989 27.185 8.047 27.243 8.052 28.001 8.118 28.758 8.208 29.513 8.32L29.739 8.355 29.736 8.926C28.805 8.783 27.87 8.675 26.933 8.602 26.712 8.585 26.536 8.44 26.537 8.106 26.538 7.508 26.539 6.91 26.54 6.312 26.541 5.978 26.723 5.859 26.944 5.877ZM21.903 6.282C21.904 6.509 21.905 6.736 21.905 6.963 21.906 7.198 21.847 7.406 21.592 7.483 21.867 7.731 22.023 8.005 22.138 8.525 21.932 8.535 21.726 8.546 21.52 8.559 21.414 8.162 21.231 7.75 20.911 7.776 20.365 7.822 19.82 7.879 19.276 7.948 19.278 8.226 19.28 8.503 19.281 8.78 19.083 8.806 18.885 8.833 18.686 8.861 18.68 7.954 18.674 7.047 18.667 6.14 19.609 6.005 20.555 5.906 21.503 5.843L21.503 5.844C21.723 5.831 21.902 5.95 21.903 6.282ZM25.637 5.798 25.855 5.809 25.854 6.317C25.015 6.275 24.175 6.262 23.336 6.277 23.266 6.278 23.232 6.332 23.232 6.387 23.232 6.516 23.232 6.645 23.232 6.774 23.233 6.83 23.273 6.876 23.333 6.875 24.054 6.862 24.775 6.869 25.495 6.898 25.717 6.907 25.896 7.05 25.896 7.383 25.896 7.611 25.895 7.839 25.895 8.068 25.895 8.4 25.715 8.523 25.494 8.514 24.554 8.476 23.613 8.474 22.673 8.508 22.672 8.338 22.672 8.169 22.672 8 23.511 7.97 24.352 7.968 25.191 7.995 25.256 7.997 25.29 7.957 25.294 7.906L25.295 7.895 25.295 7.506C25.295 7.459 25.26 7.4 25.191 7.397 24.472 7.375 23.753 7.372 23.034 7.391 22.812 7.397 22.632 7.271 22.631 6.937 22.631 6.71 22.63 6.482 22.63 6.255 22.629 5.926 22.801 5.781 23.021 5.775 23.893 5.753 24.765 5.76 25.637 5.798ZM21.202 6.44C20.556 6.488 19.911 6.552 19.268 6.634 19.269 6.887 19.271 7.139 19.272 7.392 19.913 7.31 20.556 7.246 21.2 7.197 21.266 7.192 21.306 7.145 21.306 7.093 21.305 6.911 21.305 6.73 21.304 6.548 21.304 6.493 21.271 6.435 21.202 6.44Z\"/>`,\n '0 0 48 48'\n);\n\nexport const SeatBrandShape = clrIconSVG(\n `<path d=\"M7.735 21.733 40.238 27.774 40.171 30.328C40.149 31.124 40.125 31.96 40.102 32.652L40.089 33.059C40.024 34.982 39.618 36.153 38.823 36.858 37.725 37.831 36.445 38.062 33.389 38.229 26.308 38.613 19.1 38.56 10.066 37.929L9.979 37.922C9.118 37.853 8.776 37.688 8.594 37.566L8.585 37.56C8.206 37.3 8.141 37.01 8.044 35.61L8.018 35.225C7.944 34.032 7.8 31.101 7.751 30.102L8.006 30.119C12.114 30.387 18.23 30.583 23.312 30.591L24.032 30.592C25.526 30.599 28.39 30.632 29.255 30.633L29.283 30.633C29.985 30.633 30.926 30.443 31.419 29.713L31.441 29.68 7.735 25.645 7.735 21.733ZM14.519 9.776 14.61 9.771C21.692 9.387 28.9 9.44 37.934 10.071L38.02 10.077C38.895 10.148 39.235 10.317 39.414 10.44L39.438 10.456C39.797 10.712 39.861 11.019 39.955 12.39L39.977 12.721C40.04 13.705 40.157 16.026 40.22 17.322L38.457 17.232C35.402 17.08 31.24 16.892 27.487 16.848L26.934 16.842C22.438 16.801 18.446 16.874 17.963 16.935 16.971 17.062 16.508 17.519 16.365 17.729L16.359 17.739 40.265 22.163 40.265 25.645 7.766 20.034 7.833 17.526C7.857 16.655 7.883 15.749 7.907 15.046L7.91 14.94C7.976 13.018 8.381 11.846 9.177 11.142 10.263 10.179 11.529 9.942 14.519 9.776Z\"/>`,\n '0 0 48 48'\n);\n\nexport const SkodaBrandShape = clrIconSVG(\n `<path d=\"M24 5.719C34.097 5.719 42.281 13.904 42.281 24 42.281 34.097 34.097 42.281 24 42.281 13.904 42.281 5.719 34.097 5.719 24 5.719 13.904 13.904 5.719 24 5.719ZM24 6.178C14.157 6.178 6.178 14.157 6.178 24 6.178 33.843 14.157 41.822 24 41.822 33.843 41.822 41.822 33.843 41.822 24 41.822 14.157 33.843 6.178 24 6.178ZM24 7.433C33.149 7.433 40.567 14.85 40.567 24 40.567 33.15 33.149 40.566 24 40.566 14.851 40.566 7.433 33.15 7.433 24 7.433 14.85 14.851 7.433 24 7.433ZM24 8.9C15.659 8.9 8.9 15.661 8.9 24 8.9 32.34 15.659 39.101 24 39.101 32.34 39.101 39.1 32.34 39.1 24 39.1 15.661 32.34 8.9 24 8.9ZM24.077 10.549C24.402 10.549 24.663 10.561 24.983 10.583 25.281 10.604 25.503 10.701 25.725 10.9 28.975 13.844 29.59 15.77 30.263 17.737 30.961 19.782 31.001 21.326 31.012 22.877L31.012 23.03C31.006 24.475 30.766 26.453 29.877 29.641 29.79 29.954 29.869 30.484 30.301 30.491 30.423 30.494 30.544 30.491 30.666 30.491 30.823 30.491 30.945 30.325 30.96 30.166L30.961 30.134 30.961 29.571C30.961 29.348 31.162 29.178 31.383 29.212 32.932 29.459 34.354 30.167 35.482 31.226 35.661 31.392 35.661 31.678 35.482 31.845 34.354 32.903 32.932 33.611 31.383 33.858 31.173 33.89 30.983 33.74 30.963 33.534L30.961 33.499 30.961 32.883C30.961 32.726 30.843 32.622 30.691 32.609L30.658 32.607 18.114 32.607C18.018 32.608 17.934 32.613 17.849 32.664L16.284 33.58 16.284 33.58C16.201 33.629 16.117 33.656 16.025 33.663L15.977 33.664 14.318 33.664C14.194 33.664 14.122 33.623 14.058 33.517 13.342 32.313 12.504 31.178 11.591 30.125 11.249 29.734 11.45 29.235 11.957 29.207L12.001 29.206 15.801 29.206C15.894 29.206 15.99 29.24 16.074 29.279 16.88 29.657 17.685 30.034 18.492 30.411 19.07 30.683 19.508 30.259 19.439 29.777 18.645 24.268 13.863 23.007 11.181 22.537 10.884 22.486 10.681 22.222 10.726 21.924 10.967 20.37 11.475 18.839 12.212 17.558 12.339 17.338 12.603 17.268 12.85 17.332L13.093 17.396C14.168 17.684 15.513 18.125 16.915 18.843L17.077 18.927C17.894 19.355 18.457 19.453 18.812 19.154 17.156 17.647 15.357 16.469 14.141 15.804L13.954 15.703C13.769 15.605 13.647 15.434 13.835 15.215 14.946 13.927 15.888 13.162 17.287 12.348 17.506 12.223 17.724 12.274 17.945 12.398L18.194 12.54C19.377 13.223 20.808 14.177 22.197 15.473L22.345 15.613C22.813 16.06 23.368 16.464 24.095 16.394 23.015 14.539 21.477 13.032 20.276 11.985L20.056 11.795C19.802 11.577 19.733 11.256 20.194 11.117 21.425 10.748 22.727 10.549 24.077 10.549ZM26.44 25.558C25.509 25.558 24.756 26.312 24.756 27.244 24.756 28.173 25.509 28.928 26.44 28.928 27.37 28.928 28.125 28.173 28.125 27.244 28.125 26.312 27.37 25.558 26.44 25.558Z\"/>`,\n '0 0 48 48'\n);\n\nexport const VWBrandShape = clrIconSVG(\n `<path d=\"M24 40.523C14.951 40.523 7.529 33.049 7.529 24 7.529 21.966 7.885 20.035 8.572 18.23L18.205 37.626C18.332 37.881 18.485 38.083 18.789 38.083 19.095 38.083 19.262 37.876 19.373 37.626L23.796 27.687C23.847 27.585 23.897 27.484 23.999 27.484 24.1 27.484 24.152 27.585 24.202 27.687L28.624 37.626C28.736 37.876 28.904 38.083 29.208 38.083 29.513 38.083 29.667 37.88 29.792 37.626L39.426 18.23C40.111 20.035 40.467 21.967 40.467 24 40.471 33.049 33.049 40.523 24 40.523M24 20.263C23.899 20.263 23.847 20.162 23.797 20.06L18.612 8.419C20.29 7.809 22.12 7.479 24 7.479 25.88 7.479 27.711 7.809 29.389 8.419L24.204 20.06C24.153 20.162 24.101 20.263 24 20.263M18.738 32.211C18.636 32.211 18.585 32.109 18.535 32.008L10.147 15.104C11.647 12.815 13.655 10.884 16.07 9.537L22.093 22.959C22.195 23.213 22.347 23.264 22.55 23.264L25.448 23.264C25.651 23.264 25.804 23.213 25.906 22.959L31.929 9.537C34.343 10.884 36.353 12.817 37.851 15.104L29.464 32.008C29.412 32.109 29.362 32.211 29.261 32.211 29.159 32.211 29.108 32.109 29.058 32.008L25.907 24.788C25.805 24.534 25.653 24.483 25.45 24.483L22.552 24.483C22.349 24.483 22.196 24.534 22.094 24.788L18.942 32.008C18.891 32.108 18.841 32.211 18.738 32.211M24 42.2C34.066 42.2 42.199 34.066 42.199 24 42.199 13.934 34.066 5.8 24 5.8 13.934 5.8 5.801 13.934 5.801 24 5.801 34.066 13.934 42.2 24 42.2\"/>`,\n '0 0 48 48'\n);\n\nexport const VWNBrandShape = clrIconSVG(\n `<path d=\"M23.625 31.215C17.485 31.215 12.449 26.142 12.449 19.999 12.449 18.618 12.69 17.307 13.156 16.081L19.693 29.248C19.779 29.422 19.883 29.559 20.09 29.559 20.297 29.559 20.41 29.419 20.486 29.248L23.486 22.501C23.521 22.433 23.555 22.364 23.624 22.364 23.693 22.364 23.728 22.433 23.761 22.501L26.762 29.248C26.838 29.419 26.953 29.559 27.159 29.559 27.365 29.559 27.47 29.42 27.556 29.248L34.092 16.081C34.557 17.307 34.799 18.619 34.799 19.999 34.801 26.142 29.765 31.215 23.625 31.215M23.625 17.462C23.556 17.462 23.521 17.393 23.487 17.325L19.969 9.422C21.108 9.008 22.349 8.784 23.625 8.784 24.901 8.784 26.143 9.008 27.282 9.422L23.764 17.325C23.728 17.393 23.694 17.462 23.625 17.462M20.054 25.573C19.986 25.573 19.951 25.504 19.917 25.435L14.225 13.959C15.243 12.406 16.606 11.095 18.244 10.181L22.331 19.292C22.4 19.465 22.504 19.5 22.641 19.5L24.607 19.5C24.746 19.5 24.849 19.465 24.918 19.292L29.005 10.181C30.643 11.095 32.007 12.407 33.023 13.959L27.332 25.435C27.298 25.504 27.263 25.573 27.195 25.573 27.126 25.573 27.091 25.504 27.057 25.435L24.919 20.534C24.85 20.362 24.746 20.327 24.609 20.327L22.643 20.327C22.505 20.327 22.401 20.362 22.332 20.534L20.193 25.435C20.158 25.503 20.124 25.573 20.054 25.573M23.625 32.353C30.455 32.353 35.974 26.832 35.974 19.999 35.974 13.166 30.455 7.645 23.625 7.645 16.795 7.645 11.276 13.166 11.276 19.999 11.276 26.832 16.795 32.353 23.625 32.353M6.163 37.746 4.387 34.859 3.483 34.859 3.483 39.044 4.337 39.044 4.337 36.158 4.356 36.158 6.132 39.044 7.035 39.044 7.035 34.859 6.181 34.859 6.181 37.746 6.163 37.746ZM7.877 36.078 7.877 37.949C7.877 38.663 8.246 39.137 8.953 39.137 9.414 39.137 9.709 38.903 9.875 38.755L9.887 38.755 9.997 39.044 10.667 39.044 10.667 36.078 9.838 36.078 9.838 38.201C9.709 38.3 9.487 38.454 9.211 38.454 8.848 38.454 8.707 38.25 8.707 37.863L8.707 36.078 7.877 36.078ZM11.724 35.388 11.724 36.078 11.184 36.262 11.184 36.712 11.724 36.712 11.724 38.269C11.724 38.866 12.032 39.137 12.689 39.137 12.978 39.137 13.261 39.075 13.384 39.044L13.384 38.367C13.242 38.41 13.046 38.454 12.904 38.454 12.665 38.454 12.554 38.33 12.554 38.115L12.554 36.712 13.402 36.712 13.402 36.078 12.554 36.078 12.554 35.388 11.724 35.388ZM13.906 36.078 13.906 36.712 15.233 36.712 15.233 36.724 13.814 38.607 13.814 39.044 16.254 39.044 16.254 38.41 14.828 38.41 14.828 38.398 16.254 36.515 16.254 36.078 13.906 36.078ZM17.98 39.044 17.98 36.712 18.718 36.712 18.718 36.078 17.98 36.078 17.98 35.721C17.98 35.45 18.067 35.388 18.288 35.388 18.392 35.388 18.57 35.407 18.687 35.431L18.687 34.748C18.558 34.723 18.325 34.705 18.159 34.705 17.55 34.705 17.151 35 17.151 35.684L17.151 36.078 16.628 36.262 16.628 36.712 17.151 36.712 17.151 39.044 17.98 39.044ZM21.717 37.186C21.717 36.422 21.299 35.985 20.445 35.985 19.984 35.985 19.535 36.108 19.222 36.25L19.419 36.884C19.707 36.755 20.076 36.669 20.402 36.669 20.58 36.669 20.906 36.724 20.906 37.093L20.906 37.229 20.506 37.229C19.462 37.229 19.044 37.543 19.044 38.201 19.044 38.743 19.382 39.137 20.045 39.137 20.408 39.137 20.801 38.934 20.998 38.767L21.01 38.767C21.115 38.995 21.281 39.118 21.6 39.118 21.778 39.118 21.901 39.1 22.03 39.075L22.03 38.509 21.815 38.509C21.723 38.509 21.717 38.49 21.717 38.398L21.717 37.186ZM20.906 37.764 20.906 38.281C20.734 38.404 20.445 38.484 20.23 38.484 19.978 38.484 19.836 38.374 19.836 38.127 19.836 37.906 20.045 37.764 20.592 37.764L20.906 37.764ZM25.398 39.044 25.398 37.179C25.398 36.465 25.005 35.985 24.298 35.985 23.905 35.985 23.573 36.176 23.413 36.324L23.401 36.324 23.401 34.736 22.571 34.736 22.571 39.044 23.401 39.044 23.401 36.952C23.524 36.829 23.739 36.669 24.04 36.669 24.403 36.669 24.568 36.884 24.568 37.259L24.568 39.044 25.398 39.044ZM26.142 36.078 26.142 39.044 26.971 39.044 26.971 36.982C27.076 36.853 27.272 36.693 27.617 36.693 27.69 36.693 27.819 36.699 27.912 36.718L27.985 36.022C27.912 36.004 27.795 35.985 27.69 35.985 27.297 35.985 27.051 36.244 26.941 36.435L26.928 36.435 26.812 36.078 26.142 36.078ZM28.379 36.078 28.379 36.712 29.706 36.712 29.706 36.724 28.286 38.607 28.286 39.044 30.726 39.044 30.726 38.41 29.301 38.41 29.301 38.398 30.726 36.515 30.726 36.078 28.379 36.078ZM34.026 37.801C34.045 37.696 34.069 37.456 34.069 37.266 34.069 36.57 33.645 35.985 32.687 35.985 31.722 35.985 31.206 36.712 31.206 37.555 31.206 38.429 31.703 39.137 32.73 39.137 33.203 39.137 33.633 39.026 33.928 38.884L33.738 38.287C33.449 38.392 33.135 38.472 32.791 38.472 32.349 38.472 32.078 38.22 32.048 37.801L34.026 37.801ZM32.048 37.284C32.066 36.927 32.275 36.588 32.693 36.588 33.16 36.588 33.314 36.859 33.314 37.192 33.314 37.222 33.314 37.253 33.307 37.284L32.048 37.284ZM34.647 36.078 34.647 37.949C34.647 38.663 35.016 39.137 35.723 39.137 36.183 39.137 36.478 38.903 36.644 38.755L36.657 38.755 36.767 39.044 37.437 39.044 37.437 36.078 36.608 36.078 36.608 38.201C36.478 38.3 36.257 38.454 35.981 38.454 35.618 38.454 35.477 38.25 35.477 37.863L35.477 36.078 34.647 36.078ZM40.209 38.232C40.043 38.324 39.828 38.398 39.613 38.398 39.121 38.398 38.912 38.072 38.912 37.543 38.912 37.013 39.121 36.669 39.613 36.669 39.828 36.669 40.043 36.755 40.209 36.853L40.209 38.232ZM41.038 36.078 40.393 36.078 40.283 36.348 40.27 36.348C40.049 36.195 39.797 35.985 39.355 35.985 38.5 35.985 38.064 36.681 38.064 37.543 38.064 38.404 38.5 39.081 39.355 39.081 39.772 39.081 40.018 38.915 40.197 38.786L40.209 38.786 40.209 39.008C40.209 39.5 39.994 39.672 39.508 39.672 39.139 39.672 38.832 39.586 38.586 39.457L38.347 40.066C38.636 40.22 39.023 40.356 39.508 40.356 40.479 40.356 41.038 39.851 41.038 38.854L41.038 36.078ZM44.474 37.801C44.492 37.696 44.517 37.456 44.517 37.266 44.517 36.57 44.093 35.985 43.134 35.985 42.169 35.985 41.653 36.712 41.653 37.555 41.653 38.429 42.151 39.137 43.177 39.137 43.65 39.137 44.08 39.026 44.375 38.884L44.185 38.287C43.896 38.392 43.583 38.472 43.239 38.472 42.796 38.472 42.526 38.22 42.495 37.801L44.474 37.801ZM42.495 37.284C42.513 36.927 42.722 36.588 43.14 36.588 43.607 36.588 43.761 36.859 43.761 37.192 43.761 37.222 43.761 37.253 43.755 37.284L42.495 37.284Z\"/>`,\n '0 0 48 48'\n);\n\nexport const AccessoryPartsShape = clrIconSVG(\n `<path d=\"M2.75 5.994l-2.75 5 2.75 5h5.5l2.75-5-2.75-5zm4.714 8.67H3.536l-2.018-3.67 2.018-3.67h3.928l2.018 3.67zM5.5 8.744a2.25 2.25 0 102.25 2.25 2.25 2.25 0 00-2.25-2.25zm0 3.17a.92.92 0 11.92-.92.921.921 0 01-.92.92zM24 2.246H12v5h3.335v14.737h5.325l.1-14.737H24zm-4.587 7.765l-.013 1.737-2.736-.87V9.137zm-.021 3.13l-.012 1.652-2.715-.864v-1.656zm-.021 3.045l-.012 1.777-2.694-.857v-1.781zm-2.706 4.467V18.5l2.684.854-.009 1.3zm2.758-12.035l-2.758-.877v-.495h2.767zm3.247-2.7h-9.34V3.576h9.34zM0 22h11v-4H0zm1.33-2.67h8.34v1.34H1.33z\"/>`\n);\n\nexport const AwardWinnerPremiumShape = clrIconSVG(\n `<path d=\"M19.69 5.06L20.12 1H3.88l.43 4.06a3.68 3.68 0 00.3 7.35h.53a5.12 5.12 0 004.33 4A1.91 1.91 0 009 17.54a1.84 1.84 0 00.39 1.09h-.11a4.39 4.39 0 00-4.34 4.43V24h14.12v-.94a4.39 4.39 0 00-4.34-4.43h-.15a1.84 1.84 0 00.43-1.09 1.91 1.91 0 00-.43-1.16 5.12 5.12 0 004.33-4h.53a3.68 3.68 0 00.3-7.35zm-2 17.6H6.28a3 3 0 013-2.69h5.44a3 3 0 013 2.69zM2.31 8.72a2.33 2.33 0 012.14-2.33l.49 4.68h-.33a2.32 2.32 0 01-2.3-2.35zm11.34 8.82c0 .38-.65.92-1.65.92s-1.65-.54-1.65-.92.65-.93 1.65-.93 1.65.55 1.65.93zm.24-2.44h-3.78a3.84 3.84 0 01-3.8-3.48l-1-9.28h13.35l-1 9.28a3.84 3.84 0 01-3.77 3.48zm5.5-4h-.33l.49-4.68a2.34 2.34 0 01-.16 4.68z\"/>\n <path d=\"M12.88 5.2h-.86l-1.45.54v1.07h.11l.99-.36h.02v4.36h-1.31v1h3.74v-1h-1.24z\"/>`\n);\n\nexport const BrochureShape = clrIconSVG(\n `<path d=\"M8 1h14v18h-6v4H2V5h6v-.078zm8 4v12.67h4.67V2.33h-9.555zm-6.67-.078V5h3.897L9.33 2.87zm-6 1.408v15.34h11.34V6.33H8zm1.67 4V9h8v1.33zm0 3V12h8v1.33zm0 3V15h6v1.33z\"/>`\n);\n\nexport const BusinessCustomersCommercialShape = clrIconSVG(\n `<path d=\"M13.03 16.116a1 1 0 11-2 .001 1 1 0 012 0zm7.67-1.51l1.33-.206v7.316a1.62 1.62 0 01-1.61 1.62h-3a1.62 1.62 0 01-1.59-1.62v-.5H8.27v.48a1.64 1.64 0 01-1.63 1.64h-3a1.62 1.62 0 01-1.61-1.62v-10.28l.27-1.6-2-.16v-1.34h.06c.71.11 1.42.16 2.13.21l.26-1.67a6.745 6.745 0 011.39-3.18l1.56-1.9a1.24 1.24 0 011-.46h2.203v1.34H6.7l-1.51 1.87a5.403 5.403 0 00-1.15 2.55l-.24 1.54c1.694.104 3.38.175 5.103.195v1.344a121.873 121.873 0 01-5.312-.209l-.25 1.58v3.09c1.559.22 3.179.4 4.859.52l-.09 1.34a68.805 68.805 0 01-4.77-.51v5.73a.289.289 0 00.28.28h3a.31.31 0 00.3-.3v-1.82h10.22v1.84a.289.289 0 00.28.28h3a.289.289 0 00.28-.28v-5.76c-1.51.22-3.07.4-4.66.51l-.1-1.33c1.62-.12 3.22-.3 4.76-.53zm1.614-2.6v-4.41l-4.093.511c-.024.003-.05.001-.074.004v.247a1 1 0 01-2 0v-.247c-.024-.003-.05 0-.074-.004l-4.093-.512v4.411zM11.98 4.666v1.59l4.257.531a7.438 7.438 0 001.82 0l4.257-.532V4.666zm4.67-2.436c-.705 0-1.27.491-1.316 1.106h3.634c-.047-.615-.611-1.106-1.317-1.106zm5.993 1.106a1 1 0 011 1v8a1 1 0 01-1 1H11.65a1 1 0 01-1-1v-8a1 1 0 011-1h2.344c.027-.83.476-1.56 1.16-2A2.758 2.758 0 0116.65.9h1c.555 0 1.07.161 1.497.436.684.44 1.133 1.17 1.16 2z\"/>`\n);\n\nexport const BusinessCustomersPrivateShape = clrIconSVG(\n `<path d=\"M12.323 16.685a.944.944 0 11-1.889 0 .944.944 0 011.889 0zm7.896-1.433c.498-.066 1.33-.172 1.33-.172.129.428.211.776.211.98v5.843c0 .836-.685 1.52-1.521 1.52h-1.882a1.52 1.52 0 01-1.521-1.52v-.464H5.922v.453c0 .842-.689 1.53-1.532 1.53H2.518c-.84 0-1.52-.68-1.52-1.52V16.06c0-.594.663-2.36 1.374-4.081a67.84 67.84 0 01-2.173-.328l.227-1.311c.825.143 1.651.264 2.479.373.627-1.465 1.169-2.65 1.169-2.65.436-.886 1.166-1.627 2.601-1.627h1.953v1.33H6.675c-.709 0-1.091.24-1.407.884-.327.715-.664 1.473-.987 2.222a63.36 63.36 0 004.347.313v1.353a67.34 67.34 0 01-4.889-.388c-.52 1.248-.958 2.376-1.204 3.128a65.69 65.69 0 004.309.45l-.092 1.327a68.486 68.486 0 01-4.425-.462v5.31c0 .105.086.19.191.19H4.39a.207.207 0 00.202-.201V20.109h13.574v1.794c0 .105.085.19.191.19h1.882a.196.196 0 00.191-.19v-5.337a66.94 66.94 0 01-4.324.467l-.098-1.326a65.637 65.637 0 004.211-.455zm1.82-3.146V7.695l-3.33.416-.764.095c-.024.004-.049.002-.073.005v.247a.977.977 0 01-.205.577.983.983 0 01-.795.423 1 1 0 01-1-1v-.247c-.024-.003-.05 0-.074-.005l-3.524-.44-.569-.07v4.41h8.736zm-10.334-7.34v1.59l.647.08 3.61.451a7.335 7.335 0 001.752.004c.022-.002.046 0 .067-.004l4.257-.532V4.766zm4.67-2.436c-.705 0-1.27.491-1.317 1.106h3.635c-.047-.615-.612-1.106-1.318-1.106zm5.993 1.106a1 1 0 011 1v8a1 1 0 01-1 1H11.375a.987.987 0 01-.969-.848c-.008-.052-.03-.098-.03-.152v-8a1 1 0 011-1h2.343c.026-.83.476-1.56 1.16-2A2.758 2.758 0 0116.374 1h1c.555 0 1.07.161 1.498.436.683.44 1.132 1.17 1.16 2z\"/>`\n);\n\nexport const CaliforniaServiceShape = clrIconSVG(\n `<path d=\"M2.3 10.6a2.2 2.2 0 01-1.565-.648l-.089-.089a2.213 2.213 0 010-3.128l2.03-2.03a4.383 4.383 0 01-.061-.723A3.848 3.848 0 016.6 0a3.86 3.86 0 013.547 2.114l.157.313L9.5 3.88l.818 1.454-.157.487a3.924 3.924 0 01-4.248 2.084L3.864 9.952A2.2 2.2 0 012.3 10.6zm4.3-9.267a2.534 2.534 0 00-2.652 2.649 2.968 2.968 0 00.1.767l.1.369L1.59 7.676a.88.88 0 000 1.248l.089.09a.907.907 0 001.246 0l2.566-2.568.366.091a2.689 2.689 0 002.994-1.095l-.158-.279H6.938L5.768 4.04l1.119-1.393H8.66l.124-.224A2.588 2.588 0 006.6 1.333zm17.2 16.216a4.725 4.725 0 00-.1-.655v-.015a4.676 4.676 0 00-.173-.588l-.02-.053a4.55 4.55 0 00-.246-.54l-.012-.024a4.229 4.229 0 00-1.536-1.626l-.851-.508a3.575 3.575 0 01-.719-.565l-3.208-3.256a2.786 2.786 0 00-1.04-.66l.319-6.3L17.9 2.2 17.481.94l-5.764 1.89v1.4l3.144-1.03-.289 5.689-6.158-.019v1.33l3.358.005.339 3.463c-.7-.009-1.392-.014-2.085-.034L2.113 13.4l.295-1.437H1.05L.808 13.14a29.461 29.461 0 00-.5 3.427l-.22 2.642a1.046 1.046 0 00.756 1.124l1.992.476a2.353 2.353 0 004.694.015l9.138-.029a2.354 2.354 0 004.7-.014h.166l1.5-.43A1.287 1.287 0 0023.912 19zM15 10.218a1.4 1.4 0 01.986.434l2.881 2.926-2.607.072c-.931.024-1.872.031-2.813.031l-.34-3.47zM5.184 21.67a1.036 1.036 0 111.036-1.036 1.037 1.037 0 01-1.036 1.036zm13.832 0a1.036 1.036 0 111.037-1.036 1.037 1.037 0 01-1.037 1.036zm2.328-2.219h-.29a2.345 2.345 0 00-4.081.013l-9.729.036a2.345 2.345 0 00-4.128.013l-1.685-.4.207-2.425c.056-.655.142-1.309.244-1.961l8.1.245a117.615 117.615 0 006.311.016l4.187-.115.546.326a2.746 2.746 0 01.458.361 3.036 3.036 0 01.3.334c.041.053.085.1.123.16a3.225 3.225 0 01.565 1.6l.06.832h.005l.045.619z\"/>`\n);\n\nexport const DieselShape = clrIconSVG(\n `<path d=\"M18.8 9.8l-5.7-8h-2l-5.7 8c-2.6 3.7-1.7 8.8 2 11.4s8.8 1.7 11.4-2c2-2.7 2-6.5 0-9.4zM8.3 18.2c-1.8-1.8-2-4.6-.6-6.7l1.1.8c-1.1 1.5-.9 3.7.4 5z\"/>`\n);\n\nexport const EmissionShape = clrIconSVG(\n `<path d=\"M7.88 9.5a3 3 0 011.39.35l-.27.76a2.28 2.28 0 00-1.13-.26c-.83 0-1.36.82-1.36 2s.53 2 1.36 2A2.28 2.28 0 009 14.07l.26.76a3 3 0 01-1.39.35c-1.52 0-2.37-1.18-2.37-2.84S6.35 9.5 7.88 9.5zM12.21 15.18c-1.63 0-2.36-1.25-2.36-2.84s.73-2.84 2.36-2.84 2.35 1.25 2.35 2.84-.73 2.84-2.35 2.84zm0-.85c1 0 1.33-.88 1.33-2s-.36-2-1.33-2-1.34.88-1.34 2 .37 2 1.34 2zM16.87 15.2h1.46v.8h-2.81v-.74L17 14a.68.68 0 00.27-.57.45.45 0 00-.47-.49 1.15 1.15 0 00-.79.45l-.53-.64a1.77 1.77 0 011.37-.66 1.26 1.26 0 011.4 1.27 1.59 1.59 0 01-.7 1.24l-.71.59z\"></path><path d=\"M17 20.67H6.5A6.16 6.16 0 012 10.34a2.94 2.94 0 01-.12-.84A3.18 3.18 0 015 6.33a8.16 8.16 0 0114.77 1.6A6.67 6.67 0 0117 20.67zm-12-13A1.83 1.83 0 003.17 9.5a1.76 1.76 0 00.16.74l.19.43-.34.33a4.76 4.76 0 00-1.51 3.5 4.83 4.83 0 004.83 4.83H17A5.33 5.33 0 0019 9l-.31-.12-.09-.31A6.83 6.83 0 005.94 7.34l-.22.42-.46-.07z\"/>`\n);\n\nexport const EnergyShape = clrIconSVG(\n `<path d=\"M17.45 2.33a1.23 1.23 0 011.22 1.23v18.11H5.33V3.56a1.23 1.23 0 011.22-1.23zm0-1.33H6.55A2.56 2.56 0 004 3.56V23h16V3.56A2.56 2.56 0 0017.45 1zM9.5 12.22l2 .75-1.5 4.79a.25.25 0 00.45.22l4.31-5.81a.6.6 0 00-.28-.92l-2.13-.8 1.25-4.89a.26.26 0 00-.46-.21l-3.94 6a.61.61 0 00.3.87z\"/>`\n);\n\nexport const ExteriorShape = clrIconSVG(\n `<path d=\"M18.34 5.7c0 1.12-1.73 2-6.34 2s-6.34-.91-6.34-2 1.73-2 6.34-2 6.34.87 6.34 2zM21 4v16c0 1.66-2.92 3-9 3s-9-1.34-9-3V4c0-1.66 2.92-3 9-3s9 1.34 9 3zm-1.33 0c0-.22-1.43-1.67-7.67-1.67S4.33 3.78 4.33 4v16c0 .22 1.43 1.67 7.67 1.67s7.67-1.45 7.67-1.67zm-4.81 4.91l-2 2.89a2.49 2.49 0 00.27 3.2 2.5 2.5 0 003.81-3.2z\"/>`\n);\n\nexport const GasCarsServiceShape = clrIconSVG(\n `<path d=\"M8.051 18.9a1 1 0 11-1-1 1 1 0 011 1zm14.579-7.616H24a7.43 7.43 0 01-.5 1.33 7.246 7.246 0 01-6.711 4 8.286 8.286 0 01-2.041-.257l-5.2 5.206a3.5 3.5 0 01-4.957 0l-.2-.2a3.5 3.5 0 010-4.957l5.174-5.175v-.024A5.989 5.989 0 0010.8 10.8a6.04 6.04 0 00.258.818 5.79 5.79 0 003.294 3.248 6.475 6.475 0 001.5.378 7.037 7.037 0 00.928.067 6.04 6.04 0 005.207-2.7h-3.634l-.8-.939-1.638-1.91a.993.993 0 01-.052-1.215c.02-.028.03-.06.052-.087l.8-.938 1.638-1.911h3.641a6.041 6.041 0 00-5.207-2.7 6.672 6.672 0 00-2.376.426V1.958a8.2 8.2 0 012.376-.344 7.244 7.244 0 016.711 4 7.4 7.4 0 01.5 1.33h-5.033l-1.307 1.524-.553.646 1.86 2.17zm-9.267 4.576a6.968 6.968 0 01-3.291-3.253l-4.744 4.744a2.175 2.175 0 000 3.076l.195.2a2.175 2.175 0 003.076 0zM5.2 8.83a3.345 3.345 0 01-2.379.985h-.46v-1.33h.457a2.02 2.02 0 001.438-.6l.235-.235a4.736 4.736 0 01-.977-2.865A4.789 4.789 0 018.3 0h4.119l.665.665v4.12A4.79 4.79 0 018.3 9.573 4.735 4.735 0 015.432 8.6zm.234-2.117L8.46 3.684l.941.942-3.029 3.029a3.452 3.452 0 005.379-2.866V1.335H8.3a3.452 3.452 0 00-2.869 5.378z\"/>`\n);\n\nexport const LocateShape = clrIconSVG(\n `<path d=\"M23 11.45h-2a9 9 0 00-8.3-8.31v-2h-1.37v2A9 9 0 003 11.45H1v1.33h2a9 9 0 008.3 8.3v2h1.34v-2a9 9 0 008.3-8.3h2zm-10.33 8.3v-2.64h-1.34v2.64a7.69 7.69 0 01-7-7H7v-1.3H4.36a7.69 7.69 0 017-7v2.66h1.34V4.47a7.69 7.69 0 017 7H17v1.33h2.64a7.69 7.69 0 01-6.97 6.95z\"/>`\n);\n\nexport const NewCarUtilityVehicleShape = clrIconSVG(\n `<path d=\"M23.771 17.55a4.448 4.448 0 00-2.092-3.5l-.852-.508a3.569 3.569 0 01-.718-.565L16.9 9.72a2.723 2.723 0 00-1.928-.831h-3.308v5.876H1.8v-1.314l8.79.035.005-1.33-10.127-.041v2.861a41.508 41.508 0 00-.188 1.592L.055 19.21a1.044 1.044 0 00.757 1.123l1.988.477a2.354 2.354 0 004.7.015l9.136-.029a2.354 2.354 0 004.7-.015h.164l1.5-.43A1.287 1.287 0 0023.88 19zm-7.816-6.9l2.823 2.867-5.762-.026.011-3.275h1.944a1.392 1.392 0 01.984.437zm-14.35 6.031c.014-.163.037-.371.062-.586h10.01l-.011 3.387-4.453.018a2.344 2.344 0 00-4.128.013l-1.684-.4zm3.547 4.989a1.023 1.023 0 01-1-.834c-.007-.038-.014-.077-.023-.114s-.017-.056-.017-.087a1.036 1.036 0 112.071 0 .424.424 0 01-.021.106 1.027 1.027 0 01-1.01.929zm13.832 0a1.022 1.022 0 01-1-.878l-.007-.032a1.063 1.063 0 01-.025-.125 1.036 1.036 0 012.071 0 .984.984 0 01-.03.151 1.024 1.024 0 01-1.009.884zm2.328-2.219h-.291a2.345 2.345 0 00-4.08.013L13 19.478l.016-4.654 7.425.033.561.334a2.865 2.865 0 01.943.944 44.01 44.01 0 00-2.638-.148l-.031 1.33c1.074.025 2.128.092 3.145.191.006.049.024.093.027.142l.105 1.446z\"/>`\n);\n\nexport const PlusServiceShape = clrIconSVG(\n `<path d=\"M11.925 4.356a2.915 2.915 0 001.205-.669c.316-.314.335-.571.144-.762-.175-.175-.366-.147-.809.084l-.448.229a1.293 1.293 0 01-1.68-.159c-.623-.625-.611-1.443.227-2.28a3.357 3.357 0 011.21-.789l.412.863a2.747 2.747 0 00-.995.6c-.267.267-.286.513-.1.7.134.134.29.178.566.036l.45-.229c.859-.44 1.366-.517 1.889.008.694.7.578 1.562-.242 2.38a4.026 4.026 0 01-1.416.849zm-8.866 8.569l.984.987-.809.808L0 11.478l1.292-1.289a1.445 1.445 0 012.285-.043 1.46 1.46 0 01-.036 2.3zm-.322-1.934a.563.563 0 00-.921-.019l-.354.352.941.944.353-.353a.571.571 0 00-.019-.924zM3.2 8.283l3.233 3.242 2.152-2.144-.652-.653-1.339 1.335-2.581-2.588zm4.449-.8a1.8 1.8 0 002.885.091 1.8 1.8 0 00-.082-2.886L8.633 2.866l-.8.8 1.845 1.856c.428.43.657.927.194 1.388s-.958.23-1.386-.2L6.637 4.857l-.8.8 1.82 1.825m12.169 3.8h-.856l-1.86-2.171.554-.645 1.306-1.525H24a7.459 7.459 0 00-.5-1.33 7.137 7.137 0 00-5.811-3.941v1.3A5.926 5.926 0 0122 5.613h-3.647l-1.638 1.911-.8.939c-.022.027-.032.058-.052.087a1 1 0 00.052 1.215l1.638 1.91.8.938H22a6.043 6.043 0 01-5.208 2.7 7.038 7.038 0 01-.928-.066 6.488 6.488 0 01-1.5-.378 5.793 5.793 0 01-3.294-3.248 6.486 6.486 0 01-.393-1.488v-.01l-1.116 1.105v.007l-5.173 5.176a3.5 3.5 0 000 4.957l.2.194a3.5 3.5 0 004.957 0l5.205-5.206a8.292 8.292 0 002.041.257 7.244 7.244 0 006.711-4 7.42 7.42 0 00.5-1.329h-4.181zM8.6 20.623a2.175 2.175 0 01-3.076 0l-.195-.2a2.175 2.175 0 010-3.076l4.745-4.745a6.95 6.95 0 003.291 3.253zM7.049 17.9a1 1 0 101 1 1 1 0 00-1-1\"/>`\n);\n\nexport const PriceTypeSwitchShape = clrIconSVG(\n `<path d=\"M2.598 6.605h13.106c3.1 0 3.927.871 3.927 3.314h1.33c0-3.162-1.406-4.644-5.257-4.644H2.598zM21.402 17.244H8.296c-3.1 0-3.927-.872-3.927-3.314h-1.33c0 3.162 1.406 4.644 5.257 4.644h13.106z\"/>\n <path d=\"M3.69 4.996c.808-.81 2.022-1.982 3.643-3.512L6.42.516C2.407 4.306 1.335 5.382 1.335 5.9c0 .518 1.072 1.597 5.085 5.39l.914-.967A176.794 176.794 0 013.69 6.806c-.384-.386-.674-.69-.868-.906.194-.216.484-.518.868-.904zM19.978 16.996c-.807-.81-2.022-1.982-3.643-3.512l.913-.968c4.014 3.79 5.086 4.866 5.086 5.384 0 .518-1.073 1.597-5.085 5.39l-.914-.967a176.795 176.795 0 003.643-3.517c.384-.386.674-.69.867-.906a25.407 25.407 0 00-.867-.904z\"/>`\n);\n\nexport const RouteShape = clrIconSVG(\n `<path d=\"M6.5 1A5.4 5.4 0 001 6.619a17.322 17.322 0 002.26 7.846C4.452 16.714 5.765 18.5 6.5 18.5s2.061-1.8 3.252-4.051A17.285 17.285 0 0012 6.619 5.394 5.394 0 006.5 1zm2.076 12.827A14.509 14.509 0 016.5 16.975a14.556 14.556 0 01-2.065-3.132A15.985 15.985 0 012.33 6.619 4.048 4.048 0 016.5 2.33a4.048 4.048 0 014.17 4.289 15.96 15.96 0 01-2.094 7.208zm.3-7.261A2.374 2.374 0 116.5 4.18a2.38 2.38 0 012.374 2.386zM1 21h2v2H1zm4 0h2v2H5zm4 0h2v2H9zm4 0h2v2h-2zm4 0h2v2h-2zm6 0v2h-2v-2z\"/>`\n);\n\nexport const SizeShape = clrIconSVG(\n `<path d=\"M18.73 7.77l-.27-.25-.91 1 .26.25c1.11 1 2.07 2 2.72 2.6H3.5c.56-.56 1.47-1.45 3-2.85l-.91-1c-4.2 4-4.2 4.11-4.2 4.48s0 .51 4.2 4.48l.91-1c-1.5-1.36-2.44-2.25-3-2.81h17c-.77.76-1.89 1.85-2.95 2.85l.91 1c4.2-4 4.2-4.14 4.2-4.48 0-.53-.19-.73-3.93-4.27z\"/>`\n);\n\nexport const TaxiDealerShape = clrIconSVG(\n `<path d=\"M1.58 6.41L.39 3.54 1.62 3 2.8 5.9zm6.13-1.73l-.5-3-1.31.22.5 3zm5-3.39h-1.37v3h1.33zm5.45.61l-1.31-.22-.5 3 1.31.22zm5.5 1.64L22.39 3l-1.18 2.9 1.23.51zM22 19.61v1.77h2v1.33H0v-1.33h2v-1.77H0v-1.33h.24L1.85 9.4a3.34 3.34 0 013.41-2.54h13.48a3.34 3.34 0 013.41 2.54l1.61 8.88H24v1.33zM1.59 18.28h20.82l-1.56-8.65a2 2 0 00-2.11-1.44H5.26a2 2 0 00-2.11 1.44zm19.09 1.33H3.34v1.77h17.34zM8.13 10.69H4.47V12H5.6v3.77h1.33V12h1.2zm10 5.1h1.33v-5.11h-1.32zm-.65-5.11l-1.66 2.57 1.64 2.55h-1.57L15 14.47l-.86 1.33h-2.55l-.24-.66-.15-.38H9.73l-.13.34-.25.66H7.93l1.91-5.11h1.24l1.78 4.7 1.39-2.14-1.65-2.53h1.58L15 12l.86-1.34zm-7 2.14l-.25.65h.49z\"/>`\n);\n\nexport const TouaregServiceShape = clrIconSVG(\n `<path d=\"M.735 9.949a2.213 2.213 0 003.129 0L5.913 7.9a3.921 3.921 0 004.245-2.084l.157-.486L9.5 3.877l.8-1.45-.157-.314A3.861 3.861 0 006.6 0a3.848 3.848 0 00-3.982 3.979 4.383 4.383 0 00.061.723L.649 6.731a2.213 2.213 0 000 3.128zm.855-2.276l2.556-2.558-.1-.369a2.974 2.974 0 01-.1-.767A2.534 2.534 0 016.6 1.33a2.585 2.585 0 012.184 1.09l-.124.224H6.887L5.768 4.037l1.17 1.123h1.755l.158.278a2.688 2.688 0 01-2.994 1.1l-.366-.092-2.567 2.562a.907.907 0 01-1.246 0l-.089-.09a.88.88 0 010-1.248zm19.819 10.535a2.38 2.38 0 00.1-1.827c-.007-.018-.017-.033-.024-.051a53.47 53.47 0 001-.383 2.1 2.1 0 001.467-1.6c.247-.872-.558-2.289-1.022-3.084a1.918 1.918 0 00-2.025-1.143 7.536 7.536 0 00-.819.05c-1.985.217-4.093.7-4.093.7a32.316 32.316 0 00-3.254-1.21 5.418 5.418 0 00-1.639-.291A13.983 13.983 0 006.555 10.6C3.023 11.932 1.16 13.109.6 13.786c.505.651.368.612-.291 2.325S.18 18.64.684 20.337a3.548 3.548 0 001.269 2.125 4.064 4.064 0 00.437.019 8.044 8.044 0 001.63-.181c.074-.016.166-.038.274-.066.014.054.02.109.039.162A2.391 2.391 0 006.587 24c.065 0 .129-.011.194-.016L6.734 24h4.035L24 19.38v-1.409l-3.447 1.2a2.382 2.382 0 00.856-.963zm-1.154-1.386a1.061 1.061 0 01-2 .705 1.062 1.062 0 011-1.413 1.073 1.073 0 01.314.049 1.059 1.059 0 01.26.126c.006 0 .014.006.02.01a1.061 1.061 0 01.393.5c.002.006.009.013.013.023zm-.022-5.334a6.3 6.3 0 01.674-.042c.565 0 .6.02.842.427-.608.13-1.192.272-1.964.48l.346 1.285c.9-.243 1.537-.395 2.27-.543a2.115 2.115 0 01.273.884c-.128.454-.18.532-.682.734-.224.09-.712.275-1.356.516a2.383 2.383 0 00-3.537.91 2.455 2.455 0 00-.163.453c-1.2.437-2.4.869-3.336 1.2-.411.144-.891.311-1.4.487l-1.472-3.761c4.66-1.682 7.865-2.766 7.916-2.784l-.008-.02c.51-.087 1.057-.167 1.597-.226zm-7.882-.564a29.11 29.11 0 012.251.8c-1.254.441-2.776.981-4.5 1.6l-1.64-2A8.41 8.41 0 0111.1 10.7a4.108 4.108 0 011.251.224zM2.215 14.147a23.583 23.583 0 014.808-2.3l.117-.043L8.8 13.8c-2.2.8-4.655 1.713-7.214 2.691.089-.23.17-.432.238-.6a3.44 3.44 0 00.391-1.744zM3.747 21a6.742 6.742 0 01-1.242.148 3.867 3.867 0 01-.546-1.191c-.093-.314-.187-.6-.275-.866A8.591 8.591 0 011.37 18a500.413 500.413 0 018.1-3.027l1.463 3.739c-.952.323-1.964.662-2.925.978a2.377 2.377 0 00-3.675 1.161c-.253.069-.456.123-.586.149zm2.383 1.564a1.051 1.051 0 01-.541-.605c-.011-.031-.006-.063-.014-.095a1.07 1.07 0 01.085-.751.822.822 0 01.049-.067 1.021 1.021 0 01.181-.232 1.032 1.032 0 01.7-.267 1.029 1.029 0 01.31.053 1.059 1.059 0 01.256.123c.008 0 .017.007.025.012a1.068 1.068 0 01.392.495c0 .011.013.019.017.031a1.061 1.061 0 01-.651 1.352 1.051 1.051 0 01-.809-.049zm1.785 1.024a2.371 2.371 0 00.931-2.772c1.909-.632 3.923-1.32 5.2-1.767.841-.3 1.892-.673 2.965-1.063a2.391 2.391 0 002.246 1.582c.08 0 .159-.012.239-.02z\"/>`\n);\n\nexport const VehicleConversionShape = clrIconSVG(\n `<path d=\"M23.887 17.55a4.447 4.447 0 00-2.092-3.5l-.852-.508a3.6 3.6 0 01-.718-.565L17.019 9.72a2.723 2.723 0 00-1.928-.831h-1.949l.005-1.771H.584v7.859A35.209 35.209 0 00.4 16.568L.171 19.21a1.044 1.044 0 00.757 1.123l1.992.477a2.354 2.354 0 004.7.015l9.136-.029a2.354 2.354 0 004.7-.015h.166l1.5-.43A1.286 1.286 0 0024 19zm-8.8-7.331a1.392 1.392 0 01.984.434l2.823 2.867-5.765-.026.009-3.275zm-3.274-1.771v1.054l-.03 5.263H1.914V8.448zM1.722 16.681c.013-.163.036-.371.061-.586h10.008l-.01 3.387-4.452.018a2.344 2.344 0 00-4.128.013l-1.685-.4zm3.546 4.989a1.023 1.023 0 01-1-.834 1.052 1.052 0 01-.04-.2 1.036 1.036 0 111.04 1.034zm13.832 0a1.035 1.035 0 111.036-1.035 1.076 1.076 0 01-.03.15 1.024 1.024 0 01-1.006.885zm2.328-2.219h-.291a2.345 2.345 0 00-4.08.013l-3.945.013.013-4.654 7.429.033.56.334a2.878 2.878 0 01.944.944 44.139 44.139 0 00-2.639-.148l-.031 1.33c1.074.025 2.128.092 3.146.191.005.048.023.093.026.142l.105 1.446z\"/>`\n);\n\nexport const VirtualRealityShape = clrIconSVG(\n `<path d=\"M23.012 11.706l-1.005-.091c-.725-3.268-3.382-4.488-6.521-4.901l-1.362-3.067H9.948l-1.43 3.066c-3.156.415-5.825 1.646-6.534 4.952l-.99.114-.006 3.397.947.086c.704 4.074 3.976 4.872 7.485 5.07l.351.019.215-.28A2.335 2.335 0 0112 19.049a2.256 2.256 0 011.957 1.02l.216.284.355-.023c4.36-.278 6.875-2 7.513-5.116l.966-.111zM10.077 6.562l.725-1.585h2.45l.691 1.585h-.088c-.613-.033-1.235-.046-1.855-.046s-1.242.013-1.855.046zm4.697 12.417A3.811 3.811 0 0012 17.719a3.976 3.976 0 00-2.833 1.264c-3.612-.254-5.34-1.258-5.865-3.597l.687.063v-4.015l-.602.07c.791-2.6 3.407-3.658 8.613-3.658 5.197 0 7.813 1.052 8.609 3.642l-.598-.054v4.015l.598-.07c-.645 2.154-2.529 3.325-5.835 3.6z\"></path><path d=\"M9.387 14.479l-1.115-3.441-.025-.08H6.988v.186l1.718 4.816h1.349l1.71-4.777.007-.225h-1.258zM15.778 13.961a1.387 1.387 0 00.974-1.449c0-.709-.308-1.554-1.771-1.554h-2.13v5.002h1.206v-1.887h.434l1.278 1.887h1.243v-.264zm-1.721-1.959h.875c.369 0 .572.18.572.51 0 .333-.203.517-.572.517h-.875z\"/>`\n);\n\nexport const WindscreenWashShape = clrIconSVG(\n `<path d=\"M22.782 10.49c-.997-1.453-3.855-4.537-10.117-4.75V4.013a.96.96 0 01.959-.96.947.947 0 01.96.944h1.33A2.288 2.288 0 0012 2.402 2.288 2.288 0 008.085 4h1.33a.95.95 0 01.96-.946.96.96 0 01.96.96V5.74c-6.28.205-9.128 3.299-10.12 4.754a1.027 1.027 0 00.13 1.307L11.27 21.7a1.032 1.032 0 001.457 0l9.927-9.9a1.027 1.027 0 00.127-1.31zm-10.79 5.333h.002a8.226 8.226 0 013.697.902l-3.565 3.556a.179.179 0 01-.253 0l-3.567-3.557a8.162 8.162 0 013.685-.901zm4.772-.026a9.576 9.576 0 00-4.1-1.265v-2.525h-1.33v2.525a9.504 9.504 0 00-4.099 1.264l-4.774-4.76c.956-1.295 3.492-3.778 8.873-3.968v2.944h1.33V7.069c5.369.196 7.912 2.674 8.874 3.967z\"/>`\n);\n\nexport const WrenchForward = clrIconSVG(\n `<path d=\"M33.18 26.11L20.35 13.28A9.28 9.28 0 007.54 2.79l-1.34.59 5.38 5.38-2.82 2.83-5.38-5.38-.59 1.33a9.27 9.27 0 0010.49 12.81l12.83 12.83a2 2 0 002.83 0l4.24-4.24a2 2 0 000-2.83zm-5.66 5.66L13.88 18.12l-.57.16a7.27 7.27 0 01-9-4.94A7.54 7.54 0 014 11.28a7.36 7.36 0 01.15-1.48l4.61 4.61 5.66-5.66-4.61-4.6a7.27 7.27 0 018.47 9.16l-.16.57 13.65 13.65z\"/><circle cx=\"27.13\" cy=\"27.09\" r=\"1.3\"/><path d=\"M18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const TopcardShape = clrIconSVG(\n `<path fill=\"none\" d=\"M0 0h36v36H0z\"/><path d=\"M32 6H4a2 2 0 00-2 2v20a2 2 0 002 2h28a2 2 0 002-2V8a2 2 0 00-2-2zm0 2v12H4V8zM4 28v-4h28v4z\"/><path d=\"M12.09 11.24h-1.9v6.24a1.16 1.16 0 01-.24.8.82.82 0 01-.62.26.8.8 0 01-.63-.27 1.13 1.13 0 01-.24-.79v-6.24h-1.9A1 1 0 015.9 11a.65.65 0 01-.22-.52.67.67 0 01.23-.48 1 1 0 01.65-.19h5.53a1 1 0 01.67.2.66.66 0 01.22.52.65.65 0 01-.22.52 1 1 0 01-.67.19zM17.63 9.65a4.53 4.53 0 012.3.55 3.49 3.49 0 011.45 1.54 5.2 5.2 0 01.49 2.34 5.69 5.69 0 01-.27 1.81 3.9 3.9 0 01-.81 1.42 3.51 3.51 0 01-1.32.91 4.85 4.85 0 01-1.8.32 4.75 4.75 0 01-1.81-.33 3.49 3.49 0 01-1.33-.92 3.86 3.86 0 01-.8-1.42 5.76 5.76 0 01-.27-1.8 5.5 5.5 0 01.28-1.81 3.94 3.94 0 01.82-1.41 3.58 3.58 0 011.32-.85 4.79 4.79 0 011.75-.35zm2.48 4.42a4 4 0 00-.31-1.63 2.27 2.27 0 00-.87-1 2.46 2.46 0 00-1.3-.35 2.35 2.35 0 00-1 .19 2.12 2.12 0 00-.76.57 2.9 2.9 0 00-.51 1 4.46 4.46 0 00-.18 1.31 4.6 4.6 0 00.18 1.33 2.78 2.78 0 00.53 1 2.15 2.15 0 00.77.58 2.32 2.32 0 001 .19 2.27 2.27 0 002.12-1.36 4 4 0 00.33-1.83zM26.69 15H25.1v2.44a1.12 1.12 0 01-.25.79.86.86 0 01-1.25 0 1.14 1.14 0 01-.24-.78v-6.58a1.09 1.09 0 01.26-.82 1.19 1.19 0 01.84-.25h2.23a6 6 0 011.53.15 2.3 2.3 0 01.91.49 2.22 2.22 0 01.58.83 3 3 0 01.2 1.11 2.45 2.45 0 01-.81 2 3.69 3.69 0 01-2.41.62zm-.42-3.93H25.1v2.62h1.17a3.4 3.4 0 001-.13 1.18 1.18 0 00.63-.42 1.28 1.28 0 00.22-.77 1.32 1.32 0 00-.34-.92 2.19 2.19 0 00-1.51-.34z\"/>`,\n '0 0 36 36'\n);\n\nexport const TaskAndAppointment = clrIconSVG(\n `<path d=\"M11.59,5.12v2h8.24v-2ZM5,23.85V7.12H7.34v-2H4.58a1.6079,1.6079,0,0,0-1.13.49A1.5847,1.5847,0,0,0,3,6.75l.01,17.56a1.7838,1.7838,0,0,0,.03.28c.02.08.09.28.09.28a1.4509,1.4509,0,0,0,.12.22l.07.1a1.1511,1.1511,0,0,0,.14.17l.09.09.12.1a1.0634,1.0634,0,0,0,.19.11l.11.05c.05.02.1.04.16.06a.6468.6468,0,0,0,.13.04,1.5682,1.5682,0,0,0,.33.04h5.69v-2ZM26.83,5.12H24.07V6.77a4.6661,4.6661,0,0,1,.9.35h1.44V8.14a4.97,4.97,0,0,1,.65.79h1.35V6.72A1.6138,1.6138,0,0,0,26.83,5.12ZM21.95,2a1.0029,1.0029,0,0,0-1,1V6.86c.11-.04.24-.08.36-.11a5.0565,5.0565,0,0,1,1.33-.17c.1,0,.2,0,.31.01V3A1.0029,1.0029,0,0,0,21.95,2ZM9.46,2a1.0029,1.0029,0,0,0-1,1V7.68a1,1,0,0,0,2,0V3A.9965.9965,0,0,0,9.46,2ZM7.68,19.17v2h2v-2Zm0-3.9v2h2v-2Zm0-3.91v2h2v-2Z\"/><path d=\"M17.5626,24.0412a1,1,0,0,1,1.3984-1.4229L21.62,25.2765l5.1353-5.1357a.9994.9994,0,0,1,1.4228.0976.9945.9945,0,0,1,0,1.3l-6.5581,6.56ZM16.1769,16.047V12.963a2.05,2.05,0,0,1,2.0366-2.0371h1.2319a3.3415,3.3415,0,0,1,2.3608-2.2431,3.3794,3.3794,0,0,1,.8316-.1055,3.3389,3.3389,0,0,1,3.1875,2.3486h1.2388a2.0508,2.0508,0,0,1,2.0376,2.0362V16.047Zm10.9248-2V12.963L23.98,12.9259v-1a1.3409,1.3409,0,0,0-2.6817,0v1h-3.084a.0374.0374,0,0,0-.0375.0371v1.084ZM31.45,10.93H31V32H14.28V10.93h-.22a1.6292,1.6292,0,0,0-1.77,1.34,1.21,1.21,0,0,0-.01.19v20A1.5429,1.5429,0,0,0,13.83,34H31.46A1.5407,1.5407,0,0,0,33,32.46v-20A1.5408,1.5408,0,0,0,31.45,10.93Z\"/>`,\n '0 0 36 36'\n);\n\nexport const ParkingLocation = clrIconSVG(\n `<path d=\"M28,8V28H8V8H28m0-2H8A2,2,0,0,0,6,8V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V8a2,2,0,0,0-2-2Z\"/><path d=\"M16,25H14V11h4.5a4.5,4.5,0,0,1,0,9H16Zm0-7h2.5a2.5,2.5,0,0,0,0-5H16Z\"/>`,\n '0 0 36 36'\n);\n\nexport const PartsShape = clrIconSVG(\n `<path data-name=\"Path 177\" d=\"M6.6 10l-3.39 6.2 3.39 6.16h6.78l3.39-6.16-3.39-6.2zm5.81 10.68H7.57L5.08 16.2l2.49-4.53h4.84l2.49 4.53zM10 13.43a2.77 2.77 0 102.78 2.77A2.77 2.77 0 0010 13.43zm0 3.9a1.13 1.13 0 111.13-1.13A1.12 1.12 0 0110 17.33zM32.79 5.42H18v6.16h4.11v18.16h6.56l.12-18.16h4zM27.13 15v2.14l-3.37-1.07v-2.16zm0 3.85v2l-3.34-1.06v-2.02zm0 3.76v2.19l-3.32-1.06v-2.2zm-3.33 5.5v-2.66l3.31 1.05v1.6zm3.4-14.83l-3.4-1.08v-.61h3.41zm4-3.33H19.64V7.06h11.51zM3.21 29.76h13.56v-4.93H3.21zm1.64-3.29h10.28v1.65H4.85z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const PartsForwardShape = clrIconSVG(\n `<path data-name=\"Path 177\" d=\"M32.79 5.42H18v6.16h4.11v18.16h6.56l.12-18.16h4zM27.13 15v2.14l-3.37-1.07v-2.16zm0 3.85v2l-3.34-1.06v-2.02zm0 3.76v2.19l-3.32-1.06v-2.2zm-3.33 5.5v-2.66l3.31 1.05v1.6zm3.4-14.83l-3.4-1.08v-.61h3.41zm4-3.33H19.64V7.06h11.51z\"/><path d=\"M13.38 10H6.6l-3.39 6.2 3.39 6.16h6.78l3.39-6.16zm-1 10.68H7.57L5.08 16.2l2.49-4.53h4.84l2.49 4.53z\"/><path d=\"M10 13.43a2.77 2.77 0 102.78 2.77A2.77 2.77 0 0010 13.43zm1.12 2.77A1.13 1.13 0 0110 17.33a1.13 1.13 0 111.13-1.13zM16.08 24.83l.69.69v-.69zm-12.86 0V27h1.64v-.53H10a2.42 2.42 0 010-.47 2.92 2.92 0 01.24-1.17zm14.84 6.23l-4 4a1.5 1.5 0 01-2.12 0 1.49 1.49 0 010-2.12l1.44-1.44H3a1.5 1.5 0 010-3h10.38l-1.44-1.44a1.5 1.5 0 012.12-2.12l4 4a1.49 1.49 0 010 2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const PartsNonStockShape = clrIconSVG(\n `<path d=\"M6.61 14.07l-3.39 6.15 3.39 6.16h6.77l3.39-6.16-3.39-6.15zm5.8 10.67H7.58l-2.49-4.52 2.49-4.52h4.83l2.49 4.52zM10 17.45A2.77 2.77 0 0010 23a2.77 2.77 0 000-5.55zm0 3.9a1.13 1.13 0 111.14-1.13A1.13 1.13 0 0110 21.35zm22.78-15.9H18v6.15h4.11v18.16h6.56l.12-18.16h4zM27.13 15v2.14l-3.37-1.07v-2.13zm0 3.86v2l-3.34-1.06v-2zm0 3.75v2.18l-3.31-1.05v-2.18zm-3.33 5.5v-2.64l3.3 1.05v1.6zm3.4-14.82l-3.4-1.08v-.61h3.4zm4-3.33H19.65V7.09h11.5zM10.5 13.5v-3h-8v-4h8v-3l6 5z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const PartNonStockForwardShape = clrIconSVG(\n `<path d=\"M10.5 13.5v-3h-8v-4h8v-3l6 5zM10 26.38a2.33 2.33 0 010-.38 3 3 0 01.29-1.26H7.57l-2.48-4.51 2.48-4.53h4.84l2.49 4.52L13.35 23a2.87 2.87 0 011.52.64l1.9-3.45-3.39-6.16H6.61l-3.39 6.2 3.39 6.15zm2.73-6.16A2.77 2.77 0 1110 17.45a2.77 2.77 0 012.76 2.77zm-1.63 0a1.14 1.14 0 10-1.1 1.13 1.13 1.13 0 001.13-1.13zm6.92 8.72l-4-4a1.49 1.49 0 00-2.12 0 1.51 1.51 0 000 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.37l-1.44 1.44a1.51 1.51 0 000 2.12 1.53 1.53 0 001.07.44 1.49 1.49 0 001.06-.44l4-4a1.49 1.49 0 00-.01-2.12zM32.79 5.42H18v6.16h4.11v18.16h6.56l.12-18.16h4zM27.13 15v2.14l-3.37-1.07v-2.16zm0 3.85v2l-3.34-1.06v-2.02zm0 3.76v2.19l-3.32-1.06v-2.2zm-3.33 5.5v-2.66l3.31 1.05v1.6zm3.4-14.83l-3.4-1.08v-.61h3.41zm4-3.33H19.64V7.06h11.51z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const PaintMaterialShape = clrIconSVG(\n `<path d=\"M18,5.65C11.63,5.65,7.83,7,7.83,9.27V26.73c0,2.27,3.8,3.62,10.17,3.62S28.17,29,28.17,26.73V9.27C28.17,7,24.37,5.65,18,5.65ZM9.98,9.35c.19-.2,1.69-1.55,8.02-1.55s7.83,1.35,8.02,1.55v17.3c-.19.2-1.69,1.55-8.02,1.55s-7.83-1.35-8.02-1.55Z\"/></g><ellipse cx=\"18\" cy=\"10.7\" rx=\"6.34\" ry=\"2\"/><path d=\"M20.86,13.91l-2,2.89a2.482,2.482,0,1,0,4.08,0Z\"/>`,\n '0 0 36 36'\n);\n\nexport const PaintMaterialForwardShape = clrIconSVG(\n `<path d=\"M18.86,16.8a2.482,2.482,0,1,0,4.08,0l-2.08-2.89Z\"/><ellipse cx=\"18\" cy=\"10.7\" rx=\"6.34\" ry=\"2\"/><path d=\"M28.17,9.27V26.73c0,1.94-2.79,3.22-7.68,3.54a1.4769,1.4769,0,0,0,.01-.21,3.3752,3.3752,0,0,0-.57-1.91c4.72-.24,5.92-1.31,6.09-1.5V9.35C25.83,9.14,24.33,7.8,18,7.8S10.17,9.14,9.98,9.35V24.29a3.4091,3.4091,0,0,0-.48,1.77,2.8858,2.8858,0,0,0,.04.5H7.83V9.27C7.83,7,11.63,5.65,18,5.65S28.17,7,28.17,9.27Z\"/><path d=\"M18.0605,28.9952l-4-4a1.5,1.5,0,0,0-2.121,2.1211l1.4394,1.44H3a1.5,1.5,0,0,0,0,3H13.3789L11.94,32.9952a1.5,1.5,0,1,0,2.121,2.1211l4-4A1.4993,1.4993,0,0,0,18.0605,28.9952Z\"/><path d=\"M18.0605,28.9952l-4-4a1.5,1.5,0,0,0-2.121,2.1211l1.4394,1.44H3a1.5,1.5,0,0,0,0,3H13.3789L11.94,32.9952a1.5,1.5,0,1,0,2.121,2.1211l4-4A1.4993,1.4993,0,0,0,18.0605,28.9952Z\"/>`,\n '0 0 36 36'\n);\n\nexport const ItemsReceiveShape = clrIconSVG(\n `<path d=\"M31.995,8.1968H4.0049A2.005,2.005,0,0,0,2,10.2018v5.4008a2.9662,2.9662,0,0,1,1.5-.4172h.5034l.0015-4.9886h27.99l.005.005L31.995,26.174,4,26.169l.0015-4.9836H3.5A2.9662,2.9662,0,0,1,2,20.7682V26.169a2.005,2.005,0,0,0,2.0049,2.005h27.99A2.005,2.005,0,0,0,34,26.169V10.2018A2.005,2.005,0,0,0,31.995,8.1968Z\"/><path d=\"M18.5605,17.1248l-4-4a1.5,1.5,0,1,0-2.1211,2.1211l1.44,1.44H3.5a1.5,1.5,0,0,0,0,3H13.8789l-1.44,1.4394a1.5,1.5,0,1,0,2.1211,2.1211l4-4A1.4993,1.4993,0,0,0,18.5605,17.1248Z\"/><path d=\"M25.9893,23.1855h-4a1,1,0,0,1,0-2h4a1,1,0,0,1,0,2Z\"/><path d=\"M28.4893,19.1855h-6.5a1,1,0,0,1,0-2h6.5a1,1,0,0,1,0,2Z\"/><path d=\"M27.9893,15.1855h-6a1,1,0,0,1,0-2h6a1,1,0,0,1,0,2Z\"/>`,\n '0 0 36 36'\n);\n\nexport const ItemsForwardShape = clrIconSVG(\n `<path d=\"M31.996,22.9315l-.001,3.2425L4,26.169l.0049-15.9722h27.99l.005.005-.001,3.24L34,15.4432V10.2018a2.005,2.005,0,0,0-2.005-2.005H4.0049A2.005,2.005,0,0,0,2,10.2018V26.169a2.005,2.005,0,0,0,2.0049,2.005h27.99A2.005,2.005,0,0,0,34,26.169V20.9276Z\"/><path d=\"M33.5605,17.1248l-4-4a1.5,1.5,0,1,0-2.1211,2.1211l1.44,1.44H18.5a1.5,1.5,0,0,0,0,3H28.8789l-1.44,1.4394a1.5,1.5,0,1,0,2.1211,2.1211l4-4A1.4993,1.4993,0,0,0,33.5605,17.1248Z\"/></g><path d=\"M11.6836,23.1855h-4a1,1,0,0,1,0-2h4a1,1,0,1,1,0,2Z\"/><path d=\"M14.1836,19.1855h-6.5a1,1,0,0,1,0-2h6.5a1,1,0,1,1,0,2Z\"/><path d=\"M13.6836,15.1855h-6a1,1,0,0,1,0-2h6a1,1,0,0,1,0,2Z\"/>`,\n '0 0 36 36'\n);\n\nexport const DollarBillPartialShape = clrIconSVG(\n `<path d=\"M18 24.55h-.16a5.52 5.52 0 01-1.07-.15 1 1 0 01-.77-1.23 1 1 0 011.22-.72 6.48 6.48 0 00.86.1 3.2 3.2 0 00.62-.09 1 1 0 11.5 1.93 4.74 4.74 0 01-1.2.16zM14.67 22.9a1 1 0 01-.76-.35 6.84 6.84 0 01-1.44-3 1 1 0 012-.43 4.79 4.79 0 001 2.1 1 1 0 01-.12 1.41 1 1 0 01-.68.27zm-1.21-5.33a.78.78 0 01-.22 0 1 1 0 01-.76-1.19 6.87 6.87 0 011.45-3 1 1 0 111.52 1.3 4.87 4.87 0 00-1 2.09 1 1 0 01-.99.8zM21.35 22.88a1 1 0 01-.64-.23 1 1 0 01-.13-1.41 4.88 4.88 0 001-2.1 1 1 0 011.19-.76 1 1 0 01.76 1.18 6.79 6.79 0 01-1.41 3 1 1 0 01-.77.32zm1.19-5.34a1 1 0 01-1-.77 4.85 4.85 0 00-1-2.08 1 1 0 011.52-1.31 6.85 6.85 0 011.46 2.94 1 1 0 01-.75 1.2.82.82 0 01-.23.02zm-5.48-4a1 1 0 01-.23-2 5 5 0 012.34 0 1 1 0 11-.47 1.94 3 3 0 00-1.4 0z\"/><path d=\"M21.57 26H9.49A5.87 5.87 0 004 20.44V15.6A5.87 5.87 0 009.51 10h17A5.87 5.87 0 0032 15.6v3.93l2-1.25V10a2 2 0 00-2-2H4a2 2 0 00-2 2v16a2 2 0 002 2h14.35zM32 10v4a4.25 4.25 0 01-3.9-4zM4 10h3.9A4.25 4.25 0 014 14zm0 16v-3.94A4.25 4.25 0 017.9 26z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const DollarBillForwardShape = clrIconSVG(\n `<path d=\"M24.3 18c0-3.94-2.83-7.15-6.3-7.15s-6.3 3.21-6.3 7.15a7.63 7.63 0 001.85 5.05 3 3 0 011.57.83l.91.9a5.43 5.43 0 002 .37c3.44 0 6.27-3.21 6.27-7.15zm-11 0c0-3.06 2.11-5.55 4.7-5.55s4.7 2.49 4.7 5.55-2.11 5.56-4.7 5.56c-2.59-.02-4.7-2.51-4.7-5.56z\"/><path d=\"M32 8H4a2 2 0 00-2 2v16a2 2 0 00.32 1.08A3.08 3.08 0 013 27h7.17a3 3 0 01-.17-1h-.51A5.87 5.87 0 004 20.44V15.6A5.87 5.87 0 009.51 10h17A5.87 5.87 0 0032 15.6v4.85A5.88 5.88 0 0026.49 26h-9.25l1.88 1.88.1.12H32a2 2 0 002-2V10a2 2 0 00-2-2zM7.9 26H4v-3.94A4.25 4.25 0 017.9 26zM4 14v-4h3.9A4.25 4.25 0 014 14zm28 12h-3.9a4.25 4.25 0 013.9-3.94zm0-12a4.25 4.25 0 01-3.9-4H32z\"/><path d=\"M18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const BlocksGroupForwardShape = clrIconSVG(\n `<path d=\"M10.17 33H8.42l1.6.74a3 3 0 01.15-.74zM33.53 18.76l-6.93-3.19V6.43a1 1 0 00-.6-.9l-7.5-3.45a1 1 0 00-.84 0l-7.5 3.45a1 1 0 00-.58.91v9.14l-6.9 3.18a1 1 0 00-.58.91v7.48A3 3 0 013 27h1.1v-5.77L10.18 24a1 1 0 00.55.06 1.3 1.3 0 01.15-.18A3 3 0 0113 23h.14l3.94-1.81v4.65l2 2v-6.62L25.19 24a1 1 0 00.81 0l6.08-2.8v7.61l-6.5 3-5.74-2.65A3 3 0 0120 30a3 3 0 01-.3 1.29l5.48 2.52a1 1 0 00.84 0l7.5-3.45a1 1 0 00.58-.91v-9.78a1 1 0 00-.57-.91zM18.1 4.08l5.11 2.35-5.11 2.35L13 6.43zM10.6 22l-5.11-2.33 5.11-2.36 5.11 2.35zm7.5-3.42l-6.5-3V8l6.08 2.8a1 1 0 00.84 0L24.6 8v7.58zM25.61 22l-5.11-2.33 5.11-2.35 5.11 2.35z\"/><path d=\"M18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const TextForward = clrIconSVG(\n `<path d=\"M26 16.5a1 1 0 01-1 1H11a1 1 0 010-2h14a1 1 0 011 1zm-4.25 4h-7.5a1 1 0 000 2h7.5a1 1 0 000-2zm-10.47-8h13.44a1 1 0 000-2H11.28a1 1 0 000 2zM18 2.5c-8.82 0-16 6.28-16 14A13.31 13.31 0 007.45 27h2.73a3 3 0 01-.15-.64A11.62 11.62 0 014 16.5c0-6.62 6.28-12 14-12s14 5.38 14 12a11.09 11.09 0 01-3.71 8.11 1 1 0 00-.32.73v5.34l-4.38-2.79a1 1 0 00-.83-.11 16.11 16.11 0 01-3.22.64 3 3 0 01.42 2 18.13 18.13 0 002.92-.56l5.53 3.52a1 1 0 001.38-.3 1 1 0 00.21-.58v-6.73a13 13 0 004-9.27c0-7.72-7.18-14-16-14zm.06 26.44l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const CalculatorForwardShape = clrIconSVG(\n `<path d=\"M22 28v2h4v-4h-2v2h-2zM26 20h-2v2h-2v2h4v-4zM13 23a3.05 3.05 0 011 .18V20h-2v2h-2v2h.78l.1-.12A3 3 0 0113 23zM26 14h-2v2h-2v2h4v-4zM6.28 33A2 2 0 008 34h2a3 3 0 01.17-1zM18 26v.76l1.12 1.12A3 3 0 0120 30v-4z\"/><path d=\"M28 2H8a2 2 0 00-2 2v23h2V4h20v28h-8.78l-.1.12L17.24 34H28a2 2 0 002-2V4a2 2 0 00-2-2z\"/><path d=\"M10 7v4.67h2V8h13.67V6H11a1 1 0 00-1 1zM10 18h4v-4h-2v2h-2v2zM20 20h-2v2h-2v2h4v-4zM20 14h-2v2h-2v2h4v-4zM18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const BundleForwardShape = clrIconSVG(\n `<path d=\"M32.43 8.35l-13-6.21a1 1 0 00-.87 0l-15 7.24a1 1 0 00-.57.9v16.55A1 1 0 003 27h3.67L5 26.2V12.13l11 5.27v7.36l2 2v-9.4l13-6.29v14.1l-11 5.34a2.88 2.88 0 01-.83 1.61L17.26 34a1.46 1.46 0 00.2-.05l15-7.24a1 1 0 00.57-.9V9.25a1 1 0 00-.6-.9zM17 15.64L6 10.41l5.9-2.85 10.7 5.35zm7.88-3.83L14.21 6.46 19 4.15l10.93 5.22z\"/><path d=\"M18.06 28.94l-4-4a1.5 1.5 0 00-2.12 2.12l1.44 1.44H3a1.5 1.5 0 000 3h10.38l-1.44 1.44a1.49 1.49 0 000 2.12 1.5 1.5 0 002.12 0l4-4a1.49 1.49 0 000-2.12z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const InternalPartForwardShape = clrIconSVG(\n `<path d=\"M9.9945,18.971a2.7725,2.7725,0,0,0,.001-5.545h-.004l.003.001a2.772,2.772,0,0,0,0,5.544Zm-.008-3.906a1.134,1.134,0,0,1,1.138,1.13v.004a1.134,1.134,0,1,1-1.138-1.134Z\"/><path d=\"M18.0005,5.42v6.161H22.11V29.739h6.561l.123-18.158h3.992V5.42Zm9.044,22.679-3.296-.002v-2.65l3.307,1.052Zm.023-3.312-3.319-1.056V21.535l3.334,1.062Zm.026-3.906-3.345-1.065V17.774l3.36,1.071Zm.025-3.753-3.371-1.072V13.9109l3.387,1.0771Zm.03-3.86-3.4-1.081v-.61h3.409Zm-7.51-3.327V7.059h11.509l.001,2.882Z\"/><path d=\"M13.38,22.36l3.388-6.161L13.38,10.038H6.6025l-3.388,6.161,3.388,6.161ZM7.5715,11.674h4.843l2.486,4.522-2.486,4.525H7.5715l-2.487-4.522Z\"/><path d=\"M3.2145,29.76h13.554V24.831H3.2145Zm1.639-3.2859H15.13v1.651H4.8535Z\"/><path d=\"M8.6811,8.8945a.4812.4812,0,0,0,.7819-.3758v-1.74L12.2255,8.9A.4813.4813,0,0,0,13,8.5187V2.4813A.4814.4814,0,0,0,12.2255,2.1L9.463,4.2216v-1.74a.4813.4813,0,0,0-.7819-.3759L4.9077,5.1242a.4812.4812,0,0,0,0,.7515Z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const InvoiceShape = clrIconSVG(\n `<path d=\"M16.2139,15.3164a2.8144,2.8144,0,0,0,.93-.708l1.0683.9834a4.2774,4.2774,0,0,1-3.12,1.3437,4.2121,4.2121,0,0,1-1.7822-.39,4.4426,4.4426,0,0,1-1.4639-1.08,4.23,4.23,0,0,1-.8936-1.5537H9.9434V13.06h.8408c-.0166-.1758-.0244-.3076-.0244-.3955a4.1283,4.1283,0,0,1,.0361-.5645H9.9434V11.248h1.0683a4.2052,4.2052,0,0,1,.918-1.4638A4.49,4.49,0,0,1,13.37,8.77a4.2483,4.2483,0,0,1,3.42-.0117,4.4989,4.4989,0,0,1,1.4219.9785l-1.0683.9961a2.9612,2.9612,0,0,0-.93-.7021,2.5521,2.5521,0,0,0-1.1221-.2578,2.65,2.65,0,0,0-1.41.4013,2.873,2.873,0,0,0-1.0254,1.0742H15.752V12.1H12.3438a2.8811,2.8811,0,0,0-.06.5645q0,.1319.0234.3955H15.752v.8525H12.56a2.9781,2.9781,0,0,0,1.0439,1.2,2.6326,2.6326,0,0,0,1.4883.4561A2.6012,2.6012,0,0,0,16.2139,15.3164Z\"/><path d=\"M21.89,4H7.83A1.88,1.88,0,0,0,6,5.91V30.09A1.88,1.88,0,0,0,7.83,32H28.17A1.88,1.88,0,0,0,30,30.09V11.92Zm-.3,2.49,6,5.9h-6ZM8,30V6H20v8h8V30Z\"/><path d=\"M19,25.833H10.61a1,1,0,1,1,0-2H19a1,1,0,0,1,0,2Z\"/><path d=\"M23,21.833H10.61a1,1,0,1,1,0-2H23a1,1,0,0,1,0,2Z\"/>`,\n '0 0 36 36'\n);\nexport const InvoiceReadyShape = clrIconSVG(\n `<path d=\"M13.6816,10.1738a2.65,2.65,0,0,1,1.41-.4013,2.5521,2.5521,0,0,1,1.1221.2578,2.9612,2.9612,0,0,1,.93.7021l1.0683-.9961A4.4989,4.4989,0,0,0,16.79,8.7578a4.2483,4.2483,0,0,0-3.42.0117,4.49,4.49,0,0,0-1.44,1.0147,4.2052,4.2052,0,0,0-.918,1.4638H9.9434V12.1h.8525a4.1283,4.1283,0,0,0-.0361.5645c0,.0879.0078.22.0244.3955H9.9434v.8525h1.0087a4.23,4.23,0,0,0,.8936,1.5537,4.4426,4.4426,0,0,0,1.4639,1.08,4.2913,4.2913,0,0,0,3.4922.0361,4.2643,4.2643,0,0,0,1.41-.99l-1.0683-.9834a2.8144,2.8144,0,0,1-.93.708,2.6012,2.6012,0,0,1-1.1221.252,2.6326,2.6326,0,0,1-1.4883-.4561,2.9781,2.9781,0,0,1-1.0439-1.2H15.752V13.06H12.3076q-.0234-.2637-.0234-.3955a2.8811,2.8811,0,0,1,.06-.5645H15.752V11.248H12.6562A2.873,2.873,0,0,1,13.6816,10.1738Z\"/><path d=\"M18.08,25.83a9.0156,9.0156,0,0,1,.5-2H10.61a1,1,0,0,0,0,2Z\"/><path d=\"M21.57,19.83H10.61a1,1,0,0,0,0,2h9.03A9.1583,9.1583,0,0,1,21.57,19.83Z\"/><path d=\"M8,30V6H20v8h8v4.06a8.4307,8.4307,0,0,1,2,.46v-6.6L21.89,4H7.83A1.88,1.88,0,0,0,6,5.91V30.09A1.88,1.88,0,0,0,7.83,32H19.52a9.124,9.124,0,0,1-1-2ZM21.59,6.49l6,5.9h-6Z\"/><path d=\"M26.9373,19.9375A7.0625,7.0625,0,1,0,34,27,7.0625,7.0625,0,0,0,26.9373,19.9375ZM27,32a5,5,0,1,1,5-5A5.0018,5.0018,0,0,1,27,32Z\"/><path d=\"M30.8672,24.4834a1,1,0,0,0-1.4141,0l-3.3017,3.3027-1.6045-1.6045a1,1,0,1,0-1.4141,1.4141l3.0186,3.0186,4.7158-4.7168A1,1,0,0,0,30.8672,24.4834Z\"/>`,\n '0 0 36 36'\n);\n\nexport const ExternalPartForwardShape = clrIconSVG(\n `<path d=\"M18.0005,5.42v6.161H22.11V29.739h6.561l.123-18.158h3.992V5.42Zm9.044,22.679-3.296-.002v-2.65l3.307,1.052Zm.023-3.312-3.319-1.056V21.535l3.334,1.062Zm.026-3.906-3.345-1.065V17.774l3.36,1.071Zm.025-3.753-3.371-1.072V13.9109l3.387,1.0771Zm.03-3.86-3.4-1.081v-.61h3.409Zm-7.51-3.327V7.059h11.509l.001,2.882Z\"/><path d=\"M13.38,22.36l3.388-6.161L13.38,10.038H6.6026l-3.388,6.161,3.388,6.161ZM7.5716,11.674h4.8429l2.486,4.522-2.486,4.525H7.5716l-2.487-4.522Z\"/><path d=\"M9.9945,18.971a2.7725,2.7725,0,0,0,.0011-5.545H9.9915l.003.001a2.772,2.772,0,0,0,0,5.544Zm-.008-3.906a1.134,1.134,0,0,1,1.138,1.13v.004a1.1337,1.1337,0,0,1-1.132,1.1336l.002,0H9.9906l.0019,0a1.1338,1.1338,0,0,1-.006-2.2676Z\"/><polygon points=\"16.766 24.83 16.076 24.83 16.766 25.52 16.766 24.83\"/><path d=\"M14.0606,24.94A1.5,1.5,0,0,0,11.94,27.0613l1.4394,1.44H3a1.5,1.5,0,1,0,0,3H13.3789L11.94,32.94a1.5,1.5,0,1,0,2.1211,2.1211l4-4a1.5,1.5,0,0,0,0-2.1211Z\"/><path d=\"M3.2161,24.83V27h1.64v-.53h5.18a2.41,2.41,0,0,1-.04-.47,2.9166,2.9166,0,0,1,.24-1.17Z\"/><path d=\"M8.6811,8.8945a.4812.4812,0,0,0,.7819-.3758v-1.74L12.2255,8.9A.4812.4812,0,0,0,13,8.5187V2.4813A.4814.4814,0,0,0,12.2255,2.1L9.463,4.2216v-1.74a.4813.4813,0,0,0-.7819-.3759L4.9077,5.1242a.4812.4812,0,0,0,0,.7515Z\"/><path fill=\"none\" d=\"M0 0h36v36H0z\"/>`,\n '0 0 36 36'\n);\n\nexport const BusinessPartnerWithCar = clrIconSVG(\n '<g clip-path=\"url(#clip0_10808_12864)\">' +\n '<path d=\"M30.2941 20H23.6801C22.8807 20.0774 22.162 20.5351 21.7623 21.2313L21.7526 21.2506L21.7429 21.2699L20.9887 23.1007C20.5278 23.033 20.0604 22.9557 19.5737 22.8687L19.5447 22.8622H19.1869L19.1515 23.1426L19.0387 23.9871L19 24.2901L19.303 24.3449C19.6479 24.4061 20.0056 24.4674 20.3892 24.5254L20.1797 25.0314C19.7832 25.7051 19.577 26.4754 19.5802 27.2587V31.4746C19.5608 32.2288 20.1668 32.8703 20.9307 32.8928H22.2297C23.0064 32.8703 23.6156 32.2288 23.5963 31.4617H30.3973V31.4746C30.3876 31.8388 30.5262 32.1934 30.7808 32.4609C31.0387 32.7317 31.3836 32.8832 31.7542 32.8928H33.05C33.8203 32.867 34.423 32.2256 34.4037 31.4682V27.2587C34.4037 26.4786 34.2006 25.7083 33.8106 25.0314L33.5915 24.5028C33.9525 24.448 34.3199 24.39 34.6873 24.3191L35 24.2579L34.942 23.9452L34.7873 23.1072L34.7292 22.7913L34.4134 22.8493C33.9492 22.9331 33.4915 23.0073 32.9952 23.0814L32.2409 21.2699L32.2345 21.2506L32.2248 21.2345C31.8251 20.5351 31.1096 20.0741 30.3102 20H30.2941ZM23.7897 21.502H30.1942C30.4714 21.5439 30.7131 21.7019 30.8646 21.9371L31.4448 23.2748C29.9686 23.4359 28.473 23.5165 26.9903 23.5165C25.5077 23.5165 24.0121 23.4359 22.5359 23.2716L23.1096 21.9339C23.2643 21.6954 23.5093 21.5375 23.7897 21.4988V21.502ZM26.8582 25.0411C28.5729 25.0379 30.3038 24.9283 32.0056 24.7188C32.0056 24.7188 32.6696 26.1821 32.7341 26.4174C31.8735 26.5431 30.9839 26.6398 30.0814 26.7107L29.7623 26.7365L29.7881 27.0556L29.8525 27.9065L29.8783 28.2288L30.2006 28.2063C31.0322 28.145 31.9025 28.0483 32.8598 27.9162V31.394H31.9122V29.9629H22.0846V31.394H21.0725V27.9807C22.0588 28.116 22.9549 28.2127 23.8026 28.274L24.1249 28.2965L24.1475 27.9742L24.2119 27.1168L24.2377 26.7945L23.9154 26.772C23.0032 26.7043 22.0846 26.6076 21.1853 26.4819C21.2498 26.2337 21.8622 24.7381 21.8622 24.7381C23.5157 24.9412 25.1918 25.0443 26.855 25.0443L26.8582 25.0411ZM26.9936 26.7043C26.4617 26.7043 26.0266 27.1555 26.0266 27.7099C26.0266 28.2643 26.4617 28.7156 26.9936 28.7156C27.5254 28.7156 27.9605 28.2643 27.9605 27.7099C27.9605 27.1555 27.5254 26.7043 26.9936 26.7043Z\"/>' +\n '</g>' +\n '<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18 17C19.3845 17 20.7378 16.5895 21.889 15.8203C23.0401 15.0511 23.9373 13.9579 24.4672 12.6788C24.997 11.3997 25.1356 9.99224 24.8655 8.63437C24.5954 7.2765 23.9287 6.02922 22.9497 5.05026C21.9708 4.07129 20.7235 3.4046 19.3656 3.13451C18.0078 2.86441 16.6003 3.00303 15.3212 3.53285C14.0421 4.06266 12.9489 4.95987 12.1797 6.11101C11.4105 7.26216 11 8.61553 11 10C11 11.8565 11.7375 13.637 13.0503 14.9497C14.363 16.2625 16.1435 17 18 17ZM18 5C18.9889 5 19.9556 5.29325 20.7779 5.84265C21.6001 6.39206 22.241 7.17296 22.6194 8.08659C22.9978 9.00022 23.0969 10.0055 22.9039 10.9755C22.711 11.9454 22.2348 12.8363 21.5355 13.5355C20.8363 14.2348 19.9454 14.711 18.9755 14.9039C18.0055 15.0969 17.0002 14.9978 16.0866 14.6194C15.173 14.241 14.3921 13.6001 13.8427 12.7779C13.2932 11.9556 13 10.9889 13 10C13 8.67392 13.5268 7.40215 14.4645 6.46447C15.4021 5.52679 16.6739 5 18 5ZM7 31H17.0275C17.0093 31.1642 17 31.331 17 31.5C17 32.026 17.0902 32.5308 17.2561 33H7C6.46957 33 5.96086 32.7893 5.58579 32.4142C5.21072 32.0391 5 31.5304 5 31V25.74C4.99921 25.2313 5.19231 24.7414 5.54 24.37C7.14369 22.675 9.07623 21.3249 11.2195 20.4022C13.3627 19.4795 15.6716 19.0036 18.005 19.0036C18.7916 19.0036 19.5754 19.0577 20.3511 19.1647C19.7711 19.65 19.3467 20.2816 19.1404 21.0494C18.7615 21.0208 18.3811 21.0065 18 21.0065C15.942 21.0065 13.9054 21.4252 12.0144 22.2373C10.1233 23.0493 8.41723 24.2377 7 25.73V31Z\"/>\\n' +\n '<defs>' +\n '<clipPath id=\"clip0_10808_12864\">' +\n '<rect width=\"16\" height=\"12.8928\" transform=\"translate(19 20)\"/>' +\n '</clipPath>' +\n '</defs>',\n '0 0 36 36'\n);\n\nexport const VinShape = clrIconSVG(\n '<path d=\"M31,11V25H5V11H31m0-2H5a2,2,0,0,0-2,2V25a2,2,0,0,0,2,2H31a2,2,0,0,0,2-2V11a2,2,0,0,0-2-2Z\"/><path d=\"M15.5884,13.5479,12.144,21.792H10.4761L7.0322,13.5479H8.688L11.3164,19.8l2.6157-6.2519Z\"/><path d=\"M17.0405,13.5479h1.4878V21.792H17.0405Z\"/><path d=\"M20.8086,13.5479h1.4878l4.3559,5.7959V13.5479h1.4883V21.792H26.6523l-4.3559-5.7959V21.792H20.8086Z\"/>',\n '0 0 36 36'\n);\n\nexport const WCPShape = clrIconSVG(\n `\n <svg version=\"1.1\" id=\"Ebene_2_00000045619358864859671630000000130188676533442711_\"\n xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 624.9 553\"\n style=\"enable-background:new 0 0 624.9 553;\" xml:space=\"preserve\">\n\n <style type=\"text/css\">\n .st0{fill:url(#SVGID_1_);}\n .st1{fill:#575756;}\n .st2{fill:url(#SVGID_00000091010959329843021340000008956404619550714262_);}\n .st3{fill:url(#SVGID_00000000908697751028072320000012053017488274284442_);}\n .st4{fill:url(#SVGID_00000025407653354964349290000008220823611752910765_);}\n .st5{fill:none;}\n </style>\n <g id=\"Ebene_1-2\">\n <linearGradient id=\"SVGID_1_\" gradientUnits=\"userSpaceOnUse\" x1=\"243.8834\" y1=\"389.6689\" x2=\"632.2234\" y2=\"-5.5611\" gradientTransform=\"matrix(1 0 0 -1 0 553.2756)\">\n <stop offset=\"0\" style=\"stop-color:#53E2EB\"/>\n <stop offset=\"0.3\" style=\"stop-color:#39AFB6\"/>\n <stop offset=\"0.82\" style=\"stop-color:#0A5155\"/>\n </linearGradient>\n <polygon class=\"st0\" points=\"289.8,152.1 280.8,159.7 271.6,173 269.3,191.9 275.7,210 289.8,222.3 296.9,226.4 297.4,361.2\n 297.9,384.9 306.1,385.7 332.1,385.9 333.7,375.5 334.7,357.3 443.2,357.3 443,376 446.5,384.9 469.5,386.4 481.5,383.9 482,358.4\n 489.9,355.5 490.2,290.2 482,278.4 483.8,274.4 493.8,271.5 495,259.5 493.3,251.1 477.7,249.6 469.8,252.4 463.4,258.5 448.1,220\n 433.5,214.4 338.8,215.1 349.3,201.3 349.8,177.1 337,155.6 330.6,154.1 330.9,182.7 323.2,192.9 311.5,199.8 295.6,190.9\n 289,179.4 \"/>\n <path class=\"st1\" d=\"M5,311.6h147c2.8,0,5,2.2,5,5l0,0c0,2.8-2.2,5-5,5H5c-2.8,0-5-2.2-5-5l0,0C0,313.9,2.2,311.6,5,311.6z\"/>\n <path class=\"st1\" d=\"M40.5,271.8h147c2.8,0,5,2.2,5,5l0,0c0,2.8-2.2,5-5,5h-147c-2.8,0-5-2.2-5-5l0,0\n C35.5,274,37.7,271.8,40.5,271.8z\"/>\n <path class=\"st1\" d=\"M76.9,231.9h147c2.8,0,5,2.2,5,5l0,0c0,2.8-2.2,5-5,5h-147c-2.8,0-5-2.2-5-5l0,0\n C71.9,234.1,74.1,231.9,76.9,231.9z\"/>\n <linearGradient id=\"SVGID_00000093171139891544564380000014842693800181154462_\" gradientUnits=\"userSpaceOnUse\" x1=\"183.4516\" y1=\"562.6666\" x2=\"559.5416\" y2=\"-5.6734\" gradientTransform=\"matrix(1 0 0 -1 0 553.2756)\">\n <stop offset=\"0\" style=\"stop-color:#53E2EB\"/>\n <stop offset=\"0.3\" style=\"stop-color:#39AFB6\"/>\n <stop offset=\"0.82\" style=\"stop-color:#0A5155\"/>\n </linearGradient>\n <path style=\"fill:url(#SVGID_00000093171139891544564380000014842693800181154462_);\" d=\"M368.8,549.4L135.9,405.8\n c-10.9-6.7-17.4-18.4-17.4-31.3v-26.8h11.4c14.1,0,25.6,11.5,25.6,25.6v1.1L368.8,506l214.2-131.6l0.4-195.8L369.4,46.9\n L155.5,177.6l-0.1,0.1v0.1c0,14.9-12.1,27-27,27h-10v-27.2c0-12.8,6.8-25,17.8-31.7L369.4,3.5l251.1,154.4L620,395.1L368.8,549.4\n L368.8,549.4z\"/>\n <linearGradient id=\"SVGID_00000034066379702163167680000007086533495198368150_\" gradientUnits=\"userSpaceOnUse\" x1=\"169.3388\" y1=\"276.8306\" x2=\"586.47\" y2=\"276.8306\" gradientTransform=\"matrix(1 0 0 -1 0 553.2756)\">\n <stop offset=\"0\" style=\"stop-color:#53E2EB\"/>\n <stop offset=\"0.17\" style=\"stop-color:#49CED6\"/>\n <stop offset=\"0.53\" style=\"stop-color:#2F9CA2\"/>\n <stop offset=\"1\" style=\"stop-color:#0A5155\"/>\n </linearGradient>\n <path style=\"fill:url(#SVGID_00000034066379702163167680000007086533495198368150_);\" d=\"M368.6,509.4L175.4,390.2\n c-0.2-0.1-0.2-0.3-0.1-0.5l0.2-0.2c1.6-2.5,4.8-3.3,7.4-1.7l185.9,114.7c0.1,0.1,0.3,0.1,0.4,0l210.9-129.6\n c0.1-0.1,0.2-0.2,0.2-0.3l0.4-192.1c0-0.1-0.1-0.2-0.2-0.3L369.5,50.5c-0.1-0.1-0.3-0.1-0.4,0l-192,117.3c-2.7,1.6-6.1,0.8-7.8-1.9\n l0,0c-0.1-0.2-0.1-0.4,0.1-0.5l199.7-122c0.1-0.1,0.3-0.1,0.4,0l216.7,133.2c0.1,0.1,0.2,0.2,0.2,0.3L586,375.8\n c0,0.1-0.1,0.2-0.2,0.3L369,509.4C368.9,509.5,368.8,509.5,368.6,509.4z\"/>\n <linearGradient id=\"SVGID_00000147904770422740137050000005555796118219514777_\" gradientUnits=\"userSpaceOnUse\" x1=\"115.49\" y1=\"276.8006\" x2=\"623.51\" y2=\"276.8006\" gradientTransform=\"matrix(1 0 0 -1 0 553.2756)\">\n <stop offset=\"0\" style=\"stop-color:#53E2EB\"/>\n <stop offset=\"0.17\" style=\"stop-color:#49CED6\"/>\n <stop offset=\"0.53\" style=\"stop-color:#2F9CA2\"/>\n <stop offset=\"1\" style=\"stop-color:#0A5155\"/>\n </linearGradient>\n <path style=\"fill:url(#SVGID_00000147904770422740137050000005555796118219514777_);\" d=\"M368.8,553C368.8,553,368.8,553,368.8,553\n L134.4,408.4c-11.8-7.3-18.9-19.9-18.9-33.8v-16.3c0,0,0,0,0,0l0,0c3.3,0,6,2.7,6,6v10.4c0,11.8,6,22.5,16,28.7l231.2,142.7\n c0,0,0,0,0,0L617,393.4c0,0,0,0,0,0l0.5-233.8c0,0,0,0,0,0L369.4,7c0,0,0,0,0,0L137.8,148.5c-10.1,6.1-16.3,17.3-16.3,29.1v5.6\n c0,3.3-2.7,6-6,6l0,0c0,0,0,0,0,0v-11.5c0-13.9,7.4-27,19.2-34.2L369.4,0c0,0,0,0,0,0l254,156.2c0,0,0,0,0,0L623,396.7c0,0,0,0,0,0\n l-1.4,0.9L368.8,553L368.8,553z\"/>\n <path class=\"st5\" d=\"M428.2,354l-4-7.9c-1.1-2.2-3.3-3.6-5.8-3.6\"/>\n <path class=\"st5\" d=\"M363.5,335.2h55c5.2,0,10,2.9,12.3,7.6l5.6,11.2h47.6c1.5,0,2.8-1.2,2.8-2.8v-54.6c0-11-8.9-19.9-19.9-19.9\n H363.1 M364,307H420v7.3H364 M457.6,293c9.8,0,17.8,8,17.8,17.8s-8,17.8-17.8,17.8s-17.8-8-17.8-17.8S447.8,293,457.6,293z\"/>\n <path class=\"st5\" d=\"M491.5,255.8c0-1.4-1.1-2.4-2.4-2.4h-12.8c-3.1,0-5.6,2.5-5.6,5.6v10.5h15.2c3.1,0,5.6-2.5,5.6-5.6l0,0\n L491.5,255.8L491.5,255.8z\"/>\n <circle class=\"st5\" cx=\"457.6\" cy=\"310.7\" r=\"10.4\"/>\n <path class=\"st1\" d=\"M457.6,328.5c9.8,0,17.8-8,17.8-17.8s-8-17.8-17.8-17.8s-17.8,8-17.8,17.8S447.8,328.5,457.6,328.5z\n M457.6,300.3c5.8,0,10.4,4.7,10.4,10.4s-4.7,10.4-10.4,10.4s-10.4-4.7-10.4-10.4S451.9,300.3,457.6,300.3z\"/>\n <path class=\"st1\" d=\"M367.7,307h48.7c2,0,3.7,1.6,3.7,3.7v0c0,2-1.6,3.7-3.7,3.7h-48.7c-2,0-3.7-1.6-3.7-3.7v0\n C364,308.7,365.6,307,367.7,307z\"/>\n <path class=\"st1\" d=\"M489.1,246h-12.8c-4.5,0-8.5,2.3-10.8,5.9l-9.3-23.4c-3-11.9-13.6-17.6-25.8-17.6l-83.1-0.1\n c4.6-7,7.2-15.3,7.2-24.2c0-15.7-8.5-30.4-22.1-38.2c-0.1-0.1-0.1,0-0.2-0.1l-0.6-0.2c-0.2-0.1-0.5-0.1-0.7-0.1\n c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.3,0.1-0.4,0.1c-0.3,0-0.5,0.1-0.7,0.1c-0.2,0.1-0.4,0.2-0.5,0.3c-0.2,0.1-0.3,0.2-0.5,0.3\n s-0.3,0.3-0.5,0.5c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.1,0.1-0.1,0.2l-0.2,0.6c-0.1,0.2-0.1,0.5-0.1,0.7c0,0.1-0.1,0.1-0.1,0.2\n v33.5l-16.9,11.4l-17-11.4v-33.5c0-0.1-0.1-0.1-0.1-0.2c0-0.2-0.1-0.4-0.1-0.7l-0.2-0.6c0-0.1,0-0.1-0.1-0.2\n c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.2-0.3-0.3-0.5-0.5c-0.1-0.1-0.3-0.3-0.5-0.3c-0.2-0.1-0.3-0.2-0.5-0.3s-0.5-0.1-0.7-0.1\n c-0.1,0-0.3-0.1-0.4-0.1c-0.1,0-0.1,0.1-0.2,0.1c-0.2,0-0.5,0.1-0.7,0.1l-0.6,0.2c-0.1,0-0.1,0-0.2,0.1\n c-13.7,7.8-22.1,22.5-22.1,38.2c0,17.9,10.9,33.9,27.2,40.6v155.2c0,4,3.2,7.1,7.1,7.1h29.9c4,0,7.1-3.2,7.1-7.1v-20.9v-0.1h102.4\n v18.1c0,5.6,4.5,10.1,10.1,10.1h24.7c5.6,0,10.1-4.5,10.1-10.1v-18.1c5.2-0.4,9.4-4.8,9.4-10.1v-54.6c0-7.8-3.3-14.9-8.6-19.9h0.4\n c7.1,0,12.9-5.8,12.9-12.9v-8.1C498.9,250.4,494.5,246,489.1,246L489.1,246z M477.4,379.4L477.4,379.4c0,1.5-1.2,2.8-2.8,2.8H450\n c-1.5,0-2.8-1.2-2.8-2.8v-18.1h30.2L477.4,379.4L477.4,379.4z M486.8,296.7v54.6c0,1.5-1.2,2.8-2.8,2.8h-47.6l-5.6-11.2\n c-2.3-4.7-7.1-7.6-12.3-7.6h-51.2c-1.9,0-3.6,1.4-3.8,3.3c-0.2,2.2,1.5,4,3.6,4h51.3c2.4,0,4.7,1.4,5.8,3.6l4,7.9h-90.8V252.7\n c0-1.9-1.6-3.5-3.5-3.5h-0.3c-1.9,0-3.5,1.6-3.5,3.5v128c0,0.9-0.7,1.6-1.6,1.6h-26.8c-0.9,0-1.6-0.7-1.6-1.6V225\n c0-0.7-0.2-1.2-0.5-1.8c-0.1-0.1-0.1-0.2-0.2-0.3c-0.4-0.5-0.9-0.9-1.4-1.1l-0.1-0.1c-14.9-5.2-24.9-19.3-24.9-35.2\n c0-11.2,5.1-21.7,13.6-28.8v28.8c0,1.3,0.5,2.3,1.5,3l20.4,13.6c1.2,0.8,2.6,0.8,3.7,0l20.4-13.6c1-0.6,1.5-1.7,1.5-2.9v-28.8\n c8.5,7,13.6,17.6,13.6,28.8s-5,21.9-13.5,28.7c-0.9,0.7-0.4,2.2,0.8,2.2c1.4,0,2.9,0,4.4,0l0,0l91.1,0c8.8,0,16.5,4,18.7,12.6\n l13.3,39.2H367c-1.9,0-3.6,1.4-3.8,3.3c-0.2,2.2,1.5,4,3.6,4H467C477.9,276.8,486.8,285.7,486.8,296.7L486.8,296.7z M485.9,269.5\n h-15.2v-10.5c0-3.1,2.5-5.6,5.6-5.6h12.8c1.4,0,2.4,1.1,2.4,2.4v8.1l0,0C491.5,266.9,489,269.5,485.9,269.5L485.9,269.5z\"/>\n </g>\n </svg>`,\n '0 0 48 48'\n);\n\nexport const VsfSearchShape = clrIconSVG(\n `\n <svg id=\"Icons\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M4,7.98H21.99V21.99H2.01V2.01H6.87L8.8,4.8a.521.521,0,0,0,.41.21H23A1.212,1.212,0,0,0,21.81,4H9.47L7.75,1.49A1.213,1.213,0,0,0,6.77,\n 1H2.21C1.54,1,1,1.35,1,2.01V22.27a.777.777,0,0,0,.8.73H22a1,1,0,0,0,1-1V7.01H4Z\"/>\n <path d=\"M12,16.164a.54.54,0,0,0-.5.5.535.535,0,0,0,1.069.063A.564.564,0,0,0,12,16.164Z\"/>\n <path d=\"M18.164,12.264a10.685,10.685,0,0,1-1.384.252l-.692-1.636A1.865,1.865,0,0,0,14.7,10H9.3a1.593,1.593,0,0,0-1.321.943L7.22,12.579a10.624,\n 10.624,0,0,0-1.384-.252l-.125.818c.44.063.817.125,1.258.188l-.378.629a3.784,3.784,0,0,0-.44,1.7v3.46a.9.9,0,0,0,.88.88H8.038a.859.859,0,0,0,\n .88-.88v-.252h6.1v.252a.9.9,0,0,0,.88.88h1.07a.859.859,0,0,0,.88-.88V15.66a3.267,3.267,0,0,0-.44-1.7l-.315-.692c.378-.062.818-.125,1.2-.188ZM8.73,\n 11.258a.9.9,0,0,1,.628-.44h5.284a.9.9,0,0,1,.691.44l.566,1.384a31.875,31.875,0,0,1-7.735,0Zm8.239,7.924v.063H15.9v-1.2H8.1v1.132H7.031V16.038c.755.126,\n 1.573.188,2.39.251v-.817c-.817-.063-1.635-.126-2.39-.252a3.15,3.15,0,0,1,.315-.817l.5-1.007A30.593,30.593,0,0,0,12,13.648a32.466,32.466,0,0,0,\n 4.277-.252l.39.91a5.173,5.173,0,0,1,.3.914c-.755.126-1.51.189-2.327.252l.062.817c.818-.063,1.573-.125,2.327-.251Z\"/></svg>`,\n '0 0 24 24'\n);\n\nexport const ClrAddonsIconShapes: any = {\n 'air-conditioner': ACShape,\n accessories: AccessoriesShape,\n 'accessory-parts': AccessoryPartsShape,\n 'accpetance-date': AcceptanceDateShape,\n 'award-winner-premium': AwardWinnerPremiumShape,\n brochure: BrochureShape,\n 'business-customers-commercial': BusinessCustomersCommercialShape,\n 'business-customers-private': BusinessCustomersPrivateShape,\n 'california-service': CaliforniaServiceShape,\n 'california-specialist': CaliforniaSpecialistShape,\n 'car-off-site': CarOffSite,\n 'car-on-site': CarOnSite,\n 'car-pickup-service': CarPickupServiceShape,\n 'car-wash': CarWashShape,\n 'certified-repair': CertifiedRepairShape,\n 'certified-retailer': CertifiedRetailerShape,\n 'completed-by-date': CompletedByDateShape,\n 'configurator-commercial': ConfiguratorCommercialShape,\n 'configurator-private': ConfiguratorPrivateShape,\n consumption: ConsumptionShape,\n 'contact-dealer': ContactDealerShape,\n 'customers-center': CustomersCenterShape,\n diesel: DieselShape,\n 'drivers-assistance': DriversAssistanceShape,\n efficiency: EfficiencyShape,\n 'electric-cars': ElectricCarsShape,\n 'electric-cars-service': ElectricCarsServiceShape,\n electricity: ElectricityShape,\n emission: EmissionShape,\n energy: EnergyShape,\n engine: EngineShape,\n 'express-service': ExpressServiceShape,\n exterior: ExteriorShape,\n 'find-a-car': FindACarShape,\n 'fleet-service-commercial': FleetServiceCommercialShape,\n 'fleet-service-private': FleetServicePrivateShape,\n gas: GasShape,\n 'gas-cars-service': GasCarsServiceShape,\n hybrid: HybridShape,\n 'loading-volume': LoadingVolumeShape,\n locate: LocateShape,\n 'new-car-commercial': NewCarCommercialShape,\n 'new-car-private': NewCarPrivateShape,\n 'new-car-utility-vehicle': NewCarUtilityVehicleShape,\n 'night-service': NightServiceShape,\n offers: OffersShape,\n 'on-call-duty': OnCallDutyShape,\n 'open-sat': OpenSatShape,\n 'paint-shop': PaintShopShape,\n payload: PayloadShape,\n performance: PerformanceShape,\n petrol: PetrolShape,\n 'plus-service': PlusServiceShape,\n power: PowerShape,\n 'power-train': PowerTrainShape,\n 'price-type-switch': PriceTypeSwitchShape,\n 'qualified-workshop': QualifiedWorkshopShape,\n 'return-date': ReturnDateShape,\n 'repeat-repair': RepeatRepairShape,\n 'roadside-assistance': RoadsideAssistanceShape,\n route: RouteShape,\n seat: SeatShape,\n 'seat-air': SeatAirShape,\n size: SizeShape,\n service: ServiceShape,\n 'service-bell': ServiceBellShape,\n 'stock-locator-commercial': StockLocatorCommercialShape,\n 'stock-locator-private': StockLocatorPrivateShape,\n 'taxi-dealer': TaxiDealerShape,\n 'transmission-automatic': TransmissionAutomaticShape,\n 'transmission-manual': TransmissionManualShape,\n 'touareg-service': TouaregServiceShape,\n 'used-car-commercial': UsedCarCommercialShape,\n 'used-car-private': UsedCarPrivateShape,\n 'vehicle-conversion': VehicleConversionShape,\n 'virtual-reality': VirtualRealityShape,\n volkswagen: VWShape,\n 'brand-audi': AudiBrandShape,\n 'brand-cupra': CupraBrandShape,\n 'brand-dwa': DWABrandShape,\n 'brand-porsche': PorscheBrandShape,\n 'brand-seat': SeatBrandShape,\n 'brand-skoda': SkodaBrandShape,\n 'brand-vw': VWBrandShape,\n 'brand-vwn': VWNBrandShape,\n 'view-360': View360Shape,\n 'wheel-to-wheel': WheelToWheelShape,\n 'windscreen-wash': WindscreenWashShape,\n 'wrench-fwd': WrenchForward,\n topcard: TopcardShape,\n 'task-appointment': TaskAndAppointment,\n 'parking-location': ParkingLocation,\n parts: PartsShape,\n 'parts-fwd': PartsForwardShape,\n 'parts-nonstock': PartsNonStockShape,\n 'parts-nonstock-fwd': PartNonStockForwardShape,\n 'paint-material': PaintMaterialShape,\n 'paint-material-fwd': PaintMaterialForwardShape,\n 'items-receive': ItemsReceiveShape,\n 'items-forward': ItemsForwardShape,\n 'money-partial': DollarBillPartialShape,\n 'money-fwd': DollarBillForwardShape,\n 'blocksgroup-fwd': BlocksGroupForwardShape,\n 'text-fwd': TextForward,\n 'calculator-fwd': CalculatorForwardShape,\n 'bundle-fwd': BundleForwardShape,\n 'part-return': InternalPartForwardShape,\n invoice: InvoiceShape,\n 'invoice-ready': InvoiceReadyShape,\n 'part-return-fwd': ExternalPartForwardShape,\n 'bp-with-car': BusinessPartnerWithCar,\n 'campaign-outdated': CampaignOutdatedShape,\n campaign: CampaignShape,\n vin: VinShape,\n 'wcp-logo': WCPShape,\n};\n\nexport const airConditionerIcon: IconShapeTuple = ['air-conditioner', ACShape];\nexport const accessoriesIcon: IconShapeTuple = ['accessories', AccessoriesShape];\nexport const accessoryPartsIcon: IconShapeTuple = ['accessory-parts', AccessoryPartsShape];\nexport const acceptanceDateIcon: IconShapeTuple = ['acceptance-date', AcceptanceDateShape];\nexport const awardWinnerPremiumIcon: IconShapeTuple = ['award-winner-premium', AwardWinnerPremiumShape];\nexport const brochureIcon: IconShapeTuple = ['brochure', BrochureShape];\nexport const businessCustomersCommercialIcon: IconShapeTuple = [\n 'business-customers-commercial',\n BusinessCustomersCommercialShape,\n];\nexport const businessCustomersPrivateIcon: IconShapeTuple = [\n 'business-customers-private',\n BusinessCustomersPrivateShape,\n];\nexport const californiaServiceIcon: IconShapeTuple = ['california-service', CaliforniaServiceShape];\nexport const californiaSpecialistIcon: IconShapeTuple = ['california-specialist', CaliforniaSpecialistShape];\nexport const carOffSite: IconShapeTuple = ['car-off-site', CarOffSite];\nexport const carOnSite: IconShapeTuple = ['car-on-site', CarOnSite];\nexport const carPickupServiceIcon: IconShapeTuple = ['car-pickup-service', CarPickupServiceShape];\nexport const carWashIcon: IconShapeTuple = ['car-wash', CarWashShape];\nexport const certifiedRepairIcon: IconShapeTuple = ['certified-repair', CertifiedRepairShape];\nexport const certifiedRetailerIcon: IconShapeTuple = ['certified-retailer', CertifiedRetailerShape];\nexport const completedByDateIcon: IconShapeTuple = ['completed-by-date', CompletedByDateShape];\nexport const configuratorCommercialIcon: IconShapeTuple = ['configurator-commercial', ConfiguratorCommercialShape];\nexport const configuratorPrivateIcon: IconShapeTuple = ['configurator-private', ConfiguratorPrivateShape];\nexport const consumptionIcon: IconShapeTuple = ['consumption', ConsumptionShape];\nexport const contactDealerIcon: IconShapeTuple = ['contact-dealer', ContactDealerShape];\nexport const customersCenterIcon: IconShapeTuple = ['customers-center', CustomersCenterShape];\nexport const dieselIcon: IconShapeTuple = ['diesel', DieselShape];\nexport const driversAssistanceIcon: IconShapeTuple = ['drivers-assistance', DriversAssistanceShape];\nexport const efficiencyIcon: IconShapeTuple = ['efficiency', EfficiencyShape];\nexport const electricCarsIcon: IconShapeTuple = ['electric-cars', ElectricCarsShape];\nexport const electricCarsServiceIcon: IconShapeTuple = ['electric-cars-service', ElectricCarsServiceShape];\nexport const electricityIcon: IconShapeTuple = ['electricity', ElectricityShape];\nexport const emissionIcon: IconShapeTuple = ['emission', EmissionShape];\nexport const energyIcon: IconShapeTuple = ['energy', EnergyShape];\nexport const engineIcon: IconShapeTuple = ['engine', EngineShape];\nexport const expressServiceIcon: IconShapeTuple = ['express-service', ExpressServiceShape];\nexport const exteriorIcon: IconShapeTuple = ['exterior', ExteriorShape];\nexport const findACarIcon: IconShapeTuple = ['find-a-car', FindACarShape];\nexport const fleetServiceCommercialIcon: IconShapeTuple = ['fleet-service-commercial', FleetServiceCommercialShape];\nexport const fleetServicePrivateIcon: IconShapeTuple = ['fleet-service-private', FleetServicePrivateShape];\nexport const gasIcon: IconShapeTuple = ['gas', GasShape];\nexport const gasCarsServiceIcon: IconShapeTuple = ['gas-cars-service', GasCarsServiceShape];\nexport const hybridIcon: IconShapeTuple = ['hybrid', HybridShape];\nexport const loadingVolumeIcon: IconShapeTuple = ['loading-volume', LoadingVolumeShape];\nexport const locateIcon: IconShapeTuple = ['locate', LocateShape];\nexport const newCarCommercialIcon: IconShapeTuple = ['new-car-commercial', NewCarCommercialShape];\nexport const newCarPrivateIcon: IconShapeTuple = ['new-car-private', NewCarPrivateShape];\nexport const newCarUtilityVehicleIcon: IconShapeTuple = ['new-car-utility-vehicle', NewCarUtilityVehicleShape];\nexport const nightServiceIcon: IconShapeTuple = ['night-service', NightServiceShape];\nexport const offersIcon: IconShapeTuple = ['offers', OffersShape];\nexport const onCallDutyIcon: IconShapeTuple = ['on-call-duty', OnCallDutyShape];\nexport const openSatIcon: IconShapeTuple = ['open-sat', OpenSatShape];\nexport const paintShopIcon: IconShapeTuple = ['paint-shop', PaintShopShape];\nexport const payloadIcon: IconShapeTuple = ['payload', PayloadShape];\nexport const performanceIcon: IconShapeTuple = ['performance', PerformanceShape];\nexport const petrolIcon: IconShapeTuple = ['petrol', PetrolShape];\nexport const plusServiceIcon: IconShapeTuple = ['plus-service', PlusServiceShape];\nexport const powerIcon: IconShapeTuple = ['power', PowerShape];\nexport const powerTrainIcon: IconShapeTuple = ['power-train', PowerTrainShape];\nexport const priceTypeSwitchIcon: IconShapeTuple = ['price-type-switch', PriceTypeSwitchShape];\nexport const qualifiedWorkshopIcon: IconShapeTuple = ['qualified-workshop', QualifiedWorkshopShape];\nexport const returnDateIcon: IconShapeTuple = ['return-date', ReturnDateShape];\nexport const repeatRepairIcon: IconShapeTuple = ['repeat-repair', RepeatRepairShape];\nexport const roadsideAssistanceIcon: IconShapeTuple = ['roadside-assistance', RoadsideAssistanceShape];\nexport const routeIcon: IconShapeTuple = ['route', RouteShape];\nexport const seatIcon: IconShapeTuple = ['seat', SeatShape];\nexport const seatAirIcon: IconShapeTuple = ['seat-air', SeatAirShape];\nexport const sizeIcon: IconShapeTuple = ['size', SizeShape];\nexport const serviceIcon: IconShapeTuple = ['service', ServiceShape];\nexport const serviceBellIcon: IconShapeTuple = ['service-bell', ServiceBellShape];\nexport const stockLocatorCommercialIcon: IconShapeTuple = ['stock-locator-commercial', StockLocatorCommercialShape];\nexport const stockLocatorPrivateIcon: IconShapeTuple = ['stock-locator-private', StockLocatorPrivateShape];\nexport const taxiDealerIcon: IconShapeTuple = ['taxi-dealer', TaxiDealerShape];\nexport const transmissionAutomaticIcon: IconShapeTuple = ['transmission-automatic', TransmissionAutomaticShape];\nexport const transmissionManualIcon: IconShapeTuple = ['transmission-manual', TransmissionManualShape];\nexport const touaregServiceIcon: IconShapeTuple = ['touareg-service', TouaregServiceShape];\nexport const usedCarCommercialIcon: IconShapeTuple = ['used-car-commercial', UsedCarCommercialShape];\nexport const usedCarPrivateIcon: IconShapeTuple = ['used-car-private', UsedCarPrivateShape];\nexport const vehicleConversionIcon: IconShapeTuple = ['vehicle-conversion', VehicleConversionShape];\nexport const virtualRealityIcon: IconShapeTuple = ['virtual-reality', VirtualRealityShape];\nexport const volkswagenIcon: IconShapeTuple = ['volkswagen', VWShape];\nexport const audiBrandIcon: IconShapeTuple = ['brand-audi', AudiBrandShape];\nexport const cupraBrandIcon: IconShapeTuple = ['brand-cupra', CupraBrandShape];\nexport const dwaBrandIcon: IconShapeTuple = ['brand-dwa', DWABrandShape];\nexport const porscheBrandIcon: IconShapeTuple = ['brand-porsche', PorscheBrandShape];\nexport const seatBrandIcon: IconShapeTuple = ['brand-seat', SeatBrandShape];\nexport const skodaBrandIcon: IconShapeTuple = ['brand-skoda', SkodaBrandShape];\nexport const vwBrandIcon: IconShapeTuple = ['brand-vw', VWBrandShape];\nexport const vwnBrandIcon: IconShapeTuple = ['brand-vwn', VWNBrandShape];\nexport const view360Icon: IconShapeTuple = ['view-360', View360Shape];\nexport const wheelToWheelIcon: IconShapeTuple = ['wheel-to-wheel', WheelToWheelShape];\nexport const windscreenWashIcon: IconShapeTuple = ['windscreen-wash', WindscreenWashShape];\nexport const wrenchForwardIcon: IconShapeTuple = ['wrench-fwd', WrenchForward];\nexport const topcardIcon: IconShapeTuple = ['topcard', TopcardShape];\nexport const taskAndAppointmentIcon: IconShapeTuple = ['task-appointment', TaskAndAppointment];\nexport const parkingLocationIcon: IconShapeTuple = ['parking-location', ParkingLocation];\nexport const partsIcon: IconShapeTuple = ['parts', PartsShape];\nexport const partsForwardIcon: IconShapeTuple = ['parts-fwd', PartsForwardShape];\nexport const partsNonStockIcon: IconShapeTuple = ['parts-nonstock', PartsNonStockShape];\nexport const partsNonStockForwardIcon: IconShapeTuple = ['parts-nonstock-fwd', PartNonStockForwardShape];\nexport const paintMaterialIcon: IconShapeTuple = ['paint-material', PaintMaterialShape];\nexport const paintMaterialForwardIcon: IconShapeTuple = ['paint-material-fwd', PaintMaterialForwardShape];\nexport const itemsRecieveIcon: IconShapeTuple = ['items-receive', ItemsReceiveShape];\nexport const itemsForwardIcon: IconShapeTuple = ['items-forward', ItemsForwardShape];\nexport const dollarBillPartialIcon: IconShapeTuple = ['money-partial', DollarBillPartialShape];\nexport const dollarBillForwardIcon: IconShapeTuple = ['money-fwd', DollarBillForwardShape];\nexport const blocksGroupForwardIcon: IconShapeTuple = ['blocksgroup-fwd', BlocksGroupForwardShape];\nexport const textForwardIcon: IconShapeTuple = ['text-fwd', TextForward];\nexport const calculatorForwardIcon: IconShapeTuple = ['calculator-fwd', CalculatorForwardShape];\nexport const bundleForwardIcon: IconShapeTuple = ['bundle-fwd', BundleForwardShape];\nexport const internalPartForwardIcon: IconShapeTuple = ['part-return', InternalPartForwardShape];\nexport const invoiceIcon: IconShapeTuple = ['invoice', InvoiceShape];\nexport const invoiceReadyIcon: IconShapeTuple = ['invoice-ready', InvoiceReadyShape];\nexport const externalPartForwardIcon: IconShapeTuple = ['part-return-fwd', ExternalPartForwardShape];\nexport const businessPartnerWithCarIcon: IconShapeTuple = ['bp-with-car', BusinessPartnerWithCar];\nexport const campaignOutdatedIcon: IconShapeTuple = ['campaign-outdated', CampaignOutdatedShape];\nexport const campaignIcon: IconShapeTuple = ['campaign', CampaignShape];\nexport const vinIcon: IconShapeTuple = ['vin', VinShape];\nexport const wcpIcon: IconShapeTuple = ['wcp', WCPShape];\nexport const vsfSearchIcon: IconShapeTuple = ['vsf-search', VsfSearchShape];\nexport const allIcons: IconShapeTuple[] = [\n airConditionerIcon,\n accessoriesIcon,\n accessoryPartsIcon,\n acceptanceDateIcon,\n awardWinnerPremiumIcon,\n brochureIcon,\n businessCustomersCommercialIcon,\n businessCustomersPrivateIcon,\n californiaServiceIcon,\n californiaSpecialistIcon,\n carOffSite,\n carOnSite,\n carPickupServiceIcon,\n carWashIcon,\n certifiedRepairIcon,\n certifiedRetailerIcon,\n completedByDateIcon,\n configuratorCommercialIcon,\n configuratorPrivateIcon,\n consumptionIcon,\n contactDealerIcon,\n customersCenterIcon,\n dieselIcon,\n driversAssistanceIcon,\n efficiencyIcon,\n electricCarsIcon,\n electricCarsServiceIcon,\n electricityIcon,\n emissionIcon,\n energyIcon,\n engineIcon,\n expressServiceIcon,\n exteriorIcon,\n findACarIcon,\n fleetServiceCommercialIcon,\n fleetServicePrivateIcon,\n gasIcon,\n gasCarsServiceIcon,\n hybridIcon,\n loadingVolumeIcon,\n locateIcon,\n newCarCommercialIcon,\n newCarPrivateIcon,\n newCarUtilityVehicleIcon,\n nightServiceIcon,\n offersIcon,\n onCallDutyIcon,\n openSatIcon,\n paintShopIcon,\n payloadIcon,\n performanceIcon,\n petrolIcon,\n plusServiceIcon,\n powerIcon,\n powerTrainIcon,\n priceTypeSwitchIcon,\n qualifiedWorkshopIcon,\n returnDateIcon,\n repeatRepairIcon,\n roadsideAssistanceIcon,\n routeIcon,\n seatIcon,\n seatAirIcon,\n sizeIcon,\n serviceIcon,\n serviceBellIcon,\n stockLocatorCommercialIcon,\n stockLocatorPrivateIcon,\n taxiDealerIcon,\n transmissionAutomaticIcon,\n transmissionManualIcon,\n touaregServiceIcon,\n usedCarCommercialIcon,\n usedCarPrivateIcon,\n vehicleConversionIcon,\n virtualRealityIcon,\n volkswagenIcon,\n audiBrandIcon,\n cupraBrandIcon,\n dwaBrandIcon,\n porscheBrandIcon,\n seatBrandIcon,\n skodaBrandIcon,\n vwBrandIcon,\n vwnBrandIcon,\n view360Icon,\n wheelToWheelIcon,\n windscreenWashIcon,\n wrenchForwardIcon,\n topcardIcon,\n taskAndAppointmentIcon,\n parkingLocationIcon,\n partsIcon,\n partsForwardIcon,\n partsNonStockIcon,\n partsNonStockForwardIcon,\n paintMaterialIcon,\n paintMaterialForwardIcon,\n itemsRecieveIcon,\n itemsForwardIcon,\n dollarBillPartialIcon,\n dollarBillForwardIcon,\n blocksGroupForwardIcon,\n textForwardIcon,\n calculatorForwardIcon,\n bundleForwardIcon,\n internalPartForwardIcon,\n invoiceIcon,\n invoiceReadyIcon,\n externalPartForwardIcon,\n businessPartnerWithCarIcon,\n campaignOutdatedIcon,\n campaignIcon,\n vinIcon,\n wcpIcon,\n vsfSearchIcon,\n];\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './shapes';\nexport * from './svg-tag-generator';\n","/*\n * Copyright (c) 2018-2023 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ElementRef, HostBinding, Input, Renderer2, ViewChild } from '@angular/core';\nimport { ClarityIcons } from '@cds/core/icon';\nimport {\n audiBrandIcon,\n cupraBrandIcon,\n dwaBrandIcon,\n newCarPrivateIcon,\n porscheBrandIcon,\n seatBrandIcon,\n skodaBrandIcon,\n vwBrandIcon,\n vwnBrandIcon,\n} from '../icons';\n\nexport enum AcceptedBrands {\n AUDI,\n CUPRA,\n DWA,\n PORSCHE,\n SEAT,\n SKODA,\n VW,\n VWN,\n}\n\n// import car brands to be used for cds-icon\nClarityIcons.addIcons(\n audiBrandIcon,\n cupraBrandIcon,\n dwaBrandIcon,\n porscheBrandIcon,\n seatBrandIcon,\n skodaBrandIcon,\n vwnBrandIcon,\n vwBrandIcon,\n newCarPrivateIcon\n);\n\n@Component({\n selector: 'clr-brand-avatar',\n templateUrl: './brand-avatar.html',\n})\nexport class ClrBrandAvatar {\n @HostBinding('class.clr-brand-avatar') avatar = true;\n\n @Input('clrBrand') brand: string;\n @Input('clrSize') size = 24;\n\n @ViewChild('avatar', { static: true }) avatarElement: ElementRef;\n\n static DEFAULT_ICON_SHAPE = 'new-car-private';\n\n constructor(private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.renderer.setStyle(this.avatarElement.nativeElement, 'width', this.size + 'px');\n this.renderer.setStyle(this.avatarElement.nativeElement, 'height', this.size + 'px');\n }\n\n getShape(): string {\n const brandName = ClrBrandAvatar.getCleanBrandName(this.brand);\n if (brandName in AcceptedBrands) {\n return 'brand-' + brandName.toLowerCase();\n }\n return this.getDefaultIcon();\n }\n\n getDefaultIcon() {\n return ClrBrandAvatar.DEFAULT_ICON_SHAPE;\n }\n\n static getCleanBrandName(input: string): string {\n let output: string = '' + input;\n output = output.replace(/ /g, '');\n output = output.replace(/-/g, '');\n output = output.replace(/_/g, '');\n output = output.toUpperCase();\n output = output.replace('VOLKSWAGEN', 'VW');\n output = output.replace('NUTZFAHRZEUGE', 'N');\n output = output.replace('DASWELTAUTO', 'DWA');\n output = output.replace('Š', 'S');\n return output;\n }\n}\n","<div class=\"brand-avatar-rectangle\">\n <div #avatar class=\"brand-avatar-icon-container\">\n <cds-icon\n [attr.size]=\"size\"\n [attr.shape]=\"getShape()\"\n [ngClass]=\"{'default-icon': getShape() === getDefaultIcon()}\"\n ></cds-icon>\n </div>\n</div>\n","/*\n * Copyright (c) 2021 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule } from '@clr/angular';\n\nimport { ClrBrandAvatar } from './brand-avatar';\n\n@NgModule({\n imports: [CommonModule, ClarityModule],\n declarations: [ClrBrandAvatar],\n exports: [ClrBrandAvatar],\n})\nexport class ClrBrandAvatarModule {}\n","/*\n * Copyright (c) 2020 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './brand-avatar';\nexport * from './brand-avatar.module';\n","/**\n * The abstract base class for all identifier types\n */\nexport abstract class NodeId {\n /**\n * @param other The other instance to check for equality\n */\n abstract equals(other: NodeId): boolean;\n}\n\n/**\n * The data structure of the location bar component. A location bar node holds the data of\n * a single node of the location bar. The type of the nodes id is generic and is determined\n * by the user of the location bar component (e.g. can be a combined identifier). Each node\n * can have a parent node (except the root node) and an array of children (except leaf nodes).\n */\nexport class LocationBarNode<T extends NodeId> {\n private selectedChild: LocationBarNode<T>;\n private children: LocationBarNode<T>[];\n\n /**\n * @param id The generic identifier of the node\n * @param label The label to visualize the node\n * @param selectable Indicator whether the node is selectable\n * @param preSelected Indicator whether the node is pre-selected\n */\n constructor(\n public id: T,\n public label: string,\n public selectable: boolean = true,\n public preSelected: boolean = false\n ) {}\n\n /**\n * Returns the children of this node. If the children has not been determined so far, null will\n * be returned. If this node does not have any children, an empty array will be returned.\n */\n getChildren(): LocationBarNode<T>[] {\n return this.children;\n }\n\n /**\n * Sets the children for this node\n * @param children The children to be set for this node\n * @return This node instance to support a fluent API\n */\n setChildren(children: LocationBarNode<T>[]) {\n this.children = children || [];\n }\n\n /**\n * Sets the new selected child\n * @param selectedChild The child to be selected\n */\n setSelectedChild(selectedChild: LocationBarNode<T>) {\n if (this.selectedChild && !selectedChild) {\n this.selectedChild.setSelectedChild(null);\n }\n this.selectedChild = selectedChild;\n }\n\n /**\n * @returns The currently selected child\n */\n getSelectedChild(): LocationBarNode<T> {\n return this.selectedChild;\n }\n\n /**\n * @param other The other instance to check for equality\n */\n equals(other: LocationBarNode<T>): boolean {\n return this.id.equals(other.id);\n }\n}\n","import { LocationBarNode, NodeId } from './location-bar.model';\nimport { Observable } from 'rxjs';\nimport { InjectionToken } from '@angular/core';\nimport { SearchResponseModel } from './location-bar.search.model';\n\nexport const CONTENT_PROVIDER = new InjectionToken<any>('CONTENT_PROVIDER');\n\n/**\n * Interface denoting the contract between the location bar component and\n * its users. The content provider offers callback methods for the location bar\n * component to gather the content to be displayed.\n */\nexport abstract class LocationBarContentProvider<T extends NodeId> {\n /**\n * Determines the children of the given node. This will only be called if the children of the node are falsy.\n * This enables lazy loading of children. This method should not return a falsy value but at least an empty array.\n *\n * @param node The children of this node should be determined\n */\n abstract getLazyChildren(node: LocationBarNode<T>): Observable<LocationBarNode<T>[]>;\n\n /**\n * Notify users that search is performed and that nodes should be filtered.\n *\n * @param _response Search response\n */\n searchPerformed(_response: SearchResponseModel<T>): void {\n // no implementation if search not enabled\n }\n}\n","import { Directive, ElementRef, OnDestroy, OnInit, Optional, Renderer2 } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ControlIdService } from './control-id.service';\n\n@Directive({ selector: 'label' })\nexport class ClrAddonsLabel implements OnInit, OnDestroy {\n destroyed$ = new Subject<void>();\n\n constructor(\n @Optional() private controlIdService: ControlIdService,\n private renderer: Renderer2,\n private el: ElementRef\n ) {}\n\n ngOnInit() {\n // Only add the clr-control-label if it is inside a control container\n if (this.controlIdService) {\n this.renderer.addClass(this.el.nativeElement, 'clr-control-label');\n }\n\n if (this.controlIdService && !(this.el.nativeElement as HTMLLabelElement).getAttribute('for')) {\n this.controlIdService.idChange.pipe(takeUntil(this.destroyed$)).subscribe(id =>\n // setTimeout needed, otherwise the ClrLabel directive of clarity will remove this via HostBinding again\n setTimeout(() => this.renderer.setAttribute(this.el.nativeElement, 'for', id))\n );\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { SearchRequestModel } from '../location-bar.search.model';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'clr-location-bar-search',\n templateUrl: './location-bar-search.component.html',\n styleUrls: ['location-bar-search.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LocationBarSearchComponent implements OnInit {\n searchControl = new FormControl('');\n previousValue: string = '';\n displayWarning: boolean = false;\n\n readonly MIN_CHARACTERS_DEFAULT: number = 3;\n\n @Input('clrSearchRequest') searchRequest: SearchRequestModel;\n\n @Output('searchPerformed') searchPerformed = new EventEmitter<string>();\n\n @ViewChild('searchInput', { static: true }) searchInput: ElementRef;\n\n ngOnInit() {\n this.searchControl.valueChanges.subscribe(text => this.onSearch(text));\n }\n\n private onSearch(text: string) {\n const validatedText = this.validateSearchText(text);\n if (validatedText !== null) {\n this.searchPerformed.emit(validatedText);\n }\n }\n\n private validateSearchText(text: string): string {\n const isDeletion = this.isTextDeletion(text);\n this.displayWarning = text.length < this.getMinSearchTextLength() && text.length !== 0;\n if (isDeletion) {\n return text.length >= this.getMinSearchTextLength() ? text : '';\n } else {\n return text.length >= this.getMinSearchTextLength() ? text : null;\n }\n }\n\n public focusInput(): void {\n setTimeout(() => {\n this.searchInput.nativeElement.focus();\n });\n }\n\n private isTextDeletion(text: string): boolean {\n const isDeletion = text.length < this.previousValue.length;\n this.previousValue = text;\n return isDeletion;\n }\n\n private getMinSearchTextLength(): number {\n return this.searchRequest?.minCharacters !== undefined\n ? this.searchRequest.minCharacters\n : this.MIN_CHARACTERS_DEFAULT;\n }\n\n preventDropdownActions(event: Event) {\n event.stopPropagation();\n }\n\n getMinCharactersText(): string {\n return `Type ${this.searchRequest?.minCharacters ?? this.MIN_CHARACTERS_DEFAULT}+ characters to search.`;\n }\n}\n","<div class=\"clr-col-md-12 search-wrapper\">\n <form clrForm>\n <clr-input-container class=\"input-container\">\n <label hidden></label>\n <input\n #searchInput\n class=\"clr-col-md-12\"\n clrInput\n clrSearch\n [placeholder]=\"searchRequest?.placeholder ?? ''\"\n type=\"text\"\n name=\"search\"\n (keydown.Space)=\"preventDropdownActions($event)\"\n [formControl]=\"searchControl\"\n />\n <clr-control-helper *ngIf=\"displayWarning\" class=\"min-text-warning\">{{\n searchRequest?.minCharacterText ?? getMinCharactersText()\n }}</clr-control-helper>\n </clr-input-container>\n </form>\n</div>\n","import {\n Component,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n Optional,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { angleIcon, ClarityIcons, treeViewIcon } from '@cds/core/icon';\nimport '@cds/core/icon/register.js';\nimport { of } from 'rxjs';\nimport { LocationBarNode, NodeId } from '../location-bar.model';\nimport { CONTENT_PROVIDER, LocationBarContentProvider } from '../location-bar.provider';\nimport { SearchRequestModel, SearchResultModel } from '../location-bar.search.model';\nimport { LocationBarSearchComponent } from '../location-bar-search/location-bar-search.component';\n\nClarityIcons.addIcons(treeViewIcon, angleIcon);\n\n/**\n * Component which renders a node of the location bar.\n */\n@Component({\n selector: 'clr-location-bar-node',\n templateUrl: './location-bar-node.component.html',\n host: { '[class.location-bar-node]': 'true' },\n})\nexport class LocationBarNodeComponent<T extends NodeId> implements OnChanges {\n /**\n * The parent node of this component\n */\n private _parentNode: LocationBarNode<T>;\n\n /**\n * The selectable nodes\n */\n selectableChilds: LocationBarNode<T>[] = [];\n\n searchText: string;\n\n focus: boolean;\n\n readonly SEARCH_ITEM_STORAGE_KEY: string = 'searchedItem';\n\n /* inputs */\n @Input()\n set parentNode(parentNode: LocationBarNode<T>) {\n this._parentNode = parentNode;\n if (this._parentNode) {\n const children$ = this._parentNode.getChildren() ? of(this._parentNode.getChildren()) : this.getLazyChildren();\n\n children$.toPromise().then(nodes => this.prepareChildren(nodes || []));\n }\n }\n @Input('clrSearchResultItems') searchResultItems: SearchResultModel[] = [];\n @Input('clrSearchRequest') searchRequest: SearchRequestModel;\n\n /* outputs */\n /**\n * Emits selection changes\n */\n @Output() selectionChanged = new EventEmitter<T[]>();\n @Output() searchItemChanged = new EventEmitter<SearchResultModel>();\n\n @ViewChild('locationBarSearch') set locationBarSearch(search: LocationBarSearchComponent) {\n if (search) {\n search.focusInput();\n }\n }\n\n constructor(@Inject(CONTENT_PROVIDER) @Optional() public contentProvider: LocationBarContentProvider<T>) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.searchResultItems) {\n this.searchResultItems = changes.searchResultItems.currentValue;\n }\n }\n\n get parentNode(): LocationBarNode<T> {\n return this._parentNode;\n }\n\n private getLazyChildren() {\n return this.contentProvider ? this.contentProvider.getLazyChildren(this._parentNode) : of([]);\n }\n\n private prepareChildren(nodes: LocationBarNode<T>[]) {\n this._parentNode.setChildren(nodes);\n /* when no node is selected search within the children for the first child to be pre-selected */\n if (!this._parentNode.getSelectedChild()) {\n for (const node of nodes) {\n if (node.preSelected) {\n this._parentNode.setSelectedChild(node);\n node.preSelected = false;\n break;\n }\n }\n }\n this.selectableChilds = nodes.filter(n => n.selectable);\n }\n\n /**\n * Listens for selection changes of child components and re-emits the selection event.\n * @param selection The changed selection of child components\n */\n onSelectionChanged(selection: T[]) {\n selection.unshift(this._parentNode.getSelectedChild().id);\n this.selectionChanged.emit(selection);\n }\n\n /**\n * Selects the given node\n * @param selectedNode The selected child node.\n */\n selectNode(selectedNode: LocationBarNode<T>) {\n if (selectedNode) {\n selectedNode.setSelectedChild(null);\n this._parentNode.setSelectedChild(selectedNode);\n this.notifySelectionChanged(selectedNode);\n }\n }\n\n /**\n * Method called internally to emit the selection event\n * @param selectedNode The node which has been selected\n */\n private notifySelectionChanged(selectedNode: LocationBarNode<T>) {\n this.selectionChanged.emit([selectedNode.id]);\n }\n\n onSearch(text: string) {\n this.searchText = text;\n this.contentProvider.searchPerformed({ text: text, searchableNodes: this._parentNode.getChildren() });\n }\n\n displaySearchResult(): boolean {\n return this.searchResultItems.length !== 0 || !!this.searchText;\n }\n\n resetSearch(): void {\n this.searchResultItems = [];\n this.searchText = '';\n }\n\n onSearchItemChanged(item: SearchResultModel): void {\n let searchedItem: SearchResultModel;\n if (item) {\n searchedItem = item;\n localStorage.setItem(this.SEARCH_ITEM_STORAGE_KEY, JSON.stringify(item));\n } else {\n const storageItem = localStorage.getItem(this.SEARCH_ITEM_STORAGE_KEY);\n if (storageItem) {\n searchedItem = JSON.parse(storageItem);\n }\n }\n this.searchItemChanged.emit(searchedItem);\n }\n}\n","<ng-container *ngIf=\"parentNode\">\n <ng-content *ngIf=\"parentNode.getChildren()?.length > 0\"></ng-content>\n\n <ng-container\n *ngIf=\"\n (selectableChilds.length > 0 && !parentNode.getSelectedChild()) || selectableChilds.length > 1;\n else singleSelected\n \"\n >\n <clr-dropdown>\n <button\n class=\"btn btn-link btn-sm\"\n (blur)=\"focus = false\"\n (focus)=\"focus = true\"\n (click)=\"resetSearch()\"\n clrDropdownTrigger\n >\n <ng-container *ngIf=\"parentNode.getSelectedChild() as node; else unselected\">\n <span\n (click)=\"resetSearch()\"\n class=\"text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ node.label }}\"\n >\n {{ node.label }}\n </span>\n <cds-icon shape=\"angle\" direction=\"down\" size=\"xs\" class=\"caret-icon\"></cds-icon>\n </ng-container>\n <ng-template #unselected>\n <cds-icon class=\"unselected\" size=\"18\" [attr.solid]=\"focus\" shape=\"tree-view\"></cds-icon>&nbsp;...\n </ng-template>\n </button>\n <clr-dropdown-menu [clrPosition]=\"'bottom-left'\" [clrDropdownMenuItemMinHeight]=\"'24px'\" *clrIfOpen>\n <clr-location-bar-search\n #locationBarSearch\n *ngIf=\"searchRequest\"\n [clrSearchRequest]=\"searchRequest\"\n (searchPerformed)=\"onSearch($event)\"\n ></clr-location-bar-search>\n <ng-container *ngIf=\"displaySearchResult(); else displaySelectableChilds\">\n <ng-container *ngIf=\"searchResultItems.length !== 0; else displayNotFound\">\n <button\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate\"\n *ngFor=\"let searchResultItem of searchResultItems\"\n (click)=\"onSearchItemChanged(searchResultItem)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchRequest?.searchResultItemRef; context: { $implicit: searchResultItem }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #displayNotFound>\n <span class=\"no-result-text\">\n {{ searchRequest?.noResultsText ?? 'No search result found.' }}\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #displaySelectableChilds>\n <button\n *ngFor=\"let item of selectableChilds\"\n type=\"button\"\n clrDropdownItem\n class=\"text-truncate\"\n [class.selected-child]=\"item.id === parentNode.getSelectedChild()?.id\"\n (click)=\"selectNode(item)\"\n title=\"{{ item.label }}\"\n >\n {{ item.label }}\n </button>\n </ng-template>\n </clr-dropdown-menu>\n </clr-dropdown>\n </ng-container>\n\n <ng-template #singleSelected>\n <ng-container *ngIf=\"parentNode.getSelectedChild()\">\n <ng-container *ngIf=\"parentNode.getSelectedChild().selectable; else unselectable\">\n <button\n class=\"btn btn-link btn-sm\"\n (click)=\"selectNode(parentNode.getSelectedChild())\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </button>\n </ng-container>\n <ng-template #unselectable>\n <span\n class=\"unselectable-node text-truncate\"\n [class.last-level]=\"!parentNode.getSelectedChild().getSelectedChild()\"\n title=\"{{ parentNode.getSelectedChild().label }}\"\n >\n {{ parentNode.getSelectedChild().label }}\n </span>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <clr-location-bar-node\n *ngIf=\"parentNode.getSelectedChild() && parentNode.getChildren().length > 0\"\n [parentNode]=\"parentNode.getSelectedChild()\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"onSearchItemChanged(null)\"\n >\n <span>/</span>\n </clr-location-bar-node>\n</ng-container>\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { ClarityIcons, organizationIcon } from '@cds/core/icon';\nimport '@cds/core/icon/register.js';\nimport { ReplaySubject } from 'rxjs';\nimport { LocationBarNode, NodeId } from './location-bar.model';\nimport { SearchRequestModel } from './location-bar.search.model';\nimport { SearchResultModel } from './location-bar.search.model';\n\nClarityIcons.addIcons(organizationIcon);\n\n@Component({\n selector: 'clr-location-bar',\n templateUrl: './location-bar.component.html',\n})\nexport class LocationBarComponent<T extends NodeId> implements OnChanges {\n root$ = new ReplaySubject<LocationBarNode<T>>();\n\n @Input('clrIconShape') iconShape = 'organization';\n @Input('clrIconTitle') iconTitle = '';\n @Input('clrSearchRequest') searchRequest: SearchRequestModel;\n @Input('clrSearchResultItems') searchResultItems: SearchResultModel[] = [];\n\n @Input('clrRoots')\n set roots(roots: LocationBarNode<T>[]) {\n const internalRoot = new LocationBarNode(null, null, false);\n internalRoot.setChildren(roots);\n if (roots.length === 1) {\n internalRoot.setSelectedChild(roots[0]);\n }\n this.root$.next(internalRoot);\n }\n\n @Output('clrSelectionChanged') selectionChanged = new EventEmitter<T[]>();\n @Output('clrSearchItemChanged') searchItemChanged = new EventEmitter<SearchResultModel>();\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.searchResultItems) {\n this.searchResultItems = changes.searchResultItems.currentValue;\n }\n }\n\n onSelectionChanged(selection: T[]) {\n this.selectionChanged.emit(selection);\n }\n}\n","<cds-icon *ngIf=\"iconShape\" [attr.shape]=\"iconShape\" [title]=\"iconTitle\"></cds-icon>\n<clr-location-bar-node\n (selectionChanged)=\"onSelectionChanged($event)\"\n (searchItemChanged)=\"searchItemChanged.emit($event)\"\n [parentNode]=\"root$ | async\"\n [clrSearchRequest]=\"searchRequest\"\n [clrSearchResultItems]=\"searchResultItems\"\n>\n</clr-location-bar-node>\n","/*\n * Copyright (c) 2018-2022 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrAddonsLabel } from './label';\n\n@NgModule({\n declarations: [ClrAddonsLabel],\n exports: [ClrAddonsLabel],\n})\nexport class ClrFormModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ClarityModule, ClrDropdownModule, ClrIconModule } from '@clr/angular';\nimport { LocationBarComponent } from './location-bar.component';\nimport { LocationBarNodeComponent } from './location-bar-node/location-bar-node.component';\nimport { ClrDropdownOverflowModule } from '../dropdown';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ClrAutocompleteOffModule } from '../autocomplete-off';\nimport { ClrFormModule } from '../abstract-form-component';\nimport { ClrSearchFieldModule } from '../searchfield';\nimport { LocationBarSearchComponent } from './location-bar-search/location-bar-search.component';\n\n@NgModule({\n declarations: [LocationBarComponent, LocationBarNodeComponent, LocationBarSearchComponent],\n imports: [\n CommonModule,\n ClrIconModule,\n ClrDropdownModule,\n ClrDropdownOverflowModule,\n ClarityModule,\n FormsModule,\n ClrAutocompleteOffModule,\n ClrFormModule,\n ClrSearchFieldModule,\n ReactiveFormsModule,\n ],\n exports: [LocationBarComponent],\n})\nexport class ClrLocationBarModule {}\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[clrDgField],[clrDgFieldKey]',\n})\nexport class DatagridFieldDirective {\n @Input()\n clrDgField: string;\n @Input()\n clrDgFieldKey: string;\n\n getFieldName(): string {\n return this.clrDgField ?? this.clrDgFieldKey;\n }\n}\n","import {\n AfterContentInit,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport {\n ClrDatagrid,\n ClrDatagridComparatorInterface,\n ClrDatagridFilter,\n ClrDatagridFilterInterface,\n ClrDatagridPagination,\n ClrDatagridSortOrder,\n ClrDatagridStateInterface,\n DatagridPropertyComparator,\n} from '@clr/angular';\nimport { ClrDatagridStatePersistenceModel } from './datagrid-state-persistence-model.interface';\nimport { delay, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { StatePersistenceOptions } from './state-persistence-options.interface';\n\nconst DATE_TYPE = 'date';\n\ninterface FilterValueWithMetadata {\n type: string;\n value: unknown;\n}\n\n@Directive({\n selector: '[clrStatePersistenceKey]',\n})\nexport class StatePersistenceKeyDirective implements AfterContentInit, OnDestroy {\n /**\n * Configuration options for the persistence.\n * 'Key' represents the local storage key under which the persistence state is stored.\n *\n * Optional fields with the 'persist' prefix toggle the persistence of the respective datagrid functionality,\n * the default value is always 'true'.\n */\n @Input('clrStatePersistenceKey')\n options: StatePersistenceOptions;\n\n @Input('clrUseLocalStoreOnly')\n useLocalStoreOnly = false;\n\n @Input('clrPaginationDescription')\n paginationDescription = '';\n\n @ContentChild(ClrDatagridPagination)\n pagination: ClrDatagridPagination;\n\n @ContentChild(ClrDatagridPagination, { read: ElementRef })\n paginationElem: ElementRef;\n\n @ContentChildren(ClrDatagridFilter, { descendants: true })\n customFilters: QueryList<ClrDatagridFilter>;\n\n canShowPaginationDescription = false;\n warnedAboutCustomDescription = false;\n destroy$ = new Subject<void>();\n\n constructor(private datagrid: ClrDatagrid) {}\n\n ngAfterContentInit() {\n if (this.options.serverDriven) {\n this.init();\n } else {\n setTimeout(() => {\n this.init();\n });\n }\n }\n\n private init() {\n const volatileDataState = this.getVolatileDataState();\n const localStorageState = this.getLocalStorageState();\n\n this.initFilter(volatileDataState);\n this.initSorting(localStorageState);\n this.initDatagridPersister();\n\n const paginationPersistenceEnabled = this.options.persistPagination ?? true;\n if (this.pagination?.page && paginationPersistenceEnabled) {\n this.initPageSizePersister(localStorageState);\n this.initCurrentPage(volatileDataState);\n }\n this.canShowPaginationDescription = true;\n }\n\n /**\n * With this method filters can be cleared\n * @param key The key for clrStatePersistenceKey\n * @param useLocalStoreOnly The clrUseLocalStoreOnly indicator\n */\n static clearFilters(key: string, useLocalStoreOnly: boolean): void {\n const data = JSON.parse((useLocalStoreOnly ? localStorage : sessionStorage).getItem(key)) || {};\n data.columns = {};\n (useLocalStoreOnly ? localStorage : sessionStorage).setItem(key, JSON.stringify(data));\n }\n\n private initPageSizePersister(savedState: ClrDatagridStatePersistenceModel) {\n /* persist page size changes in local storage */\n this.pagination.page.sizeChange.pipe(takeUntil(this.destroy$)).subscribe(pageSize => {\n const state = this.getLocalStorageState();\n state.pageSize = pageSize;\n localStorage.setItem(this.options.key, JSON.stringify(state));\n });\n\n /* init page size of datagrid if already persisted in local storage */\n if (savedState.pageSize) {\n this.pagination.page.size = savedState.pageSize;\n }\n }\n\n private initCurrentPage(savedState: ClrDatagridStatePersistenceModel) {\n /* init current page of datagrid if already persisted */\n if (savedState?.currentPage) {\n this.datagrid.items.change.pipe(take(1)).subscribe(() => (this.pagination.page.current = savedState.currentPage));\n }\n }\n\n private initFilter(savedState: ClrDatagridStatePersistenceModel): void {\n const filterPersistenceEnabled = this.options.persistFilters ?? true;\n if (savedState.columns && filterPersistenceEnabled) {\n Object.keys(savedState.columns).forEach(prop => {\n const filter = this.getFilter(prop);\n if (filter) {\n /* if the saved value is empty filter send null */\n const savedFilterValue = savedState.columns[prop].filterValue;\n if (savedFilterValue == null) {\n (filter as any)['value'] = null;\n } else {\n Object.keys(savedFilterValue)\n .filter(valueKey => valueKey !== 'property')\n .forEach(valueKey => ((filter as any)[valueKey] = this.parseFilterValue(savedFilterValue[valueKey])));\n }\n }\n });\n }\n }\n\n private initSorting(savedState: ClrDatagridStatePersistenceModel): void {\n const sortPersistenceEnabled = this.options.persistSort ?? true;\n if (savedState.sortBy && sortPersistenceEnabled) {\n this.datagrid.columns.forEach(column => {\n if (this.getSortProperty(column.sortBy) === savedState.sortBy) {\n column.sortOrder = savedState.sortReverse ? ClrDatagridSortOrder.DESC : ClrDatagridSortOrder.ASC;\n } else {\n column.sortOrder = ClrDatagridSortOrder.UNSORTED;\n }\n });\n }\n }\n\n private initDatagridPersister() {\n // delay is needed, as onDestroy the filters emit empty values.\n // So delay it to the end of the current cycle, so the directive is also destroyed before it gets the next values\n this.datagrid.refresh.pipe(delay(0), takeUntil(this.destroy$)).subscribe(dgState => {\n this.persistFiltersAndCurrentPage(dgState);\n this.persistSorting(dgState);\n\n if (this.canShowPaginationDescription) {\n this.updatePaginationDescription();\n }\n });\n\n this.datagrid.items.change.pipe(takeUntil(this.destroy$)).subscribe(() => this.updatePaginationDescription());\n }\n\n private persistFiltersAndCurrentPage(dgState: ClrDatagridStateInterface<unknown>): void {\n const filterPersistenceEnabled = this.options.persistFilters ?? true;\n const paginationPersistenceEnabled = this.options.persistPagination ?? true;\n\n const state = this.getVolatileDataState();\n state.columns = state.columns || {};\n\n if (paginationPersistenceEnabled) {\n state.currentPage = dgState.page?.current;\n }\n\n if (filterPersistenceEnabled) {\n Object.keys(state.columns).forEach(prop => (state.columns[prop].filterValue = undefined));\n dgState.filters?.forEach(filter => {\n const property = this.getFilterPropertyName(filter);\n if (property) {\n state.columns[property] = state.columns[property] || {};\n state.columns[property].filterValue = this.enrichFilterValue(filter);\n }\n });\n }\n\n (this.useLocalStoreOnly ? localStorage : sessionStorage).setItem(this.options.key, JSON.stringify(state));\n }\n\n private persistSorting(dgState: ClrDatagridStateInterface<unknown>): void {\n const sortPersistenceEnabled = this.options.persistSort ?? true;\n if (sortPersistenceEnabled) {\n const state = this.getLocalStorageState();\n state.sortBy = this.getSortProperty(dgState.sort?.by);\n state.sortReverse = dgState.sort?.reverse;\n\n localStorage.setItem(this.options.key, JSON.stringify(state));\n }\n }\n\n /**\n * Pagination description must be set by this directive,\n * otherwise we can't update datagrid values from localStorage\n * without getting ExpressionChangedAfterItHasBeenCheckedError\n */\n private updatePaginationDescription() {\n if (this.paginationElem && this.pagination) {\n const paginationDescElem = (<HTMLElement>this.paginationElem.nativeElement).getElementsByClassName(\n 'pagination-description'\n )?.[0];\n if (paginationDescElem) {\n if (!this.warnedAboutCustomDescription && paginationDescElem.textContent.trim().length !== 0) {\n console.error(\n 'When using clrStatePersistenceKey directive, you should not use custom pagination description' +\n ' inside pagination component content, but use [clrPaginationDescription] on clr-datagrid'\n );\n }\n this.warnedAboutCustomDescription = true;\n if (this.paginationDescription) {\n paginationDescElem.textContent = this.paginationDescription\n .replace('{{first}}', (this.pagination.firstItem + 1).toString())\n .replace('{{last}}', (this.pagination.lastItem + 1).toString())\n .replace('{{total}}', this.pagination.totalItems.toString());\n }\n }\n }\n }\n\n /**\n * Gets the state of volatile data. This can be influenced by clrUseLocalStoreOnly.\n */\n getVolatileDataState(): ClrDatagridStatePersistenceModel {\n return JSON.parse((this.useLocalStoreOnly ? localStorage : sessionStorage).getItem(this.options.key)) || {};\n }\n\n getLocalStorageState(): ClrDatagridStatePersistenceModel {\n return JSON.parse(localStorage.getItem(this.options.key)) || {};\n }\n\n /**\n * As a date is serialized as string, but not deserialized as date\n * we need to add some meta information to do that manually later\n */\n private enrichFilterValue(filter: Record<string, unknown>) {\n const result = {} as Record<string, unknown>;\n\n Object.keys(filter).forEach(\n key =>\n (result[key] =\n filter[key] instanceof Date\n ? ({\n type: DATE_TYPE,\n value: filter[key],\n } as FilterValueWithMetadata)\n : filter[key])\n );\n\n return result;\n }\n\n /**\n * Parse filter values with meta information like date, which needs manual deserialization to a date object\n */\n private parseFilterValue(value: unknown): unknown {\n return (value as FilterValueWithMetadata)?.type === DATE_TYPE\n ? new Date((value as FilterValueWithMetadata).value as string)\n : value;\n }\n\n private getFilter(prop: string): ClrDatagridFilterInterface<unknown, unknown> {\n // get default filter or custom filter\n return (\n this.datagrid.columns.find(col => col.field === prop)?.filter ||\n this.customFilters.find(filter => this.getFilterPropertyName(filter.filter) === prop)?.filter\n );\n }\n\n private getFilterPropertyName(filter: ClrDatagridFilterInterface<unknown, unknown>): string {\n // for NestedProperty we need to get the original property\n const filterWithProp = filter as unknown as { property: unknown };\n return ((filterWithProp.property as Record<string, unknown>)?.prop || filterWithProp.property) as string;\n }\n\n private getSortProperty(sortBy: ClrDatagridComparatorInterface<unknown> | string): string | undefined {\n if (sortBy) {\n if (typeof sortBy === 'string') {\n return sortBy;\n }\n if (sortBy instanceof DatagridPropertyComparator) {\n return sortBy.prop;\n }\n }\n return undefined;\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Directive, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { DatagridFieldDirective } from './datagrid-field.directive';\nimport { ClrDatagrid, ClrDatagridHideableColumn } from '@clr/angular';\nimport { StatePersistenceKeyDirective } from './state-persistence-key.directive';\nimport { ClrDatagridStatePersistenceModel } from './datagrid-state-persistence-model.interface';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[clrDgHideableColumn]',\n})\nexport class ColumnHiddenStatePersistenceDirective implements OnInit, OnDestroy {\n destroy$ = new Subject<void>();\n\n constructor(\n @Optional() private columnDirective: DatagridFieldDirective,\n @Optional() private statePersistenceKey: StatePersistenceKeyDirective,\n private datagrid: ClrDatagrid,\n private hideableColumnDirective: ClrDatagridHideableColumn\n ) {}\n\n ngOnInit() {\n const persistenceEnabled = this.statePersistenceKey?.options?.persistHiddenColumns ?? true;\n if (this.statePersistenceKey?.options.key && this.columnDirective?.getFieldName() && persistenceEnabled) {\n /* set hidden states from local storage (if existing) */\n this.initHiddenState();\n\n /* listen to state changes and persist in local storage */\n this.hideableColumnDirective.hiddenChange.pipe(takeUntil(this.destroy$)).subscribe(hidden => {\n this.setHiddenState(hidden);\n });\n }\n }\n\n private initHiddenState() {\n /* read grid state if existing */\n const persistedGridState = this.readStoredState();\n\n /* read column state if existing */\n if (persistedGridState?.columns?.[this.columnDirective.getFieldName()]) {\n /* read column hidden state if existing */\n const persistedColumnHiddenState = persistedGridState.columns[this.columnDirective.getFieldName()].hidden;\n if (persistedColumnHiddenState !== undefined) {\n this.hideableColumnDirective.clrDgHidden = persistedColumnHiddenState === true;\n }\n }\n }\n\n private setHiddenState(hidden: boolean) {\n if (!this.datagrid?.detailService?.isOpen) {\n /* read grid state if existing */\n const persistedGridState = this.readStoredState();\n\n /* read column state if existing */\n if (!persistedGridState.columns) {\n persistedGridState.columns = {};\n }\n let persistedColumnState = persistedGridState.columns[this.columnDirective.getFieldName()];\n if (!persistedColumnState) {\n persistedColumnState = {};\n persistedGridState.columns[this.columnDirective.getFieldName()] = persistedColumnState;\n }\n\n /* set column hidden state and persist in local storage */\n persistedColumnState.hidden = hidden;\n localStorage.setItem(this.statePersistenceKey.options.key, JSON.stringify(persistedGridState));\n }\n }\n\n private readStoredState(): ClrDatagridStatePersistenceModel {\n return JSON.parse(localStorage.getItem(this.statePersistenceKey.options.key)) || {};\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ColumnHiddenStatePersistenceDirective } from './column-hidden-state-persistence.directive';\nimport { DatagridFieldDirective } from './datagrid-field.directive';\nimport { StatePersistenceKeyDirective } from './state-persistence-key.directive';\n\n@NgModule({\n declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective],\n exports: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective],\n})\nexport class ClrDatagridStatePersistenceModule {}\n","import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { ClrDatagrid, ClrDatagridFilter, ClrDatagridFilterInterface } from '@clr/angular';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ClarityIcons, trashIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(trashIcon);\n\ninterface FilterValue {\n value: string;\n displayValue: string;\n}\n\n@Component({\n selector: 'clr-enum-filter',\n templateUrl: './enum-filter.component.html',\n styleUrls: ['./enum-filter.component.scss'],\n})\nexport class ClrEnumFilterComponent<T extends { [key: string]: any }>\n implements ClrDatagridFilterInterface<T>, OnDestroy\n{\n @Input('clrProperty') property = '';\n\n @Input('clrEmptyValuesTranslation')\n public set setEmptyValuesTranslation(translatedValue: string) {\n if (translatedValue !== this.emptyDefaultValue) {\n this.emptyValue = translatedValue;\n /* update values if translation set */\n this.setFilteredValues(this.filteredValues);\n if (this.possibleValues?.length !== 0) {\n this.setPossibleValues(this.possibleValues);\n }\n }\n }\n\n @Input('clrFilterValues')\n public set value(values: string[]) {\n this.setFilteredValues(values);\n }\n\n private setFilteredValues(values: (string | FilterValue)[]): void {\n const mappedValues = this.mapValues(values);\n if (this.possibleValues?.length) {\n const mappedPossibleValues = this.possibleValues.map(v => this.mapValue(v));\n const values = mappedValues.map(v => v.value);\n this.filteredValues = mappedPossibleValues.filter(possibleValue => values?.includes(possibleValue.value));\n this.clrFilterValuesChange.emit(this.getDisplayValues(this.filteredValues));\n } else {\n this.filteredValues = mappedValues;\n }\n\n this.changes.emit(true);\n }\n\n @Input() set clrPossibleValues(values: (string | FilterValue)[]) {\n this.setPossibleValues(values);\n this.customPossibleValues = true;\n }\n\n @Output() clrFilterValuesChange = new EventEmitter<string[]>();\n\n possibleValues: FilterValue[] = [];\n customPossibleValues = false;\n filteredValues: FilterValue[] = [];\n emptyDefaultValue: string = '(Empty)';\n emptyValue: string = this.emptyDefaultValue;\n changes = new EventEmitter<boolean>(false);\n\n destroyed$ = new Subject<void>();\n\n constructor(filterContainer: ClrDatagridFilter, datagrid: ClrDatagrid) {\n filterContainer.setFilter(this);\n datagrid.items.allChanges.pipe(takeUntil(this.destroyed$)).subscribe(items => {\n if (!this.customPossibleValues) {\n this.setPossibleValues(\n items.map(item => item[this.property]).filter((value, index, self) => self.indexOf(value) === index)\n );\n }\n });\n }\n\n setPossibleValues(values: (string | FilterValue)[]) {\n if (values === null) {\n values = [];\n }\n this.possibleValues = values.map(value => this.mapValue(value));\n this.possibleValues.sort((v1, v2) => v1.displayValue.localeCompare(v2.displayValue));\n this.filteredValues = this.filteredValues.filter(filtered =>\n this.containsFilterValue(this.possibleValues, filtered)\n );\n\n this.emitFilterChanged();\n }\n\n onChange(selectedValue: FilterValue, checkboxState: boolean) {\n if (checkboxState) {\n this.filteredValues.push(selectedValue);\n } else {\n this.filteredValues = this.filteredValues.filter(filtered => filtered.value !== selectedValue.value);\n }\n\n this.emitFilterChanged();\n }\n\n isActive(): boolean {\n return this.filteredValues.length > 0;\n }\n\n accepts(item: T): boolean {\n const displayValues = this.getDisplayValues(this.filteredValues);\n if (this.acceptEmptyValue(displayValues, item)) {\n return true;\n }\n return displayValues.includes(item[this.property]);\n }\n\n private acceptEmptyValue(displayValues: string[], item: T): boolean {\n return displayValues.some(value => !value) && !item[this.property];\n }\n\n public get state(): any {\n return {\n property: this.property,\n value: this.getValues(this.filteredValues),\n };\n }\n\n clearFilters() {\n this.filteredValues = [];\n this.emitFilterChanged();\n }\n\n private emitFilterChanged() {\n this.clrFilterValuesChange.emit(this.getDisplayValues(this.filteredValues));\n this.changes.emit(true);\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n protected containsFilterValue(entries: FilterValue[], filtered: FilterValue): boolean {\n return entries.some(v => v.value === filtered.value);\n }\n\n private getDisplayValues(entries: FilterValue[]): string[] {\n return entries.map(entry => (!entry.value ? entry.value : entry.displayValue));\n }\n\n private getValues(entries: FilterValue[]): string[] {\n return entries.map(entry => entry.value);\n }\n\n private mapValues(values: (string | FilterValue)[]): FilterValue[] {\n if (!values) {\n return [];\n }\n return values.map(value => this.mapValue(value));\n }\n\n private mapValue(value: string | FilterValue): FilterValue {\n if (value instanceof Object) {\n return !value.value ? { value: '', displayValue: this.emptyValue } : value;\n }\n\n return value ? { value: value, displayValue: value } : { value: '', displayValue: this.emptyValue };\n }\n}\n","<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrEnumFilterComponent } from './enum-filter.component';\n\n@NgModule({\n imports: [ClarityModule, CommonModule, FormsModule],\n declarations: [ClrEnumFilterComponent],\n exports: [ClrEnumFilterComponent],\n})\nexport class ClrEnumFilterModule {}\n","/*\n * Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\n/**\n * Generic accessor for deep object properties\n * that can be specified as simple dot-separated strings.\n */\nexport class NestedProperty<T = any> {\n private splitProp: string[];\n\n constructor(public prop: string) {\n if (prop.indexOf('.') >= 0) {\n this.splitProp = prop.split('.');\n }\n }\n\n // Safe getter for a deep object property, will not throw an error but return\n // undefined if one of the intermediate properties is null or undefined.\n public getPropValue(item: T): any {\n if (this.splitProp) {\n let value = item;\n for (const nestedProp of this.splitProp) {\n if (\n value === null ||\n typeof value === 'undefined' ||\n typeof (value as Record<string, any>)[nestedProp] === 'undefined'\n ) {\n return undefined;\n }\n value = (value as Record<string, any>)[nestedProp];\n }\n return value;\n } else {\n return (item as Record<string, any>)[this.prop];\n }\n }\n}\n","import { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n ClrCommonStringsService,\n ClrDatagridFilter,\n ClrDatagridFilterInterface,\n ClrPopoverEventsService,\n} from '@clr/angular';\nimport { Observable, Subject } from 'rxjs';\nimport { NestedProperty } from './nested-property';\nimport { ClarityIcons, trashIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(trashIcon);\n\n@Component({\n selector: 'clr-date-filter',\n templateUrl: './date-filter.component.html',\n styleUrls: ['./date-filter.component.scss'],\n})\nexport class ClrDateFilterComponent<T extends { [key: string]: any }>\n implements ClrDatagridFilterInterface<T>, AfterViewInit\n{\n private nestedProp: NestedProperty<any>;\n\n @Input('clrProperty') set property(value: string) {\n this.nestedProp = new NestedProperty(value);\n }\n\n get property() {\n return this.nestedProp.prop;\n }\n\n constructor(\n private commonStrings: ClrCommonStringsService,\n private clrPopoverEventsService: ClrPopoverEventsService,\n filterContainer: ClrDatagridFilter\n ) {\n filterContainer.setFilter(this);\n }\n\n public ngAfterViewInit(): void {\n this.clrPopoverEventsService.outsideClickClose = false;\n }\n\n /**\n * Provide a way to pass external placeholder and aria-label to the filter input\n */\n @Input('clrFilterMaxPlaceholder') maxPlaceholder: string;\n\n get maxPlaceholderValue() {\n return this.maxPlaceholder || this.commonStrings.keys.maxValue;\n }\n\n @Input('clrFilterMinPlaceholder') minPlaceholder: string;\n\n get minPlaceholderValue() {\n return this.minPlaceholder || this.commonStrings.keys.minValue;\n }\n\n @Input('clrFilterValue')\n public set value(values: [Date, Date]) {\n if (Array.isArray(values)) {\n if (values && (values[0] !== this._from || values[1] !== this._to)) {\n if (typeof values[0] === 'object') {\n this._from = values[0];\n } else {\n this._from = null;\n }\n if (typeof values[1] === 'object') {\n this._to = values[1];\n } else {\n this._to = null;\n }\n this._changes.next(values);\n }\n }\n }\n\n @Output('clrFilterValueChange') filterValueChange = new EventEmitter();\n\n /**\n * Internal values and accessor\n */\n private _from: Date | null = null;\n private _to: Date | null = null;\n\n public get from() {\n return this._from;\n }\n\n public set from(from: Date) {\n if (typeof from === 'object' && from !== this._from) {\n if (from && typeof from.setHours === 'function') {\n from.setHours(0, 0, 0, 0); // set from-date to start of day\n }\n this._from = from;\n this._changes.next([this._from, this._to]);\n this.filterValueChange.emit([this._from, this._to]);\n }\n }\n\n public get to() {\n return this._to;\n }\n\n public set to(to: Date) {\n if (typeof to === 'object' && to !== this._to) {\n if (to && typeof to.setHours === 'function') {\n to.setHours(23, 59, 59, 999); // set to-date to end of day\n }\n this._to = to;\n this._changes.next([this._from, this._to]);\n this.filterValueChange.emit([this._from, this._to]);\n }\n }\n\n /**\n * Indicates if the filter is currently active, (at least one input is set)\n */\n public isActive(): boolean {\n return this._from !== null || this._to !== null;\n }\n\n accepts(item: T): boolean {\n let propValue = this.nestedProp ? this.nestedProp.getPropValue(item) : item;\n if (propValue === undefined) {\n return false;\n }\n if (typeof propValue === 'string') {\n propValue = new Date(propValue);\n }\n if (this._from !== null && (!(propValue instanceof Date) || propValue.getTime() < this._from.getTime())) {\n return false;\n }\n if (this._to !== null && (!(propValue instanceof Date) || propValue.getTime() > this._to.getTime())) {\n return false;\n }\n return true;\n }\n\n /**\n * The Observable required as part of the Filter interface\n */\n private _changes = new Subject<[Date, Date]>();\n\n // We do not want to expose the Subject itself, but the Observable which is read-only\n public get changes(): Observable<[Date, Date]> {\n return this._changes.asObservable();\n }\n\n public get state(): any {\n return {\n property: this.nestedProp,\n from: this._from,\n to: this._to,\n };\n }\n\n public clearFilter() {\n this._from = null;\n this._to = null;\n this._changes.next([this._from, this._to]);\n this.filterValueChange.emit([this._from, this._to]);\n }\n\n public equals(other: ClrDatagridFilterInterface<T, any>): boolean {\n return other === this;\n }\n}\n","<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule } from '@clr/angular';\nimport { ClrDateFilterComponent } from './date-filter.component';\n\n@NgModule({\n imports: [ClarityModule, CommonModule, FormsModule],\n declarations: [ClrDateFilterComponent],\n exports: [ClrDateFilterComponent],\n})\nexport class ClrDateFilterModule {}\n","export const USER_INPUT_REGEX = /\\d+/g;\n\n// https://en.wikipedia.org/wiki/Date_format_by_country\nexport const LITTLE_ENDIAN_REGEX = /d+.+m+.+y+/i;\nexport const MIDDLE_ENDIAN_REGEX = /m+.+d+.+y+/i;\n\nexport const DELIMITER_REGEX = /d+|m+|y+/i;\n\nexport const YEAR = 'YYYY';\nexport const MONTH = 'MM';\nexport const DATE = 'DD';\n\nexport type FormatType = 'LITTLE_ENDIAN' | 'MIDDLE_ENDIAN' | 'BIG_ENDIAN';\n\nexport type InputDateDisplayFormat = {\n readonly name: FormatType;\n readonly format: [string, string, string];\n};\n\nexport const LITTLE_ENDIAN: InputDateDisplayFormat = {\n name: 'LITTLE_ENDIAN',\n format: [DATE, MONTH, YEAR],\n};\n\nexport const MIDDLE_ENDIAN: InputDateDisplayFormat = {\n name: 'MIDDLE_ENDIAN',\n format: [MONTH, DATE, YEAR],\n};\n\nexport const BIG_ENDIAN: InputDateDisplayFormat = {\n name: 'BIG_ENDIAN',\n format: [YEAR, MONTH, DATE],\n};\n\n/** Default separator text. */\nexport const SEPARATOR_TEXT_DEFAULT = ' - ';\n\nexport const TRANSLATIONS = {\n from: 'From',\n to: 'To',\n};\n","/**\n * Day model.\n * Takes care of keeping records of full days, without the times & timezone issues.\n */\nexport class DayModel {\n /** Year. */\n private year!: number;\n\n /** Month, zero-indexed. */\n private month!: number;\n\n /** Date of the month. */\n private date!: number;\n\n /**\n * Creates an day model.\n * @param year - The full year.\n * @param month - The month as a number between 0 and 11 (January to December).\n * @param date - The date as a number between 1 and 31.\n */\n public constructor(year: number, month: number, date: number);\n /**\n * Creates an day model.\n * @param date - Javascript Date object.\n */\n public constructor(date: Date);\n /**\n * Creates an day model.\n * @param date - Date string in `yyyy-mm-dd` format.\n */\n public constructor(date: string);\n public constructor(...args: Array<number | Date | string>) {\n if (args[0] instanceof Date) {\n const date: Date = args[0];\n this.year = date.getFullYear();\n this.month = date.getMonth();\n this.date = date.getDate();\n } else if (typeof args[0] === 'string') {\n const [year, month, day] = args[0].split('-').map(n => parseInt(n, 10));\n this.year = year;\n this.month = month - 1;\n this.date = day;\n } else {\n this.year = args[0];\n this.month = args[1] as number;\n this.date = args[2] as number;\n }\n }\n\n /**\n * Checks if the passed value is equal to current day model.\n * @param value - Day model.\n * @returns Wether value is equal to current day model.\n */\n public isEqual(value: DayModel): boolean {\n if (value) {\n return this.year === value.year && this.month === value.month && this.date === value.date;\n }\n return false;\n }\n\n /**\n * Increment day model with date value.\n * @param value - Incremental date value.\n * @returns Updated day model with incremented date value.\n */\n public incrementBy(value: number): DayModel {\n // Creating new Javascript Date object to increment because\n // it will automatically take care of switching to next or previous\n // months & years without we having to worry about it.\n const date: Date = new Date(this.year, this.month, this.date + value);\n this.year = date.getFullYear();\n this.month = date.getMonth();\n this.date = date.getDate();\n return this;\n }\n\n /**\n * Checks if current day model is after value.\n * @param value - Day model.\n * @returns Wether current day model is after value.\n */\n public isAfter(value: DayModel): boolean {\n return this.toDate() > value.toDate();\n }\n\n /**\n * Checks if current day model is before value.\n * @param value - Day model.\n * @returns Wether current day model is before value.\n */\n public isBefore(value: DayModel): boolean {\n return this.toDate() < value.toDate();\n }\n\n /**\n * Clones the current day model.\n * @returns Cloned day model.\n */\n public clone(): DayModel {\n return new DayModel(this.year, this.month, this.date);\n }\n\n /**\n * Convert to Javascript Date object.\n * @returns Javascript Date object.\n */\n public toDate(): Date {\n return new Date(this.year, this.month, this.date);\n }\n\n /**\n * To HTML5 date spec string.\n * See https://clarity.design/documentation/datepicker\n * @returns Date as HTML5 spec string.\n */\n public toHTML5SpecDateString(): string {\n // The clarity date picker uses the format 'YYYY-MM-DD'.\n return `${this.year}-${this.pad(this.month + 1)}-${this.pad(this.date)}`;\n }\n\n /**\n * String padding with zeros.\n * @param num - Number to pad.\n * @returns Padded string.\n */\n private pad(num: number): string {\n return num < 10 ? `0${num}` : `${num}`;\n }\n}\n\n/**\n * Day model.\n * Takes care of keeping records of full days, without the times & timezone issues.\n */\nexport type NullableDayModel = DayModel | undefined | null;\n","import { EventEmitter, Injectable } from '@angular/core';\n\n/**\n * Keeps track of how many Clarity Datepicker there are open.\n * This is needed for the ClrDaterangepickerContainerComponent, to know when to close the popover.\n */\n@Injectable({ providedIn: 'root' })\nexport class OpenedDatepickersTrackerService {\n private openedDatepickersCount = 0;\n\n /**\n * Event triggered when value changes.\n */\n public valueChange = new EventEmitter<boolean>();\n\n /**\n * Tracks an opened datepicker.\n * @param opened - Opened state.\n */\n public track(opened: boolean): void {\n if (opened) {\n this.openedDatepickersCount++;\n } else {\n this.openedDatepickersCount--;\n }\n this.openedDatepickersCount = Math.max(0, this.openedDatepickersCount);\n this.valueChange.emit(this.openedDatepickersCount !== 0);\n }\n}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { ClrDateContainer, ClrPopoverToggleService } from '@clr/angular';\nimport { Subscription } from 'rxjs';\n\nimport { DayModel, NullableDayModel } from '../../models/day.model';\nimport { OpenedDatepickersTrackerService } from '../../providers/opened-datepickers-tracker.service';\n\n@Component({\n selector: 'clr-datepicker',\n templateUrl: './datepicker.component.html',\n})\nexport class ClrDatepickerComponent implements AfterViewInit, OnDestroy {\n /**\n * Input value.\n */\n @Input()\n public value: NullableDayModel;\n\n /**\n * Text label.\n */\n @Input()\n public label = 'Date';\n\n /**\n * Minimum date that can be selected.\n */\n @Input()\n public minDate: NullableDayModel = undefined;\n\n /**\n * Maximum date that can be selected.\n */\n @Input()\n public maxDate: NullableDayModel = undefined;\n\n /**\n * Input control.\n */\n @ViewChild('inputElm')\n private inputElm!: ElementRef<HTMLInputElement>;\n\n /**\n * Clarity datepicker container.\n */\n @ViewChild(ClrDateContainer)\n private clrDateContainer!: ClrDateContainer;\n\n /**\n * Event triggered when value changes.\n */\n @Output()\n public valueChange = new EventEmitter<NullableDayModel>();\n\n /**\n * Get date.\n * @returns JavaScript Date object.\n */\n protected get date(): Date | undefined | null {\n return this.value?.toDate();\n }\n\n /**\n * Set date.\n */\n protected set date(val: Date | undefined | null) {\n this.value = val == null ? null : new DayModel(val);\n this.valueChange.emit(this.value);\n }\n\n /**\n * Minimum date as attribute string.\n * @returns Minimum date as attribute string.\n */\n protected get minDateAttr(): string | undefined | null {\n return this.minDate?.toHTML5SpecDateString();\n }\n\n /**\n * Maximum date as attribute string.\n * @returns Maximum date as attribute string.\n */\n protected get maxDateAttr(): string | undefined | null {\n return this.maxDate?.toHTML5SpecDateString();\n }\n\n /** List of subscriptions to later destroy. */\n private subscriptions: Array<Subscription> = [];\n\n public constructor(private readonly openedDatepickersTrackerService: OpenedDatepickersTrackerService) {}\n\n public ngAfterViewInit(): void {\n // eslint-disable-next-line dot-notation -- Need access to this private property.\n const toggleService = this.clrDateContainer['toggleService'] as ClrPopoverToggleService;\n this.subscriptions.push(\n toggleService.openChange.subscribe(openState => {\n this.openedDatepickersTrackerService.track(openState);\n })\n );\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n /**\n * Focus input.\n */\n public focus(): void {\n this.inputElm.nativeElement.focus();\n }\n}\n","<clr-date-container>\n <label>{{ this.label }}</label>\n <input #inputElm clrDate [(clrDate)]=\"this.date\" [min]=\"this.minDateAttr\" [max]=\"this.maxDateAttr\" />\n</clr-date-container>\n","import { ClrAlignment, ClrAxis, ClrPopoverPosition, ClrSide } from '@clr/angular';\n\n/**\n * Popover positions.\n * https://github.com/vmware-clarity/ng-clarity/blob/f1a668086bf88bcf5ef1cd36b0d150e45e88def7/projects/angular/src/utils/popover/enums/positions.enum.ts\n */\nexport class PopoverPositions {\n public static options = [\n 'bottom-left',\n 'bottom-right',\n 'left-bottom',\n 'left-top',\n 'right-bottom',\n 'right-top',\n 'top-left',\n 'top-right',\n ];\n\n public static 'bottom-left': ClrPopoverPosition = {\n axis: ClrAxis.VERTICAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.START,\n content: ClrAlignment.START,\n };\n\n public static 'bottom-right': ClrPopoverPosition = {\n axis: ClrAxis.VERTICAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.END,\n content: ClrAlignment.END,\n };\n\n public static 'left-bottom': ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.BEFORE,\n anchor: ClrAlignment.START,\n content: ClrAlignment.START,\n };\n\n public static 'left-top': ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.BEFORE,\n anchor: ClrAlignment.CENTER,\n content: ClrAlignment.END,\n };\n\n public static 'right-bottom': ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.START,\n content: ClrAlignment.START,\n };\n\n public static 'right-top': ClrPopoverPosition = {\n axis: ClrAxis.HORIZONTAL,\n side: ClrSide.AFTER,\n anchor: ClrAlignment.CENTER,\n content: ClrAlignment.END,\n };\n\n public static 'top-left': ClrPopoverPosition = {\n axis: ClrAxis.VERTICAL,\n side: ClrSide.BEFORE,\n anchor: ClrAlignment.START,\n content: ClrAlignment.START,\n };\n\n public static 'top-right': ClrPopoverPosition = {\n axis: ClrAxis.VERTICAL,\n side: ClrSide.BEFORE,\n anchor: ClrAlignment.END,\n content: ClrAlignment.END,\n };\n}\n\n/**\n * Popover position.\n */\nexport type PopoverPosition = (typeof PopoverPositions.options)[number];\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AbstractControl, ValidationErrors } from '@angular/forms';\n\n/**\n * Daterange control state service.\n * Stores data for communication between daterange container and input.\n */\n@Injectable()\nexport class DaterangeControlStateService {\n /** Disabled control state. */\n public disabled = false;\n\n /** Focused. */\n public focused = false;\n\n /** List of validation errors. */\n public errors: ValidationErrors | null = null;\n\n private _invalid = false;\n /**\n * Control invalid status.\n * @returns Control invalid status.\n */\n public get invalid(): boolean {\n return this._invalid;\n }\n\n private _touched = false;\n /**\n * Touched.\n * @returns Touched.\n */\n public get touched(): boolean {\n return this._touched;\n }\n\n /**\n * Update status.\n * Only for valid & invalid status changes.\n * And only if there was a real change.\n * Also updates errors list.\n * Emits `statusChange` event.\n * @param control\n */\n public updateStatus(control: AbstractControl) {\n this._touched = control.touched;\n\n // We only care about valid & invalid status changes.\n // There is an bug where `ClrDaterangepickerDirective.writeValue` is called twice with same value (`null`).\n // Setting ` && (control.touched || control.dirty)` in next if-statement will hide the errors,\n // but the control will still be invalid with errors (just hidden).\n if (['VALID', 'INVALID'].includes(control.status)) {\n this.errors = control.errors;\n this._invalid = control.invalid;\n this.statusChange.emit(this._invalid);\n }\n }\n\n /**\n * Event triggered when status changes.\n */\n public statusChange = new EventEmitter<boolean>();\n}\n","import { FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core';\n\nimport {\n BIG_ENDIAN,\n DELIMITER_REGEX,\n InputDateDisplayFormat,\n LITTLE_ENDIAN,\n LITTLE_ENDIAN_REGEX,\n MIDDLE_ENDIAN,\n MIDDLE_ENDIAN_REGEX,\n SEPARATOR_TEXT_DEFAULT,\n USER_INPUT_REGEX,\n} from '../daterange.constants';\nimport { NullableDaterange } from '../interfaces/daterange.interface';\nimport { DayModel, NullableDayModel } from '../models/day.model';\n\n/**\n * Daterange parsing service.\n * Heavy inspired by `date-io.service.ts` from Clarity.\n * https://github.com/vmware-clarity/ng-clarity/blob/a21fe726fe91ae3c929b8f016359afe354bb89c6/projects/angular/src/forms/datepicker/providers/date-io.service.ts\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaterangeParsingService {\n public readonly localeDisplayFormat: InputDateDisplayFormat;\n public readonly localeDelimiter: Array<string> = [];\n\n /** Locale format. */\n public get localeFormat(): string {\n return (\n this.localeDisplayFormat.format[0] +\n this.localeDelimiter[0] +\n this.localeDisplayFormat.format[1] +\n this.localeDelimiter[1] +\n this.localeDisplayFormat.format[2]\n );\n }\n\n public constructor(@Inject(LOCALE_ID) private readonly locale: string) {\n const localeFormat = getLocaleDateFormat(this.locale, FormatWidth.Short);\n const format: string = localeFormat.toLocaleLowerCase();\n\n if (LITTLE_ENDIAN_REGEX.test(format)) {\n this.localeDisplayFormat = LITTLE_ENDIAN;\n } else if (MIDDLE_ENDIAN_REGEX.test(format)) {\n this.localeDisplayFormat = MIDDLE_ENDIAN;\n } else {\n this.localeDisplayFormat = BIG_ENDIAN;\n }\n\n // Splitting it by date, month and year, leaves us with the delimiters.\n // E.g. `\"dd/MM/y\".split(/d+|m+|y+/i)` results in `[\"\", \"/\", \"/\", \"\"]`.\n const delimiters: Array<string> = localeFormat.split(DELIMITER_REGEX);\n this.localeDelimiter = [delimiters[1], delimiters[2]];\n }\n\n /**\n * Convert daterange to locale friendly text.\n * @param daterange - Daterange.\n * @param separator - Separator between 'from' and 'to' dates.\n * @returns Friendly daterange text.\n */\n public toLocaleString(daterange: NullableDaterange, separator: string = SEPARATOR_TEXT_DEFAULT): string {\n if (daterange == null) {\n return '';\n }\n\n const { from, to } = daterange;\n if (from == null || to == null) {\n return '';\n }\n\n const fromDate = from.toDate();\n const toDate = to.toDate();\n\n const fromDateStr = this.toLocaleDisplayFormatString(fromDate);\n const toDateStr = this.toLocaleDisplayFormatString(toDate);\n\n return fromDateStr + separator + toDateStr;\n }\n\n /**\n * Convert date to locale display format string.\n * @param date - Javascript Date object.\n * @returns Locale display format string.\n */\n private toLocaleDisplayFormatString(date: Date): string {\n const dateNo: number = date.getDate();\n const monthNo: number = date.getMonth() + 1;\n const yearNo: number = date.getFullYear();\n\n const dateStr: string = this.pad(dateNo);\n const monthStr: string = this.pad(monthNo);\n\n const delim1 = this.localeDelimiter[0];\n const delim2 = this.localeDelimiter[1];\n\n if (this.localeDisplayFormat === LITTLE_ENDIAN) {\n return dateStr + delim1 + monthStr + delim2 + yearNo;\n } else if (this.localeDisplayFormat === MIDDLE_ENDIAN) {\n return monthStr + delim1 + dateStr + delim2 + yearNo;\n } else {\n return yearNo + delim1 + monthStr + delim2 + dateStr;\n }\n }\n\n /**\n * String padding with zeros.\n * @param num - Number to pad.\n * @returns Padded string.\n */\n private pad(num: number): string {\n return num < 10 ? `0${num}` : `${num}`;\n }\n\n /**\n * Parse daterange string to daterange object.\n * @param daterangeString - Daterange string.\n * @param separator - Separator text.\n * @returns Daterange object.\n */\n public parse(daterangeString: string, separator: string = SEPARATOR_TEXT_DEFAULT): NullableDaterange {\n if (daterangeString == null || daterangeString === '') {\n return null;\n }\n\n const [fromString, toString] = daterangeString.split(separator);\n const from = this.getDayModelFromDateString(fromString);\n const to = this.getDayModelFromDateString(toString);\n\n if (from == null && to == null) {\n return null;\n }\n\n return { from, to };\n }\n\n /**\n * Get `DayModel` from date string.\n * @param dateString - Date string.\n * @returns DayModel.\n */\n private getDayModelFromDateString(dateString: string): NullableDayModel {\n if (dateString == null || dateString === '') {\n return null;\n }\n\n const dateParts: RegExpMatchArray = dateString.match(USER_INPUT_REGEX);\n if (dateParts == null || dateParts.length !== 3) {\n return null;\n }\n\n const [firstPart, secondPart, thirdPart] = dateParts;\n if (this.localeDisplayFormat === LITTLE_ENDIAN) {\n // secondPart is month && firstPart is date.\n return this.getDayModelFromDateParts(thirdPart, secondPart, firstPart);\n } else if (this.localeDisplayFormat === MIDDLE_ENDIAN) {\n // firstPart is month && secondPart is date.\n return this.getDayModelFromDateParts(thirdPart, firstPart, secondPart);\n } else {\n // secondPart is month && thirdPart is date.\n return this.getDayModelFromDateParts(firstPart, secondPart, thirdPart);\n }\n }\n\n /**\n * Get `DayModel` from date string parts.\n * @param yearString - Year string.\n * @param monthString - Month string.\n * @param dateString - Date string.\n * @returns DayModel.\n */\n private getDayModelFromDateParts(yearString: string, monthString: string, dateString: string): NullableDayModel {\n // Check for valid date part strings.\n let year: number = parseInt(yearString);\n if (isNaN(year)) {\n return null;\n }\n let month: number = parseInt(monthString);\n if (isNaN(month)) {\n return null;\n }\n const date: number = parseInt(dateString);\n if (isNaN(date)) {\n return null;\n }\n\n // Convert year to 4 digit year.\n year = this.parseToFourDigitYear(year);\n if (year == null) {\n return null;\n }\n\n // Month is zero-indexed.\n month -= 1;\n\n // Creating new Javascript Date object, because it will automatically take care of\n // switching to next or previous months & years without we having to worry about it.\n const parsedDate = new Date(year, month, date);\n if (isNaN(parsedDate.getTime())) {\n return null;\n }\n\n return new DayModel(parsedDate);\n }\n\n /**\n * Takes in a year and if it is a 2 digit year, returns the corresponding 4 digit year.\n * Window of 80 years before and 20 years after the present year.\n * Credit: https://github.com/globalizejs/globalize/blob/e1b31cd6a4f1cff75b185b68b7a32220aac5196f/src/date/parse.js\n * @param year - Year.\n * @returns Four-digit year.\n */\n private parseToFourDigitYear(year: number): number | null {\n // Impossible years.\n if (year > 9999 || (year > 100 && year < 999) || year < 10) {\n return null;\n }\n\n if (year > 999) {\n return year;\n }\n\n const currYear: number = new Date().getFullYear();\n const century: number = Math.floor(currYear / 100) * 100;\n let result: number = year + century;\n if (result > currYear + 20) {\n result = result - 100;\n }\n return result;\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\nimport { NullableDayModel } from '../models/day.model';\n\n/**\n * Daterange service.\n * Keeps track of daterange related values.\n */\n@Injectable()\nexport class DaterangeService {\n /** Minimum date that can be selected. */\n public minDate: NullableDayModel = null;\n\n /** Maximum date that can be selected. */\n public maxDate: NullableDayModel = null;\n\n private _selectedDaterange: NullableDaterange = null;\n\n /**\n * Selected daterange value.\n * @returns Selected daterange value.\n */\n public get selectedDaterange(): NullableDaterange {\n return this._selectedDaterange;\n }\n\n /**\n * Set selected daterange value.\n * @param value - New selected daterange value.\n * @param triggerEvent - Trigger change event (default true).\n */\n public updateSelectedDaterange(value: NullableDaterange, triggerEvent = true): void {\n this._selectedDaterange = value;\n\n if (triggerEvent) {\n this.valueChange.emit(value);\n }\n }\n\n /**\n * Event triggered when value changes.\n */\n public valueChange = new EventEmitter<NullableDaterange>();\n\n /**\n * Checks if daterange is valid.\n * Daterange is considered invalid when it's empty, or when one of it's properties is absent.\n * @returns Wether daterange is valid.\n */\n public isValid(): boolean {\n if (this._selectedDaterange == null || this._selectedDaterange.from == null || this._selectedDaterange.to == null) {\n return false;\n }\n return true;\n }\n}\n","import { ContentChild, Directive, HostBinding, Optional } from '@angular/core';\nimport { ClrControlError, ClrControlHelper, ClrControlSuccess, ClrLabel, ClrLayout } from '@clr/angular';\nimport { DaterangeControlStateService } from '../providers/daterange-control-state.service';\n\n@Directive()\nexport abstract class ClrAbstractContainer {\n @HostBinding('class.clr-form-control') protected readonly isFormControl = true;\n\n /**\n * Detect if container is not part of an vertical form to apply correct grid classes.\n */\n @HostBinding('class.clr-row')\n public get addLayoutGrid() {\n return !this.clrLayout?.layoutService?.isVertical();\n }\n\n /** Label component. */\n @ContentChild(ClrLabel) protected labelComponent: ClrLabel;\n\n /** Helper control component. */\n @ContentChild(ClrControlHelper) protected controlHelperComponent: ClrControlHelper;\n /** Error control component. */\n @ContentChild(ClrControlError) protected controlErrorComponent: ClrControlError;\n /** Success control component. */\n @ContentChild(ClrControlSuccess) protected controlSuccessComponent: ClrControlSuccess;\n\n /**\n * Wether to show the helper control.\n * @returns Wether to show the helper control.\n */\n protected get showHelper(): boolean {\n if (this.controlHelperComponent == null) {\n return false;\n }\n\n // Helper Component exist and the state of the form is NONE (not touched).\n if (!this.daterangeControlStateService.touched) {\n return true;\n }\n\n // Or there is no success component but the state of the form is VALID - show helper information.\n if (\n this.controlSuccessComponent == null &&\n this.daterangeControlStateService.touched &&\n !this.daterangeControlStateService.invalid\n ) {\n return true;\n }\n\n // Or there is no error component but the state of the form is INVALID - show helper information.\n if (this.controlErrorComponent == null && this.daterangeControlStateService.invalid) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Wether to show the valid control.\n * @returns Wether to show the valid control.\n */\n protected get showValid(): boolean {\n return !this.daterangeControlStateService.invalid && !!this.controlSuccessComponent;\n }\n\n /**\n * Wether to show the invalid control.\n * @returns Wether to show the invalid control.\n */\n protected get showInvalid(): boolean {\n return this.daterangeControlStateService.invalid && !!this.controlErrorComponent;\n }\n\n /**\n * Disabled state.\n * @returns Disabled state.\n */\n protected get disabled(): boolean {\n return this.daterangeControlStateService.disabled;\n }\n\n /**\n * If control is focused.\n * @returns Wether control is focused.\n */\n protected get focus(): boolean {\n return this.daterangeControlStateService.focused;\n }\n\n /**\n * Wether control is invalid.\n * @returns Wether control is invalid.\n */\n protected get isInvalid(): boolean {\n return this.daterangeControlStateService.invalid;\n }\n\n public constructor(\n @Optional() protected readonly clrLayout: ClrLayout,\n protected readonly daterangeControlStateService: DaterangeControlStateService\n ) {}\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n Self,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { SEPARATOR_TEXT_DEFAULT } from '../../daterange.constants';\nimport { NullableDaterange } from '../../interfaces/daterange.interface';\nimport { DayModel } from '../../models/day.model';\nimport { DaterangeService } from '../../providers/daterange.service';\nimport { DaterangeParsingService } from '../../providers/daterange-parsing.service';\nimport { DaterangeControlStateService } from '../../providers/daterange-control-state.service';\nimport { ControlIdService } from '../../../abstract-form-component/control-id.service';\n\n/**\n * Daterangepicker.\n */\n@Directive({\n selector: '[clrDaterangepicker]',\n})\nexport class ClrDaterangepickerDirective implements OnInit, OnDestroy, ControlValueAccessor {\n /**\n * Minimum date that can be selected.\n */\n @Input()\n public set min(value: string | undefined | null) {\n this.daterangeService.minDate = !value ? null : new DayModel(value);\n }\n\n /**\n * Maximum date that can be selected.\n */\n @Input()\n public set max(value: string | undefined | null) {\n this.daterangeService.maxDate = !value ? null : new DayModel(value);\n }\n\n /**\n * Locale text between 'from' and 'to' dateranges.\n */\n @Input()\n public separatorText: string = SEPARATOR_TEXT_DEFAULT;\n\n /**\n * Placeholder text.\n *\n * It is recommend against overriding the automatically generated placeholder.\n * Adding an incorrect placeholder will create confusion while entering the daterange in the input.\n */\n @Input() public placeholder: string;\n @HostBinding('attr.placeholder')\n public get placeholderText(): string {\n return (\n this.placeholder ??\n this.daterangeParsingService.localeFormat + this.separatorText + this.daterangeParsingService.localeFormat\n );\n }\n\n /**\n * Id-attribute.\n */\n @HostBinding()\n @Input()\n public get id() {\n return this.controlIdService.id;\n }\n /**\n * Id-attribute.\n * @returns Id-attribute.\n */\n public set id(value: string) {\n this.controlIdService.id = value;\n }\n\n /**\n * Disable control.\n */\n @HostBinding('disabled')\n @Input()\n public set disabled(value: boolean) {\n this.daterangeControlStateService.disabled = value;\n }\n /**\n * Disabled state.\n * @returns Disabled state.\n */\n public get disabled() {\n return this.daterangeControlStateService.disabled;\n }\n\n /**\n * Event that is triggered when value changes.\n */\n @Output()\n public valueChange = new EventEmitter<NullableDaterange>();\n\n /** Set the `type` attribute always to \"text\", to not get the native datepicker. */\n @HostBinding('attr.type')\n public inputType = 'text';\n\n @HostBinding('class.clr-input')\n public inputClass = true;\n\n /** List of subscriptions to later destroy. */\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n @Self()\n private readonly control: NgControl,\n private readonly element: ElementRef,\n private readonly renderer: Renderer2,\n private readonly daterangeControlStateService: DaterangeControlStateService,\n private readonly controlIdService: ControlIdService,\n private readonly daterangeService: DaterangeService,\n private readonly daterangeParsingService: DaterangeParsingService\n ) {\n // To get access to the NgControl, we had to remove the `NG_VALUE_ACCESSOR`\n // provider and set them manually, while still keeping the interfaces.\n this.control.valueAccessor = this;\n }\n\n public ngOnInit(): void {\n this.listenForDaterangeValueChanges();\n this.listenForControlStatusChanges();\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n /**\n * Listen for daterange value changes.\n */\n private listenForDaterangeValueChanges(): void {\n this.subscriptions.push(\n this.daterangeService.valueChange.subscribe((_daterange: NullableDaterange) => {\n this.triggerChange();\n })\n );\n }\n\n /**\n * Listen for control status changes.\n */\n private listenForControlStatusChanges(): void {\n this.subscriptions.push(\n this.control.statusChanges.subscribe((_status: unknown) => {\n this.daterangeControlStateService.updateStatus(this.control.control);\n })\n );\n }\n\n /**\n * Listen to manual changes to the input.\n * @param target - Input element.\n */\n @HostListener('change', ['$event.target'])\n public onChangeEvent(target: HTMLInputElement): void {\n // Remove 'invalid' error.\n if (this.control.control.hasError('invalid')) {\n delete this.control.control.errors.invalid;\n }\n\n // If there is nothing to parse, `ClrDaterangeRequiredValidator` will take care of this.\n if (!target.value) {\n this.daterangeService.updateSelectedDaterange(null, true);\n return;\n }\n\n const daterange = this.daterangeParsingService.parse(target.value, this.separatorText);\n const invalidDaterange: boolean = daterange == null || daterange.from == null || daterange.to == null;\n\n // Invalid manual daterange specified.\n if (invalidDaterange) {\n this.control.control.setErrors({\n invalid: target.value,\n });\n }\n\n // Update selected daterange, but only notify when valid.\n this.daterangeService.updateSelectedDaterange(daterange, !invalidDaterange);\n }\n\n /**\n * Listen to focus event.\n */\n @HostListener('focus')\n public focusEvent(): void {\n this.daterangeControlStateService.focused = true;\n }\n\n /**\n * Listen to blur event.\n */\n @HostListener('blur')\n public blurEvent(): void {\n this.daterangeControlStateService.focused = false;\n }\n\n /**\n * Focus input.\n */\n public focus(): void {\n this.element.nativeElement.focus();\n }\n\n /**\n * Trigger events to notify form controls, trigger validation and update attributes/properties.\n */\n private triggerChange(): void {\n let daterange = this.daterangeService.selectedDaterange;\n\n // When `from` or `to` properties are not set, return null.\n // This will trigger the `required` validator (if present).\n if (!this.daterangeService.isValid()) {\n daterange = null;\n }\n\n // Mark control dirty.\n this.onTouched(daterange);\n // Update NgModel.\n this.onChanged(daterange);\n // Notify parent.\n this.valueChange.emit(daterange);\n // Update attributes/properties.\n this.updateInput();\n }\n\n /**\n * Update input with friendly daterange text.\n */\n private updateInput(): void {\n const dateString = this.daterangeParsingService.toLocaleString(\n this.daterangeService.selectedDaterange,\n this.separatorText\n );\n this.renderer.setProperty(this.element.nativeElement, 'value', dateString);\n }\n\n /**\n * ControlValueAccessor method. Set value from NgModel.\n * @param value - Daterange value.\n */\n public writeValue(value: NullableDaterange) {\n this.daterangeService.updateSelectedDaterange(value);\n }\n\n /**\n * ControlValueAccessor method. Register change event. When value changes.\n * @param fn - Change event.\n */\n public registerOnChange(fn: (value: NullableDaterange) => void): void {\n this.onChanged = fn;\n }\n private onChanged = (_value: NullableDaterange): void => undefined;\n\n /**\n * ControlValueAccessor method. Register touch event. When control is dirty.\n * @param fn - Touch event.\n */\n public registerOnTouched(fn: (value: NullableDaterange) => void): void {\n this.onTouched = fn;\n }\n private onTouched = (_value: NullableDaterange): void => undefined;\n\n /**\n * ControlValueAccessor method. Set disabled state.\n * @param disabled - Disabled state.\n */\n public setDisabledState(disabled: boolean): void {\n this.daterangeControlStateService.disabled = disabled;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ContentChild,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport { ClarityIcons, calendarIcon, checkCircleIcon, exclamationCircleIcon, windowCloseIcon } from '@cds/core/icon';\nimport '@cds/core/icon/register.js';\nimport {\n ClrCommonStrings,\n ClrCommonStringsService,\n ClrLayout,\n ClrPopoverEventsService,\n ClrPopoverPosition,\n ClrPopoverPositionService,\n ClrPopoverToggleService,\n} from '@clr/angular';\nimport { Subscription } from 'rxjs';\n\nimport { ControlIdService } from '../../../abstract-form-component/control-id.service';\nimport { TRANSLATIONS } from '../../daterange.constants';\nimport { DaterangePreset } from '../../interfaces/daterange-preset.interface';\nimport { NullableDaterange } from '../../interfaces/daterange.interface';\nimport { NullableDayModel } from '../../models/day.model';\nimport { PopoverPositions } from '../../models/popover-positions.model';\nimport { DaterangeControlStateService } from '../../providers/daterange-control-state.service';\nimport { DaterangeParsingService } from '../../providers/daterange-parsing.service';\nimport { DaterangeService } from '../../providers/daterange.service';\nimport { OpenedDatepickersTrackerService } from '../../providers/opened-datepickers-tracker.service';\nimport { ClrAbstractContainer } from '../abstract-container.component';\nimport { ClrDatepickerComponent } from '../datepicker/datepicker.component';\nimport { ClrDaterangepickerDirective } from '../daterangepicker/daterangepicker.directive';\n\nClarityIcons.addIcons(calendarIcon, exclamationCircleIcon, checkCircleIcon, windowCloseIcon);\n\n/**\n * Daterangepicker container.\n */\n@Component({\n selector: 'clr-daterangepicker-container',\n templateUrl: './daterangepicker-container.component.html',\n styleUrls: ['./daterangepicker-container.component.scss'],\n providers: [\n ClrPopoverToggleService,\n ClrPopoverEventsService,\n ClrPopoverPositionService,\n DaterangeControlStateService,\n DaterangeService,\n OpenedDatepickersTrackerService,\n ControlIdService,\n ],\n})\nexport class ClrDaterangepickerContainerComponent extends ClrAbstractContainer implements AfterViewInit, OnDestroy {\n /**\n * List of presets.\n */\n @Input()\n public presets: Array<DaterangePreset> = [];\n\n /**\n * Set popover position.\n */\n @Input()\n public set clrPosition(position: string) {\n if (position && (PopoverPositions as Record<string, any>)[position]) {\n this.popoverPosition = (PopoverPositions as Record<string, any>)[position];\n }\n }\n\n /**\n * Text for the 'from' label.\n */\n @Input()\n public labelFrom = TRANSLATIONS.from;\n\n /**\n * Text for the 'to' label.\n */\n @Input()\n public labelTo = TRANSLATIONS.to;\n\n /** List of datepicker components children. */\n @ViewChildren(ClrDatepickerComponent)\n private datepickerComponents!: QueryList<ClrDatepickerComponent>;\n\n /** Daterangepicker directive. */\n @ContentChild(ClrDaterangepickerDirective)\n private daterangepickerDirective!: ClrDaterangepickerDirective;\n\n /** CSS classes. */\n @HostBinding('class')\n public classes = 'clr-date-container';\n\n /**\n * Popover open state.\n */\n protected open = false;\n\n /**\n * Popover position config.\n */\n protected popoverPosition: ClrPopoverPosition = PopoverPositions['bottom-left'];\n\n /**\n * Date from.\n * @returns Date from.\n */\n protected get dateFrom() {\n return this.daterangeService.selectedDaterange?.from;\n }\n\n /**\n * Date to.\n * @returns Date to.\n */\n protected get dateTo() {\n return this.daterangeService.selectedDaterange?.to;\n }\n\n /**\n * Minimum date that can be selected.\n * @returns Minimum date that can be selected.\n */\n protected get minDate(): NullableDayModel {\n return this.daterangeService.minDate;\n }\n\n /**\n * Maximum date that can be selected.\n * @returns Maximum date that can be selected.\n */\n protected get maxDate(): NullableDayModel {\n return this.daterangeService.maxDate;\n }\n\n private _friendlyDaterange?: string;\n /**\n * Get friendly daterange text.\n * @returns Friendly daterange text.\n */\n protected get friendlyDaterange(): string {\n return this._friendlyDaterange || this.commonStrings.datepickerToggleChooseDateLabel;\n }\n\n /**\n * List of common translation keys.\n */\n protected get commonStrings(): Readonly<ClrCommonStrings> {\n return this.clrCommonStringsService.keys;\n }\n\n /** List of subscriptions to later destroy. */\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private readonly clrPopoverEventsService: ClrPopoverEventsService,\n private readonly clrPopoverToggleService: ClrPopoverToggleService,\n private readonly clrCommonStringsService: ClrCommonStringsService,\n @Optional() protected readonly clrLayout: ClrLayout,\n protected readonly daterangeControlStateService: DaterangeControlStateService,\n private readonly openedDatepickersTrackerService: OpenedDatepickersTrackerService,\n private readonly daterangeService: DaterangeService,\n private readonly daterangeParsingService: DaterangeParsingService\n ) {\n super(clrLayout, daterangeControlStateService);\n }\n\n public ngAfterViewInit(): void {\n if (this.daterangepickerDirective == null) {\n throw new Error('`ClrDaterangepickerContainerComponent` requires an child `ClrDaterangepickerDirective`');\n }\n\n this.listenForDaterangeValueChanges();\n this.listenForOpenedDatepickersTrackerChanges();\n this.listenForPopoverToggleChanges();\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n /**\n * Listen for daterange value changes.\n */\n private listenForDaterangeValueChanges(): void {\n this.subscriptions.push(\n this.daterangeService.valueChange.subscribe((daterange: NullableDaterange) => {\n this._friendlyDaterange = this.daterangeParsingService.toLocaleString(\n daterange,\n this.daterangepickerDirective.separatorText\n );\n })\n );\n }\n\n /**\n * Listen for any opened datepickers tracker state changes.\n */\n private listenForOpenedDatepickersTrackerChanges(): void {\n this.subscriptions.push(\n this.openedDatepickersTrackerService.valueChange.subscribe(hasOpenDatePickers => {\n // When choosing an date in the DatePicker calender, all popovers are closed. Even our own popover.\n // Therefor we have to remove the ability to close our own popover.\n // Simply changing the `outsideClickClose` property after initialization does nothing.\n // We need to manually remove the listener, change the `outsideClickClose` property and re-attach the click listener.\n // Steps to reproduce with 2 daterangepickers:\n // 1. Click on second daterangepicker action icon to open the popover.\n // 2. Click on one of the datepickers to open calender.\n // 3. Close datepicker.\n // 4. Click on first daterangepicker action icon. Error.\n this.clrPopoverEventsService.removeClickListener();\n this.clrPopoverEventsService.outsideClickClose = !hasOpenDatePickers;\n // We need to wait before we attach the click listener.\n requestAnimationFrame(() => {\n this.clrPopoverEventsService.addClickListener();\n });\n })\n );\n }\n\n /**\n * Listen for popover toggle changes.\n */\n private listenForPopoverToggleChanges(): void {\n this.subscriptions.push(\n this.clrPopoverToggleService.openChange.subscribe(opened => {\n // Focus first datepicker when popover opens.\n // Focus back to input when popover is closed.\n if (opened) {\n // Wait for the datepicker components to be rendered.\n requestAnimationFrame(() => {\n this.datepickerComponents.first.focus();\n });\n } else {\n this.daterangepickerDirective.focus();\n\n // When closing popover modal and daterange is not valid, reset model.\n if (!this.daterangeService.isValid()) {\n this.daterangeService.updateSelectedDaterange(null);\n }\n }\n })\n );\n }\n\n /**\n * Event triggered when date from changed.\n * @param value - Date from.\n */\n protected onDateFromChange(value: NullableDayModel): void {\n this.daterangeService.updateSelectedDaterange({\n from: value,\n to: this.dateTo,\n });\n }\n\n /**\n * Event triggered when date to changed.\n * @param value - Date to.\n */\n protected onDateToChange(value: NullableDayModel): void {\n this.daterangeService.updateSelectedDaterange({\n from: this.dateFrom,\n to: value,\n });\n }\n\n /**\n * Apply selected preset.\n * @param preset - Selected preset.\n */\n protected applyPreset(preset: DaterangePreset): void {\n const range = preset.range();\n this.daterangeService.updateSelectedDaterange(range);\n\n // Close popover here, because it's not possible to conditionally\n // apply `clrPopoverCloseButton` directive on preset button.\n if (this.daterangeService.isValid()) {\n this.clrPopoverToggleService.open = false;\n }\n }\n}\n","<ng-content select=\"label\"></ng-content>\n<label *ngIf=\"!this.labelComponent && this.addLayoutGrid\"></label>\n<div\n class=\"clr-control-container\"\n [class.clr-error]=\"this.isInvalid\"\n [class.clr-col-12]=\"this.addLayoutGrid\"\n [class.clr-col-md-10]=\"this.addLayoutGrid\"\n>\n <div class=\"clr-input-wrapper\" clrPopoverAnchor>\n <div class=\"clr-input-group\" [class.clr-focus]=\"this.focus\">\n <ng-content select=\"[clrDaterangepicker]\"></ng-content>\n <button\n type=\"button\"\n class=\"clr-input-group-icon-action\"\n [disabled]=\"this.disabled\"\n [title]=\"this.friendlyDaterange\"\n [attr.aria-label]=\"this.friendlyDaterange\"\n clrPopoverOpenCloseButton\n >\n <cds-icon status=\"info\" shape=\"calendar\"></cds-icon>\n </button>\n </div>\n <cds-icon\n *ngIf=\"this.isInvalid\"\n class=\"clr-validate-icon\"\n shape=\"exclamation-circle\"\n status=\"danger\"\n aria-hidden=\"true\"\n ></cds-icon>\n <cds-icon\n *ngIf=\"!this.isInvalid\"\n class=\"clr-validate-icon\"\n shape=\"check-circle\"\n status=\"success\"\n aria-hidden=\"true\"\n ></cds-icon>\n </div>\n <ng-content select=\"clr-control-helper\" *ngIf=\"this.showHelper\"></ng-content>\n <ng-content select=\"clr-control-error\" *ngIf=\"this.showInvalid\"></ng-content>\n <ng-content select=\"clr-control-success\" *ngIf=\"this.showValid\"></ng-content>\n\n <div\n class=\"clr-daterangepicker-container-popup datepicker\"\n *clrPopoverContent=\"this.open; at: this.popoverPosition; outsideClickToClose: true; scrollToClose: true\"\n >\n <button\n class=\"btn btn-sm btn-link close\"\n clrPopoverCloseButton\n type=\"button\"\n [attr.aria-label]=\"this.commonStrings.close\"\n >\n <cds-icon shape=\"window-close\" aria-hidden=\"true\" [attr.title]=\"this.commonStrings.close\"></cds-icon>\n <span class=\"clr-sr-only\">{{ this.commonStrings.close }}</span>\n </button>\n <div class=\"clr-daterangepicker-container-popup-content\">\n <form clrForm [clrLayout]=\"'vertical'\">\n <clr-datepicker\n class=\"clr-datepicker\"\n [label]=\"this.labelFrom\"\n [value]=\"this.dateFrom\"\n [minDate]=\"this.minDate\"\n [maxDate]=\"this.maxDate\"\n (valueChange)=\"this.onDateFromChange($event)\"\n >\n </clr-datepicker>\n <clr-datepicker\n class=\"clr-datepicker\"\n [label]=\"this.labelTo\"\n [value]=\"this.dateTo\"\n [minDate]=\"this.minDate\"\n [maxDate]=\"this.maxDate\"\n (valueChange)=\"this.onDateToChange($event)\"\n >\n </clr-datepicker>\n </form>\n <div class=\"clr-daterangepicker-container-popup-content-presets\" *ngIf=\"this.presets?.length > 0\">\n <ng-container *ngFor=\"let preset of this.presets\">\n <button class=\"btn btn-outline btn-sm btn-block\" type=\"button\" (click)=\"this.applyPreset(preset)\">\n {{ preset.text }}\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n","import { Directive, EmbeddedViewRef, Input, OnDestroy, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DaterangeControlStateService } from '../providers/daterange-control-state.service';\n\nimport { ClrDaterangepickerContainerComponent } from './daterangepicker-container/daterangepicker-container.component';\n\n/**\n * Directive for multiple error messages.\n * It works the same as Clarity `ClrIfError`, but for customized `ClrDaterangepickerContainerComponent`.\n * Using Clarity `ClrIfError` requires the container to have service implemented that are not publicly exported.\n *\n * @see https://clarity.design/documentation/forms (section \"Multiple error messages\").\n *\n * Altered version from https://github.com/vmware-clarity/ng-clarity/blob/138a6dd95fdc4ffb67b054391c44ce5fa3c44660/projects/angular/src/forms/common/if-control-state/if-error.ts\n */\n@Directive({\n selector: '[clrIfDaterangeError]',\n})\nexport class ClrIfDaterangeErrorDirective implements OnDestroy {\n /** Error name. */\n @Input()\n public clrIfDaterangeError: string;\n\n /** Rendered view. */\n private embeddedViewRef: EmbeddedViewRef<any>;\n\n /** Flag to remember if content is displayed. */\n protected displayedContent = false;\n\n /** List of subscriptions to later destroy. */\n private subscriptions: Array<Subscription> = [];\n\n public constructor(\n private readonly template: TemplateRef<any>,\n private readonly container: ViewContainerRef,\n @Optional() private readonly daterangeControlStateService: DaterangeControlStateService,\n @Optional()\n private readonly daterangepickerContainerComponent: ClrDaterangepickerContainerComponent\n ) {\n // This directive only works inside `clr-daterangepicker-container`.\n if (this.daterangeControlStateService == null || this.daterangepickerContainerComponent == null) {\n throw new Error('`ClrIfDaterangeErrorDirective` can only be used within `ClrDaterangepickerContainerComponent`');\n }\n\n // Listen to status changes to toggle error visibility.\n this.subscriptions.push(\n this.daterangeControlStateService.statusChange.subscribe((_status: boolean) => {\n this.handleState();\n })\n );\n }\n\n public ngOnDestroy(): void {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n /**\n * Handle error depending on states.\n */\n private handleState() {\n if (!this.daterangeControlStateService.invalid) {\n // If control is not invalid, hide all errors.\n this.toggleErrorVisibility(false);\n } else if (this.clrIfDaterangeError) {\n // Display error only if error input is list of errors.\n const hasError = this.clrIfDaterangeError in this.daterangeControlStateService.errors;\n this.toggleErrorVisibility(hasError);\n } else {\n // Display error.\n this.toggleErrorVisibility(true);\n }\n }\n\n /**\n * Display/hide error.\n * @param displayError - Wether to show/hide error.\n */\n private toggleErrorVisibility(displayError: boolean) {\n if (displayError) {\n const error = this.daterangeControlStateService.errors[this.clrIfDaterangeError];\n if (this.displayedContent === false) {\n this.embeddedViewRef = this.container.createEmbeddedView(this.template, {\n error,\n });\n this.displayedContent = true;\n } else if (this.embeddedViewRef && this.embeddedViewRef.context) {\n // If view is already rendered, update the error object to keep it in sync.\n this.embeddedViewRef.context.error = error;\n }\n } else {\n this.container.clear();\n this.displayedContent = false;\n }\n }\n}\n","import { Directive, forwardRef, Input, Optional } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\nimport { NullableDayModel } from '../models/day.model';\nimport { DaterangeService } from '../providers/daterange.service';\n\n/**\n * Validator for daterangepicker to validate that 'to' date is not after 'max' value.\n * Otherwise will throw corresponding `max` validation error.\n *\n * Validator is applied to the ClrDaterangepickerDirective with `max` attribute.\n * Or when set manually with `clrDaterangeMax` attribute.\n *\n * Validator is active by default when applied. It can be disabled with: `[clrDaterangeMax]=\"false\"`\n */\n@Directive({\n selector: '[clrDaterangepicker][max], [clrDaterangeMax]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ClrDaterangeMaxValidator),\n multi: true,\n },\n ],\n})\nexport class ClrDaterangeMaxValidator implements Validator {\n /** Validation error name. */\n public static readonly validationErrorName = 'max';\n\n private _active = true;\n\n public constructor(@Optional() private readonly daterangeService: DaterangeService) {}\n\n /**\n * Disable validator by setting value to `false`.\n */\n @Input('clrDaterangeMax')\n public set active(active: boolean | string | undefined | null) {\n this._active = active == null || (active !== false && `${active}` !== 'false');\n }\n\n /**\n * Validator method. Method that performs synchronous validation against the provided control.\n * @param control - The control to validate against.\n * @returns A map of validation errors if validation fails, otherwise null.\n */\n public validate(control: AbstractControl<NullableDaterange, any>): ValidationErrors | null {\n if (!this._active) {\n return null;\n }\n\n if (control.value == null) {\n return null;\n }\n\n const max: NullableDayModel = this.daterangeService.maxDate;\n if (max == null) {\n return null;\n }\n\n const { to } = control.value;\n\n if (to == null) {\n return null;\n }\n\n if (to.isAfter(max)) {\n return {\n [ClrDaterangeMaxValidator.validationErrorName]: {\n max,\n actual: to,\n },\n };\n }\n\n return null;\n }\n}\n","import { Directive, forwardRef, Input, Optional } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\nimport { NullableDayModel } from '../models/day.model';\nimport { DaterangeService } from '../providers/daterange.service';\n\n/**\n * Validator for daterangepicker to validate that 'from' date is not before 'min' value.\n * Otherwise will throw corresponding `min` validation error.\n *\n * Validator is applied to the ClrDaterangepickerDirective with `min` attribute.\n * Or when set manually with `clrDaterangeMin` attribute.\n *\n * Validator is active by default when applied. It can be disabled with: `[clrDaterangeMin]=\"false\"`\n */\n@Directive({\n selector: '[clrDaterangepicker][min], [clrDaterangeMin]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ClrDaterangeMinValidator),\n multi: true,\n },\n ],\n})\nexport class ClrDaterangeMinValidator implements Validator {\n /** Validation error name. */\n public static readonly validationErrorName = 'min';\n\n private _active = true;\n\n public constructor(@Optional() private readonly daterangeService: DaterangeService) {}\n\n /**\n * Disable validator by setting value to `false`.\n */\n @Input('clrDaterangeMin')\n public set active(active: boolean | string | undefined | null) {\n this._active = active == null || (active !== false && `${active}` !== 'false');\n }\n\n /**\n * Validator method. Method that performs synchronous validation against the provided control.\n * @param control - The control to validate against.\n * @returns A map of validation errors if validation fails, otherwise null.\n */\n public validate(control: AbstractControl<NullableDaterange, any>): ValidationErrors | null {\n if (!this._active) {\n return null;\n }\n\n if (control.value == null) {\n return null;\n }\n\n const min: NullableDayModel = this.daterangeService.minDate;\n if (min == null) {\n return null;\n }\n\n const { from } = control.value;\n\n if (from == null) {\n return null;\n }\n\n if (from.isBefore(min)) {\n return {\n [ClrDaterangeMinValidator.validationErrorName]: {\n min,\n actual: from,\n },\n };\n }\n\n return null;\n }\n}\n","import { Directive, forwardRef, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\n\n/**\n * Validator for daterangepicker to validate that 'from' date is before 'to' date.\n * Otherwise will throw `fromIsAfterTo` validation error.\n *\n * This validator is applied automatically on ClrDaterangepickerDirective.\n * Or when set manually with `clrDaterangeOrder` attribute.\n *\n * Validator is active by default when applied. It can be disabled with: `[clrDaterangeOrder]=\"false\"`\n */\n@Directive({\n selector: '[clrDaterangepicker], [clrDaterangeOrder]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ClrDaterangeOrderValidator),\n multi: true,\n },\n ],\n})\nexport class ClrDaterangeOrderValidator implements Validator {\n /** Validation error name. */\n public static readonly validationErrorName = 'fromIsAfterTo';\n\n private _active = true;\n\n /**\n * Disable validator by setting value to `false`.\n */\n @Input('clrDaterangeOrder')\n public set active(active: boolean | string | undefined | null) {\n this._active = active == null || (active !== false && `${active}` !== 'false');\n }\n\n /**\n * Validator method. Method that performs synchronous validation against the provided control.\n * @param control - The control to validate against.\n * @returns A map of validation errors if validation fails, otherwise null.\n */\n public validate(control: AbstractControl<NullableDaterange, any>): ValidationErrors | null {\n if (!this._active) {\n return null;\n }\n\n // Validation with `null` value is done with the regular required validator.\n if (control.value == null) {\n return null;\n }\n\n const { from, to } = control.value;\n\n // Validation with `null` values from 'from' & 'to' is done with the ClrDaterangeRequiredValidator.\n if (from == null || to == null) {\n return null;\n }\n\n if (from.isAfter(to)) {\n return {\n [ClrDaterangeOrderValidator.validationErrorName]: control.value,\n };\n }\n\n return null;\n }\n}\n","import { Directive, forwardRef, Input } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\n\nimport { NullableDaterange } from '../interfaces/daterange.interface';\n\n/**\n * Validator for daterangepicker to validate that 'from' *AND* 'to' date are not `null`.\n * Will throw `required` validation error.\n *\n * Validator is applied to the ClrDaterangepickerDirective with `required` attribute.\n * Or when set manually with `clrDaterangeRequired` attribute.\n *\n * Validator is active by default when applied. It can be disabled with: `[clrDaterangeRequired]=\"false\"`\n */\n@Directive({\n selector: '[clrDaterangepicker][required], [clrDaterangeRequired]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => ClrDaterangeRequiredValidator),\n multi: true,\n },\n ],\n})\nexport class ClrDaterangeRequiredValidator implements Validator {\n /** Validation error name. */\n public static readonly validationErrorName = 'required';\n\n private _active = true;\n\n /**\n * Disable validator by setting value to `false`.\n */\n @Input('clrDaterangeRequired')\n public set active(active: boolean | string | undefined | null) {\n this._active = active == null || (active !== false && `${active}` !== 'false');\n }\n\n /**\n * Validator method. Method that performs synchronous validation against the provided control.\n * @param control - The control to validate against.\n * @returns A map of validation errors if validation fails, otherwise null.\n */\n public validate(control: AbstractControl<NullableDaterange, any>): ValidationErrors | null {\n if (!this._active) {\n return null;\n }\n\n // Validation with `null` value is done with the regular required validator.\n if (control.value == null) {\n return null;\n }\n\n const { from, to } = control.value;\n if (from == null || to == null) {\n return {\n [ClrDaterangeRequiredValidator.validationErrorName]: control.value,\n };\n }\n\n return null;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClarityModule, ClrDatepickerModule, ClrIconModule } from '@clr/angular';\n\nimport { ClrDatepickerComponent } from './directives/datepicker/datepicker.component';\nimport { ClrDaterangepickerContainerComponent } from './directives/daterangepicker-container/daterangepicker-container.component';\nimport { ClrDaterangepickerDirective } from './directives/daterangepicker/daterangepicker.directive';\nimport { ClrIfDaterangeErrorDirective } from './directives/if-daterange-error.directive';\nimport { ClrDaterangeMaxValidator } from './validators/daterange-max.validator';\nimport { ClrDaterangeMinValidator } from './validators/daterange-min.validator';\nimport { ClrDaterangeOrderValidator } from './validators/daterange-order.validator';\nimport { ClrDaterangeRequiredValidator } from './validators/daterange-required.validator';\n\n@NgModule({\n imports: [CommonModule, FormsModule, ClarityModule, ClrDatepickerModule, ClrIconModule],\n declarations: [\n ClrDatepickerComponent,\n ClrDaterangeMaxValidator,\n ClrDaterangeMinValidator,\n ClrDaterangeOrderValidator,\n ClrDaterangepickerContainerComponent,\n ClrDaterangepickerDirective,\n ClrDaterangeRequiredValidator,\n ClrIfDaterangeErrorDirective,\n ],\n exports: [\n ClrDaterangeMaxValidator,\n ClrDaterangeMinValidator,\n ClrDaterangeOrderValidator,\n ClrDaterangepickerContainerComponent,\n ClrDaterangepickerDirective,\n ClrDaterangeRequiredValidator,\n ClrIfDaterangeErrorDirective,\n ],\n})\nexport class ClrDaterangepickerModule {}\n","import { AfterViewInit, Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[clrIfWarning]',\n})\nexport class ClrIfWarning implements AfterViewInit {\n private hostElement: Element;\n private formContainer: Element;\n private icon = this.renderer.createElement('cds-icon');\n\n constructor(\n private container: ViewContainerRef,\n private template: TemplateRef<any>,\n private renderer: Renderer2,\n private host: ElementRef\n ) {}\n\n @Input() set clrIfWarning(clrIfWarning: boolean) {\n if (clrIfWarning) {\n this.container.createEmbeddedView(this.template);\n setTimeout(() => {\n this.hostElement = this.host.nativeElement?.previousElementSibling;\n const wrapper = this.hostElement?.previousElementSibling;\n this.formContainer = this.getFormContainer(wrapper);\n //Radio buttons have no wrapper\n if (!wrapper) {\n this.formContainer = this.getFormContainer(this.hostElement?.parentElement);\n this.renderer.insertBefore(this.hostElement?.parentElement, this.icon, this.hostElement);\n }\n //if an error icon is already present, place the icon in the parent\n if (wrapper?.classList?.contains('clr-validate-icon')) {\n this.renderer.insertBefore(wrapper.parentElement, this.icon, wrapper?.nextSibling);\n } else {\n this.renderer.insertBefore(wrapper, this.icon, wrapper?.previousElementSibling);\n }\n this.setControlStyles();\n });\n } else {\n this.resetControlStyles();\n this.icon.remove();\n this.container.clear();\n }\n }\n\n getFormContainer(element: Element) {\n return element?.parentElement;\n }\n\n ngAfterViewInit(): void {\n this.icon.setAttribute('shape', 'exclamation-triangle');\n this.renderer.addClass(this.icon, 'clr-control-warning-icon');\n }\n\n resetControlStyles() {\n if (this.hostElement) {\n this.renderer.removeClass(this.hostElement, 'clr-warning');\n }\n if (this.formContainer) {\n this.renderer.removeClass(this.formContainer, 'clr-warning');\n }\n }\n\n setControlStyles() {\n if (this.hostElement) {\n this.renderer.addClass(this.hostElement, 'clr-warning');\n }\n if (this.formContainer) {\n this.renderer.addClass(this.formContainer, 'clr-warning');\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClrIfWarning } from './if-warning.directive';\nimport { ClarityIcons, exclamationTriangleIcon } from '@cds/core/icon';\n\nClarityIcons.addIcons(exclamationTriangleIcon);\n\n@NgModule({\n declarations: [ClrIfWarning],\n imports: [CommonModule],\n exports: [ClrIfWarning],\n})\nexport class ClrIfWarningModule {}\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { ClrBackButtonModule } from './back-button';\nimport { ClrBreadcrumbModule } from './breadcrumb';\nimport { ClrCollapseExpandSectionModule } from './collapse-expand-section';\nimport { ClrContentPanelModule } from './content-panel';\nimport { ClrDataListValidatorModule } from './data-list-validator';\nimport { ClrDateTimeModule } from './date-time-container';\nimport { ClrDotPagerModule } from './dot-pager';\nimport { ClrFlowBarModule } from './flow-bar';\nimport { ClrGenericQuickListModule } from './generic-quick-list';\nimport { ClrLetterAvatarModule } from './letter-avatar';\nimport { ClrMainNavGroupModule } from './main-nav-group';\nimport { ClrMultilingualModule } from './multilingual';\nimport { ClrNotificationModule } from './notification';\nimport { ClrNumericFieldModule } from './numericfield';\nimport { ClrPagedSearchResultListModule } from './paged-search-result-list';\nimport { ClrPagerModule } from './pager';\nimport { ClrProgressSpinnerModule } from './progress-spinner';\nimport { ClrQuickListModule } from './quick-list';\nimport { ClrSearchFieldModule } from './searchfield';\nimport { ClrTreetableModule } from './treetable';\nimport { ClrViewEditSectionModule } from './view-edit-section';\nimport { ClrHistoryModule } from './history';\nimport { ClrAutocompleteOffModule } from './autocomplete-off';\nimport { ClrBrandAvatarModule } from './brand-avatar';\nimport { ClrLocationBarModule } from './location-bar';\nimport { ClrFormModule } from './abstract-form-component';\nimport { ClrDropdownOverflowModule } from './dropdown';\nimport { ClrDatagridStatePersistenceModule, ClrDateFilterModule, ClrEnumFilterModule } from './datagrid';\nimport { ClrDaterangepickerModule } from './daterangepicker';\nimport { ClrIfWarningModule } from './clr-control-warning/if-warning.module';\n\n@NgModule({\n exports: [\n ClrViewEditSectionModule,\n ClrPagerModule,\n ClrDotPagerModule,\n ClrPagedSearchResultListModule,\n ClrCollapseExpandSectionModule,\n ClrBreadcrumbModule,\n ClrMainNavGroupModule,\n ClrContentPanelModule,\n ClrNotificationModule,\n ClrFlowBarModule,\n ClrBackButtonModule,\n ClrNumericFieldModule,\n ClrSearchFieldModule,\n ClrTreetableModule,\n ClrProgressSpinnerModule,\n ClrDateTimeModule,\n ClrQuickListModule,\n ClrLetterAvatarModule,\n ClrMultilingualModule,\n ClrGenericQuickListModule,\n ClrDataListValidatorModule,\n ClrHistoryModule,\n ClrAutocompleteOffModule,\n ClrBrandAvatarModule,\n ClrLocationBarModule,\n ClrFormModule,\n ClrDropdownOverflowModule,\n ClrDatagridStatePersistenceModule,\n ClrEnumFilterModule,\n ClrDateFilterModule,\n ClrDaterangepickerModule,\n ClrIfWarningModule,\n ],\n})\nexport class ClrAddonsModule {}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nconst entityMap: Map<string, string> = new Map([\n ['&', '&amp;'],\n ['<', '&lt;'],\n ['>', '&gt;'],\n ['\"', '&quot;'],\n [\"'\", '&#39;'],\n ['/', '&#x2F;'],\n]);\n\nexport function escapeHtml(source: string): string {\n return source.replace(/[&<>\"'/]/g, s => entityMap.get(s));\n}\n\nexport function escapeRegex(s: string): string {\n return String(s).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n","/*\n * Copyright (c) 2018 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './escape.util';\n","/*\n * Copyright (c) 2018-2024 Porsche Informatik. All Rights Reserved.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './clr-addons.module';\n\nexport * from './view-edit-section/index';\nexport * from './pager/index';\nexport * from './dot-pager/index';\nexport * from './paged-search-result-list/index';\nexport * from './collapse-expand-section/index';\nexport * from './main-nav-group/index';\nexport * from './content-panel/index';\nexport * from './breadcrumb/index';\nexport * from './notification/index';\nexport * from './flow-bar/index';\nexport * from './back-button/index';\nexport * from './progress-spinner/index';\nexport * from './numericfield/index';\nexport * from './searchfield/index';\nexport * from './treetable/index';\nexport * from './date-time-container/index';\nexport * from './quick-list/index';\nexport * from './multilingual/index';\nexport * from './util/index';\nexport * from './generic-quick-list/index';\nexport * from './letter-avatar/index';\nexport * from './data-list-validator/index';\nexport * from './icons/index';\nexport * from './history/index';\nexport * from './brand-avatar/index';\nexport * from './location-bar/index';\nexport * from './autocomplete-off/index';\nexport * from './abstract-form-component/index';\nexport * from './dropdown/index';\nexport * from './datagrid/index';\nexport * from './daterangepicker/index';\nexport * from './clr-control-warning/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ClrBreadcrumbService","i2","i3","i3.ClrDropdownOverflowDirective","i1","i4.ClrMultilingualSelector","i3.ClrPager","i3.ClrAddOption","i3.ClrTreetableActionOverflow","i4.ClrDropdownOverflowDirective","takeUntil","i1.ControlIdService","i4.ClrAutocompleteOff","i5.ClrAddonsLabel","i6.ClrSearchField","i4.LocationBarSearchComponent","i3.LocationBarNodeComponent","i1.DatagridFieldDirective","i2.StatePersistenceKeyDirective","i1.OpenedDatepickersTrackerService","i2.DaterangeControlStateService","i3.ControlIdService","i4.DaterangeService","i5.DaterangeParsingService","i3.OpenedDatepickersTrackerService","i6","i7","i8.ClrDatepickerComponent","i1.DaterangeControlStateService","i2.ClrDaterangepickerContainerComponent","i1.DaterangeService"],"mappings":"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"}