{"version":3,"file":"covalent-core-breadcrumbs.mjs","sources":["../tmp-esm2022/breadcrumbs/breadcrumb/breadcrumb.component.js","../tmp-esm2022/breadcrumbs/breadcrumbs.component.js","../tmp-esm2022/breadcrumbs/breadcrumbs.module.js","../tmp-esm2022/breadcrumbs/covalent-core-breadcrumbs.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, HostBinding, ChangeDetectionStrategy, ChangeDetectorRef, inject, } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/tooltip\";\nconst _c0 = [\"*\"];\nfunction TdBreadcrumbComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {\n    const _r1 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"mat-icon\", 2);\n    i0.ɵɵlistener(\"click\", function TdBreadcrumbComponent_Conditional_2_Template_mat_icon_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1._handleIconClick($event)); });\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n} if (rf & 2) {\n    const ctx_r1 = i0.ɵɵnextContext();\n    i0.ɵɵstyleProp(\"cursor\", \"default\");\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx_r1.separatorIcon);\n} }\nexport class TdBreadcrumbComponent {\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _displayCrumb = true;\n    _width = 0;\n    _displayIcon = true;\n    _separatorIcon = 'chevron_right';\n    _shouldTruncate = false;\n    _maxWidth;\n    elementRef = inject(ElementRef);\n    fullText = '';\n    flexOrder = 0;\n    isCurrentPage = false;\n    get ariaCurrent() {\n        return this.isCurrentPage ? 'page' : null;\n    }\n    matButtonClass = true;\n    tdBreadCrumbClass = true;\n    // Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'\n    get separatorIcon() {\n        return this._separatorIcon;\n    }\n    set separatorIcon(separatorIcon) {\n        this._separatorIcon = separatorIcon;\n        setTimeout(() => {\n            this._changeDetectorRef.markForCheck();\n        });\n    }\n    // Should show the right chevron or not before the label\n    get displayIcon() {\n        return this._displayIcon;\n    }\n    set displayIcon(displayIcon) {\n        this._displayIcon = displayIcon;\n        setTimeout(() => {\n            this._changeDetectorRef.markForCheck();\n        });\n    }\n    get shouldTruncate() {\n        return this._shouldTruncate;\n    }\n    set shouldTruncate(shouldTruncate) {\n        this._shouldTruncate = shouldTruncate;\n        setTimeout(() => {\n            this._changeDetectorRef.markForCheck();\n        });\n    }\n    get maxWidth() {\n        return this._maxWidth;\n    }\n    set maxWidth(maxWidth) {\n        this._maxWidth = maxWidth;\n        setTimeout(() => {\n            this._changeDetectorRef.markForCheck();\n        });\n    }\n    get displayCrumb() {\n        return this._displayCrumb;\n    }\n    /**\n     * Whether to display the crumb or not\n     */\n    set displayCrumb(shouldDisplay) {\n        this._displayCrumb = shouldDisplay;\n        setTimeout(() => {\n            this._changeDetectorRef.markForCheck();\n        });\n    }\n    /**\n     * Width of the DOM element of the crumb\n     */\n    get width() {\n        return this._width;\n    }\n    /**\n     * Gets the display style of the crumb\n     */\n    get displayBinding() {\n        // Set the display to none on the component, just in case the end user is hiding\n        // and showing them instead of the component doing itself for reasons like responsive\n        return this._displayCrumb ? undefined : 'none';\n    }\n    get maxWidthBinding() {\n        return this._shouldTruncate ? this._maxWidth : undefined;\n    }\n    get orderBinding() {\n        return this.flexOrder;\n    }\n    ngAfterViewInit() {\n        // set the width from the actual rendered DOM element\n        setTimeout(() => {\n            this._width = (this.elementRef.nativeElement).getBoundingClientRect().width;\n            const textSpan = this.elementRef.nativeElement.querySelector('.td-breadcrumb-text');\n            if (textSpan) {\n                this.fullText = textSpan.textContent?.trim() || '';\n            }\n            this._changeDetectorRef.markForCheck();\n        });\n    }\n    /**\n     * Stop click propagation when clicking on icon\n     */\n    _handleIconClick(event) {\n        event.stopPropagation();\n        event.preventDefault();\n    }\n    static ɵfac = function TdBreadcrumbComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdBreadcrumbComponent)(); };\n    static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdBreadcrumbComponent, selectors: [[\"td-breadcrumb\"], [\"a\", \"td-breadcrumb\", \"\"]], hostVars: 11, hostBindings: function TdBreadcrumbComponent_HostBindings(rf, ctx) { if (rf & 2) {\n            i0.ɵɵattribute(\"aria-current\", ctx.ariaCurrent);\n            i0.ɵɵstyleProp(\"display\", ctx.displayBinding)(\"max-width\", ctx.maxWidthBinding, \"px\")(\"order\", ctx.orderBinding);\n            i0.ɵɵclassProp(\"mdc-button\", ctx.matButtonClass)(\"td-breadcrumb\", ctx.tdBreadCrumbClass);\n        } }, ngContentSelectors: _c0, decls: 3, vars: 6, consts: [[1, \"td-breadcrumb-text\", 3, \"matTooltip\", \"matTooltipDisabled\"], [\"aria-hidden\", \"true\", 1, \"td-breadcrumb-separator-icon\", 3, \"cursor\"], [\"aria-hidden\", \"true\", 1, \"td-breadcrumb-separator-icon\", 3, \"click\"]], template: function TdBreadcrumbComponent_Template(rf, ctx) { if (rf & 1) {\n            i0.ɵɵprojectionDef();\n            i0.ɵɵelementStart(0, \"span\", 0);\n            i0.ɵɵprojection(1);\n            i0.ɵɵelementEnd();\n            i0.ɵɵconditionalCreate(2, TdBreadcrumbComponent_Conditional_2_Template, 2, 3, \"mat-icon\", 1);\n        } if (rf & 2) {\n            i0.ɵɵclassProp(\"td-breadcrumb-truncated\", ctx.shouldTruncate);\n            i0.ɵɵproperty(\"matTooltip\", ctx.shouldTruncate ? ctx.fullText : \"\")(\"matTooltipDisabled\", !ctx.shouldTruncate);\n            i0.ɵɵattribute(\"aria-label\", ctx.shouldTruncate ? ctx.fullText : null);\n            i0.ɵɵadvance(2);\n            i0.ɵɵconditional(ctx.displayIcon ? 2 : -1);\n        } }, dependencies: [CommonModule, MatIcon, MatTooltipModule, i1.MatTooltip], styles: [\".td-breadcrumb[_nghost-%COMP%]{display:inline-flex;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;flex-shrink:0;justify-content:flex-end;max-width:100%}.td-breadcrumb[_nghost-%COMP%]    >*{margin:0 10px}[_nghost-%COMP%]   mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.mdc-button[_nghost-%COMP%]{min-width:0;padding:0}.td-breadcrumb-text[_ngcontent-%COMP%]{margin:0;padding:0;flex:1 1 auto;min-width:0}.td-breadcrumb-text.td-breadcrumb-truncated[_ngcontent-%COMP%]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}mat-icon.td-breadcrumb-separator-icon[_ngcontent-%COMP%]{flex-shrink:0}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdBreadcrumbComponent, [{\n        type: Component,\n        args: [{ selector: 'td-breadcrumb, a[td-breadcrumb]', imports: [CommonModule, MatIcon, MatTooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<span\\n  class=\\\"td-breadcrumb-text\\\"\\n  [class.td-breadcrumb-truncated]=\\\"shouldTruncate\\\"\\n  [matTooltip]=\\\"shouldTruncate ? fullText : ''\\\"\\n  [matTooltipDisabled]=\\\"!shouldTruncate\\\"\\n  [attr.aria-label]=\\\"shouldTruncate ? fullText : null\\\"\\n>\\n  <ng-content></ng-content>\\n</span>\\n@if (displayIcon) {\\n  <mat-icon\\n    class=\\\"td-breadcrumb-separator-icon\\\"\\n    [style.cursor]=\\\"'default'\\\"\\n    (click)=\\\"_handleIconClick($event)\\\"\\n    aria-hidden=\\\"true\\\"\\n    >{{ separatorIcon }}</mat-icon\\n  >\\n}\\n\", styles: [\":host.td-breadcrumb{display:inline-flex;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;flex-shrink:0;justify-content:flex-end;max-width:100%}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host mat-icon{font-size:16px;width:16px;height:16px}:host.mdc-button{min-width:0;padding:0}.td-breadcrumb-text{margin:0;padding:0;flex:1 1 auto;min-width:0}.td-breadcrumb-text.td-breadcrumb-truncated{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}mat-icon.td-breadcrumb-separator-icon{flex-shrink:0}\\n\"] }]\n    }], null, { ariaCurrent: [{\n            type: HostBinding,\n            args: ['attr.aria-current']\n        }], matButtonClass: [{\n            type: HostBinding,\n            args: ['class.mdc-button']\n        }], tdBreadCrumbClass: [{\n            type: HostBinding,\n            args: ['class.td-breadcrumb']\n        }], displayBinding: [{\n            type: HostBinding,\n            args: ['style.display']\n        }], maxWidthBinding: [{\n            type: HostBinding,\n            args: ['style.max-width.px']\n        }], orderBinding: [{\n            type: HostBinding,\n            args: ['style.order']\n        }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdBreadcrumbComponent, { className: \"TdBreadcrumbComponent\", filePath: \"breadcrumb/breadcrumb.component.ts\", lineNumber: 21 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUVYLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0lDRDNELG1DQUtHO0lBRkQsaU1BQVMsK0JBQXdCLEtBQUM7SUFFakMsWUFBbUI7SUFBQSxpQkFDckI7OztJQUpDLG1DQUEwQjtJQUd6QixjQUFtQjtJQUFuQiwwQ0FBbUI7O0FES3hCLE1BQU0sT0FBTyxxQkFBcUI7SUFDeEIsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFL0MsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNyQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixjQUFjLEdBQUcsZUFBZSxDQUFDO0lBQ2pDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsU0FBUyxDQUFVO0lBRXBCLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLFNBQVMsR0FBRyxDQUFDLENB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Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtYnJlYWRjcnVtYiwgYVt0ZC1icmVhZGNydW1iXScsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uLCBNYXRUb29sdGlwTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRkQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJpdmF0ZSBfZGlzcGxheUNydW1iID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfd2lkdGggPSAwO1xuICBwcml2YXRlIF9kaXNwbGF5SWNvbiA9IHRydWU7XG4gIHByaXZhdGUgX3NlcGFyYXRvckljb24gPSAnY2hldnJvbl9yaWdodCc7XG4gIHByaXZhdGUgX3Nob3VsZFRydW5jYXRlID0gZmFsc2U7XG4gIHByaXZhdGUgX21heFdpZHRoPzogbnVtYmVyO1xuXG4gIHB1YmxpYyBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwdWJsaWMgZnVsbFRleHQgPSAnJztcbiAgcHVibGljIGZsZXhPcmRlciA9IDA7XG4gIHB1YmxpYyBpc0N1cnJlbnRQYWdlID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY3VycmVudCcpXG4gIGdldCBhcmlhQ3VycmVudCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5pc0N1cnJlbnRQYWdlID8gJ3BhZ2UnIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWRjLWJ1dHRvbicpIG1hdEJ1dHRvbkNsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZC1icmVhZGNydW1iJykgdGRCcmVhZENydW1iQ2xhc3MgPSB0cnVlO1xuXG4gIC8vIFNldHMgdGhlIGljb24gdXJsIHNob3duIGJldHdlZW4gYnJlYWRjcnVtYnMuIERlZmF1bHRzIHRvICdjaGV2cm9uX3JpZ2h0J1xuICBwdWJsaWMgZ2V0IHNlcGFyYXRvckljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VwYXJhdG9ySWNvbjtcbiAgfVxuICBwdWJsaWMgc2V0IHNlcGFyYXRvckljb24oc2VwYXJhdG9ySWNvbjogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VwYXJhdG9ySWNvbiA9IHNlcGFyYXRvckljb247XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFNob3VsZCBzaG93IHRoZSByaWdodCBjaGV2cm9uIG9yIG5vdCBiZWZvcmUgdGhlIGxhYmVsXG4gIHB1YmxpYyBnZXQgZGlzcGxheUljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlJY29uO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzcGxheUljb24oZGlzcGxheUljb246IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNwbGF5SWNvbiA9IGRpc3BsYXlJY29uO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgc2hvdWxkVHJ1bmNhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3VsZFRydW5jYXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBzaG91bGRUcnVuY2F0ZShzaG91bGRUcnVuY2F0ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3VsZFRydW5jYXRlID0gc2hvdWxkVHJ1bmNhdGU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBtYXhXaWR0aCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tYXhXaWR0aDtcbiAgfVxuXG4gIHNldCBtYXhXaWR0aChtYXhXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fbWF4V2lkdGggPSBtYXhXaWR0aDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlDcnVtYigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheUNydW1iO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSB0aGUgY3J1bWIgb3Igbm90XG4gICAqL1xuICBwdWJsaWMgc2V0IGRpc3BsYXlDcnVtYihzaG91bGREaXNwbGF5OiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzcGxheUNydW1iID0gc2hvdWxkRGlzcGxheTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdpZHRoIG9mIHRoZSBET00gZWxlbWVudCBvZiB0aGUgY3J1bWJcbiAgICovXG4gIGdldCB3aWR0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkaXNwbGF5IHN0eWxlIG9mIHRoZSBjcnVtYlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgZ2V0IGRpc3BsYXlCaW5kaW5nKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gU2V0IHRoZSBkaXNwbGF5IHRvIG5vbmUgb24gdGhlIGNvbXBvbmVudCwganVzdCBpbiBjYXNlIHRoZSBlbmQgdXNlciBpcyBoaWRpbmdcbiAgICAvLyBhbmQgc2hvd2luZyB0aGVtIGluc3RlYWQgb2YgdGhlIGNvbXBvbmVudCBkb2luZyBpdHNlbGYgZm9yIHJlYXNvbnMgbGlrZSByZXNwb25zaXZlXG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlDcnVtYiA/IHVuZGVmaW5lZCA6ICdub25lJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoLnB4JylcbiAgZ2V0IG1heFdpZHRoQmluZGluZygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zaG91bGRUcnVuY2F0ZSA/IHRoaXMuX21heFdpZHRoIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5vcmRlcicpXG4gIGdldCBvcmRlckJpbmRpbmcoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5mbGV4T3JkZXI7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gc2V0IHRoZSB3aWR0aCBmcm9tIHRoZSBhY3R1YWwgcmVuZGVyZWQgRE9NIGVsZW1lbnRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3dpZHRoID0gKDxIVE1MRWxlbWVudD4oXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICApKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgIGNvbnN0IHRleHRTcGFuID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJy50ZC1icmVhZGNydW1iLXRleHQnLFxuICAgICAgKTtcbiAgICAgIGlmICh0ZXh0U3Bhbikge1xuICAgICAgICB0aGlzLmZ1bGxUZXh0ID0gdGV4dFNwYW4udGV4dENvbnRlbnQ/LnRyaW0oKSB8fCAnJztcbiAgICAgIH1cbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgY2xpY2sgcHJvcGFnYXRpb24gd2hlbiBjbGlja2luZyBvbiBpY29uXG4gICAqL1xuICBfaGFuZGxlSWNvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbn1cbiIsIjxzcGFuXG4gIGNsYXNzPVwidGQtYnJlYWRjcnVtYi10ZXh0XCJcbiAgW2NsYXNzLnRkLWJyZWFkY3J1bWItdHJ1bmNhdGVkXT1cInNob3VsZFRydW5jYXRlXCJcbiAgW21hdFRvb2x0aXBdPVwic2hvdWxkVHJ1bmNhdGUgPyBmdWxsVGV4dCA6ICcnXCJcbiAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCIhc2hvdWxkVHJ1bmNhdGVcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cInNob3VsZFRydW5jYXRlID8gZnVsbFRleHQgOiBudWxsXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9zcGFuPlxuQGlmIChkaXNwbGF5SWNvbikge1xuICA8bWF0LWljb25cbiAgICBjbGFzcz1cInRkLWJyZWFkY3J1bWItc2VwYXJhdG9yLWljb25cIlxuICAgIFtzdHlsZS5jdXJzb3JdPVwiJ2RlZmF1bHQnXCJcbiAgICAoY2xpY2spPVwiX2hhbmRsZUljb25DbGljaygkZXZlbnQpXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgID57eyBzZXBhcmF0b3JJY29uIH19PC9tYXQtaWNvblxuICA+XG59XG4iXX0=","import { Component, ContentChildren, QueryList, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, Input, HostBinding, ViewChild, inject, } from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\nimport { MatMenuTrigger, MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/menu\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/icon\";\nconst _c0 = [\"*\"];\nfunction TdBreadcrumbsComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {\n    i0.ɵɵelementStart(0, \"button\", 3)(1, \"mat-icon\");\n    i0.ɵɵtext(2, \"more_horiz\");\n    i0.ɵɵelementEnd()();\n    i0.ɵɵelementStart(3, \"mat-icon\", 4);\n    i0.ɵɵtext(4);\n    i0.ɵɵelementEnd();\n} if (rf & 2) {\n    const ctx_r0 = i0.ɵɵnextContext();\n    const overflowMenu_r2 = i0.ɵɵreference(3);\n    i0.ɵɵstyleProp(\"order\", ctx_r0.overflowButtonOrder);\n    i0.ɵɵproperty(\"matMenuTriggerFor\", overflowMenu_r2);\n    i0.ɵɵattribute(\"aria-label\", ctx_r0.overflowButtonAriaLabel)(\"data-test-id\", \"breadcrumb-overflow-button\");\n    i0.ɵɵadvance(3);\n    i0.ɵɵstyleProp(\"order\", ctx_r0.overflowButtonOrder);\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate(ctx_r0.separatorIcon);\n} }\nfunction TdBreadcrumbsComponent_For_5_Template(rf, ctx) { if (rf & 1) {\n    const _r3 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"button\", 5);\n    i0.ɵɵlistener(\"click\", function TdBreadcrumbsComponent_For_5_Template_button_click_0_listener() { const item_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.handleOverflowItemClick(item_r4)); });\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n} if (rf & 2) {\n    const item_r4 = ctx.$implicit;\n    const ɵ$index_13_r5 = ctx.$index;\n    const ctx_r0 = i0.ɵɵnextContext();\n    i0.ɵɵattribute(\"data-test-id\", \"breadcrumb-overflow-item-\" + ɵ$index_13_r5)(\"aria-label\", \"Navigate to \" + ctx_r0.getItemText(item_r4));\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate1(\" \", ctx_r0.getItemText(item_r4), \" \");\n} }\nexport class TdBreadcrumbsComponent {\n    _elementRef = inject(ElementRef);\n    _changeDetectorRef = inject(ChangeDetectorRef);\n    _resizing = false;\n    _separatorIcon = 'chevron_right';\n    _destroy$ = new Subject();\n    /**\n     * Maximum width ratio for the last breadcrumb when truncation is needed.\n     * Set to 35% of available width to ensure last breadcrumb doesn't dominate the space\n     * while still being readable.\n     */\n    LAST_BREADCRUMB_MAX_WIDTH_RATIO = 0.35;\n    tdBreadCrumbsClass = true;\n    role = 'navigation';\n    ariaLabel = 'Breadcrumb';\n    // all the sub components, which are the individual breadcrumbs\n    _breadcrumbs;\n    // the list of hidden breadcrumbs not shown right now (responsive)\n    hiddenBreadcrumbs = [];\n    overflowMenuItems = [];\n    showOverflowButton = false;\n    overflowButtonOrder = 50;\n    overflowMenuTrigger;\n    /**\n     * Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'.\n     */\n    set separatorIcon(separatorIcon) {\n        this._separatorIcon = separatorIcon;\n        this.setCrumbIcons();\n    }\n    get separatorIcon() {\n        return this._separatorIcon;\n    }\n    size;\n    get fontFamily() {\n        return this.size\n            ? `var(--cv-typography-${this.size}-font-family)`\n            : undefined;\n    }\n    get fontSize() {\n        return this.size\n            ? `var(--cv-typography-${this.size}-font-size)`\n            : undefined;\n    }\n    get fontWeight() {\n        return this.size\n            ? `var(--cv-typography-${this.size}-font-weight)`\n            : undefined;\n    }\n    get lineHeight() {\n        return this.size\n            ? `var(--cv-typography-${this.size}-line-height)`\n            : undefined;\n    }\n    ngOnInit() {\n        fromEvent(window, 'resize')\n            .pipe(debounceTime(10), takeUntil(this._destroy$))\n            .subscribe(() => {\n            if (!this._resizing) {\n                this._resizing = true;\n                setTimeout(() => {\n                    this._calculateVisibility();\n                    this._resizing = false;\n                    this._changeDetectorRef.markForCheck();\n                }, 100);\n            }\n        });\n    }\n    ngAfterViewInit() {\n        this._waitToCalculateVisibility();\n    }\n    ngAfterContentInit() {\n        this._breadcrumbs.changes\n            .pipe(startWith(this._breadcrumbs), takeUntil(this._destroy$))\n            .subscribe(() => {\n            this._waitToCalculateVisibility();\n            setTimeout(() => {\n                this.setCrumbIcons();\n                this._changeDetectorRef.markForCheck();\n            });\n        });\n    }\n    ngOnDestroy() {\n        this._destroy$.next();\n        this._destroy$.complete();\n    }\n    /*\n     * Current width of the element container\n     */\n    get nativeElementWidth() {\n        const element = this._elementRef.nativeElement;\n        // Need to take into account border, margin and padding that might be around all the crumbs\n        const style = window.getComputedStyle(element);\n        const borderLeft = parseInt(style.borderLeft, 10);\n        const borderRight = parseInt(style.borderRight, 10);\n        const marginLeft = parseInt(style.marginLeft, 10);\n        const marginRight = parseInt(style.marginRight, 10);\n        const paddingLeft = parseInt(style.paddingLeft, 10);\n        const paddingRight = parseInt(style.paddingRight, 10);\n        return (element.getBoundingClientRect().width -\n            borderLeft -\n            borderRight -\n            marginLeft -\n            marginRight -\n            paddingLeft -\n            paddingRight);\n    }\n    /**\n     * The total count of individual breadcrumbs\n     */\n    get count() {\n        return this._breadcrumbs ? this._breadcrumbs.length : 0;\n    }\n    get overflowButtonAriaLabel() {\n        const count = this.hiddenBreadcrumbs.length;\n        return `Show ${count} hidden breadcrumb${count > 1 ? 's' : ''}`;\n    }\n    handleOverflowItemClick(item) {\n        const nativeElement = item.elementRef?.nativeElement;\n        if (nativeElement) {\n            nativeElement.click();\n        }\n    }\n    getItemText(item) {\n        return item.fullText || '';\n    }\n    /**\n     * Set the crumb icon separators\n     */\n    setCrumbIcons() {\n        if (this._breadcrumbs) {\n            const breadcrumbArray = this._breadcrumbs.toArray();\n            setTimeout(() => {\n                breadcrumbArray.forEach((breadcrumb, index) => {\n                    breadcrumb.separatorIcon = this.separatorIcon;\n                    breadcrumb.displayIcon = true;\n                    breadcrumb.isCurrentPage = index === breadcrumbArray.length - 1;\n                });\n                this._changeDetectorRef.markForCheck();\n            });\n        }\n    }\n    _calculateVisibility() {\n        const crumbsArray = this._breadcrumbs.toArray();\n        const totalBreadcrumbs = crumbsArray.length;\n        // Reset all orders when there are 2 or fewer breadcrumbs\n        if (totalBreadcrumbs <= 2) {\n            crumbsArray.forEach((breadcrumb) => {\n                breadcrumb.displayCrumb = true;\n                breadcrumb.shouldTruncate = false;\n                breadcrumb.maxWidth = undefined;\n                breadcrumb.flexOrder = 0; // Default order\n            });\n            this.showOverflowButton = false;\n            this.overflowMenuItems = [];\n            this.hiddenBreadcrumbs = [];\n            this._changeDetectorRef.markForCheck();\n            return;\n        }\n        const firstCrumb = crumbsArray[0];\n        const lastCrumb = crumbsArray[totalBreadcrumbs - 1];\n        const containerWidth = this.nativeElementWidth;\n        const totalRequiredWidth = crumbsArray.reduce((sum, crumb) => sum + crumb.width, 0);\n        if (totalRequiredWidth <= containerWidth) {\n            crumbsArray.forEach((breadcrumb, index) => {\n                breadcrumb.displayCrumb = true;\n                breadcrumb.shouldTruncate = false;\n                breadcrumb.maxWidth = undefined;\n                breadcrumb.flexOrder =\n                    index === 0\n                        ? 0\n                        : index === totalBreadcrumbs - 1\n                            ? 1000\n                            : index * 10; // Assign orders based on index for middle crumbs\n            });\n            this.showOverflowButton = false;\n            this.overflowMenuItems = [];\n            this.hiddenBreadcrumbs = [];\n            this._changeDetectorRef.markForCheck();\n            return;\n        }\n        const overflowButtonWidth = 48;\n        const availableWidth = containerWidth - overflowButtonWidth;\n        const visibleMiddleCrumbs = [];\n        let requiredWidth = firstCrumb.width + lastCrumb.width;\n        // Try to fit breadcrumbs from right to left (favoring more recent items)\n        for (let i = totalBreadcrumbs - 2; i >= 1; i--) {\n            const breadcrumb = crumbsArray[i];\n            if (requiredWidth + breadcrumb.width <= availableWidth) {\n                requiredWidth += breadcrumb.width;\n                visibleMiddleCrumbs.unshift(i);\n            }\n        }\n        // Apply visibility and flexbox orders\n        const hiddenBreadcrumbs = [];\n        let currentOrder = 10; // Start orders at 10 for middle breadcrumbs\n        crumbsArray.forEach((breadcrumb, index) => {\n            if (index === 0) {\n                // First breadcrumb - always visible, always first\n                breadcrumb.displayCrumb = true;\n                breadcrumb.shouldTruncate = false;\n                breadcrumb.maxWidth = undefined;\n                breadcrumb.flexOrder = 0;\n            }\n            else if (index === totalBreadcrumbs - 1) {\n                // Last breadcrumb - always visible, always last\n                breadcrumb.displayCrumb = true;\n                breadcrumb.shouldTruncate = false;\n                breadcrumb.flexOrder = 1000;\n            }\n            else if (visibleMiddleCrumbs.includes(index)) {\n                // Visible middle breadcrumbs - assign incremental orders\n                breadcrumb.displayCrumb = true;\n                breadcrumb.shouldTruncate = false;\n                breadcrumb.maxWidth = undefined;\n                breadcrumb.flexOrder = currentOrder;\n                currentOrder += 10;\n            }\n            else {\n                // Hidden breadcrumbs\n                breadcrumb.displayCrumb = false;\n                breadcrumb.shouldTruncate = false;\n                breadcrumb.maxWidth = undefined;\n                breadcrumb.flexOrder = 0; // Doesn't matter, it's hidden\n                hiddenBreadcrumbs.push(breadcrumb);\n            }\n        });\n        // Overflow button order comes after visible middle breadcrumbs\n        this.overflowButtonOrder = currentOrder;\n        // Truncate last breadcrumb if too long\n        const lastBreadcrumbMaxWidth = availableWidth * this.LAST_BREADCRUMB_MAX_WIDTH_RATIO;\n        if (lastCrumb.width > lastBreadcrumbMaxWidth) {\n            lastCrumb.shouldTruncate = true;\n            lastCrumb.maxWidth = lastBreadcrumbMaxWidth;\n        }\n        else {\n            // Ensure maxWidth is reset if last breadcrumb doesn't need truncation\n            lastCrumb.maxWidth = undefined;\n        }\n        this.showOverflowButton = hiddenBreadcrumbs.length > 0;\n        this.overflowMenuItems = hiddenBreadcrumbs;\n        this.hiddenBreadcrumbs = hiddenBreadcrumbs;\n        this._changeDetectorRef.markForCheck();\n    }\n    _waitToCalculateVisibility() {\n        setTimeout(() => {\n            this._calculateVisibility();\n        });\n    }\n    static ɵfac = function TdBreadcrumbsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdBreadcrumbsComponent)(); };\n    static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdBreadcrumbsComponent, selectors: [[\"td-breadcrumbs\"]], contentQueries: function TdBreadcrumbsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n            i0.ɵɵcontentQuery(dirIndex, TdBreadcrumbComponent, 5);\n        } if (rf & 2) {\n            let _t;\n            i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._breadcrumbs = _t);\n        } }, viewQuery: function TdBreadcrumbsComponent_Query(rf, ctx) { if (rf & 1) {\n            i0.ɵɵviewQuery(MatMenuTrigger, 5);\n        } if (rf & 2) {\n            let _t;\n            i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.overflowMenuTrigger = _t.first);\n        } }, hostVars: 12, hostBindings: function TdBreadcrumbsComponent_HostBindings(rf, ctx) { if (rf & 2) {\n            i0.ɵɵattribute(\"role\", ctx.role)(\"aria-label\", ctx.ariaLabel);\n            i0.ɵɵstyleProp(\"font-family\", ctx.fontFamily)(\"font-size\", ctx.fontSize)(\"font-weight\", ctx.fontWeight)(\"line-height\", ctx.lineHeight);\n            i0.ɵɵclassProp(\"td-breadcrumbs\", ctx.tdBreadCrumbsClass);\n        } }, inputs: { separatorIcon: \"separatorIcon\", size: \"size\" }, ngContentSelectors: _c0, decls: 6, vars: 1, consts: [[\"overflowMenu\", \"matMenu\"], [1, \"td-breadcrumbs-overflow-menu\"], [\"mat-menu-item\", \"\"], [\"mat-icon-button\", \"\", 1, \"td-breadcrumbs-overflow-button\", 3, \"matMenuTriggerFor\"], [\"color\", \"primary\", \"aria-hidden\", \"true\", 1, \"td-breadcrumb-separator-icon\"], [\"mat-menu-item\", \"\", 3, \"click\"]], template: function TdBreadcrumbsComponent_Template(rf, ctx) { if (rf & 1) {\n            i0.ɵɵprojectionDef();\n            i0.ɵɵprojection(0);\n            i0.ɵɵconditionalCreate(1, TdBreadcrumbsComponent_Conditional_1_Template, 5, 8);\n            i0.ɵɵelementStart(2, \"mat-menu\", 1, 0);\n            i0.ɵɵrepeaterCreate(4, TdBreadcrumbsComponent_For_5_Template, 2, 3, \"button\", 2, i0.ɵɵrepeaterTrackByIdentity);\n            i0.ɵɵelementEnd();\n        } if (rf & 2) {\n            i0.ɵɵadvance();\n            i0.ɵɵconditional(ctx.showOverflowButton ? 1 : -1);\n            i0.ɵɵadvance(3);\n            i0.ɵɵrepeater(ctx.overflowMenuItems);\n        } }, dependencies: [CommonModule, MatMenuModule, i1.MatMenu, i1.MatMenuItem, i1.MatMenuTrigger, MatButtonModule, i2.MatIconButton, MatIconModule, i3.MatIcon], styles: [\"[_nghost-%COMP%]{display:flex;align-items:center}.td-breadcrumbs[_nghost-%COMP%]{white-space:nowrap}.td-breadcrumbs-overflow-button[_ngcontent-%COMP%]{margin:0 4px;flex-shrink:0}.td-breadcrumbs-overflow-button[_ngcontent-%COMP%]   mat-icon[_ngcontent-%COMP%]{font-size:18px;height:18px;width:18px;line-height:unset}.td-breadcrumbs-overflow-button[_ngcontent-%COMP%] + .td-breadcrumb-separator-icon[_ngcontent-%COMP%]{order:inherit;font-size:16px;width:16px;height:16px;flex-shrink:0;margin:0 10px}.td-breadcrumb-overflow-menu[_ngcontent-%COMP%]{max-width:300px}.td-breadcrumb-overflow-menu[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]{max-width:100%}.td-breadcrumb-overflow-menu[_ngcontent-%COMP%]   button[_ngcontent-%COMP%]     .mat-mdc-menu-item-text{white-space:normal;line-height:1.4}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdBreadcrumbsComponent, [{\n        type: Component,\n        args: [{ selector: 'td-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, MatMenuModule, MatButtonModule, MatIconModule], template: \"<ng-content></ng-content>\\n\\n@if (showOverflowButton) {\\n  <button\\n    mat-icon-button\\n    class=\\\"td-breadcrumbs-overflow-button\\\"\\n    [matMenuTriggerFor]=\\\"overflowMenu\\\"\\n    [attr.aria-label]=\\\"overflowButtonAriaLabel\\\"\\n    [style.order]=\\\"overflowButtonOrder\\\"\\n    [attr.data-test-id]=\\\"'breadcrumb-overflow-button'\\\"\\n  >\\n    <mat-icon>more_horiz</mat-icon>\\n  </button>\\n  <mat-icon\\n    class=\\\"td-breadcrumb-separator-icon\\\"\\n    [style.order]=\\\"overflowButtonOrder\\\"\\n    color=\\\"primary\\\"\\n    aria-hidden=\\\"true\\\"\\n    >{{ separatorIcon }}</mat-icon\\n  >\\n}\\n\\n<mat-menu #overflowMenu=\\\"matMenu\\\" class=\\\"td-breadcrumbs-overflow-menu\\\">\\n  @for (item of overflowMenuItems; track item; let index = $index) {\\n    <button\\n      mat-menu-item\\n      (click)=\\\"handleOverflowItemClick(item)\\\"\\n      [attr.data-test-id]=\\\"'breadcrumb-overflow-item-' + index\\\"\\n      [attr.aria-label]=\\\"'Navigate to ' + getItemText(item)\\\"\\n    >\\n      {{ getItemText(item) }}\\n    </button>\\n  }\\n</mat-menu>\\n\", styles: [\":host{display:flex;align-items:center}:host.td-breadcrumbs{white-space:nowrap}.td-breadcrumbs-overflow-button{margin:0 4px;flex-shrink:0}.td-breadcrumbs-overflow-button mat-icon{font-size:18px;height:18px;width:18px;line-height:unset}.td-breadcrumbs-overflow-button+.td-breadcrumb-separator-icon{order:inherit;font-size:16px;width:16px;height:16px;flex-shrink:0;margin:0 10px}.td-breadcrumb-overflow-menu{max-width:300px}.td-breadcrumb-overflow-menu button{max-width:100%}.td-breadcrumb-overflow-menu button ::ng-deep .mat-mdc-menu-item-text{white-space:normal;line-height:1.4}\\n\"] }]\n    }], null, { tdBreadCrumbsClass: [{\n            type: HostBinding,\n            args: ['class.td-breadcrumbs']\n        }], role: [{\n            type: HostBinding,\n            args: ['attr.role']\n        }], ariaLabel: [{\n            type: HostBinding,\n            args: ['attr.aria-label']\n        }], _breadcrumbs: [{\n            type: ContentChildren,\n            args: [TdBreadcrumbComponent, { descendants: true }]\n        }], overflowMenuTrigger: [{\n            type: ViewChild,\n            args: [MatMenuTrigger]\n        }], separatorIcon: [{\n            type: Input\n        }], size: [{\n            type: Input\n        }], fontFamily: [{\n            type: HostBinding,\n            args: ['style.font-family']\n        }], fontSize: [{\n            type: HostBinding,\n            args: ['style.font-size']\n        }], fontWeight: [{\n            type: HostBinding,\n            args: ['style.font-weight']\n        }], lineHeight: [{\n            type: HostBinding,\n            args: ['style.line-height']\n        }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdBreadcrumbsComponent, { className: \"TdBreadcrumbsComponent\", filePath: \"breadcrumbs.component.ts\", lineNumber: 35 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2JyZWFkY3J1bWJzL3NyYy9icmVhZGNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFNBQVMsRUFHVCx1QkFBdUIsRUFFdkIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixLQUFLLEVBQ0wsV0FBVyxFQUVYLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztJQ2J0RSxBQVJGLGlDQU9DLGVBQ1c7SUFBQSwwQkFBVTtJQUN0QixBQURzQixpQkFBVyxFQUN4QjtJQUNULG1DQUtHO0lBQUEsWUFBbUI7SUFBQSxpQkFDckI7Ozs7SUFYQyxtREFBbUM7SUFGbkMsbURBQWtDOztJQVNsQyxlQUFtQztJQUFuQyxtREFBbUM7SUFHbEMsY0FBbUI7SUFBbkIsMENBQW1COzs7O0lB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cnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBPbkluaXQsXG4gIE9uRGVzdHJveSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgSG9zdEJpbmRpbmcsXG4gIEFmdGVyVmlld0luaXQsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIsIE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBUZEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1icmVhZGNydW1icycsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1icy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRNZW51TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBUZEJyZWFkY3J1bWJzQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBfZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIF9yZXNpemluZyA9IGZhbHNlO1xuICBwcml2YXRlIF9zZXBhcmF0b3JJY29uID0gJ2NoZXZyb25fcmlnaHQnO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gd2lkdGggcmF0aW8gZm9yIHRoZSBsYXN0IGJyZWFkY3J1bWIgd2hlbiB0cnVuY2F0aW9uIGlzIG5lZWRlZC5cbiAgICogU2V0IHRvIDM1JSBvZiBhdmFpbGFibGUgd2lkdGggdG8gZW5zdXJlIGxhc3QgYnJlYWRjcnVtYiBkb2Vzbid0IGRvbWluYXRlIHRoZSBzcGFjZVxuICAgKiB3aGlsZSBzdGlsbCBiZWluZyByZWFkYWJsZS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgTEFTVF9CUkVBRENSVU1CX01BWF9XSURUSF9SQVRJTyA9IDAuMzU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZC1icmVhZGNydW1icycpIHRkQnJlYWRDcnVtYnNDbGFzcyA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICduYXZpZ2F0aW9uJztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBhcmlhTGFiZWwgPSAnQnJlYWRjcnVtYic7XG5cbiAgLy8gYWxsIHRoZSBzdWIgY29tcG9uZW50cywgd2hpY2ggYXJlIHRoZSBpbmRpdmlkdWFsIGJyZWFkY3J1bWJzXG4gIEBDb250ZW50Q2hpbGRyZW4oVGRCcmVhZGNydW1iQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIF9icmVhZGNydW1icyE6IFF1ZXJ5TGlzdDxUZEJyZWFkY3J1bWJDb21wb25lbnQ+O1xuICAvLyB0aGUgbGlzdCBvZiBoaWRkZW4gYnJlYWRjcnVtYnMgbm90IHNob3duIHJpZ2h0IG5vdyAocmVzcG9uc2l2ZSlcbiAgaGlkZGVuQnJlYWRjcnVtYnM6IFRkQnJlYWRjcnVtYkNvbXBvbmVudFtdID0gW107XG4gIG92ZXJmbG93TWVudUl0ZW1zOiBUZEJyZWFkY3J1bWJDb21wb25lbnRbXSA9IFtdO1xuICBzaG93T3ZlcmZsb3dCdXR0b24gPSBmYWxzZTtcbiAgb3ZlcmZsb3dCdXR0b25PcmRlciA9IDUwO1xuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIG92ZXJmbG93TWVudVRyaWdnZXI/OiBNYXRNZW51VHJpZ2dlcjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgaWNvbiB1cmwgc2hvd24gYmV0d2VlbiBicmVhZGNydW1icy4gRGVmYXVsdHMgdG8gJ2NoZXZyb25fcmlnaHQnLlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHNldCBzZXBhcmF0b3JJY29uKHNlcGFyYXRvckljb246IHN0cmluZykge1xuICAgIHRoaXMuX3NlcGFyYXRvckljb24gPSBzZXBhcmF0b3JJY29uO1xuICAgIHRoaXMuc2V0Q3J1bWJJY29ucygpO1xuICB9XG4gIHB1YmxpYyBnZXQgc2VwYXJhdG9ySWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZXBhcmF0b3JJY29uO1xuICB9XG5cbiAgQElucHV0KCkgc2l6ZT86XG4gICAgfCAnaGVhZGxpbmUxJ1xuICAgIHwgJ2hlYWRsaW5lMidcbiAgICB8ICdoZWFkbGluZTMnXG4gICAgfCAnaGVhZGxpbmU0J1xuICAgIHwgJ2hlYWRsaW5lNSdcbiAgICB8ICdoZWFkbGluZTYnXG4gICAgfCAnc3VidGl0bGUxJ1xuICAgIHwgJ3N1YnRpdGxlMidcbiAgICB8ICdib2R5MSdcbiAgICB8ICdib2R5MidcbiAgICB8ICdidXR0b24nXG4gICAgfCAnY2FwdGlvbic7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5mb250LWZhbWlseScpXG4gIGdldCBmb250RmFtaWx5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZVxuICAgICAgPyBgdmFyKC0tY3YtdHlwb2dyYXBoeS0ke3RoaXMuc2l6ZX0tZm9udC1mYW1pbHkpYFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZvbnQtc2l6ZScpXG4gIGdldCBmb250U2l6ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNpemVcbiAgICAgID8gYHZhcigtLWN2LXR5cG9ncmFwaHktJHt0aGlzLnNpemV9LWZvbnQtc2l6ZSlgXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZm9udC13ZWlnaHQnKVxuICBnZXQgZm9udFdlaWdodCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNpemVcbiAgICAgID8gYHZhcigtLWN2LXR5cG9ncmFwaHktJHt0aGlzLnNpemV9LWZvbnQtd2VpZ2h0KWBcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5saW5lLWhlaWdodCcpXG4gIGdldCBsaW5lSGVpZ2h0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZVxuICAgICAgPyBgdmFyKC0tY3YtdHlwb2dyYXBoeS0ke3RoaXMuc2l6ZX0tbGluZS1oZWlnaHQpYFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5fcmVzaXppbmcpIHtcbiAgICAgICAgICB0aGlzLl9yZXNpemluZyA9IHRydWU7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVWaXNpYmlsaXR5KCk7XG4gICAgICAgICAgICB0aGlzLl9yZXNpemluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fd2FpdFRvQ2FsY3VsYXRlVmlzaWJpbGl0eSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2JyZWFkY3J1bWJzLmNoYW5nZXNcbiAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLl9icmVhZGNydW1icyksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fd2FpdFRvQ2FsY3VsYXRlVmlzaWJpbGl0eSgpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldENydW1iSWNvbnMoKTtcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLypcbiAgICogQ3VycmVudCB3aWR0aCBvZiB0aGUgZWxlbWVudCBjb250YWluZXJcbiAgICovXG4gIGdldCBuYXRpdmVFbGVtZW50V2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IDxIVE1MRWxlbWVudD50aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgLy8gTmVlZCB0byB0YWtlIGludG8gYWNjb3VudCBib3JkZXIsIG1hcmdpbiBhbmQgcGFkZGluZyB0aGF0IG1pZ2h0IGJlIGFyb3VuZCBhbGwgdGhlIGNydW1ic1xuICAgIGNvbnN0IHN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgY29uc3QgYm9yZGVyTGVmdDogbnVtYmVyID0gcGFyc2VJbnQoc3R5bGUuYm9yZGVyTGVmdCwgMTApO1xuICAgIGNvbnN0IGJvcmRlclJpZ2h0OiBudW1iZXIgPSBwYXJzZUludChzdHlsZS5ib3JkZXJSaWdodCwgMTApO1xuICAgIGNvbnN0IG1hcmdpbkxlZnQ6IG51bWJlciA9IHBhcnNlSW50KHN0eWxlLm1hcmdpbkxlZnQsIDEwKTtcbiAgICBjb25zdCBtYXJnaW5SaWdodDogbnVtYmVyID0gcGFyc2VJbnQoc3R5bGUubWFyZ2luUmlnaHQsIDEwKTtcbiAgICBjb25zdCBwYWRkaW5nTGVmdDogbnVtYmVyID0gcGFyc2VJbnQoc3R5bGUucGFkZGluZ0xlZnQsIDEwKTtcbiAgICBjb25zdCBwYWRkaW5nUmlnaHQ6IG51bWJlciA9IHBhcnNlSW50KHN0eWxlLnBhZGRpbmdSaWdodCwgMTApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLVxuICAgICAgYm9yZGVyTGVmdCAtXG4gICAgICBib3JkZXJSaWdodCAtXG4gICAgICBtYXJnaW5MZWZ0IC1cbiAgICAgIG1hcmdpblJpZ2h0IC1cbiAgICAgIHBhZGRpbmdMZWZ0IC1cbiAgICAgIHBhZGRpbmdSaWdodFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRvdGFsIGNvdW50IG9mIGluZGl2aWR1YWwgYnJlYWRjcnVtYnNcbiAgICovXG4gIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9icmVhZGNydW1icyA/IHRoaXMuX2JyZWFkY3J1bWJzLmxlbmd0aCA6IDA7XG4gIH1cblxuICBnZXQgb3ZlcmZsb3dCdXR0b25BcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMuaGlkZGVuQnJlYWRjcnVtYnMubGVuZ3RoO1xuICAgIHJldHVybiBgU2hvdyAke2NvdW50fSBoaWRkZW4gYnJlYWRjcnVtYiR7Y291bnQgPiAxID8gJ3MnIDogJyd9YDtcbiAgfVxuXG4gIGhhbmRsZU92ZXJmbG93SXRlbUNsaWNrKGl0ZW06IFRkQnJlYWRjcnVtYkNvbXBvbmVudCk6IHZvaWQge1xuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSBpdGVtLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKG5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIG5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBnZXRJdGVtVGV4dChpdGVtOiBUZEJyZWFkY3J1bWJDb21wb25lbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtLmZ1bGxUZXh0IHx8ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3J1bWIgaWNvbiBzZXBhcmF0b3JzXG4gICAqL1xuICBwcml2YXRlIHNldENydW1iSWNvbnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2JyZWFkY3J1bWJzKSB7XG4gICAgICBjb25zdCBicmVhZGNydW1iQXJyYXk6IFRkQnJlYWRjcnVtYkNvbXBvbmVudFtdID1cbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYnMudG9BcnJheSgpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgYnJlYWRjcnVtYkFycmF5LmZvckVhY2goXG4gICAgICAgICAgKGJyZWFkY3J1bWI6IFRkQnJlYWRjcnVtYkNvbXBvbmVudCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgYnJlYWRjcnVtYi5zZXBhcmF0b3JJY29uID0gdGhpcy5zZXBhcmF0b3JJY29uO1xuICAgICAgICAgICAgYnJlYWRjcnVtYi5kaXNwbGF5SWNvbiA9IHRydWU7XG4gICAgICAgICAgICBicmVhZGNydW1iLmlzQ3VycmVudFBhZ2UgPSBpbmRleCA9PT0gYnJlYWRjcnVtYkFycmF5Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIGNvbnN0IGNydW1ic0FycmF5OiBUZEJyZWFkY3J1bWJDb21wb25lbnRbXSA9IHRoaXMuX2JyZWFkY3J1bWJzLnRvQXJyYXkoKTtcbiAgICBjb25zdCB0b3RhbEJyZWFkY3J1bWJzID0gY3J1bWJzQXJyYXkubGVuZ3RoO1xuXG4gICAgLy8gUmVzZXQgYWxsIG9yZGVycyB3aGVuIHRoZXJlIGFyZSAyIG9yIGZld2VyIGJyZWFkY3J1bWJzXG4gICAgaWYgKHRvdGFsQnJlYWRjcnVtYnMgPD0gMikge1xuICAgICAgY3J1bWJzQXJyYXkuZm9yRWFjaCgoYnJlYWRjcnVtYjogVGRCcmVhZGNydW1iQ29tcG9uZW50KSA9PiB7XG4gICAgICAgIGJyZWFkY3J1bWIuZGlzcGxheUNydW1iID0gdHJ1ZTtcbiAgICAgICAgYnJlYWRjcnVtYi5zaG91bGRUcnVuY2F0ZSA9IGZhbHNlO1xuICAgICAgICBicmVhZGNydW1iLm1heFdpZHRoID0gdW5kZWZpbmVkO1xuICAgICAgICBicmVhZGNydW1iLmZsZXhPcmRlciA9IDA7IC8vIERlZmF1bHQgb3JkZXJcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zaG93T3ZlcmZsb3dCdXR0b24gPSBmYWxzZTtcbiAgICAgIHRoaXMub3ZlcmZsb3dNZW51SXRlbXMgPSBbXTtcbiAgICAgIHRoaXMuaGlkZGVuQnJlYWRjcnVtYnMgPSBbXTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Q3J1bWIgPSBjcnVtYnNBcnJheVswXTtcbiAgICBjb25zdCBsYXN0Q3J1bWIgPSBjcnVtYnNBcnJheVt0b3RhbEJyZWFkY3J1bWJzIC0gMV07XG4gICAgY29uc3QgY29udGFpbmVyV2lkdGggPSB0aGlzLm5hdGl2ZUVsZW1lbnRXaWR0aDtcbiAgICBjb25zdCB0b3RhbFJlcXVpcmVkV2lkdGggPSBjcnVtYnNBcnJheS5yZWR1Y2UoXG4gICAgICAoc3VtLCBjcnVtYikgPT4gc3VtICsgY3J1bWIud2lkdGgsXG4gICAgICAwLFxuICAgICk7XG5cbiAgICBpZiAodG90YWxSZXF1aXJlZFdpZHRoIDw9IGNvbnRhaW5lcldpZHRoKSB7XG4gICAgICBjcnVtYnNBcnJheS5mb3JFYWNoKFxuICAgICAgICAoYnJlYWRjcnVtYjogVGRCcmVhZGNydW1iQ29tcG9uZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgYnJlYWRjcnVtYi5kaXNwbGF5Q3J1bWIgPSB0cnVlO1xuICAgICAgICAgIGJyZWFkY3J1bWIuc2hvdWxkVHJ1bmNhdGUgPSBmYWxzZTtcbiAgICAgICAgICBicmVhZGNydW1iLm1heFdpZHRoID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGJyZWFkY3J1bWIuZmxleE9yZGVyID1cbiAgICAgICAgICAgIGluZGV4ID09PSAwXG4gICAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgICA6IGluZGV4ID09PSB0b3RhbEJyZWFkY3J1bWJzIC0gMVxuICAgICAgICAgICAgICAgID8gMTAwMFxuICAgICAgICAgICAgICAgIDogaW5kZXggKiAxMDsgLy8gQXNzaWduIG9yZGVycyBiYXNlZCBvbiBpbmRleCBmb3IgbWlkZGxlIGNydW1ic1xuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5zaG93T3ZlcmZsb3dCdXR0b24gPSBmYWxzZTtcbiAgICAgIHRoaXMub3ZlcmZsb3dNZW51SXRlbXMgPSBbXTtcbiAgICAgIHRoaXMuaGlkZGVuQnJlYWRjcnVtYnMgPSBbXTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG92ZXJmbG93QnV0dG9uV2lkdGggPSA0ODtcbiAgICBjb25zdCBhdmFpbGFibGVXaWR0aCA9IGNvbnRhaW5lcldpZHRoIC0gb3ZlcmZsb3dCdXR0b25XaWR0aDtcbiAgICBjb25zdCB2aXNpYmxlTWlkZGxlQ3J1bWJzOiBudW1iZXJbXSA9IFtdO1xuICAgIGxldCByZXF1aXJlZFdpZHRoID0gZmlyc3RDcnVtYi53aWR0aCArIGxhc3RDcnVtYi53aWR0aDtcblxuICAgIC8vIFRyeSB0byBmaXQgYnJlYWRjcnVtYnMgZnJvbSByaWdodCB0byBsZWZ0IChmYXZvcmluZyBtb3JlIHJlY2VudCBpdGVtcylcbiAgICBmb3IgKGxldCBpID0gdG90YWxCcmVhZGNydW1icyAtIDI7IGkgPj0gMTsgaS0tKSB7XG4gICAgICBjb25zdCBicmVhZGNydW1iID0gY3J1bWJzQXJyYXlbaV07XG4gICAgICBpZiAocmVxdWlyZWRXaWR0aCArIGJyZWFkY3J1bWIud2lkdGggPD0gYXZhaWxhYmxlV2lkdGgpIHtcbiAgICAgICAgcmVxdWlyZWRXaWR0aCArPSBicmVhZGNydW1iLndpZHRoO1xuICAgICAgICB2aXNpYmxlTWlkZGxlQ3J1bWJzLnVuc2hpZnQoaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgdmlzaWJpbGl0eSBhbmQgZmxleGJveCBvcmRlcnNcbiAgICBjb25zdCBoaWRkZW5CcmVhZGNydW1iczogVGRCcmVhZGNydW1iQ29tcG9uZW50W10gPSBbXTtcbiAgICBsZXQgY3VycmVudE9yZGVyID0gMTA7IC8vIFN0YXJ0IG9yZGVycyBhdCAxMCBmb3IgbWlkZGxlIGJyZWFkY3J1bWJzXG5cbiAgICBjcnVtYnNBcnJheS5mb3JFYWNoKChicmVhZGNydW1iOiBUZEJyZWFkY3J1bWJDb21wb25lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAvLyBGaXJzdCBicmVhZGNydW1iIC0gYWx3YXlzIHZpc2libGUsIGFsd2F5cyBmaXJzdFxuICAgICAgICBicmVhZGNydW1iLmRpc3BsYXlDcnVtYiA9IHRydWU7XG4gICAgICAgIGJyZWFkY3J1bWIuc2hvdWxkVHJ1bmNhdGUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWRjcnVtYi5tYXhXaWR0aCA9IHVuZGVmaW5lZDtcbiAgICAgICAgYnJlYWRjcnVtYi5mbGV4T3JkZXIgPSAwO1xuICAgICAgfSBlbHNlIGlmIChpbmRleCA9PT0gdG90YWxCcmVhZGNydW1icyAtIDEpIHtcbiAgICAgICAgLy8gTGFzdCBicmVhZGNydW1iIC0gYWx3YXlzIHZpc2libGUsIGFsd2F5cyBsYXN0XG4gICAgICAgIGJyZWFkY3J1bWIuZGlzcGxheUNydW1iID0gdHJ1ZTtcbiAgICAgICAgYnJlYWRjcnVtYi5zaG91bGRUcnVuY2F0ZSA9IGZhbHNlO1xuICAgICAgICBicmVhZGNydW1iLmZsZXhPcmRlciA9IDEwMDA7XG4gICAgICB9IGVsc2UgaWYgKHZpc2libGVNaWRkbGVDcnVtYnMuaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgIC8vIFZpc2libGUgbWlkZGxlIGJyZWFkY3J1bWJzIC0gYXNzaWduIGluY3JlbWVudGFsIG9yZGVyc1xuICAgICAgICBicmVhZGNydW1iLmRpc3BsYXlDcnVtYiA9IHRydWU7XG4gICAgICAgIGJyZWFkY3J1bWIuc2hvdWxkVHJ1bmNhdGUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWRjcnVtYi5tYXhXaWR0aCA9IHVuZGVmaW5lZDtcbiAgICAgICAgYnJlYWRjcnVtYi5mbGV4T3JkZXIgPSBjdXJyZW50T3JkZXI7XG4gICAgICAgIGN1cnJlbnRPcmRlciArPSAxMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEhpZGRlbiBicmVhZGNydW1ic1xuICAgICAgICBicmVhZGNydW1iLmRpc3BsYXlDcnVtYiA9IGZhbHNlO1xuICAgICAgICBicmVhZGNydW1iLnNob3VsZFRydW5jYXRlID0gZmFsc2U7XG4gICAgICAgIGJyZWFkY3J1bWIubWF4V2lkdGggPSB1bmRlZmluZWQ7XG4gICAgICAgIGJyZWFkY3J1bWIuZmxleE9yZGVyID0gMDsgLy8gRG9lc24ndCBtYXR0ZXIsIGl0J3MgaGlkZGVuXG4gICAgICAgIGhpZGRlbkJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBPdmVyZmxvdyBidXR0b24gb3JkZXIgY29tZXMgYWZ0ZXIgdmlzaWJsZSBtaWRkbGUgYnJlYWRjcnVtYnNcbiAgICB0aGlzLm92ZXJmbG93QnV0dG9uT3JkZXIgPSBjdXJyZW50T3JkZXI7XG5cbiAgICAvLyBUcnVuY2F0ZSBsYXN0IGJyZWFkY3J1bWIgaWYgdG9vIGxvbmdcbiAgICBjb25zdCBsYXN0QnJlYWRjcnVtYk1heFdpZHRoID1cbiAgICAgIGF2YWlsYWJsZVdpZHRoICogdGhpcy5MQVNUX0JSRUFEQ1JVTUJfTUFYX1dJRFRIX1JBVElPO1xuICAgIGlmIChsYXN0Q3J1bWIud2lkdGggPiBsYXN0QnJlYWRjcnVtYk1heFdpZHRoKSB7XG4gICAgICBsYXN0Q3J1bWIuc2hvdWxkVHJ1bmNhdGUgPSB0cnVlO1xuICAgICAgbGFzdENydW1iLm1heFdpZHRoID0gbGFzdEJyZWFkY3J1bWJNYXhXaWR0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW5zdXJlIG1heFdpZHRoIGlzIHJlc2V0IGlmIGxhc3QgYnJlYWRjcnVtYiBkb2Vzbid0IG5lZWQgdHJ1bmNhdGlvblxuICAgICAgbGFzdENydW1iLm1heFdpZHRoID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd092ZXJmbG93QnV0dG9uID0gaGlkZGVuQnJlYWRjcnVtYnMubGVuZ3RoID4gMDtcbiAgICB0aGlzLm92ZXJmbG93TWVudUl0ZW1zID0gaGlkZGVuQnJlYWRjcnVtYnM7XG4gICAgdGhpcy5oaWRkZW5CcmVhZGNydW1icyA9IGhpZGRlbkJyZWFkY3J1bWJzO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfd2FpdFRvQ2FsY3VsYXRlVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2NhbGN1bGF0ZVZpc2liaWxpdHkoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG5AaWYgKHNob3dPdmVyZmxvd0J1dHRvbikge1xuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgY2xhc3M9XCJ0ZC1icmVhZGNydW1icy1vdmVyZmxvdy1idXR0b25cIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJvdmVyZmxvd01lbnVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3ZlcmZsb3dCdXR0b25BcmlhTGFiZWxcIlxuICAgIFtzdHlsZS5vcmRlcl09XCJvdmVyZmxvd0J1dHRvbk9yZGVyXCJcbiAgICBbYXR0ci5kYXRhLXRlc3QtaWRdPVwiJ2JyZWFkY3J1bWItb3ZlcmZsb3ctYnV0dG9uJ1wiXG4gID5cbiAgICA8bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LWljb25cbiAgICBjbGFzcz1cInRkLWJyZWFkY3J1bWItc2VwYXJhdG9yLWljb25cIlxuICAgIFtzdHlsZS5vcmRlcl09XCJvdmVyZmxvd0J1dHRvbk9yZGVyXCJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgPnt7IHNlcGFyYXRvckljb24gfX08L21hdC1pY29uXG4gID5cbn1cblxuPG1hdC1tZW51ICNvdmVyZmxvd01lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJ0ZC1icmVhZGNydW1icy1vdmVyZmxvdy1tZW51XCI+XG4gIEBmb3IgKGl0ZW0gb2Ygb3ZlcmZsb3dNZW51SXRlbXM7IHRyYWNrIGl0ZW07IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgIDxidXR0b25cbiAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgIChjbGljayk9XCJoYW5kbGVPdmVyZmxvd0l0ZW1DbGljayhpdGVtKVwiXG4gICAgICBbYXR0ci5kYXRhLXRlc3QtaWRdPVwiJ2JyZWFkY3J1bWItb3ZlcmZsb3ctaXRlbS0nICsgaW5kZXhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTmF2aWdhdGUgdG8gJyArIGdldEl0ZW1UZXh0KGl0ZW0pXCJcbiAgICA+XG4gICAgICB7eyBnZXRJdGVtVGV4dChpdGVtKSB9fVxuICAgIDwvYnV0dG9uPlxuICB9XG48L21hdC1tZW51PlxuIl19","import { NgModule } from '@angular/core';\nimport { TdBreadcrumbsComponent } from './breadcrumbs.component';\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\nimport { MatButtonModule } from '@angular/material/button'; // NUEVO\nimport { MatMenuModule } from '@angular/material/menu'; // NUEVO\nimport { MatIconModule } from '@angular/material/icon'; // NUEVO\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\nexport class CovalentBreadcrumbsModule {\n    static ɵfac = function CovalentBreadcrumbsModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentBreadcrumbsModule)(); };\n    static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentBreadcrumbsModule });\n    static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TdBreadcrumbsComponent,\n            TdBreadcrumbComponent,\n            MatButtonModule,\n            MatMenuModule,\n            MatIconModule,\n            MatTooltipModule] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentBreadcrumbsModule, [{\n        type: NgModule,\n        args: [{\n                imports: [\n                    TdBreadcrumbsComponent,\n                    TdBreadcrumbComponent,\n                    MatButtonModule,\n                    MatMenuModule,\n                    MatIconModule,\n                    MatTooltipModule,\n                ],\n                exports: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n            }]\n    }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentBreadcrumbsModule, { imports: [TdBreadcrumbsComponent,\n        TdBreadcrumbComponent,\n        MatButtonModule,\n        MatMenuModule,\n        MatIconModule,\n        MatTooltipModule], exports: [TdBreadcrumbsComponent, TdBreadcrumbComponent] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2JyZWFkY3J1bWJzL3NyYy9icmVhZGNydW1icy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUMsQ0FBQyxRQUFRO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyxDQUFDLFFBQVE7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDLENBQUMsUUFBUTtBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFN0Q7OztHQUdHO0FBWUgsTUFBTSxPQUFPLHlCQUF5QjttSEFBekIseUJBQXlCOzREQUF6Qix5QkFBeUI7Z0VBVGxDLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsZ0JBQWdCOztpRkFJUCx5QkFBeUI7Y0FYckMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7b0JBQ3RCLHFCQUFxQjtvQkFDckIsZUFBZTtvQkFDZixhQUFhO29CQUNiLGFBQWE7b0JBQ2IsZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQzthQUN6RDs7d0ZBQ1kseUJBQXlCLGNBVGxDLHNCQUFzQjtRQUN0QixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGFBQWE7UUFDYixhQUFhO1FBQ2IsZ0JBQWdCLGFBRVIsc0JBQXNCLEVBQUUscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRkQnJlYWRjcnVtYnNDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJzsgLy8gTlVFVk9cbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JzsgLy8gTlVFVk9cbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJzsgLy8gTlVFVk9cbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIG1vZHVsZSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gZnV0dXJlIHZlcnNpb25zLlxuICogUGxlYXNlIG1pZ3JhdGUgdG8gdXNpbmcgc3RhbmRhbG9uZSBjb21wb25lbnRzIGFzIHNvb24gYXMgcG9zc2libGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBUZEJyZWFkY3J1bWJzQ29tcG9uZW50LFxuICAgIFRkQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtUZEJyZWFkY3J1bWJzQ29tcG9uZW50LCBUZEJyZWFkY3J1bWJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudEJyZWFkY3J1bWJzTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtY29yZS1icmVhZGNydW1icy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9icmVhZGNydW1icy9zcmMvY292YWxlbnQtY29yZS1icmVhZGNydW1icy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":["_c0","i1"],"mappings":"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"}