@seniorsistemas/angular-components 19.0.3 → 19.0.4-bugfix-ptfgap-1320-237d1241

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.
Files changed (94) hide show
  1. package/breadcrumb/lib/breadcrumb/breadcrumb-models.d.ts +11 -0
  2. package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +7 -23
  3. package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.d.ts +25 -0
  4. package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.d.ts +10 -0
  5. package/breadcrumb/public-api.d.ts +4 -2
  6. package/button/lib/button/button.component.d.ts +2 -1
  7. package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +2 -1
  8. package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +1 -0
  9. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-models.mjs +2 -0
  10. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +25 -98
  11. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +120 -0
  12. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.mjs +19 -0
  13. package/esm2022/breadcrumb/public-api.mjs +4 -3
  14. package/esm2022/button/lib/button/button.component.mjs +6 -3
  15. package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +1 -1
  16. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +1 -1
  17. package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +2 -2
  18. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +7 -4
  19. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +1 -1
  20. package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +2 -2
  21. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +2 -2
  22. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +1 -1
  23. package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +1 -1
  24. package/esm2022/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +3 -3
  25. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +2 -2
  26. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +2 -2
  27. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +2 -2
  28. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +2 -2
  29. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +1 -1
  30. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +1 -1
  31. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +1 -1
  32. package/esm2022/global-search/lib/global-search/global-search.component.mjs +2 -2
  33. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +1 -1
  34. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +1 -1
  35. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +3 -3
  36. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
  37. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +1 -1
  38. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.mjs +2 -1
  39. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +1 -1
  40. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +1 -1
  41. package/esm2022/lib/locale/fallback.mjs +4 -2
  42. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +1 -1
  43. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +1 -1
  44. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +1 -1
  45. package/esm2022/picklist/lib/picklist/picklist.component.mjs +1 -1
  46. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +1 -1
  47. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +1 -1
  48. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +62 -46
  49. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
  50. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +6 -2
  51. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +77 -35
  52. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  53. package/fesm2022/seniorsistemas-angular-components-button.mjs +5 -2
  54. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  55. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +1 -1
  56. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -1
  57. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +1 -1
  58. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  59. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +17 -14
  60. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  61. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +1 -1
  62. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  63. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +1 -1
  64. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  65. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +2 -2
  66. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  67. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +1 -1
  68. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  69. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +1 -1
  70. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  71. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +5 -4
  72. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  73. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +2 -2
  74. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  75. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +1 -1
  76. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  77. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +2 -2
  78. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  79. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +1 -1
  80. package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
  81. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +1 -1
  82. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  83. package/fesm2022/seniorsistemas-angular-components-table.mjs +1 -1
  84. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  85. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +67 -47
  86. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  87. package/fesm2022/seniorsistemas-angular-components.mjs +3 -1
  88. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  89. package/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.d.ts +2 -0
  90. package/package.json +1 -1
  91. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +3 -1
  92. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +2 -1
  93. package/breadcrumb/lib/breadcrumb/breadcrumb.module.d.ts +0 -10
  94. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.module.mjs +0 -20
@@ -0,0 +1,11 @@
1
+ import { Params } from '@angular/router';
2
+ export type BreadcrumbItem = {
3
+ routerLink?: string | string[];
4
+ active?: boolean;
5
+ disabled?: boolean;
6
+ queryParams?: Params;
7
+ url?: string;
8
+ icon?: string;
9
+ target?: string;
10
+ label?: string;
11
+ };
@@ -1,25 +1,9 @@
1
- import { OnDestroy } from '@angular/core';
2
- import { ActivatedRoute, Router } from '@angular/router';
3
- import { MenuItem } from 'primeng/api';
1
+ import { BreadcrumbItem } from './breadcrumb-models';
4
2
  import * as i0 from "@angular/core";
