primeng 16.4.0 → 16.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/contextmenu/contextmenu.d.ts +2 -1
  2. package/dock/dock.d.ts +2 -2
  3. package/esm2022/breadcrumb/breadcrumb.mjs +31 -21
  4. package/esm2022/confirmpopup/confirmpopup.mjs +4 -1
  5. package/esm2022/contextmenu/contextmenu.mjs +21 -14
  6. package/esm2022/dock/dock.mjs +11 -15
  7. package/esm2022/megamenu/megamenu.mjs +28 -21
  8. package/esm2022/menubar/menubar.mjs +24 -17
  9. package/esm2022/panelmenu/panelmenu.mjs +21 -23
  10. package/esm2022/slidemenu/slidemenu.mjs +29 -15
  11. package/esm2022/steps/steps.mjs +3 -5
  12. package/esm2022/table/table.mjs +11 -6
  13. package/esm2022/tieredmenu/tieredmenu.mjs +16 -14
  14. package/esm2022/tree/tree.mjs +2 -2
  15. package/fesm2022/primeng-breadcrumb.mjs +30 -20
  16. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  17. package/fesm2022/primeng-confirmpopup.mjs +3 -0
  18. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  19. package/fesm2022/primeng-contextmenu.mjs +20 -13
  20. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  21. package/fesm2022/primeng-dock.mjs +10 -14
  22. package/fesm2022/primeng-dock.mjs.map +1 -1
  23. package/fesm2022/primeng-megamenu.mjs +27 -20
  24. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  25. package/fesm2022/primeng-menubar.mjs +23 -16
  26. package/fesm2022/primeng-menubar.mjs.map +1 -1
  27. package/fesm2022/primeng-panelmenu.mjs +20 -22
  28. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  29. package/fesm2022/primeng-slidemenu.mjs +28 -14
  30. package/fesm2022/primeng-slidemenu.mjs.map +1 -1
  31. package/fesm2022/primeng-steps.mjs +2 -4
  32. package/fesm2022/primeng-steps.mjs.map +1 -1
  33. package/fesm2022/primeng-table.mjs +10 -5
  34. package/fesm2022/primeng-table.mjs.map +1 -1
  35. package/fesm2022/primeng-tieredmenu.mjs +15 -13
  36. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  37. package/fesm2022/primeng-tree.mjs +1 -1
  38. package/fesm2022/primeng-tree.mjs.map +1 -1
  39. package/megamenu/megamenu.d.ts +1 -1
  40. package/menubar/menubar.d.ts +2 -1
  41. package/package.json +150 -150
  42. package/panelmenu/panelmenu.d.ts +6 -7
  43. package/slidemenu/slidemenu.d.ts +2 -1
  44. package/table/table.d.ts +3 -1
  45. package/tieredmenu/tieredmenu.d.ts +1 -1
@@ -92,9 +92,18 @@ class Breadcrumb {
92
92
  }