5
- export declare class BreadcrumbComponent implements OnDestroy {
6
- private readonly _activatedRoute;
7
- private readonly _router;
8
- homeUrl?: string;
9
- targetHomeUrl: string;
10
- home?: MenuItem;
11
- items?: MenuItem[];
12
- title?: string;
13
- private readonly _ngUnsubscribe;
14
- constructor(_activatedRoute: ActivatedRoute, _router: Router);
15
- ngOnDestroy(): void;
16
- private _onNavigationEnd;
17
- private _getValidChildren;
18
- private _getCurrentTitle;
19
- private _getCurrentHome;
20
- private _getCurrentItems;
21
- private _getMenuItem;
22
- private _getTitle;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "s-breadcrumb", never, { "homeUrl": { "alias": "homeUrl"; "required": false; }; "targetHomeUrl": { "alias": "targetHomeUrl"; "required": false; }; }, {}, never, never, false, never>;
3
+ export declare class BreadcrumbListComponent {
4
+ readonly items: import("@angular/core").InputSignal<BreadcrumbItem[]>;
5
+ private readonly router;
6
+ protected onActivateRoute(activatedBreadcrumb: BreadcrumbItem): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbListComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbListComponent, "s-breadcrumb-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
25
9
  }
@@ -0,0 +1,25 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import { BreadcrumbItem } from '../breadcrumb/breadcrumb-models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@seniorsistemas/angular-components/common/deprecated-selector";
6
+ export declare class DynamicBreadcrumbComponent implements OnDestroy {
7
+ private readonly _activatedRoute;
8
+ private readonly _router;
9
+ homeUrl?: string;
10
+ targetHomeUrl: string;
11
+ items: BreadcrumbItem[];
12
+ title?: string;
13
+ private readonly _ngUnsubscribe;
14
+ constructor(_activatedRoute: ActivatedRoute, _router: Router);
15
+ ngOnDestroy(): void;
16
+ private _onNavigationEnd;
17
+ private _getValidChildren;
18
+ private _getCurrentTitle;
19
+ private _getCurrentHome;
20
+ private _getCurrentItems;
21
+ private _getMenuItem;
22
+ private _getTitle;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<DynamicBreadcrumbComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicBreadcrumbComponent, "s-breadcrumb, s-dynamic-breadcrumb", never, { "homeUrl": { "alias": "homeUrl"; "required": false; }; "targetHomeUrl": { "alias": "targetHomeUrl"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.DeprecatedSelectorDirective; inputs: {}; outputs: {}; }]>;
25
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./dynamic-breadcrumb.component";
3
+ /**
4
+ * @deprecated utilizar DynamicBreadcrumbComponent (standalone)
5
+ */
6
+ export declare class BreadcrumbModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<BreadcrumbModule, never, [typeof i1.DynamicBreadcrumbComponent], [typeof i1.DynamicBreadcrumbComponent]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<BreadcrumbModule>;
10
+ }
@@ -1,2 +1,4 @@
1
- export { BreadcrumbModule } from './lib/breadcrumb/breadcrumb.module';
2
- export { BreadcrumbComponent } from './lib/breadcrumb/breadcrumb.component';
1
+ export { BreadcrumbModule } from './lib/dynamic-breadcrumb/dynamic-breadcrumb.module';
2
+ export { DynamicBreadcrumbComponent } from './lib/dynamic-breadcrumb/dynamic-breadcrumb.component';
3
+ export { BreadcrumbListComponent } from './lib/breadcrumb/breadcrumb.component';
4
+ export { type BreadcrumbItem } from './lib/breadcrumb/breadcrumb-models';
@@ -21,6 +21,7 @@ export declare class ButtonComponent implements OnChanges {
21
21
  type?: string | undefined;
22
22
  priority?: ButtonPriority;
23
23
  menuOptions: TieredMenuItemData[];
24
+ menuAriaLabel?: string;
24
25
  size?: 'default' | 'small';
25
26
  slide: boolean;
26
27
  animation?: ButtonAnimations;
@@ -31,5 +32,5 @@ export declare class ButtonComponent implements OnChanges {
31
32
  ngOnChanges(_: SimpleChanges): void;
32
33
  isRotateAnimation(): boolean;
33
34
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "s-button", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "rightIconClass": { "alias": "rightIconClass"; "required": false; }; "caret": { "alias": "caret"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "auxiliary": { "alias": "auxiliary"; "required": false; }; "type": { "alias": "type"; "required": false; }; "priority": { "alias": "priority"; "required": false; }; "menuOptions": { "alias": "menuOptions"; "required": false; }; "size": { "alias": "size"; "required": false; }; "slide": { "alias": "slide"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "s-button", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "rightIconClass": { "alias": "rightIconClass"; "required": false; }; "caret": { "alias": "caret"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "auxiliary": { "alias": "auxiliary"; "required": false; }; "type": { "alias": "type"; "required": false; }; "priority": { "alias": "priority"; "required": false; }; "menuOptions": { "alias": "menuOptions"; "required": false; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; }; "size": { "alias": "size"; "required": false; }; "slide": { "alias": "slide"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; }, { "clicked": "clicked"; }, never, ["*"], true, never>;
35
36
  }
@@ -29,6 +29,7 @@ export declare class LookupComponent implements ControlValueAccessor, OnChanges,
29
29
  formControlName?: string;
30
30
  id: string;
31
31
  autocompleteForceSelection: boolean;
32
+ maxlength: number | null;
32
33
  multiple: boolean;
33
34
  dataKey: string;
34
35
  disabled: boolean;
@@ -136,7 +137,7 @@ export declare class LookupComponent implements ControlValueAccessor, OnChanges,
136
137
  private _setFocusFilter;
137
138
  private _subscribeEvents;
138
139
  static ɵfac: i0.ɵɵFactoryDeclaration<LookupComponent, never>;
139
- static ɵcmp: i0.ɵɵComponentDeclaration<LookupComponent, "s-lookup", never, { "formControlName": { "alias": "formControlName"; "required": false; }; "id": { "alias": "id"; "required": false; }; "autocompleteForceSelection": { "alias": "autocompleteForceSelection"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "dataKey": { "alias": "dataKey"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "lookupSuggestions": { "alias": "lookupSuggestions"; "required": false; }; "lookupDisplayField": { "alias": "lookupDisplayField"; "required": false; }; "lookupDisplayFieldTooltip": { "alias": "lookupDisplayFieldTooltip"; "required": false; }; "lookupEmptyMessage": { "alias": "lookupEmptyMessage"; "required": false; }; "lookupAppendTo": { "alias": "lookupAppendTo"; "required": false; }; "searchEmptyDescription": { "alias": "searchEmptyDescription"; "required": false; }; "searchGridData": { "alias": "searchGridData"; "required": false; }; "searchTotalRecords": { "alias": "searchTotalRecords"; "required": false; }; "searchFields": { "alias": "searchFields"; "required": false; }; "searchGridFields": { "alias": "searchGridFields"; "required": false; }; "multiSortMeta": { "alias": "multiSortMeta"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "sortableColumnsDisabled": { "alias": "sortableColumnsDisabled"; "required": false; }; "lookupRowProps": { "alias": "lookupRowProps"; "required": false; }; "defaultFilter": { "alias": "defaultFilter"; "required": false; }; "showAddOption": { "alias": "showAddOption"; "required": false; }; "showEditOption": { "alias": "showEditOption"; "required": false; }; "showRemoveOption": { "alias": "showRemoveOption"; "required": false; }; "dialogFullScreen": { "alias": "dialogFullScreen"; "required": false; "isSignal": true; }; "labelOptions": { "alias": "labelOptions"; "required": false; }; }, { "onLookupRequest": "onLookupRequest"; "onSearchRequest": "onSearchRequest"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onKeyUp": "onKeyUp"; "onSelect": "onSelect"; "onUnselect": "onUnselect"; "onClear": "onClear"; "onAdd": "onAdd"; "onEdit": "onEdit"; "onRemove": "onRemove"; "onClearButtonClick": "onClearButtonClick"; }, never, never, true, never>;
140
+ static ɵcmp: i0.ɵɵComponentDeclaration<LookupComponent, "s-lookup", never, { "formControlName": { "alias": "formControlName"; "required": false; }; "id": { "alias": "id"; "required": false; }; "autocompleteForceSelection": { "alias": "autocompleteForceSelection"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "dataKey": { "alias": "dataKey"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "lookupSuggestions": { "alias": "lookupSuggestions"; "required": false; }; "lookupDisplayField": { "alias": "lookupDisplayField"; "required": false; }; "lookupDisplayFieldTooltip": { "alias": "lookupDisplayFieldTooltip"; "required": false; }; "lookupEmptyMessage": { "alias": "lookupEmptyMessage"; "required": false; }; "lookupAppendTo": { "alias": "lookupAppendTo"; "required": false; }; "searchEmptyDescription": { "alias": "searchEmptyDescription"; "required": false; }; "searchGridData": { "alias": "searchGridData"; "required": false; }; "searchTotalRecords": { "alias": "searchTotalRecords"; "required": false; }; "searchFields": { "alias": "searchFields"; "required": false; }; "searchGridFields": { "alias": "searchGridFields"; "required": false; }; "multiSortMeta": { "alias": "multiSortMeta"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "sortableColumnsDisabled": { "alias": "sortableColumnsDisabled"; "required": false; }; "lookupRowProps": { "alias": "lookupRowProps"; "required": false; }; "defaultFilter": { "alias": "defaultFilter"; "required": false; }; "showAddOption": { "alias": "showAddOption"; "required": false; }; "showEditOption": { "alias": "showEditOption"; "required": false; }; "showRemoveOption": { "alias": "showRemoveOption"; "required": false; }; "dialogFullScreen": { "alias": "dialogFullScreen"; "required": false; "isSignal": true; }; "labelOptions": { "alias": "labelOptions"; "required": false; }; }, { "onLookupRequest": "onLookupRequest"; "onSearchRequest": "onSearchRequest"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onKeyUp": "onKeyUp"; "onSelect": "onSelect"; "onUnselect": "onUnselect"; "onClear": "onClear"; "onAdd": "onAdd"; "onEdit": "onEdit"; "onRemove": "onRemove"; "onClearButtonClick": "onClearButtonClick"; }, never, never, true, never>;
140
141
  static ngAcceptInputType_lookupAppendTo: string | undefined;
141
142
  }
142
143
  export interface BooleanOptionsLabelConfig {
@@ -29,6 +29,7 @@ export interface LookupFieldConfig extends FieldConfig {
29
29
  emptyFieldLabel?: string;
30
30
  appendTo?: string;
31
31
  autocompleteForceSelection?: boolean;
32
+ maxlength?: number | null;
32
33
  showAddOption?: boolean;
33
34
  showEditOption?: boolean;
34
35
  showRemoveOption?: boolean;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCB0eXBlIEJyZWFkY3J1bWJJdGVtID0ge1xuICAgIHJvdXRlckxpbms/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBxdWVyeVBhcmFtcz86IFBhcmFtcztcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICB0YXJnZXQ/OiBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG59O1xuXG4iXX0=
@@ -1,105 +1,32 @@
1
- import { Component, Input } from '@angular/core';
2
- import { NavigationEnd, PRIMARY_OUTLET } from '@angular/router';
3
- import { Subject } from 'rxjs';
4
- import { filter, takeUntil } from 'rxjs/operators';
1
+ import { Component, inject, input } from '@angular/core';
2
+ import { Router, RouterModule } from '@angular/router';
3
+ import { TranslateModule } from '@ngx-translate/core';
4
+ import { InteractiveContentDirective } from '@seniorsistemas/angular-components/interactive-content';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "primeng/breadcrumb";
9
- export class BreadcrumbComponent {
10
- _activatedRoute;
11
- _router;
12
- homeUrl;
13
- targetHomeUrl = '_self';
14
- home;
15
- items;
16
- title;
17
- _ngUnsubscribe = new Subject();
18
- constructor(_activatedRoute, _router) {
19
- this._activatedRoute = _activatedRoute;
20
- this._router = _router;
21
- this._router.events
22
- .pipe(takeUntil(this._ngUnsubscribe), filter((event) => event instanceof NavigationEnd))
23
- .subscribe(() => this._onNavigationEnd());
24
- }
25
- ngOnDestroy() {
26
- this._ngUnsubscribe.next();
27
- this._ngUnsubscribe.complete();
28
- }
29
- _onNavigationEnd() {
30
- const currentRoute = this._activatedRoute.root;
31
- const validRoutes = this._getValidChildren(currentRoute);
32
- this.title = this._getCurrentTitle(validRoutes) ?? '';
33
- this.home = this._getCurrentHome(validRoutes);
34
- this.items = this._getCurrentItems(validRoutes) || [];
35
- }
36
- _getValidChildren(route) {
37
- const valid = route.routeConfig?.path && route.routeConfig?.component && route.outlet === PRIMARY_OUTLET;
38
- return route.children.reduce((validRoutes, child) => [...validRoutes, ...this._getValidChildren(child)], valid ? [route] : []);
39
- }
40
- _getCurrentTitle(routes) {
41
- const last = routes[routes.length - 1];
42
- if (last?.routeConfig) {
43
- return this._getTitle(last);
44
- }
45
- return null;
46
- }
47
- _getCurrentHome(routes) {
48
- let home;
49
- if (this.homeUrl) {
50
- home = { url: this.homeUrl, icon: 'fa fa-home', target: this.targetHomeUrl };
51
- }
52
- else if (routes.length) {
53
- home = { ...this._getMenuItem(routes[0], routes.length === 1), icon: 'fa fa-home' };
6
+ import * as i1 from "@ngx-translate/core";
7
+ import * as i2 from "@angular/router";
8
+ export class BreadcrumbListComponent {
9
+ items = input.required();
10
+ router = inject(Router);
11
+ onActivateRoute(activatedBreadcrumb) {
12
+ if (!activatedBreadcrumb.routerLink || activatedBreadcrumb.disabled) {
13
+ return;
14
+ }
15
+ const routerLink = Array.isArray(activatedBreadcrumb.routerLink)
16
+ ? activatedBreadcrumb.routerLink
17
+ : [activatedBreadcrumb.routerLink];
18
+ if (activatedBreadcrumb.queryParams) {
19
+ this.router.navigate(routerLink, { queryParams: activatedBreadcrumb.queryParams });
54
20
  }
55
21
  else {
56
- home = undefined;
57
- }
58
- return home;
59
- }
60
- _getCurrentItems(routes) {
61
- if (!routes.length) {
62
- return null;
63
- }
64
- const items = this.homeUrl ? routes : routes.slice(1);
65
- if (items.length) {
66
- return items.map((route, i) => this._getMenuItem(route, i === routes.length - 1));
67
- }
68
- else {
69
- return null;
70
- }
71
- }
72
- _getMenuItem(route, disabled = false) {
73
- const label = this._getTitle(route);
74
- const routes = route.pathFromRoot;
75
- const routerLink = routes
76
- .slice(0, routes.indexOf(route) + 1)
77
- .reduce((result, item) => [...result, ...item.snapshot.url.map((url) => url.path)], ['/']);
78
- return {
79
- label,
80
- routerLink,
81
- disabled,
82
- queryParams: route.snapshot.queryParams,
83
- routerLinkActiveOptions: { exact: true },
84
- };
85
- }
86
- _getTitle(route) {
87
- const { snapshot, routeConfig } = route;
88
- const title = snapshot.data['routeTitle'];
89
- if (!title) {
90
- throw new Error(`No routeTitle defined for the route /${routeConfig?.path}`);
22
+ this.router.navigate(routerLink);
91
23
  }
92
- return title;
93
24
  }
94
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
95
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, selector: "s-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl" }, ngImport: i0, template: "<h1 class=\"sds-page-title\">{{ title }}</h1>\n<p-breadcrumb\n [home]=\"home\"\n [model]=\"items\"\n>\n <ng-template\n #item\n let-menuitem\n >\n @if (menuitem.routerLink) {\n <a\n [routerLink]=\"menuitem?.routerLink\"\n routerLinkActive=\"p-breadcrumb-item-link-active\"\n [queryParams]=\"menuitem?.queryParams\"\n [routerLinkActiveOptions]=\"menuitem?.routerLinkActiveOptions || { exact: false }\"\n class=\"p-breadcrumb-item-link\"\n [target]=\"menuitem?.target\"\n [attr.title]=\"menuitem?.title\"\n [attr.tabindex]=\"menuitem?.disabled ? null : '0'\"\n [fragment]=\"menuitem?.fragment\"\n [queryParamsHandling]=\"menuitem?.queryParamsHandling\"\n [preserveFragment]=\"menuitem?.preserveFragment\"\n [skipLocationChange]=\"menuitem?.skipLocationChange\"\n [replaceUrl]=\"menuitem?.replaceUrl\"\n [state]=\"menuitem?.state\"\n >\n @if (menuitem?.icon) {\n <span\n class=\"p-breadcrumb-item-icon\"\n [ngClass]=\"menuitem?.icon\"\n [ngStyle]=\"menuitem?.iconStyle\"\n ></span>\n }\n @if (menuitem?.label) {\n @if (menuitem?.escape !== false) {\n <span class=\"p-breadcrumb-item-label'\">{{ menuitem?.label }}</span>\n } @else {\n ><span\n class=\"p-breadcrumb-item-label'\"\n [innerHTML]=\"menuitem?.label\"\n ></span>\n }\n }\n </a>\n } @else {\n <a\n [attr.href]=\"menuitem?.url ? menuitem?.url : null\"\n class=\"p-breadcrumb-item-link\"\n [target]=\"menuitem?.target\"\n [attr.title]=\"menuitem?.title\"\n [attr.tabindex]=\"menuitem?.disabled ? null : '0'\"\n >\n @if (menuitem?.icon) {\n <span\n class=\"p-breadcrumb-item-icon\"\n [ngClass]=\"menuitem?.icon\"\n [ngStyle]=\"menuitem?.iconStyle\"\n ></span>\n }\n @if (menuitem?.label) {\n @if (menuitem?.escape !== false) {\n <span class=\"p-breadcrumb-item-label'\">{{ menuitem?.label }}</span>\n } @else {\n ><span\n class=\"p-breadcrumb-item-label'\"\n [innerHTML]=\"menuitem?.label\"\n ></span>\n }\n }\n </a>\n }\n </ng-template>\n</p-breadcrumb>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbListComponent, isStandalone: true, selector: "s-breadcrumb-list", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<nav [attr.aria-label]=\"'platform.angular_components.breadcrumb-aria-label' | translate\">\n <ol\n class=\"flex select-none flex-wrap items-center gap-3 pb-3 pt-3 [&_li]:cursor-pointer [&_li]:font-open-sans [&_li]:text-sm\"\n >\n @for (breadcrumbItem of items(); track $index; let first = $first) {\n @if (breadcrumbItem.icon) {\n <li>\n @if (!first) {\n <i class=\"fas fa-chevron-right\"></i>\n }\n </li>\n @let iconClass = breadcrumbItem.icon + (first ? ' text-criticality-blue' : '');\n <i [class]=\"iconClass\"></i>\n }\n @if (breadcrumbItem.routerLink && !breadcrumbItem.disabled) {\n <i class=\"fas fa-chevron-right\"></i>\n <li>\n <a\n [routerLink]=\"breadcrumbItem.routerLink\"\n [queryParams]=\"breadcrumbItem.queryParams\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"text-criticality-blue\"\n [target]=\"breadcrumbItem.target\"\n (sInteractiveContent)=\"onActivateRoute(breadcrumbItem)\"\n >\n {{ breadcrumbItem.label }}\n </a>\n </li>\n } @else if (breadcrumbItem.label) {\n <i class=\"fas fa-chevron-right\"></i>\n <li>{{ breadcrumbItem.label }}</li>\n }\n }\n </ol>\n</nav>\n\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: InteractiveContentDirective, selector: "[sInteractiveContent]", inputs: ["focusable", "disabled", "stopPropagation"], outputs: ["sInteractiveContent"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
96
27
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbListComponent, decorators: [{
98
29
  type: Component,
99
- args: [{ selector: 's-breadcrumb', template: "<h1 class=\"sds-page-title\">{{ title }}</h1>\n<p-breadcrumb\n [home]=\"home\"\n [model]=\"items\"\n>\n <ng-template\n #item\n let-menuitem\n >\n @if (menuitem.routerLink) {\n <a\n [routerLink]=\"menuitem?.routerLink\"\n routerLinkActive=\"p-breadcrumb-item-link-active\"\n [queryParams]=\"menuitem?.queryParams\"\n [routerLinkActiveOptions]=\"menuitem?.routerLinkActiveOptions || { exact: false }\"\n class=\"p-breadcrumb-item-link\"\n [target]=\"menuitem?.target\"\n [attr.title]=\"menuitem?.title\"\n [attr.tabindex]=\"menuitem?.disabled ? null : '0'\"\n [fragment]=\"menuitem?.fragment\"\n [queryParamsHandling]=\"menuitem?.queryParamsHandling\"\n [preserveFragment]=\"menuitem?.preserveFragment\"\n [skipLocationChange]=\"menuitem?.skipLocationChange\"\n [replaceUrl]=\"menuitem?.replaceUrl\"\n [state]=\"menuitem?.state\"\n >\n @if (menuitem?.icon) {\n <span\n class=\"p-breadcrumb-item-icon\"\n [ngClass]=\"menuitem?.icon\"\n [ngStyle]=\"menuitem?.iconStyle\"\n ></span>\n }\n @if (menuitem?.label) {\n @if (menuitem?.escape !== false) {\n <span class=\"p-breadcrumb-item-label'\">{{ menuitem?.label }}</span>\n } @else {\n ><span\n class=\"p-breadcrumb-item-label'\"\n [innerHTML]=\"menuitem?.label\"\n ></span>\n }\n }\n </a>\n } @else {\n <a\n [attr.href]=\"menuitem?.url ? menuitem?.url : null\"\n class=\"p-breadcrumb-item-link\"\n [target]=\"menuitem?.target\"\n [attr.title]=\"menuitem?.title\"\n [attr.tabindex]=\"menuitem?.disabled ? null : '0'\"\n >\n @if (menuitem?.icon) {\n <span\n class=\"p-breadcrumb-item-icon\"\n [ngClass]=\"menuitem?.icon\"\n [ngStyle]=\"menuitem?.iconStyle\"\n ></span>\n }\n @if (menuitem?.label) {\n @if (menuitem?.escape !== false) {\n <span class=\"p-breadcrumb-item-label'\">{{ menuitem?.label }}</span>\n } @else {\n ><span\n class=\"p-breadcrumb-item-label'\"\n [innerHTML]=\"menuitem?.label\"\n ></span>\n }\n }\n </a>\n }\n </ng-template>\n</p-breadcrumb>\n" }]
100
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { homeUrl: [{
101
- type: Input
102
- }], targetHomeUrl: [{
103
- type: Input
104
- }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQWtCLGFBQWEsRUFBRSxjQUFjLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUd4RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFjUDtJQUNBO0lBYmQsT0FBTyxDQUFVO0lBR2pCLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFFeEIsSUFBSSxDQUFZO0lBQ2hCLEtBQUssQ0FBYztJQUNuQixLQUFLLENBQVU7SUFFTCxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV0RCxZQUNxQixlQUErQixFQUMvQixPQUFlO1FBRGYsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFFaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2FBQ2QsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQzlCLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUNwRDthQUNBLFNBQVMsQ0FBQyxHQUFH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TSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7d0dBN0dRLG1CQUFtQjs0RkFBbkIsbUJBQW1CLG9IQ1hoQyw4N0ZBeUVBOzs0RkQ5RGEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNJLGNBQWM7d0dBS2pCLE9BQU87c0JBRGIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUFJJTUFSWV9PVVRMRVQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1icmVhZGNydW1iJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhvbWVVcmw/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0YXJnZXRIb21lVXJsID0gJ19zZWxmJztcblxuICAgIHB1YmxpYyBob21lPzogTWVudUl0ZW07XG4gICAgcHVibGljIGl0ZW1zPzogTWVudUl0ZW1bXTtcbiAgICBwdWJsaWMgdGl0bGU/OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlcjogUm91dGVyLFxuICAgICkge1xuICAgICAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fb25OYXZpZ2F0aW9uRW5kKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vbk5hdmlnYXRpb25FbmQoKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlLnJvb3Q7XG4gICAgICAgIGNvbnN0IHZhbGlkUm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdID0gdGhpcy5fZ2V0VmFsaWRDaGlsZHJlbihjdXJyZW50Um91dGUpO1xuXG4gICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLl9nZXRDdXJyZW50VGl0bGUodmFsaWRSb3V0ZXMpID8/ICcnO1xuICAgICAgICB0aGlzLmhvbWUgPSB0aGlzLl9nZXRDdXJyZW50SG9tZSh2YWxpZFJvdXRlcyk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLl9nZXRDdXJyZW50SXRlbXModmFsaWRSb3V0ZXMpIHx8IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFZhbGlkQ2hpbGRyZW4ocm91dGU6IEFjdGl2YXRlZFJvdXRlKTogQWN0aXZhdGVkUm91dGVbXSB7XG4gICAgICAgIGNvbnN0IHZhbGlkID0gcm91dGUucm91dGVDb25maWc/LnBhdGggJiYgcm91dGUucm91dGVDb25maWc/LmNvbXBvbmVudCAmJiByb3V0ZS5vdXRsZXQgPT09IFBSSU1BUllfT1VUTEVUO1xuICAgICAgICByZXR1cm4gcm91dGUuY2hpbGRyZW4ucmVkdWNlKFxuICAgICAgICAgICAgKHZhbGlkUm91dGVzLCBjaGlsZCkgPT4gWy4uLnZhbGlkUm91dGVzLCAuLi50aGlzLl9nZXRWYWxpZENoaWxkcmVuKGNoaWxkKV0sXG4gICAgICAgICAgICB2YWxpZCA/IFtyb3V0ZV0gOiBbXSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDdXJyZW50VGl0bGUocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGxhc3QgPSByb3V0ZXNbcm91dGVzLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChsYXN0Py5yb3V0ZUNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldFRpdGxlKGxhc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q3VycmVudEhvbWUocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdKTogTWVudUl0ZW0gfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgaG9tZTogTWVudUl0ZW0gfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKHRoaXMuaG9tZVVybCkge1xuICAgICAgICAgICAgaG9tZSA9IHsgdXJsOiB0aGlzLmhvbWVVcmwsIGljb246ICdmYSBmYS1ob21lJywgdGFyZ2V0OiB0aGlzLnRhcmdldEhvbWVVcmwgfTtcbiAgICAgICAgfSBlbHNlIGlmIChyb3V0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBob21lID0geyAuLi50aGlzLl9nZXRNZW51SXRlbShyb3V0ZXNbMF0sIHJvdXRlcy5sZW5ndGggPT09IDEpLCBpY29uOiAnZmEgZmEtaG9tZScgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGhvbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaG9tZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDdXJyZW50SXRlbXMocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdKTogTWVudUl0ZW1bXSB8IG51bGwge1xuICAgICAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmhvbWVVcmwgPyByb3V0ZXMgOiByb3V0ZXMuc2xpY2UoMSk7XG5cbiAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgocm91dGUsIGkpID0+IHRoaXMuX2dldE1lbnVJdGVtKHJvdXRlLCBpID09PSByb3V0ZXMubGVuZ3RoIC0gMSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRNZW51SXRlbShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIGRpc2FibGVkID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLl9nZXRUaXRsZShyb3V0ZSk7XG4gICAgICAgIGNvbnN0IHJvdXRlcyA9IHJvdXRlLnBhdGhGcm9tUm9vdDtcbiAgICAgICAgY29uc3Qgcm91dGVyTGluayA9IHJvdXRlc1xuICAgICAgICAgICAgLnNsaWNlKDAsIHJvdXRlcy5pbmRleE9mKHJvdXRlKSArIDEpXG4gICAgICAgICAgICAucmVkdWNlKChyZXN1bHQsIGl0ZW0pID0+IFsuLi5yZXN1bHQsIC4uLml0ZW0uc25hcHNob3QudXJsLm1hcCgodXJsKSA9PiB1cmwucGF0aCldLCBbJy8nXSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgcm91dGVyTGluayxcbiAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IHsgZXhhY3Q6IHRydWUgfSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRUaXRsZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IHNuYXBzaG90LCByb3V0ZUNvbmZpZyB9ID0gcm91dGU7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gc25hcHNob3QuZGF0YVsncm91dGVUaXRsZSddO1xuXG4gICAgICAgIGlmICghdGl0bGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcm91dGVUaXRsZSBkZWZpbmVkIGZvciB0aGUgcm91dGUgLyR7cm91dGVDb25maWc/LnBhdGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRpdGxlO1xuICAgIH1cbn1cbiIsIjxoMSBjbGFzcz1cInNkcy1wYWdlLXRpdGxlXCI+e3sgdGl0bGUgfX08L2gxPlxuPHAtYnJlYWRjcnVtYlxuICAgIFtob21lXT1cImhvbWVcIlxuICAgIFttb2RlbF09XCJpdGVtc1wiXG4+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNpdGVtXG4gICAgICAgIGxldC1tZW51aXRlbVxuICAgID5cbiAgICAgICAgQGlmIChtZW51aXRlbS5yb3V0ZXJMaW5rKSB7XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIm1lbnVpdGVtPy5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicC1icmVhZGNydW1iLWl0ZW0tbGluay1hY3RpdmVcIlxuICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJtZW51aXRlbT8ucXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJtZW51aXRlbT8ucm91dGVyTGlua0FjdGl2ZU9wdGlvbnMgfHwgeyBleGFjdDogZmFsc2UgfVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJyZWFkY3J1bWItaXRlbS1saW5rXCJcbiAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cIm1lbnVpdGVtPy50YXJnZXRcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIm1lbnVpdGVtPy50aXRsZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwibWVudWl0ZW0/LmRpc2FibGVkID8gbnVsbCA6ICcwJ1wiXG4gICAgICAgICAgICAgICAgW2ZyYWdtZW50XT1cIm1lbnVpdGVtPy5mcmFnbWVudFwiXG4gICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwibWVudWl0ZW0/LnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICAgICAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cIm1lbnVpdGVtPy5wcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgICAgICAgICBbc2tpcExvY2F0aW9uQ2hhbmdlXT1cIm1lbnVpdGVtPy5za2lwTG9jYXRpb25DaGFuZ2VcIlxuICAgICAgICAgICAgICAgIFtyZXBsYWNlVXJsXT1cIm1lbnVpdGVtPy5yZXBsYWNlVXJsXCJcbiAgICAgICAgICAgICAgICBbc3RhdGVdPVwibWVudWl0ZW0/LnN0YXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAaWYgKG1lbnVpdGVtPy5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtYnJlYWRjcnVtYi1pdGVtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwibWVudWl0ZW0/Lmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwibWVudWl0ZW0/Lmljb25TdHlsZVwiXG4gICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAobWVudWl0ZW0/LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAobWVudWl0ZW0/LmVzY2FwZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1icmVhZGNydW1iLWl0ZW0tbGFiZWwnXCI+e3sgbWVudWl0ZW0/LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID48c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1icmVhZGNydW1iLWl0ZW0tbGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIm1lbnVpdGVtPy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJtZW51aXRlbT8udXJsID8gbWVudWl0ZW0/LnVybCA6IG51bGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC1icmVhZGNydW1iLWl0ZW0tbGlua1wiXG4gICAgICAgICAgICAgICAgW3RhcmdldF09XCJtZW51aXRlbT8udGFyZ2V0XCJcbiAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJtZW51aXRlbT8udGl0bGVcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cIm1lbnVpdGVtPy5kaXNhYmxlZCA/IG51bGwgOiAnMCdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAobWVudWl0ZW0/Lmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1icmVhZGNydW1iLWl0ZW0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJtZW51aXRlbT8uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJtZW51aXRlbT8uaWNvblN0eWxlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChtZW51aXRlbT8ubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChtZW51aXRlbT8uZXNjYXBlICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWJyZWFkY3J1bWItaXRlbS1sYWJlbCdcIj57eyBtZW51aXRlbT8ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJyZWFkY3J1bWItaXRlbS1sYWJlbCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibWVudWl0ZW0/LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9wLWJyZWFkY3J1bWI+XG4iXX0=
30
+ args: [{ selector: 's-breadcrumb-list', standalone: true, imports: [TranslateModule, InteractiveContentDirective, RouterModule], template: "<nav [attr.aria-label]=\"'platform.angular_components.breadcrumb-aria-label' | translate\">\n <ol\n class=\"flex select-none flex-wrap items-center gap-3 pb-3 pt-3 [&_li]:cursor-pointer [&_li]:font-open-sans [&_li]:text-sm\"\n >\n @for (breadcrumbItem of items(); track $index; let first = $first) {\n @if (breadcrumbItem.icon) {\n <li>\n @if (!first) {\n <i class=\"fas fa-chevron-right\"></i>\n }\n </li>\n @let iconClass = breadcrumbItem.icon + (first ? ' text-criticality-blue' : '');\n <i [class]=\"iconClass\"></i>\n }\n @if (breadcrumbItem.routerLink && !breadcrumbItem.disabled) {\n <i class=\"fas fa-chevron-right\"></i>\n <li>\n <a\n [routerLink]=\"breadcrumbItem.routerLink\"\n [queryParams]=\"breadcrumbItem.queryParams\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n routerLinkActive=\"text-criticality-blue\"\n [target]=\"breadcrumbItem.target\"\n (sInteractiveContent)=\"onActivateRoute(breadcrumbItem)\"\n >\n {{ breadcrumbItem.label }}\n </a>\n </li>\n } @else if (breadcrumbItem.label) {\n <i class=\"fas fa-chevron-right\"></i>\n <li>{{ breadcrumbItem.label }}</li>\n }\n }\n </ol>\n</nav>\n\n" }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7Ozs7QUFTckcsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztJQUUxQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRS9CLGVBQWUsQ0FBQyxtQkFBbUM7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsRSxPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDO1lBQzVELENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVO1lBQ2hDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZDLElBQUksbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkYsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQzt3R0FuQlEsdUJBQXVCOzRGQUF2Qix1QkFBdUIsZ05DWnBDLGlsREFvQ0EsMkNEM0JjLGVBQWUsNEZBQUUsMkJBQTJCLHlKQUFFLFlBQVk7OzRGQUczRCx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSwyQkFBMkIsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbnRlcmFjdGl2ZS1jb250ZW50JztcbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi9icmVhZGNydW1iLW1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1icmVhZGNydW1iLWxpc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgSW50ZXJhY3RpdmVDb250ZW50RGlyZWN0aXZlLCBSb3V0ZXJNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkxpc3RDb21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSBpdGVtcyA9IGlucHV0LnJlcXVpcmVkPEJyZWFkY3J1bWJJdGVtW10+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgcHJvdGVjdGVkIG9uQWN0aXZhdGVSb3V0ZShhY3RpdmF0ZWRCcmVhZGNydW1iOiBCcmVhZGNydW1iSXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWFjdGl2YXRlZEJyZWFkY3J1bWIucm91dGVyTGluayB8fCBhY3RpdmF0ZWRCcmVhZGNydW1iLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb3V0ZXJMaW5rID0gQXJyYXkuaXNBcnJheShhY3RpdmF0ZWRCcmVhZGNydW1iLnJvdXRlckxpbmspXG4gICAgICAgICAgICA/IGFjdGl2YXRlZEJyZWFkY3J1bWIucm91dGVyTGlua1xuICAgICAgICAgICAgOiBbYWN0aXZhdGVkQnJlYWRjcnVtYi5yb3V0ZXJMaW5rXTtcblxuICAgICAgICBpZiAoYWN0aXZhdGVkQnJlYWRjcnVtYi5xdWVyeVBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGVyTGluaywgeyBxdWVyeVBhcmFtczogYWN0aXZhdGVkQnJlYWRjcnVtYi5xdWVyeVBhcmFtcyB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHJvdXRlckxpbmspO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCI8bmF2IFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5icmVhZGNydW1iLWFyaWEtbGFiZWwnIHwgdHJhbnNsYXRlXCI+XG4gICAgPG9sXG4gICAgICAgIGNsYXNzPVwiZmxleCBzZWxlY3Qtbm9uZSBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC0zIHBiLTMgcHQtMyBbJl9saV06Y3Vyc29yLXBvaW50ZXIgWyZfbGldOmZvbnQtb3Blbi1zYW5zIFsmX2xpXTp0ZXh0LXNtXCJcbiAgICA+XG4gICAgICAgIEBmb3IgKGJyZWFkY3J1bWJJdGVtIG9mIGl0ZW1zKCk7IHRyYWNrICRpbmRleDsgbGV0IGZpcnN0ID0gJGZpcnN0KSB7XG4gICAgICAgICAgICBAaWYgKGJyZWFkY3J1bWJJdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpcnN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICBAbGV0IGljb25DbGFzcyA9IGJyZWFkY3J1bWJJdGVtLmljb24gKyAoZmlyc3QgPyAnIHRleHQtY3JpdGljYWxpdHktYmx1ZScgOiAnJyk7XG4gICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25DbGFzc1wiPjwvaT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoYnJlYWRjcnVtYkl0ZW0ucm91dGVyTGluayAmJiAhYnJlYWRjcnVtYkl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImJyZWFkY3J1bWJJdGVtLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImJyZWFkY3J1bWJJdGVtLnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiB0cnVlIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInRleHQtY3JpdGljYWxpdHktYmx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cImJyZWFkY3J1bWJJdGVtLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoc0ludGVyYWN0aXZlQ29udGVudCk9XCJvbkFjdGl2YXRlUm91dGUoYnJlYWRjcnVtYkl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgYnJlYWRjcnVtYkl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9IEBlbHNlIGlmIChicmVhZGNydW1iSXRlbS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgICAgICAgICAgICAgPGxpPnt7IGJyZWFkY3J1bWJJdGVtLmxhYmVsIH19PC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvb2w+XG48L25hdj5cblxuIl19
@@ -0,0 +1,120 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NavigationEnd, PRIMARY_OUTLET } from '@angular/router';
3
+ import { DEPRECATED_CONFIG, DeprecatedSelectorDirective, } from '@seniorsistemas/angular-components/common/deprecated-selector';
4
+ import { Subject } from 'rxjs';
5
+ import { filter, takeUntil } from 'rxjs/operators';
6
+ import { BreadcrumbListComponent } from '../breadcrumb/breadcrumb.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "@seniorsistemas/angular-components/common/deprecated-selector";
10
+ export class DynamicBreadcrumbComponent {
11
+ _activatedRoute;
12
+ _router;
13
+ homeUrl;
14
+ targetHomeUrl = '_self';
15
+ items = [];
16
+ title;
17
+ _ngUnsubscribe = new Subject();
18
+ constructor(_activatedRoute, _router) {
19
+ this._activatedRoute = _activatedRoute;
20
+ this._router = _router;
21
+ this._router.events
22
+ .pipe(takeUntil(this._ngUnsubscribe), filter((event) => event instanceof NavigationEnd))
23
+ .subscribe(() => this._onNavigationEnd());
24
+ }
25
+ ngOnDestroy() {
26
+ this._ngUnsubscribe.next();
27
+ this._ngUnsubscribe.complete();
28
+ }
29
+ _onNavigationEnd() {
30
+ const currentRoute = this._activatedRoute.root;
31
+ const validRoutes = this._getValidChildren(currentRoute);
32
+ this.title = this._getCurrentTitle(validRoutes) ?? '';
33
+ this.items = this._getCurrentItems(validRoutes) || [];
34
+ const currentHome = this._getCurrentHome(validRoutes);
35
+ if (currentHome) {
36
+ this.items.unshift(currentHome);
37
+ }
38
+ }
39
+ _getValidChildren(route) {
40
+ const valid = route.routeConfig?.path && route.routeConfig?.component && route.outlet === PRIMARY_OUTLET;
41
+ return route.children.reduce((validRoutes, child) => [...validRoutes, ...this._getValidChildren(child)], valid ? [route] : []);
42
+ }
43
+ _getCurrentTitle(routes) {
44
+ const last = routes[routes.length - 1];
45
+ if (last?.routeConfig) {
46
+ return this._getTitle(last);
47
+ }
48
+ return null;
49
+ }
50
+ _getCurrentHome(routes) {
51
+ let currentHome;
52
+ if (this.homeUrl) {
53
+ currentHome = { url: this.homeUrl, icon: 'fa fa-home', target: this.targetHomeUrl };
54
+ }
55
+ else if (routes.length) {
56
+ currentHome = { ...this._getMenuItem(routes[0], routes.length === 1), icon: 'fa fa-home' };
57
+ }
58
+ return currentHome;
59
+ }
60
+ _getCurrentItems(routes) {
61
+ if (!routes.length) {
62
+ return [];
63
+ }
64
+ const items = this.homeUrl ? routes : routes.slice(1);
65
+ if (items.length) {
66
+ return items.map((route, i) => this._getMenuItem(route, i === routes.length - 1));
67
+ }
68
+ return [];
69
+ }
70
+ _getMenuItem(route, disabled = false) {
71
+ const label = this._getTitle(route);
72
+ const routes = route.pathFromRoot;
73
+ const routerLink = routes
74
+ .slice(0, routes.indexOf(route) + 1)
75
+ .reduce((result, item) => [...result, ...item.snapshot.url.map((url) => url.path)], ['/']);
76
+ return {
77
+ disabled,
78
+ label,
79
+ routerLink,
80
+ queryParams: route.snapshot.queryParams,
81
+ };
82
+ }
83
+ _getTitle(route) {
84
+ const { snapshot, routeConfig } = route;
85
+ const title = snapshot.data['routeTitle'];
86
+ if (!title) {
87
+ throw new Error(`No routeTitle defined for the route /${routeConfig?.path}`);
88
+ }
89
+ return title;
90
+ }
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicBreadcrumbComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DynamicBreadcrumbComponent, isStandalone: true, selector: "s-breadcrumb, s-dynamic-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl" }, providers: [
93
+ {
94
+ provide: DEPRECATED_CONFIG,
95
+ useValue: {
96
+ oldSelector: 's-breadcrumb',
97
+ newSelector: 's-dynamic-breadcrumb',
98
+ removalVersion: '20.0.0',
99
+ },
100
+ },
101
+ ], hostDirectives: [{ directive: i2.DeprecatedSelectorDirective }], ngImport: i0, template: "<h1 class=\"sds-page-title\">{{ title }}</h1>\n<s-breadcrumb-list [items]=\"items\" />\n\n", dependencies: [{ kind: "component", type: BreadcrumbListComponent, selector: "s-breadcrumb-list", inputs: ["items"] }] });
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicBreadcrumbComponent, decorators: [{
104
+ type: Component,
105
+ args: [{ standalone: true, imports: [BreadcrumbListComponent], selector: 's-breadcrumb, s-dynamic-breadcrumb', hostDirectives: [DeprecatedSelectorDirective], providers: [
106
+ {
107
+ provide: DEPRECATED_CONFIG,
108
+ useValue: {
109
+ oldSelector: 's-breadcrumb',
110
+ newSelector: 's-dynamic-breadcrumb',
111
+ removalVersion: '20.0.0',
112
+ },
113
+ },
114
+ ], template: "<h1 class=\"sds-page-title\">{{ title }}</h1>\n<s-breadcrumb-list [items]=\"items\" />\n\n" }]
115
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { homeUrl: [{
116
+ type: Input
117
+ }], targetHomeUrl: [{
118
+ type: Input
119
+ }] } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1icmVhZGNydW1iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9icmVhZGNydW1iL3NyYy9saWIvZHluYW1pYy1icmVhZGNydW1iL2R5bmFtaWMtYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvYnJlYWRjcnVtYi9zcmMvbGliL2R5bmFtaWMtYnJlYWRjcnVtYi9keW5hbWljLWJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFrQixhQUFhLEVBQUUsY0FBYyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEYsT0FBTyxFQUNILGlCQUFpQixFQUNqQiwyQkFBMkIsR0FDOUIsTUFBTSwrREFBK0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFtQjdFLE1BQU0sT0FBTywwQkFBMEI7SUFhZDtJQUNBO0lBWmQsT0FBTyxDQUFVO0lBR2pCLGFBQWEsR0FBRyxPQUFPLENBQUM7SUFFeEIsS0FBSyxHQUFxQixFQUFFLENBQUM7SUFDN0IsS0FBSyxDQUFVO0lBRUwsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFdEQsWUFDcUIsZUFBK0IsRUFDL0IsT0FBZTtRQURmLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBRWhDLElBQUksQ0FBQyxPQUFPLENB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QUFHLEtBQUssQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO3dHQTNHUSwwQkFBMEI7NEZBQTFCLDBCQUEwQixpSkFYeEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUU7b0JBQ04sV0FBVyxFQUFFLGNBQWM7b0JBQzNCLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLGNBQWMsRUFBRSxRQUFRO2lCQUMzQjthQUNKO1NBQ0osMkZDMUJMLDRGQUdBLDRDRFVjLHVCQUF1Qjs7NEZBZXhCLDBCQUEwQjtrQkFqQnRDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsdUJBQXVCLENBQUMsWUFDeEIsb0NBQW9DLGtCQUU5QixDQUFDLDJCQUEyQixDQUFDLGFBQ2xDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRTtnQ0FDTixXQUFXLEVBQUUsY0FBYztnQ0FDM0IsV0FBVyxFQUFFLHNCQUFzQjtnQ0FDbkMsY0FBYyxFQUFFLFFBQVE7NkJBQzNCO3lCQUNKO3FCQUNKO3dHQUlNLE9BQU87c0JBRGIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUFJJTUFSWV9PVVRMRVQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICAgIERFUFJFQ0FURURfQ09ORklHLFxuICAgIERlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZSxcbn0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9jb21tb24vZGVwcmVjYXRlZC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi4vYnJlYWRjcnVtYi9icmVhZGNydW1iLW1vZGVscyc7XG5pbXBvcnQgeyBCcmVhZGNydW1iTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtCcmVhZGNydW1iTGlzdENvbXBvbmVudF0sXG4gICAgc2VsZWN0b3I6ICdzLWJyZWFkY3J1bWIsIHMtZHluYW1pYy1icmVhZGNydW1iJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0RGlyZWN0aXZlczogW0RlcHJlY2F0ZWRTZWxlY3RvckRpcmVjdGl2ZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERFUFJFQ0FURURfQ09ORklHLFxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBvbGRTZWxlY3RvcjogJ3MtYnJlYWRjcnVtYicsXG4gICAgICAgICAgICAgICAgbmV3U2VsZWN0b3I6ICdzLWR5bmFtaWMtYnJlYWRjcnVtYicsXG4gICAgICAgICAgICAgICAgcmVtb3ZhbFZlcnNpb246ICcyMC4wLjAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaG9tZVVybD86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRhcmdldEhvbWVVcmwgPSAnX3NlbGYnO1xuXG4gICAgcHVibGljIGl0ZW1zOiBCcmVhZGNydW1iSXRlbVtdID0gW107XG4gICAgcHVibGljIHRpdGxlPzogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXI6IFJvdXRlcixcbiAgICApIHtcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX29uTmF2aWdhdGlvbkVuZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25OYXZpZ2F0aW9uRW5kKCkge1xuICAgICAgICBjb25zdCBjdXJyZW50Um91dGUgPSB0aGlzLl9hY3RpdmF0ZWRSb3V0ZS5yb290O1xuICAgICAgICBjb25zdCB2YWxpZFJvdXRlczogQWN0aXZhdGVkUm91dGVbXSA9IHRoaXMuX2dldFZhbGlkQ2hpbGRyZW4oY3VycmVudFJvdXRlKTtcblxuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5fZ2V0Q3VycmVudFRpdGxlKHZhbGlkUm91dGVzKSA/PyAnJztcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuX2dldEN1cnJlbnRJdGVtcyh2YWxpZFJvdXRlcykgfHwgW107XG4gICAgICAgIGNvbnN0IGN1cnJlbnRIb21lID0gdGhpcy5fZ2V0Q3VycmVudEhvbWUodmFsaWRSb3V0ZXMpO1xuICAgICAgICBpZiAoY3VycmVudEhvbWUpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMudW5zaGlmdChjdXJyZW50SG9tZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRWYWxpZENoaWxkcmVuKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IEFjdGl2YXRlZFJvdXRlW10ge1xuICAgICAgICBjb25zdCB2YWxpZCA9IHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoICYmIHJvdXRlLnJvdXRlQ29uZmlnPy5jb21wb25lbnQgJiYgcm91dGUub3V0bGV0ID09PSBQUklNQVJZX09VVExFVDtcbiAgICAgICAgcmV0dXJuIHJvdXRlLmNoaWxkcmVuLnJlZHVjZShcbiAgICAgICAgICAgICh2YWxpZFJvdXRlcywgY2hpbGQpID0+IFsuLi52YWxpZFJvdXRlcywgLi4udGhpcy5fZ2V0VmFsaWRDaGlsZHJlbihjaGlsZCldLFxuICAgICAgICAgICAgdmFsaWQgPyBbcm91dGVdIDogW10sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q3VycmVudFRpdGxlKHJvdXRlczogQWN0aXZhdGVkUm91dGVbXSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBsYXN0ID0gcm91dGVzW3JvdXRlcy5sZW5ndGggLSAxXTtcblxuICAgICAgICBpZiAobGFzdD8ucm91dGVDb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9nZXRUaXRsZShsYXN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEN1cnJlbnRIb21lKHJvdXRlczogQWN0aXZhdGVkUm91dGVbXSkge1xuICAgICAgICBsZXQgY3VycmVudEhvbWU6IEJyZWFkY3J1bWJJdGVtIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICh0aGlzLmhvbWVVcmwpIHtcbiAgICAgICAgICAgIGN1cnJlbnRIb21lID0geyB1cmw6IHRoaXMuaG9tZVVybCwgaWNvbjogJ2ZhIGZhLWhvbWUnLCB0YXJnZXQ6IHRoaXMudGFyZ2V0SG9tZVVybCB9O1xuICAgICAgICB9IGVsc2UgaWYgKHJvdXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGN1cnJlbnRIb21lID0geyAuLi50aGlzLl9nZXRNZW51SXRlbShyb3V0ZXNbMF0sIHJvdXRlcy5sZW5ndGggPT09IDEpLCBpY29uOiAnZmEgZmEtaG9tZScgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyZW50SG9tZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDdXJyZW50SXRlbXMocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdKTogQnJlYWRjcnVtYkl0ZW1bXSB7XG4gICAgICAgIGlmICghcm91dGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmhvbWVVcmwgPyByb3V0ZXMgOiByb3V0ZXMuc2xpY2UoMSk7XG5cbiAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcCgocm91dGUsIGkpID0+IHRoaXMuX2dldE1lbnVJdGVtKHJvdXRlLCBpID09PSByb3V0ZXMubGVuZ3RoIC0gMSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRNZW51SXRlbShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIGRpc2FibGVkID0gZmFsc2UpOiBCcmVhZGNydW1iSXRlbSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5fZ2V0VGl0bGUocm91dGUpO1xuICAgICAgICBjb25zdCByb3V0ZXMgPSByb3V0ZS5wYXRoRnJvbVJvb3Q7XG4gICAgICAgIGNvbnN0IHJvdXRlckxpbmsgPSByb3V0ZXNcbiAgICAgICAgICAgIC5zbGljZSgwLCByb3V0ZXMuaW5kZXhPZihyb3V0ZSkgKyAxKVxuICAgICAgICAgICAgLnJlZHVjZSgocmVzdWx0LCBpdGVtKSA9PiBbLi4ucmVzdWx0LCAuLi5pdGVtLnNuYXBzaG90LnVybC5tYXAoKHVybCkgPT4gdXJsLnBhdGgpXSwgWycvJ10pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgcm91dGVyTGluayxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiByb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRUaXRsZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IHNuYXBzaG90LCByb3V0ZUNvbmZpZyB9ID0gcm91dGU7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gc25hcHNob3QuZGF0YVsncm91dGVUaXRsZSddO1xuXG4gICAgICAgIGlmICghdGl0bGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcm91dGVUaXRsZSBkZWZpbmVkIGZvciB0aGUgcm91dGUgLyR7cm91dGVDb25maWc/LnBhdGh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRpdGxlO1xuICAgIH1cbn1cblxuIiwiPGgxIGNsYXNzPVwic2RzLXBhZ2UtdGl0bGVcIj57eyB0aXRsZSB9fTwvaDE+XG48cy1icmVhZGNydW1iLWxpc3QgW2l0ZW1zXT1cIml0ZW1zXCIgLz5cblxuIl19
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DynamicBreadcrumbComponent } from './dynamic-breadcrumb.component';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * @deprecated utilizar DynamicBreadcrumbComponent (standalone)
6
+ */
7
+ export class BreadcrumbModule {
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbModule, imports: [DynamicBreadcrumbComponent], exports: [DynamicBreadcrumbComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbModule, imports: [DynamicBreadcrumbComponent] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [DynamicBreadcrumbComponent],
16
+ exports: [DynamicBreadcrumbComponent],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1icmVhZGNydW1iLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9icmVhZGNydW1iL3NyYy9saWIvZHluYW1pYy1icmVhZGNydW1iL2R5bmFtaWMtYnJlYWRjcnVtYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFDNUU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixZQUhmLDBCQUEwQixhQUMxQiwwQkFBMEI7eUdBRTNCLGdCQUFnQixZQUhmLDBCQUEwQjs7NEZBRzNCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHluYW1pY0JyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuLyoqXG4gKiBAZGVwcmVjYXRlZCB1dGlsaXphciBEeW5hbWljQnJlYWRjcnVtYkNvbXBvbmVudCAoc3RhbmRhbG9uZSlcbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRHluYW1pY0JyZWFkY3J1bWJDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtEeW5hbWljQnJlYWRjcnVtYkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJNb2R1bGUge31cblxuIl19
@@ -1,3 +1,4 @@
1
- export { BreadcrumbModule } from './lib/breadcrumb/breadcrumb.module';
2
- export { BreadcrumbComponent } from './lib/breadcrumb/breadcrumb.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9icmVhZGNydW1iL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQnJlYWRjcnVtYk1vZHVsZSB9IGZyb20gJy4vbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5tb2R1bGUnO1xuZXhwb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuIl19
1
+ export { BreadcrumbModule } from './lib/dynamic-breadcrumb/dynamic-breadcrumb.module';
2
+ export { DynamicBreadcrumbComponent } from './lib/dynamic-breadcrumb/dynamic-breadcrumb.component';
3
+ export { BreadcrumbListComponent } from './lib/breadcrumb/breadcrumb.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9icmVhZGNydW1iL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRW5HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQnJlYWRjcnVtYk1vZHVsZSB9IGZyb20gJy4vbGliL2R5bmFtaWMtYnJlYWRjcnVtYi9keW5hbWljLWJyZWFkY3J1bWIubW9kdWxlJztcbmV4cG9ydCB7IER5bmFtaWNCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZHluYW1pYy1icmVhZGNydW1iL2R5bmFtaWMtYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuXG5leHBvcnQgeyBCcmVhZGNydW1iTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuZXhwb3J0IHsgdHlwZSBCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4vbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1tb2RlbHMnO1xuXG4iXX0=