93
93
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Breadcrumb, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
94
94
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: Breadcrumb, selector: "p-breadcrumb", inputs: { model: "model", style: "style", styleClass: "styleClass", home: "home", homeAriaLabel: "homeAriaLabel" }, outputs: { onItemClick: "onItemClick" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
95
- <div [class]="styleClass" [ngStyle]="style" [ngClass]="'p-breadcrumb p-component'" [attr.data-pc-name]="'breadcrumb'" [attr.data-pc-section]="'root'">
96
- <ul [attr.data-pc-section]="'menu'" class="p-breadcrumb-list">
97
- <li [class]="home.styleClass" [ngClass]="{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }" [ngStyle]="home.style" *ngIf="home" pTooltip [tooltipOptions]="home.tooltipOptions" [attr.data-pc-section]="'home'">
95
+ <nav [class]="styleClass" [ngStyle]="style" [ngClass]="'p-breadcrumb p-component'" [attr.data-pc-name]="'breadcrumb'" [attr.data-pc-section]="'root'">
96
+ <ol [attr.data-pc-section]="'menu'" class="p-breadcrumb-list">
97
+ <li
98
+ [class]="home.styleClass"
99
+ [attr.id]="home.id"
100
+ [ngClass]="{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }"
101
+ [ngStyle]="home.style"
102
+ *ngIf="home"
103
+ pTooltip
104
+ [tooltipOptions]="home.tooltipOptions"
105
+ [attr.data-pc-section]="'home'"
106
+ >
98
107
  <a
99
108
  [href]="home.url ? home.url : null"
100
109
  *ngIf="!home.routerLink"
@@ -103,7 +112,6 @@ class Breadcrumb {
103
112
  (click)="onClick($event, home)"
104
113
  [target]="home.target"
105
114
  [attr.title]="home.title"
106
- [attr.id]="home.id"
107
115
  [attr.tabindex]="home.disabled ? null : '0'"
108
116
  [ariaCurrentWhenActive]="isCurrentUrl(home)"
109
117
  >
@@ -125,7 +133,6 @@ class Breadcrumb {
125
133
  (click)="onClick($event, home)"
126
134
  [target]="home.target"
127
135
  [attr.title]="home.title"
128
- [attr.id]="home.id"
129
136
  [attr.tabindex]="home.disabled ? null : '0'"
130
137
  [ariaCurrentWhenActive]="isCurrentUrl(home)"
131
138
  [fragment]="home.fragment"
@@ -148,7 +155,7 @@ class Breadcrumb {
148
155
  <ng-template *ngTemplateOutlet="separatorTemplate"></ng-template>
149
156
  </li>
150
157
  <ng-template ngFor let-item let-end="last" [ngForOf]="model">
151
- <li [class]="item.styleClass" [ngStyle]="item.style" [ngClass]="{ 'p-disabled': item.disabled }" pTooltip [tooltipOptions]="item.tooltipOptions" [attr.data-pc-section]="'menuitem'">
158
+ <li [class]="item.styleClass" [attr.id]="item.id" [ngStyle]="item.style" [ngClass]="{ 'p-disabled': item.disabled }" pTooltip [tooltipOptions]="item.tooltipOptions" [attr.data-pc-section]="'menuitem'">
152
159
  <a
153
160
  *ngIf="!item.routerLink"
154
161
  [attr.href]="item.url ? item.url : null"
@@ -156,7 +163,6 @@ class Breadcrumb {
156
163
  (click)="onClick($event, item)"
157
164
  [target]="item.target"
158
165
  [attr.title]="item.title"
159
- [attr.id]="item.id"
160
166
  [attr.tabindex]="item.disabled ? null : '0'"
161
167
  [ariaCurrentWhenActive]="isCurrentUrl(item)"
162
168
  >
@@ -176,7 +182,6 @@ class Breadcrumb {
176
182
  (click)="onClick($event, item)"
177
183
  [target]="item.target"
178
184
  [attr.title]="item.title"
179
- [attr.id]="item.id"
180
185
  [attr.tabindex]="item.disabled ? null : '0'"
181
186
  [fragment]="item.fragment"
182
187
  [queryParamsHandling]="item.queryParamsHandling"
@@ -198,16 +203,25 @@ class Breadcrumb {
198
203
  <ng-template *ngTemplateOutlet="separatorTemplate"></ng-template>
199
204
  </li>
200
205
  </ng-template>
201
- </ul>
202
- </div>
206
+ </ol>
207
+ </nav>
203
208
  `, isInline: true, styles: ["@layer primeng{.p-breadcrumb{overflow-x:auto}.p-breadcrumb .p-breadcrumb-list{margin:0;padding:0;list-style-type:none;display:flex;align-items:center;flex-wrap:nowrap}.p-breadcrumb .p-menuitem-text{line-height:1}.p-breadcrumb .p-menuitem-link{text-decoration:none;display:flex;align-items:center}.p-breadcrumb .p-menuitem-separator{display:flex;align-items:center}.p-breadcrumb::-webkit-scrollbar{display:none}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.RouterLink; }), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.RouterLinkActive; }), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Tooltip; }), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(function () { return ChevronRightIcon; }), selector: "ChevronRightIcon" }, { kind: "component", type: i0.forwardRef(function () { return HomeIcon; }), selector: "HomeIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
204
209
  }
205
210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Breadcrumb, decorators: [{
206
211
  type: Component,
207
212
  args: [{ selector: 'p-breadcrumb', template: `
208
- <div [class]="styleClass" [ngStyle]="style" [ngClass]="'p-breadcrumb p-component'" [attr.data-pc-name]="'breadcrumb'" [attr.data-pc-section]="'root'">
209
- <ul [attr.data-pc-section]="'menu'" class="p-breadcrumb-list">
210
- <li [class]="home.styleClass" [ngClass]="{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }" [ngStyle]="home.style" *ngIf="home" pTooltip [tooltipOptions]="home.tooltipOptions" [attr.data-pc-section]="'home'">
213
+ <nav [class]="styleClass" [ngStyle]="style" [ngClass]="'p-breadcrumb p-component'" [attr.data-pc-name]="'breadcrumb'" [attr.data-pc-section]="'root'">
214
+ <ol [attr.data-pc-section]="'menu'" class="p-breadcrumb-list">
215
+ <li
216
+ [class]="home.styleClass"
217
+ [attr.id]="home.id"
218
+ [ngClass]="{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }"
219
+ [ngStyle]="home.style"
220
+ *ngIf="home"
221
+ pTooltip
222
+ [tooltipOptions]="home.tooltipOptions"
223
+ [attr.data-pc-section]="'home'"
224
+ >
211
225
  <a
212
226
  [href]="home.url ? home.url : null"
213
227
  *ngIf="!home.routerLink"
@@ -216,7 +230,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
216
230
  (click)="onClick($event, home)"
217
231
  [target]="home.target"
218
232
  [attr.title]="home.title"
219
- [attr.id]="home.id"
220
233
  [attr.tabindex]="home.disabled ? null : '0'"
221
234
  [ariaCurrentWhenActive]="isCurrentUrl(home)"
222
235
  >
@@ -238,7 +251,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
238
251
  (click)="onClick($event, home)"
239
252
  [target]="home.target"
240
253
  [attr.title]="home.title"
241
- [attr.id]="home.id"
242
254
  [attr.tabindex]="home.disabled ? null : '0'"
243
255
  [ariaCurrentWhenActive]="isCurrentUrl(home)"
244
256
  [fragment]="home.fragment"
@@ -261,7 +273,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
261
273
  <ng-template *ngTemplateOutlet="separatorTemplate"></ng-template>
262
274
  </li>
263
275
  <ng-template ngFor let-item let-end="last" [ngForOf]="model">
264
- <li [class]="item.styleClass" [ngStyle]="item.style" [ngClass]="{ 'p-disabled': item.disabled }" pTooltip [tooltipOptions]="item.tooltipOptions" [attr.data-pc-section]="'menuitem'">
276
+ <li [class]="item.styleClass" [attr.id]="item.id" [ngStyle]="item.style" [ngClass]="{ 'p-disabled': item.disabled }" pTooltip [tooltipOptions]="item.tooltipOptions" [attr.data-pc-section]="'menuitem'">
265
277
  <a
266
278
  *ngIf="!item.routerLink"
267
279
  [attr.href]="item.url ? item.url : null"
@@ -269,7 +281,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
269
281
  (click)="onClick($event, item)"
270
282
  [target]="item.target"
271
283
  [attr.title]="item.title"
272
- [attr.id]="item.id"
273
284
  [attr.tabindex]="item.disabled ? null : '0'"
274
285
  [ariaCurrentWhenActive]="isCurrentUrl(item)"
275
286
  >
@@ -289,7 +300,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
289
300
  (click)="onClick($event, item)"
290
301
  [target]="item.target"
291
302
  [attr.title]="item.title"
292
- [attr.id]="item.id"
293
303
  [attr.tabindex]="item.disabled ? null : '0'"
294
304
  [fragment]="item.fragment"
295
305
  [queryParamsHandling]="item.queryParamsHandling"
@@ -311,8 +321,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
311
321
  <ng-template *ngTemplateOutlet="separatorTemplate"></ng-template>
312
322
  </li>
313
323
  </ng-template>
314
- </ul>
315
- </div>
324
+ </ol>
325
+ </nav>
316
326
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
317
327
  class: 'p-element'
318
328
  }, styles: ["@layer primeng{.p-breadcrumb{overflow-x:auto}.p-breadcrumb .p-breadcrumb-list{margin:0;padding:0;list-style-type:none;display:flex;align-items:center;flex-wrap:nowrap}.p-breadcrumb .p-menuitem-text{line-height:1}.p-breadcrumb .p-menuitem-link{text-decoration:none;display:flex;align-items:center}.p-breadcrumb .p-menuitem-separator{display:flex;align-items:center}.p-breadcrumb::-webkit-scrollbar{display:none}}\n"] }]
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-breadcrumb.mjs","sources":["../../src/app/components/breadcrumb/breadcrumb.ts","../../src/app/components/breadcrumb/primeng-breadcrumb.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { ChevronRightIcon } from 'primeng/icons/chevronright';\nimport { HomeIcon } from 'primeng/icons/home';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { BreadcrumbItemClickEvent } from './breadcrumb.interface';\n/**\n * Breadcrumb provides contextual information about page hierarchy.\n * @group Components\n */\n@Component({\n selector: 'p-breadcrumb',\n template: `\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-breadcrumb p-component'\" [attr.data-pc-name]=\"'breadcrumb'\" [attr.data-pc-section]=\"'root'\">\n <ul [attr.data-pc-section]=\"'menu'\" class=\"p-breadcrumb-list\">\n <li [class]=\"home.styleClass\" [ngClass]=\"{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }\" [ngStyle]=\"home.style\" *ngIf=\"home\" pTooltip [tooltipOptions]=\"home.tooltipOptions\" [attr.data-pc-section]=\"'home'\">\n <a\n [href]=\"home.url ? home.url : null\"\n *ngIf=\"!home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.id]=\"home.id\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(home)\"\n >\n <span *ngIf=\"home.icon\" class=\"p-menuitem-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iprivateyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-menuitem-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeLabel\" class=\"p-menuitem-text\">{{ home.label }}</span>\n <ng-template #htmlHomeLabel><span class=\"p-menuitem-text\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"home.routerLink\"\n [routerLink]=\"home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n [queryParams]=\"home.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"home.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.id]=\"home.id\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(home)\"\n [fragment]=\"home.fragment\"\n [queryParamsHandling]=\"home.queryParamsHandling\"\n [preserveFragment]=\"home.preserveFragment\"\n [skipLocationChange]=\"home.skipLocationChange\"\n [replaceUrl]=\"home.replaceUrl\"\n [state]=\"home.state\"\n >\n <span *ngIf=\"home.icon\" class=\"p-menuitem-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iconStyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-menuitem-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeRouteLabel\" class=\"p-menuitem-text\">{{ home.label }}</span>\n <ng-template #htmlHomeRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"model && home\" class=\"p-menuitem-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate\"></ng-template>\n </li>\n <ng-template ngFor let-item let-end=\"last\" [ngForOf]=\"model\">\n <li [class]=\"item.styleClass\" [ngStyle]=\"item.style\" [ngClass]=\"{ 'p-disabled': item.disabled }\" pTooltip [tooltipOptions]=\"item.tooltipOptions\" [attr.data-pc-section]=\"'menuitem'\">\n <a\n *ngIf=\"!item.routerLink\"\n [attr.href]=\"item.url ? item.url : null\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, item)\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.id]=\"item.id\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(item)\"\n >\n <span *ngIf=\"item.icon\" class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <ng-container *ngIf=\"item.label\">\n <span *ngIf=\"item.escape !== false; else htmlLabel\" class=\"p-menuitem-text\">{{ item.label }}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"item.routerLink\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, item)\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.id]=\"item.id\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(item)\"\n >\n <span *ngIf=\"item.icon\" class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <ng-container *ngIf=\"item.label\">\n <span *ngIf=\"item.escape !== false; else htmlRouteLabel\" class=\"p-menuitem-text\">{{ item.label }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"!end\" class=\"p-menuitem-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate\"></ng-template>\n </li>\n </ng-template>\n </ul>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./breadcrumb.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Breadcrumb implements AfterContentInit {\n /**\n * An array of menuitems.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * MenuItem configuration for the home icon.\n * @group Props\n */\n @Input() home: MenuItem | undefined;\n /**\n * Defines a string that labels the home icon for accessibility.\n * @group Props\n */\n @Input() homeAriaLabel: string | undefined;\n /**\n * Fired when an item is selected.\n * @param {BreadcrumbItemClickEvent} event - custom click event.\n * @group Emits\n */\n @Output() onItemClick: EventEmitter<BreadcrumbItemClickEvent> = new EventEmitter<BreadcrumbItemClickEvent>();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n separatorTemplate: TemplateRef<any> | undefined;\n\n constructor(private router: Router) {}\n\n onClick(event: MouseEvent, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.onItemClick.emit({\n originalEvent: event,\n item: item\n });\n }\n\n onHomeClick(event: MouseEvent | any) {\n if (this.home) {\n this.onClick(event, this.home);\n }\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'separator':\n this.separatorTemplate = item.template;\n break;\n }\n });\n }\n\n isCurrentUrl(item) {\n const { routerLink } = item;\n const lastPath = this.router ? this.router.url : '';\n\n return routerLink === lastPath ? 'page' : undefined;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TooltipModule, ChevronRightIcon, HomeIcon, SharedModule],\n exports: [Breadcrumb, RouterModule, TooltipModule, SharedModule],\n declarations: [Breadcrumb]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-breadcrumb.mjs","sources":["../../src/app/components/breadcrumb/breadcrumb.ts","../../src/app/components/breadcrumb/primeng-breadcrumb.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { MenuItem, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { ChevronRightIcon } from 'primeng/icons/chevronright';\nimport { HomeIcon } from 'primeng/icons/home';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { BreadcrumbItemClickEvent } from './breadcrumb.interface';\n/**\n * Breadcrumb provides contextual information about page hierarchy.\n * @group Components\n */\n@Component({\n selector: 'p-breadcrumb',\n template: `\n <nav [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-breadcrumb p-component'\" [attr.data-pc-name]=\"'breadcrumb'\" [attr.data-pc-section]=\"'root'\">\n <ol [attr.data-pc-section]=\"'menu'\" class=\"p-breadcrumb-list\">\n <li\n [class]=\"home.styleClass\"\n [attr.id]=\"home.id\"\n [ngClass]=\"{ 'p-breadcrumb-home': true, 'p-disabled': home.disabled }\"\n [ngStyle]=\"home.style\"\n *ngIf=\"home\"\n pTooltip\n [tooltipOptions]=\"home.tooltipOptions\"\n [attr.data-pc-section]=\"'home'\"\n >\n <a\n [href]=\"home.url ? home.url : null\"\n *ngIf=\"!home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(home)\"\n >\n <span *ngIf=\"home.icon\" class=\"p-menuitem-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iprivateyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-menuitem-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeLabel\" class=\"p-menuitem-text\">{{ home.label }}</span>\n <ng-template #htmlHomeLabel><span class=\"p-menuitem-text\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"home.routerLink\"\n [routerLink]=\"home.routerLink\"\n [attr.aria-label]=\"homeAriaLabel\"\n [queryParams]=\"home.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"home.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, home)\"\n [target]=\"home.target\"\n [attr.title]=\"home.title\"\n [attr.tabindex]=\"home.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(home)\"\n [fragment]=\"home.fragment\"\n [queryParamsHandling]=\"home.queryParamsHandling\"\n [preserveFragment]=\"home.preserveFragment\"\n [skipLocationChange]=\"home.skipLocationChange\"\n [replaceUrl]=\"home.replaceUrl\"\n [state]=\"home.state\"\n >\n <span *ngIf=\"home.icon\" class=\"p-menuitem-icon\" [ngClass]=\"home.icon\" [ngStyle]=\"home.iconStyle\"></span>\n <HomeIcon *ngIf=\"!home.icon\" [styleClass]=\"'p-menuitem-icon'\" />\n <ng-container *ngIf=\"home.label\">\n <span *ngIf=\"home.escape !== false; else htmlHomeRouteLabel\" class=\"p-menuitem-text\">{{ home.label }}</span>\n <ng-template #htmlHomeRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"home.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"model && home\" class=\"p-menuitem-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate\"></ng-template>\n </li>\n <ng-template ngFor let-item let-end=\"last\" [ngForOf]=\"model\">\n <li [class]=\"item.styleClass\" [attr.id]=\"item.id\" [ngStyle]=\"item.style\" [ngClass]=\"{ 'p-disabled': item.disabled }\" pTooltip [tooltipOptions]=\"item.tooltipOptions\" [attr.data-pc-section]=\"'menuitem'\">\n <a\n *ngIf=\"!item.routerLink\"\n [attr.href]=\"item.url ? item.url : null\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, item)\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(item)\"\n >\n <span *ngIf=\"item.icon\" class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <ng-container *ngIf=\"item.label\">\n <span *ngIf=\"item.escape !== false; else htmlLabel\" class=\"p-menuitem-text\">{{ item.label }}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n </a>\n <a\n *ngIf=\"item.routerLink\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onClick($event, item)\"\n [target]=\"item.target\"\n [attr.title]=\"item.title\"\n [attr.tabindex]=\"item.disabled ? null : '0'\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [ariaCurrentWhenActive]=\"isCurrentUrl(item)\"\n >\n <span *ngIf=\"item.icon\" class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n <ng-container *ngIf=\"item.label\">\n <span *ngIf=\"item.escape !== false; else htmlRouteLabel\" class=\"p-menuitem-text\">{{ item.label }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n </a>\n </li>\n <li *ngIf=\"!end\" class=\"p-menuitem-separator\" [attr.data-pc-section]=\"'separator'\">\n <ChevronRightIcon *ngIf=\"!separatorTemplate\" />\n <ng-template *ngTemplateOutlet=\"separatorTemplate\"></ng-template>\n </li>\n </ng-template>\n </ol>\n </nav>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./breadcrumb.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Breadcrumb implements AfterContentInit {\n /**\n * An array of menuitems.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * MenuItem configuration for the home icon.\n * @group Props\n */\n @Input() home: MenuItem | undefined;\n /**\n * Defines a string that labels the home icon for accessibility.\n * @group Props\n */\n @Input() homeAriaLabel: string | undefined;\n /**\n * Fired when an item is selected.\n * @param {BreadcrumbItemClickEvent} event - custom click event.\n * @group Emits\n */\n @Output() onItemClick: EventEmitter<BreadcrumbItemClickEvent> = new EventEmitter<BreadcrumbItemClickEvent>();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n separatorTemplate: TemplateRef<any> | undefined;\n\n constructor(private router: Router) {}\n\n onClick(event: MouseEvent, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.onItemClick.emit({\n originalEvent: event,\n item: item\n });\n }\n\n onHomeClick(event: MouseEvent | any) {\n if (this.home) {\n this.onClick(event, this.home);\n }\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'separator':\n this.separatorTemplate = item.template;\n break;\n }\n });\n }\n\n isCurrentUrl(item) {\n const { routerLink } = item;\n const lastPath = this.router ? this.router.url : '';\n\n return routerLink === lastPath ? 'page' : undefined;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TooltipModule, ChevronRightIcon, HomeIcon, SharedModule],\n exports: [Breadcrumb, RouterModule, TooltipModule, SharedModule],\n declarations: [Breadcrumb]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -162,6 +162,9 @@ class ConfirmPopup {
162
162
  if (this.autoZIndex) {
163
163
  ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);
164
164
  }
165
+ if (!this.confirmation) {
166
+ return;
167
+ }
165
168
  DomHandler.absolutePosition(this.container, this.confirmation?.target);
166
169
  const containerOffset = DomHandler.getOffset(this.container);
167
170
  const targetOffset = DomHandler.getOffset(this.confirmation?.target);
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-confirmpopup.mjs","sources":["../../src/app/components/confirmpopup/confirmpopup.ts","../../src/app/components/confirmpopup/primeng-confirmpopup.ts"],"sourcesContent":["import { AnimationEvent, animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgModule,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Confirmation, ConfirmationService, OverlayService, PrimeNGConfig, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmPopup',\n template: `\n <div\n *ngIf=\"visible\"\n [ngClass]=\"'p-confirm-popup p-component'\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n [@animation]=\"{ value: 'open', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <div #content class=\"p-confirm-popup-content\">\n <i [ngClass]=\"'p-confirm-popup-icon'\" [class]=\"confirmation?.icon\" *ngIf=\"confirmation?.icon\"></i>\n <span class=\"p-confirm-popup-message\">{{ confirmation?.message }}</span>\n </div>\n <div class=\"p-confirm-popup-footer\">\n <button\n type=\"button\"\n pButton\n [label]=\"rejectButtonLabel\"\n (click)=\"reject()\"\n [ngClass]=\"'p-confirm-popup-reject p-button-sm'\"\n [class]=\"confirmation?.rejectButtonStyleClass || 'p-button-text'\"\n *ngIf=\"confirmation?.rejectVisible !== false\"\n [attr.aria-label]=\"rejectButtonLabel\"\n >\n <i [class]=\"confirmation?.rejectIcon\" *ngIf=\"confirmation?.rejectIcon; else rejecticon\"></i>\n <ng-template #rejecticon *ngTemplateOutlet=\"rejectIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n pButton\n [label]=\"acceptButtonLabel\"\n (click)=\"accept()\"\n [ngClass]=\"'p-confirm-popup-accept p-button-sm'\"\n [class]=\"confirmation?.acceptButtonStyleClass\"\n *ngIf=\"confirmation?.acceptVisible !== false\"\n [attr.aria-label]=\"acceptButtonLabel\"\n >\n <i [class]=\"confirmation?.acceptIcon\" *ngIf=\"confirmation?.acceptIcon; else accepticon\"></i>\n <ng-template #accepticon *ngTemplateOutlet=\"acceptIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })\n ),\n state(\n 'open',\n style({\n transform: 'translateY(0)',\n opacity: 1\n })\n ),\n transition('void => open', animate('{{showTransitionParams}}')),\n transition('open => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./confirmpopup.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class ConfirmPopup implements AfterContentInit, OnDestroy {\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n @Input() defaultFocus: string = 'accept';\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input() autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input() baseZIndex: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines if the component is visible.\n * @group Props\n */\n @Input() get visible(): any {\n return this._visible;\n }\n set visible(value: any) {\n this._visible = value;\n this.cd.markForCheck();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n container: Nullable<HTMLDivElement>;\n\n subscription: Subscription;\n\n confirmation: Nullable<Confirmation>;\n\n acceptIconTemplate: Nullable<TemplateRef<any>>;\n\n rejectIconTemplate: Nullable<TemplateRef<any>>;\n\n _visible: boolean | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n constructor(\n public el: ElementRef,\n private confirmationService: ConfirmationService,\n public renderer: Renderer2,\n private cd: ChangeDetectorRef,\n public config: PrimeNGConfig,\n public overlayService: OverlayService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n return;\n }\n\n if (confirmation.key === this.key) {\n this.confirmation = confirmation;\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this.visible = true;\n }\n });\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'rejecticon':\n this.rejectIconTemplate = item.template;\n break;\n\n case 'accepticon':\n this.acceptIconTemplate = item.template;\n break;\n }\n });\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydown(event: KeyboardEvent) {\n if (this.confirmation && this.confirmation.closeOnEscape) {\n this.reject();\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.renderer.appendChild(this.document.body, this.container);\n this.align();\n this.bindListeners();\n\n const element = this.getElementToFocus();\n if (element) {\n element.focus();\n }\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.onContainerDestroy();\n break;\n }\n }\n\n getElementToFocus() {\n switch (this.defaultFocus) {\n case 'accept':\n return DomHandler.findSingle(this.container, '.p-confirm-popup-accept');\n\n case 'reject':\n return DomHandler.findSingle(this.container, '.p-confirm-popup-reject');\n\n case 'none':\n return null;\n }\n }\n\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n\n DomHandler.absolutePosition(this.container, this.confirmation?.target);\n\n const containerOffset = DomHandler.getOffset(this.container);\n const targetOffset = DomHandler.getOffset(this.confirmation?.target);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n (this.container as HTMLDivElement).style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n DomHandler.addClass(this.container, 'p-confirm-popup-flipped');\n }\n }\n\n hide() {\n this.visible = false;\n }\n\n accept() {\n if (this.confirmation?.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n }\n\n reject() {\n if (this.confirmation?.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = DomHandler.isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n if (this.confirmation && this.confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>this.confirmation.target;\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.visible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation?.target, () => {\n if (this.visible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n if (this.confirmation) {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.unsubscribe();\n }\n\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.unsubscribe();\n }\n }\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation = null;\n this.container = null;\n }\n\n restoreAppend() {\n if (this.container) {\n this.renderer.removeChild(this.document.body, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation?.acceptLabel || this.config.getTranslation(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation?.rejectLabel || this.config.getTranslation(TranslationKeys.REJECT);\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonModule, SharedModule],\n exports: [ConfirmPopup, SharedModule],\n declarations: [ConfirmPopup]\n})\nexport class ConfirmPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-confirmpopup.mjs","sources":["../../src/app/components/confirmpopup/confirmpopup.ts","../../src/app/components/confirmpopup/primeng-confirmpopup.ts"],"sourcesContent":["import { AnimationEvent, animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgModule,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Confirmation, ConfirmationService, OverlayService, PrimeNGConfig, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\n/**\n * ConfirmPopup displays a confirmation overlay displayed relatively to its target.\n * @group Components\n */\n@Component({\n selector: 'p-confirmPopup',\n template: `\n <div\n *ngIf=\"visible\"\n [ngClass]=\"'p-confirm-popup p-component'\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n role=\"alertdialog\"\n (click)=\"onOverlayClick($event)\"\n [@animation]=\"{ value: 'open', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n (@animation.start)=\"onAnimationStart($event)\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <div #content class=\"p-confirm-popup-content\">\n <i [ngClass]=\"'p-confirm-popup-icon'\" [class]=\"confirmation?.icon\" *ngIf=\"confirmation?.icon\"></i>\n <span class=\"p-confirm-popup-message\">{{ confirmation?.message }}</span>\n </div>\n <div class=\"p-confirm-popup-footer\">\n <button\n type=\"button\"\n pButton\n [label]=\"rejectButtonLabel\"\n (click)=\"reject()\"\n [ngClass]=\"'p-confirm-popup-reject p-button-sm'\"\n [class]=\"confirmation?.rejectButtonStyleClass || 'p-button-text'\"\n *ngIf=\"confirmation?.rejectVisible !== false\"\n [attr.aria-label]=\"rejectButtonLabel\"\n >\n <i [class]=\"confirmation?.rejectIcon\" *ngIf=\"confirmation?.rejectIcon; else rejecticon\"></i>\n <ng-template #rejecticon *ngTemplateOutlet=\"rejectIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n pButton\n [label]=\"acceptButtonLabel\"\n (click)=\"accept()\"\n [ngClass]=\"'p-confirm-popup-accept p-button-sm'\"\n [class]=\"confirmation?.acceptButtonStyleClass\"\n *ngIf=\"confirmation?.acceptVisible !== false\"\n [attr.aria-label]=\"acceptButtonLabel\"\n >\n <i [class]=\"confirmation?.acceptIcon\" *ngIf=\"confirmation?.acceptIcon; else accepticon\"></i>\n <ng-template #accepticon *ngTemplateOutlet=\"acceptIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })\n ),\n state(\n 'open',\n style({\n transform: 'translateY(0)',\n opacity: 1\n })\n ),\n transition('void => open', animate('{{showTransitionParams}}')),\n transition('open => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./confirmpopup.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class ConfirmPopup implements AfterContentInit, OnDestroy {\n /**\n * Optional key to match the key of confirm object, necessary to use when component tree has multiple confirm dialogs.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Element to receive the focus when the popup gets visible, valid values are \"accept\", \"reject\", and \"none\".\n * @group Props\n */\n @Input() defaultFocus: string = 'accept';\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input() autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input() baseZIndex: number = 0;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Defines if the component is visible.\n * @group Props\n */\n @Input() get visible(): any {\n return this._visible;\n }\n set visible(value: any) {\n this._visible = value;\n this.cd.markForCheck();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n container: Nullable<HTMLDivElement>;\n\n subscription: Subscription;\n\n confirmation: Nullable<Confirmation>;\n\n acceptIconTemplate: Nullable<TemplateRef<any>>;\n\n rejectIconTemplate: Nullable<TemplateRef<any>>;\n\n _visible: boolean | undefined;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n private window: Window;\n\n constructor(\n public el: ElementRef,\n private confirmationService: ConfirmationService,\n public renderer: Renderer2,\n private cd: ChangeDetectorRef,\n public config: PrimeNGConfig,\n public overlayService: OverlayService,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.window = this.document.defaultView as Window;\n this.subscription = this.confirmationService.requireConfirmation$.subscribe((confirmation) => {\n if (!confirmation) {\n this.hide();\n return;\n }\n\n if (confirmation.key === this.key) {\n this.confirmation = confirmation;\n if (this.confirmation.accept) {\n this.confirmation.acceptEvent = new EventEmitter();\n this.confirmation.acceptEvent.subscribe(this.confirmation.accept);\n }\n\n if (this.confirmation.reject) {\n this.confirmation.rejectEvent = new EventEmitter();\n this.confirmation.rejectEvent.subscribe(this.confirmation.reject);\n }\n\n this.visible = true;\n }\n });\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'rejecticon':\n this.rejectIconTemplate = item.template;\n break;\n\n case 'accepticon':\n this.acceptIconTemplate = item.template;\n break;\n }\n });\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydown(event: KeyboardEvent) {\n if (this.confirmation && this.confirmation.closeOnEscape) {\n this.reject();\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.renderer.appendChild(this.document.body, this.container);\n this.align();\n this.bindListeners();\n\n const element = this.getElementToFocus();\n if (element) {\n element.focus();\n }\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.onContainerDestroy();\n break;\n }\n }\n\n getElementToFocus() {\n switch (this.defaultFocus) {\n case 'accept':\n return DomHandler.findSingle(this.container, '.p-confirm-popup-accept');\n\n case 'reject':\n return DomHandler.findSingle(this.container, '.p-confirm-popup-reject');\n\n case 'none':\n return null;\n }\n }\n\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.config.zIndex.overlay);\n }\n\n if (!this.confirmation) {\n return;\n }\n DomHandler.absolutePosition(this.container, this.confirmation?.target);\n\n const containerOffset = DomHandler.getOffset(this.container);\n const targetOffset = DomHandler.getOffset(this.confirmation?.target);\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left;\n }\n (this.container as HTMLDivElement).style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n DomHandler.addClass(this.container, 'p-confirm-popup-flipped');\n }\n }\n\n hide() {\n this.visible = false;\n }\n\n accept() {\n if (this.confirmation?.acceptEvent) {\n this.confirmation.acceptEvent.emit();\n }\n\n this.hide();\n }\n\n reject() {\n if (this.confirmation?.rejectEvent) {\n this.confirmation.rejectEvent.emit();\n }\n\n this.hide();\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n bindListeners(): void {\n /*\n * Called inside `setTimeout` to avoid listening to the click event that appears when `confirm` is first called(bubbling).\n * Need wait when bubbling event up and hang the handler on the next tick.\n * This is the case when eventTarget and confirmation.target do not match when the `confirm` method is called.\n */\n setTimeout(() => {\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n });\n }\n\n unbindListeners() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n let documentEvent = DomHandler.isIOS() ? 'touchstart' : 'click';\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\n if (this.confirmation && this.confirmation.dismissableMask !== false) {\n let targetElement = <HTMLElement>this.confirmation.target;\n if (this.container !== event.target && !this.container?.contains(event.target) && targetElement !== event.target && !targetElement.contains(event.target)) {\n this.hide();\n }\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n onWindowResize() {\n if (this.visible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.confirmation?.target, () => {\n if (this.visible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n unsubscribeConfirmationSubscriptions() {\n if (this.confirmation) {\n if (this.confirmation.acceptEvent) {\n this.confirmation.acceptEvent.unsubscribe();\n }\n\n if (this.confirmation.rejectEvent) {\n this.confirmation.rejectEvent.unsubscribe();\n }\n }\n }\n\n onContainerDestroy() {\n this.unbindListeners();\n this.unsubscribeConfirmationSubscriptions();\n\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n this.confirmation = null;\n this.container = null;\n }\n\n restoreAppend() {\n if (this.container) {\n this.renderer.removeChild(this.document.body, this.container);\n }\n\n this.onContainerDestroy();\n }\n\n get acceptButtonLabel(): string {\n return this.confirmation?.acceptLabel || this.config.getTranslation(TranslationKeys.ACCEPT);\n }\n\n get rejectButtonLabel(): string {\n return this.confirmation?.rejectLabel || this.config.getTranslation(TranslationKeys.REJECT);\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonModule, SharedModule],\n exports: [ConfirmPopup, SharedModule],\n declarations: [ConfirmPopup]\n})\nexport class ConfirmPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ class ContextMenuSub {
53
53
  return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
54
54
  }
55
55
  getItemId(processedItem) {
56
- return `${this.menuId}_${processedItem.key}`;
56
+ return processedItem.item && processedItem.item?.id ? processedItem.item.id : `${this.menuId}_${processedItem.key}`;
57
57
  }
58
58
  getItemKey(processedItem) {
59
59
  return this.getItemId(processedItem);
@@ -581,7 +581,7 @@ class ContextMenu {
581
581
  window;
582
582
  focused = false;
583
583
  activeItemPath = signal([]);
584
- focusedItemInfo = signal({ index: -1, level: 0, parentKey: '' });
584
+ focusedItemInfo = signal({ index: -1, level: 0, parentKey: '', item: null });
585
585
  submenuVisible = signal(false);
586
586
  searchValue = '';
587
587
  searchTimeout;
@@ -598,8 +598,8 @@ class ContextMenu {
598
598
  return this._processedItems;
599
599
  }
600
600
  get focusedItemId() {
601
- const focusedItemInfo = this.focusedItemInfo();
602
- return focusedItemInfo.index !== -1 ? `${this.id}${ObjectUtils.isNotEmpty(focusedItemInfo.parentKey) ? '_' + focusedItemInfo.parentKey : ''}_${focusedItemInfo.index}` : null;
601
+ const focusedItem = this.focusedItemInfo();
602
+ return focusedItem.item && focusedItem.item?.id ? focusedItem.item.id : focusedItem.index !== -1 ? `${this.id}${ObjectUtils.isNotEmpty(focusedItem.parentKey) ? '_' + focusedItem.parentKey : ''}_${focusedItem.index}` : null;
603
603
  }
604
604
  constructor(document, platformId, el, renderer, cd, config, overlayService) {
605
605
  this.document = document;
@@ -727,9 +727,9 @@ class ContextMenu {
727
727
  const grouped = this.isProcessedItemGroup(processedItem);
728
728
  const selected = this.isSelected(processedItem);
729
729
  if (selected) {
730
- const { index, key, level, parentKey } = processedItem;
730
+ const { index, key, level, parentKey, item } = processedItem;
731
731
  this.activeItemPath.set(this.activeItemPath().filter((p) => key !== p.key && key.startsWith(p.key)));
732
- this.focusedItemInfo.set({ index, level, parentKey });
732
+ this.focusedItemInfo.set({ index, level, parentKey, item });
733
733
  DomHandler.focus(this.rootmenu.sublistViewChild.nativeElement);
734
734
  }
735
735
  else {
@@ -796,7 +796,7 @@ class ContextMenu {
796
796
  const grouped = this.isProccessedItemGroup(processedItem);
797
797
  if (grouped) {
798
798
  this.onItemChange({ originalEvent: event, processedItem });
799
- this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key });
799
+ this.focusedItemInfo.set({ index: -1, parentKey: processedItem.key, item: processedItem.item });
800
800
  this.searchValue = '';
801
801
  this.onArrowDownKey(event);
802
802
  }
@@ -823,7 +823,7 @@ class ContextMenu {
823
823
  const parentItem = this.activeItemPath().find((p) => p.key === processedItem.parentKey);
824
824
  const root = ObjectUtils.isEmpty(processedItem.parent);
825
825
  if (!root) {
826
- this.focusedItemInfo.set({ index: -1, parentKey: parentItem ? parentItem.parentKey : '' });
826
+ this.focusedItemInfo.set({ index: -1, parentKey: parentItem ? parentItem.parentKey : '', item: processedItem.item });
827
827
  this.searchValue = '';
828
828
  this.onArrowDownKey(event);
829
829
  }
@@ -844,8 +844,10 @@ class ContextMenu {
844
844
  }
845
845
  onEscapeKey(event) {
846
846
  this.hide();
847
+ const processedItem = this.findVisibleItem(this.findFirstFocusedItemIndex());
847
848
  this.focusedItemInfo.mutate((value) => {
848
849
  value.index = this.findFirstFocusedItemIndex();
850
+ value.item = processedItem.item;
849
851
  });
850
852
  event.preventDefault();
851
853
  }
@@ -883,18 +885,18 @@ class ContextMenu {
883
885
  activeItemPath.push(processedItem);
884
886
  this.submenuVisible.set(true);
885
887
  }
886
- this.focusedItemInfo.set({ index, level, parentKey });
888
+ this.focusedItemInfo.set({ index, level, parentKey, item: processedItem.item });
887
889
  this.activeItemPath.set(activeItemPath);
888
890
  isFocus && DomHandler.focus(this.rootmenu.sublistViewChild.nativeElement);
889
891
  }
890
892
  onMenuFocus(event) {
891
893
  this.focused = true;
892
- const focusedItemInfo = this.focusedItemInfo().index !== -1 ? this.focusedItemInfo() : { index: -1, level: 0, parentKey: '' };
894
+ const focusedItemInfo = this.focusedItemInfo().index !== -1 ? this.focusedItemInfo() : { index: -1, level: 0, parentKey: '', item: null };
893
895
  this.focusedItemInfo.set(focusedItemInfo);
894
896
  }
895
897
  onMenuBlur(event) {
896
898
  this.focused = false;
897
- this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
899
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
898
900
  this.searchValue = '';
899
901
  }
900
902
  onOverlayAnimationStart(event) {
@@ -944,14 +946,14 @@ class ContextMenu {
944
946
  hide() {
945
947
  this.visible.set(false);
946
948
  this.activeItemPath.set([]);
947
- this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
949
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
948
950
  }
949
951
  toggle(event) {
950
952
  this.visible() ? this.hide() : this.show(event);
951
953
  }
952
954
  show(event) {
953
955
  this.activeItemPath.set([]);
954
- this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '' });
956
+ this.focusedItemInfo.set({ index: -1, level: 0, parentKey: '', item: null });
955
957
  this.pageX = event.pageX;
956
958
  this.pageY = event.pageY;
957
959
  this.visible() ? this.position() : this.visible.set(true);
@@ -1012,6 +1014,9 @@ class ContextMenu {
1012
1014
  }, 500);
1013
1015
  return matched;
1014
1016
  }
1017
+ findVisibleItem(index) {
1018
+ return ObjectUtils.isNotEmpty(this.visibleItems) ? this.visibleItems[index] : null;
1019
+ }
1015
1020
  findLastFocusedItemIndex() {
1016
1021
  const selectedIndex = this.findSelectedItemIndex();
1017
1022
  return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex;
@@ -1038,9 +1043,11 @@ class ContextMenu {
1038
1043
  return this.visibleItems.findIndex((processedItem) => this.isValidSelectedItem(processedItem));
1039
1044
  }
1040
1045
  changeFocusedItemIndex(event, index) {
1046
+ const processedItem = this.findVisibleItem(index);
1041
1047
  if (this.focusedItemInfo().index !== index) {
1042
1048
  this.focusedItemInfo.mutate((value) => {
1043
1049
  value.index = index;
1050
+ value.item = processedItem.item;
1044
1051
  });
1045
1052
  this.scrollInView();
1046
1053
  }