cax-design-system 2.0.0 → 2.2.0

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 (132) hide show
  1. package/README.md +1 -1
  2. package/avatargroup/avatargroup.d.ts +1 -7
  3. package/avatargroup/avatargroup.module.d.ts +9 -0
  4. package/avatargroup/public_api.d.ts +1 -0
  5. package/badge/badge.directive.d.ts +4 -2
  6. package/button/button.d.ts +2 -1
  7. package/editor/editor.d.ts +1 -8
  8. package/editor/editor.module.d.ts +9 -0
  9. package/editor/public_api.d.ts +1 -0
  10. package/esm2022/avatar/avatar.mjs +3 -3
  11. package/esm2022/avatargroup/avatargroup.mjs +5 -27
  12. package/esm2022/avatargroup/avatargroup.module.mjs +19 -0
  13. package/esm2022/avatargroup/public_api.mjs +2 -1
  14. package/esm2022/badge/badge.directive.mjs +20 -8
  15. package/esm2022/badge/badge.mjs +4 -4
  16. package/esm2022/button/button.mjs +5 -4
  17. package/esm2022/checkbox/checkbox.mjs +3 -3
  18. package/esm2022/dropdown/dropdown.mjs +4 -6
  19. package/esm2022/editor/editor.mjs +9 -120
  20. package/esm2022/editor/editor.module.mjs +19 -0
  21. package/esm2022/editor/public_api.mjs +2 -1
  22. package/esm2022/inputmask/inputmask.mjs +42 -108
  23. package/esm2022/inputmask/inputmask.module.mjs +22 -0
  24. package/esm2022/inputmask/public_api.mjs +2 -1
  25. package/esm2022/inputtext/inputtext.component.mjs +14 -8
  26. package/esm2022/inputtext/inputtext.directive.mjs +3 -4
  27. package/esm2022/messages/messages.mjs +5 -5
  28. package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
  29. package/esm2022/paginator/paginator.mjs +21 -8
  30. package/esm2022/progressbar/progressbar.mjs +2 -2
  31. package/esm2022/progressspinner/progressspinner.mjs +12 -12
  32. package/esm2022/selectbutton/selectbutton.mjs +2 -2
  33. package/esm2022/sidebar/sidebar.mjs +3 -3
  34. package/esm2022/splitbutton/splitbutton.mjs +8 -3
  35. package/esm2022/splitbutton/splitbutton.module.mjs +5 -4
  36. package/esm2022/steps/public_api.mjs +2 -1
  37. package/esm2022/steps/steps.mjs +5 -143
  38. package/esm2022/steps/steps.module.mjs +20 -0
  39. package/esm2022/table/table.mjs +3 -3
  40. package/esm2022/tabview/tabview.mjs +28 -3
  41. package/esm2022/timeline/public_api.mjs +2 -1
  42. package/esm2022/timeline/timeline.mjs +6 -90
  43. package/esm2022/timeline/timeline.module.mjs +19 -0
  44. package/esm2022/togglebutton/togglebutton.mjs +2 -2
  45. package/esm2022/toggleswitch/toggleswitch.mjs +7 -4
  46. package/fesm2022/cax-design-system-avatar.mjs +2 -2
  47. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  48. package/fesm2022/cax-design-system-avatargroup.mjs +9 -15
  49. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  50. package/fesm2022/cax-design-system-badge.mjs +22 -10
  51. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  52. package/fesm2022/cax-design-system-button.mjs +5 -4
  53. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  54. package/fesm2022/cax-design-system-checkbox.mjs +2 -2
  55. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  56. package/fesm2022/cax-design-system-dropdown.mjs +3 -5
  57. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  58. package/fesm2022/cax-design-system-editor.mjs +9 -106
  59. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  60. package/fesm2022/cax-design-system-inputmask.mjs +40 -89
  61. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  62. package/fesm2022/cax-design-system-inputtext.mjs +15 -10
  63. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  64. package/fesm2022/cax-design-system-messages.mjs +4 -4
  65. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  66. package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
  67. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  68. package/fesm2022/cax-design-system-paginator.mjs +20 -7
  69. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  70. package/fesm2022/cax-design-system-progressbar.mjs +2 -2
  71. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  72. package/fesm2022/cax-design-system-progressspinner.mjs +11 -11
  73. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  74. package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
  75. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  76. package/fesm2022/cax-design-system-sidebar.mjs +2 -2
  77. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  78. package/fesm2022/cax-design-system-splitbutton.mjs +11 -5
  79. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  80. package/fesm2022/cax-design-system-steps.mjs +7 -128
  81. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  82. package/fesm2022/cax-design-system-table.mjs +2 -2
  83. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  84. package/fesm2022/cax-design-system-tabview.mjs +27 -2
  85. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  86. package/fesm2022/cax-design-system-timeline.mjs +6 -75
  87. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  88. package/fesm2022/cax-design-system-togglebutton.mjs +2 -2
  89. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  90. package/fesm2022/cax-design-system-toggleswitch.mjs +6 -3
  91. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  92. package/inputmask/inputmask.d.ts +12 -12
  93. package/inputmask/inputmask.module.d.ts +12 -0
  94. package/inputmask/public_api.d.ts +1 -0
  95. package/inputtext/inputtext.component.d.ts +6 -3
  96. package/messages/messages.d.ts +1 -1
  97. package/package.json +215 -215
  98. package/paginator/paginator.d.ts +4 -1
  99. package/progressspinner/progressspinner.d.ts +1 -1
  100. package/resources/cax.min.scss +1 -1
  101. package/resources/cax.scss +7686 -6588
  102. package/resources/components/avatar/avatar.scss +2 -2
  103. package/resources/components/avatargroup/{avatargroup.css → avatargroup.scss} +2 -2
  104. package/resources/components/badge/badge.scss +33 -0
  105. package/resources/components/button/button.scss +44 -11
  106. package/resources/components/dropdown/dropdown.scss +2 -18
  107. package/resources/components/editor/editor.scss +4 -0
  108. package/resources/components/inputmask/{inputmask.css → inputmask.scss} +2 -2
  109. package/resources/components/inputtext/inputtext.scss +21 -23
  110. package/resources/components/messages/messages.scss +1 -1
  111. package/resources/components/overlaypanel/overlaypanel.scss +4 -1
  112. package/resources/components/paginator/paginator.scss +4 -0
  113. package/resources/components/progressbar/progressbar.scss +0 -15
  114. package/resources/components/progressspinner/progressspinner.scss +9 -9
  115. package/resources/components/sidebar/sidebar.scss +1 -1
  116. package/resources/components/splitbutton/splitbutton.scss +6 -3
  117. package/resources/components/steps/{steps.css → steps.scss} +10 -9
  118. package/resources/components/table/table.scss +41 -1
  119. package/resources/components/tabview/tabview.scss +12 -8
  120. package/resources/components/timeline/timeline.scss +134 -0
  121. package/resources/components/toggleswitch/toggleswitch.scss +6 -0
  122. package/splitbutton/splitbutton.d.ts +1 -0
  123. package/splitbutton/splitbutton.module.d.ts +2 -1
  124. package/steps/public_api.d.ts +1 -0
  125. package/steps/steps.d.ts +1 -9
  126. package/steps/steps.module.d.ts +10 -0
  127. package/timeline/public_api.d.ts +1 -0
  128. package/timeline/timeline.d.ts +1 -8
  129. package/timeline/timeline.module.d.ts +9 -0
  130. package/toggleswitch/toggleswitch.d.ts +2 -1
  131. package/resources/components/editor/editor.css +0 -4
  132. package/resources/components/timeline/timeline.css +0 -114
@@ -212,12 +212,12 @@ class Messages {
212
212
  item.command({ originalEvent: e, item });
213
213
  }
214
214
  }
215
- getButtonSeverity(severity) {
215
+ getButtonSeverity(severity, outlined) {
216
216
  switch (severity) {
217
217
  case 'success':
218
218
  return 'success';
219
219
  case 'info':
220
- return 'primary';
220
+ return outlined ? 'secondary' : 'primary';
221
221
  case 'error':
222
222
  return 'danger';
223
223
  case 'warn':
@@ -227,7 +227,7 @@ class Messages {
227
227
  }
228
228
  }
229
229
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Messages, deps: [{ token: i1.MessageService, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
230
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Messages, isStandalone: true, selector: "cax-messages", inputs: { value: "value", closable: ["closable", "closable", booleanAttribute], style: "style", styleClass: "styleClass", enableService: ["enableService", "enableService", booleanAttribute], key: "key", escape: ["escape", "escape", booleanAttribute], severity: "severity", size: "size", displayIcon: "displayIcon", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { valueChange: "valueChange", onClose: "onClose" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: ["@layer cax{.cax-message-wrapper{display:flex;align-items:flex-start}.cax-message-wrap{display:flex}.cax-message-close{display:flex;align-items:center;justify-content:center;flex:none}.cax-message-close.cax-link{margin-left:auto;overflow:hidden;position:relative}.cax-messages .cax-message.ng-animating{overflow:hidden}.cax-messages-sm{width:40%}.cax-messages-md{width:60%}.cax-messages-lg{width:100%}.cax-message-button-wrapper{display:flex;overflow-x:auto;padding:0 14px 14px 20px}.cax-message-button-wrapper cax-button{margin-right:8px}.cax-message-button-wrapper::-webkit-scrollbar{width:0px;height:0px;background:transparent}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }], animations: [
230
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Messages, isStandalone: true, selector: "cax-messages", inputs: { value: "value", closable: ["closable", "closable", booleanAttribute], style: "style", styleClass: "styleClass", enableService: ["enableService", "enableService", booleanAttribute], key: "key", escape: ["escape", "escape", booleanAttribute], severity: "severity", size: "size", displayIcon: "displayIcon", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { valueChange: "valueChange", onClose: "onClose" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity, item.outlined)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: ["@layer cax{.cax-message-wrapper{display:flex;align-items:flex-start}.cax-message-wrap{display:flex;gap:8px}.cax-message-close{display:flex;align-items:center;justify-content:center;flex:none}.cax-message-close.cax-link{margin-left:auto;overflow:hidden;position:relative}.cax-messages .cax-message.ng-animating{overflow:hidden}.cax-messages-sm{width:40%}.cax-messages-md{width:60%}.cax-messages-lg{width:100%}.cax-message-button-wrapper{display:flex;overflow-x:auto}.cax-message-button-wrapper cax-button{margin-right:8px}.cax-message-button-wrapper::-webkit-scrollbar{width:0px;height:0px;background:transparent}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }], animations: [
231
231
  trigger('messageAnimation', [
232
232
  transition(':enter', [style({ opacity: 0, transform: 'translateY(-25%)' }), animate('{{showTransitionParams}}')]),
233
233
  transition(':leave', [animate('{{hideTransitionParams}}', style({ height: 0, marginTop: 0, marginBottom: 0, marginLeft: 0, marginRight: 0, opacity: 0 }))])
@@ -243,7 +243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
243
243
  ])
244
244
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, RippleModule, TimesIcon, SharedModule, ButtonModule], host: {
245
245
  class: 'cax-element'
246
- }, template: "<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: ["@layer cax{.cax-message-wrapper{display:flex;align-items:flex-start}.cax-message-wrap{display:flex}.cax-message-close{display:flex;align-items:center;justify-content:center;flex:none}.cax-message-close.cax-link{margin-left:auto;overflow:hidden;position:relative}.cax-messages .cax-message.ng-animating{overflow:hidden}.cax-messages-sm{width:40%}.cax-messages-md{width:60%}.cax-messages-lg{width:100%}.cax-message-button-wrapper{display:flex;overflow-x:auto;padding:0 14px 14px 20px}.cax-message-button-wrapper cax-button{margin-right:8px}.cax-message-button-wrapper::-webkit-scrollbar{width:0px;height:0px;background:transparent}}\n"] }]
246
+ }, template: "<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity, item.outlined)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: ["@layer cax{.cax-message-wrapper{display:flex;align-items:flex-start}.cax-message-wrap{display:flex;gap:8px}.cax-message-close{display:flex;align-items:center;justify-content:center;flex:none}.cax-message-close.cax-link{margin-left:auto;overflow:hidden;position:relative}.cax-messages .cax-message.ng-animating{overflow:hidden}.cax-messages-sm{width:40%}.cax-messages-md{width:60%}.cax-messages-lg{width:100%}.cax-message-button-wrapper{display:flex;overflow-x:auto}.cax-message-button-wrapper cax-button{margin-right:8px}.cax-message-button-wrapper::-webkit-scrollbar{width:0px;height:0px;background:transparent}}\n"] }]
247
247
  }], ctorParameters: () => [{ type: i1.MessageService, decorators: [{
248
248
  type: Optional
249
249
  }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.caxConfig }], propDecorators: { value: [{
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-messages.mjs","sources":["../../src/app/components/messages/messages.ts","../../src/app/components/messages/messages.html","../../src/app/components/messages/messages.module.ts","../../src/app/components/messages/cax-design-system-messages.ts"],"sourcesContent":["import { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, OnDestroy, Optional, Output, QueryList, TemplateRef, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { Message, MessageService, CaxTemplate, SharedModule, caxConfig } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Subscription, timer } from 'rxjs';\nimport { ActionButtonItem } from './messages.interface';\n/**\n * Messages is used to display alerts inline.\n * @group Components\n */\n@Component({\n selector: 'cax-messages',\n templateUrl: './messages.html',\n animations: [\n trigger('messageAnimation', [\n transition(':enter', [style({ opacity: 0, transform: 'translateY(-25%)' }), animate('{{showTransitionParams}}')]),\n transition(':leave', [animate('{{hideTransitionParams}}', style({ height: 0, marginTop: 0, marginBottom: 0, marginLeft: 0, marginRight: 0, opacity: 0 }))])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./messages.scss'],\n standalone: true,\n imports: [CommonModule, RippleModule, TimesIcon, SharedModule, ButtonModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class Messages implements AfterContentInit, OnDestroy {\n /**\n * An array of messages to display.\n * @group Props\n */\n @Input() set value(messages: Message[]) {\n this.messages = messages;\n this.startMessageLifes(this.messages);\n }\n /**\n * Defines if message box can be closed by the click icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closable: boolean = true;\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 * Whether displaying services messages are enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) enableService: boolean = true;\n /**\n * Id to match the key of the message to enable scoping in service based messaging.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Whether displaying messages would be escaped or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) escape: boolean = true;\n /**\n * Severity level of the message.\n * @group Props\n */\n @Input() severity: 'success' | 'info' | 'error' | 'warn' | undefined;\n /**\n * Size of the message.\n * @group Props\n */\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * Display icon or not\n * @group Props\n */\n @Input() displayIcon: boolean = true;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '300ms ease-out';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '200ms cubic-bezier(0.86, 0, 0.07, 1)';\n /**\n * This function is executed when the value changes.\n * @param {Message[]} value - messages value.\n * @group Emits\n */\n @Output() valueChange: EventEmitter<Message[]> = new EventEmitter<Message[]>();\n /**\n * This function is executed when a message is closed.\n * @param {Message} value - Closed message.\n * @group Emits\n */\n @Output() onClose: EventEmitter<Message> = new EventEmitter<Message>();\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n messages: Message[] | null | undefined;\n\n messageSubscription: Subscription | undefined;\n\n clearSubscription: Subscription | undefined;\n\n timerSubscriptions: Subscription[] = [];\n\n contentTemplate: TemplateRef<any> | undefined;\n\n constructor(\n @Optional() public messageService: MessageService,\n public el: ElementRef,\n public cd: ChangeDetectorRef,\n private config: caxConfig\n ) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n\n if (this.messageService && this.enableService && !this.contentTemplate) {\n this.messageSubscription = this.messageService.messageObserver.subscribe((messages: Message | Message[]) => {\n if (messages) {\n if (!Array.isArray(messages)) {\n messages = [messages];\n }\n\n const filteredMessages = messages.filter((m) => this.key === m.key);\n this.messages = this.messages ? [...this.messages, ...filteredMessages] : [...filteredMessages];\n this.startMessageLifes(filteredMessages);\n this.cd.markForCheck();\n }\n });\n\n this.clearSubscription = this.messageService.clearObserver.subscribe((key) => {\n if (key) {\n if (this.key === key) {\n this.messages = null;\n }\n } else {\n this.messages = null;\n }\n\n this.cd.markForCheck();\n });\n }\n }\n\n hasMessages() {\n let parentEl = this.el.nativeElement.parentElement;\n if (parentEl && parentEl.offsetParent) {\n return this.contentTemplate != null || (this.messages && this.messages.length > 0);\n }\n\n return false;\n }\n\n clear() {\n this.messages = [];\n this.valueChange.emit(this.messages);\n }\n\n removeMessage(i: number) {\n const removedMessage = this.messages[i];\n this.messages = this.messages?.filter((msg, index) => index !== i);\n removedMessage && this.onClose.emit(removedMessage);\n this.valueChange.emit(this.messages);\n }\n\n get icon(): string | null {\n const severity = this.severity || (this.hasMessages() ? this.messages![0].severity : null);\n\n if (this.hasMessages()) {\n switch (severity) {\n case 'success':\n return 'cax-check-circle';\n\n case 'info':\n return 'cax-info-circle';\n\n case 'error':\n return 'cax-close-circle';\n\n case 'warn':\n return 'cax-danger-triangle';\n\n default:\n return 'cax-info-circle';\n }\n }\n\n return null;\n }\n get closeAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n }\n\n ngOnDestroy() {\n if (this.messageSubscription) {\n this.messageSubscription.unsubscribe();\n }\n\n if (this.clearSubscription) {\n this.clearSubscription.unsubscribe();\n }\n\n this.timerSubscriptions?.forEach((subscription) => subscription.unsubscribe());\n }\n\n private startMessageLifes(messages: Message[]): void {\n messages?.forEach((message) => message.life && this.startMessageLife(message));\n }\n\n private startMessageLife(message: Message): void {\n const timerSubsctiption = timer(message.life!).subscribe(() => {\n this.messages = this.messages?.filter((msgEl) => msgEl !== message);\n this.timerSubscriptions = this.timerSubscriptions?.filter((timerEl) => timerEl !== timerSubsctiption);\n this.valueChange.emit(this.messages);\n this.cd.markForCheck();\n });\n this.timerSubscriptions.push(timerSubsctiption);\n }\n\n //custom methods\n sizeClass(size?: 'sm' | 'md' | 'lg') {\n return size ? { [`cax-messages-${size}`]: size } : { [`cax-messages-${this.size}`]: this.size };\n }\n\n onItemClick(e: MouseEvent, item: ActionButtonItem) {\n if (item.command) {\n item.command({ originalEvent: e, item });\n }\n }\n\n getButtonSeverity(severity: 'success' | 'info' | 'error' | 'warn' | undefined) {\n switch (severity) {\n case 'success':\n return 'success';\n case 'info':\n return 'primary';\n case 'error':\n return 'danger';\n case 'warn':\n return 'warning';\n default:\n return 'primary';\n }\n }\n}\n","<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { Messages } from './messages';\nimport { SharedModule } from 'cax-design-system/api';\n\n@NgModule({\n imports: [Messages, SharedModule],\n exports: [Messages, SharedModule]\n})\nexport class MessagesModule {}\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":"cax-design-system-messages.mjs","sources":["../../src/app/components/messages/messages.ts","../../src/app/components/messages/messages.html","../../src/app/components/messages/messages.module.ts","../../src/app/components/messages/cax-design-system-messages.ts"],"sourcesContent":["import { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, OnDestroy, Optional, Output, QueryList, TemplateRef, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { Message, MessageService, CaxTemplate, SharedModule, caxConfig } from 'cax-design-system/api';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Subscription, timer } from 'rxjs';\nimport { ActionButtonItem } from './messages.interface';\n/**\n * Messages is used to display alerts inline.\n * @group Components\n */\n@Component({\n selector: 'cax-messages',\n templateUrl: './messages.html',\n animations: [\n trigger('messageAnimation', [\n transition(':enter', [style({ opacity: 0, transform: 'translateY(-25%)' }), animate('{{showTransitionParams}}')]),\n transition(':leave', [animate('{{hideTransitionParams}}', style({ height: 0, marginTop: 0, marginBottom: 0, marginLeft: 0, marginRight: 0, opacity: 0 }))])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./messages.scss'],\n standalone: true,\n imports: [CommonModule, RippleModule, TimesIcon, SharedModule, ButtonModule],\n host: {\n class: 'cax-element'\n }\n})\nexport class Messages implements AfterContentInit, OnDestroy {\n /**\n * An array of messages to display.\n * @group Props\n */\n @Input() set value(messages: Message[]) {\n this.messages = messages;\n this.startMessageLifes(this.messages);\n }\n /**\n * Defines if message box can be closed by the click icon.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) closable: boolean = true;\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 * Whether displaying services messages are enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) enableService: boolean = true;\n /**\n * Id to match the key of the message to enable scoping in service based messaging.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Whether displaying messages would be escaped or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) escape: boolean = true;\n /**\n * Severity level of the message.\n * @group Props\n */\n @Input() severity: 'success' | 'info' | 'error' | 'warn' | undefined;\n /**\n * Size of the message.\n * @group Props\n */\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n /**\n * Display icon or not\n * @group Props\n */\n @Input() displayIcon: boolean = true;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '300ms ease-out';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '200ms cubic-bezier(0.86, 0, 0.07, 1)';\n /**\n * This function is executed when the value changes.\n * @param {Message[]} value - messages value.\n * @group Emits\n */\n @Output() valueChange: EventEmitter<Message[]> = new EventEmitter<Message[]>();\n /**\n * This function is executed when a message is closed.\n * @param {Message} value - Closed message.\n * @group Emits\n */\n @Output() onClose: EventEmitter<Message> = new EventEmitter<Message>();\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n messages: Message[] | null | undefined;\n\n messageSubscription: Subscription | undefined;\n\n clearSubscription: Subscription | undefined;\n\n timerSubscriptions: Subscription[] = [];\n\n contentTemplate: TemplateRef<any> | undefined;\n\n constructor(\n @Optional() public messageService: MessageService,\n public el: ElementRef,\n public cd: ChangeDetectorRef,\n private config: caxConfig\n ) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n\n if (this.messageService && this.enableService && !this.contentTemplate) {\n this.messageSubscription = this.messageService.messageObserver.subscribe((messages: Message | Message[]) => {\n if (messages) {\n if (!Array.isArray(messages)) {\n messages = [messages];\n }\n\n const filteredMessages = messages.filter((m) => this.key === m.key);\n this.messages = this.messages ? [...this.messages, ...filteredMessages] : [...filteredMessages];\n this.startMessageLifes(filteredMessages);\n this.cd.markForCheck();\n }\n });\n\n this.clearSubscription = this.messageService.clearObserver.subscribe((key) => {\n if (key) {\n if (this.key === key) {\n this.messages = null;\n }\n } else {\n this.messages = null;\n }\n\n this.cd.markForCheck();\n });\n }\n }\n\n hasMessages() {\n let parentEl = this.el.nativeElement.parentElement;\n if (parentEl && parentEl.offsetParent) {\n return this.contentTemplate != null || (this.messages && this.messages.length > 0);\n }\n\n return false;\n }\n\n clear() {\n this.messages = [];\n this.valueChange.emit(this.messages);\n }\n\n removeMessage(i: number) {\n const removedMessage = this.messages[i];\n this.messages = this.messages?.filter((msg, index) => index !== i);\n removedMessage && this.onClose.emit(removedMessage);\n this.valueChange.emit(this.messages);\n }\n\n get icon(): string | null {\n const severity = this.severity || (this.hasMessages() ? this.messages![0].severity : null);\n\n if (this.hasMessages()) {\n switch (severity) {\n case 'success':\n return 'cax-check-circle';\n\n case 'info':\n return 'cax-info-circle';\n\n case 'error':\n return 'cax-close-circle';\n\n case 'warn':\n return 'cax-danger-triangle';\n\n default:\n return 'cax-info-circle';\n }\n }\n\n return null;\n }\n get closeAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n }\n\n ngOnDestroy() {\n if (this.messageSubscription) {\n this.messageSubscription.unsubscribe();\n }\n\n if (this.clearSubscription) {\n this.clearSubscription.unsubscribe();\n }\n\n this.timerSubscriptions?.forEach((subscription) => subscription.unsubscribe());\n }\n\n private startMessageLifes(messages: Message[]): void {\n messages?.forEach((message) => message.life && this.startMessageLife(message));\n }\n\n private startMessageLife(message: Message): void {\n const timerSubsctiption = timer(message.life!).subscribe(() => {\n this.messages = this.messages?.filter((msgEl) => msgEl !== message);\n this.timerSubscriptions = this.timerSubscriptions?.filter((timerEl) => timerEl !== timerSubsctiption);\n this.valueChange.emit(this.messages);\n this.cd.markForCheck();\n });\n this.timerSubscriptions.push(timerSubsctiption);\n }\n\n //custom methods\n sizeClass(size?: 'sm' | 'md' | 'lg') {\n return size ? { [`cax-messages-${size}`]: size } : { [`cax-messages-${this.size}`]: this.size };\n }\n\n onItemClick(e: MouseEvent, item: ActionButtonItem) {\n if (item.command) {\n item.command({ originalEvent: e, item });\n }\n }\n\n getButtonSeverity(severity: 'success' | 'info' | 'error' | 'warn' | undefined, outlined?: boolean) {\n switch (severity) {\n case 'success':\n return 'success';\n case 'info':\n return outlined ? 'secondary' : 'primary';\n case 'error':\n return 'danger';\n case 'warn':\n return 'warning';\n default:\n return 'primary';\n }\n }\n}\n","<div class=\"cax-messages cax-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\r\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\r\n <div\r\n *ngFor=\"let msg of messages; let i = index\"\r\n [class]=\"'cax-message cax-message-' + msg.severity\"\r\n [ngClass]=\"sizeClass(msg.size)\"\r\n role=\"alert\"\r\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n >\r\n <div class=\"cax-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\" [attr.id]=\"msg.id || null\">\r\n <div class=\"cax-message-wrap\">\r\n <span *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && msg.icon\" [class]=\"'cax-message-icon cax pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\r\n <span class=\"cax-message-icon\" *ngIf=\"(displayIcon && (msg.displayIcon ?? true)) && !msg.icon\">\r\n <ng-container>\r\n <span class=\"cax cax-check-circle\" *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-info-circle\" *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-close-circle\" *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n <span class=\"cax cax-danger-triangle\" *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\"></span>\r\n </ng-container>\r\n </span>\r\n <ng-container *ngIf=\"!escape; else escapeOut\">\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\r\n </div>\r\n </ng-container>\r\n <ng-template #escapeOut>\r\n <div class=\"cax-message-box\">\r\n <span *ngIf=\"msg.summary\" class=\"cax-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\r\n <span *ngIf=\"msg.detail\" class=\"cax-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <button class=\"cax-message-close cax-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable && (msg.closable ?? true)\" type=\"button\" caxRipple [attr.aria-label]=\"closeAriaLabel\" [attr.data-pc-section]=\"'closebutton'\">\r\n <TimesIcon [styleClass]=\"'cax-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\r\n </button>\r\n </div>\r\n <div *ngIf=\"msg.actionButtons?.length\" class=\"cax-message-button-wrapper\">\r\n <cax-button\r\n *ngFor=\"let item of msg.actionButtons; let i = index\"\r\n (click)=\"onItemClick($event, item)\"\r\n (keydown.enter)=\"onItemClick($event, item, i)\"\r\n [severity]=\"getButtonSeverity(msg.severity, item.outlined)\"\r\n [label]=\"item.label\"\r\n [outlined]=\"item.outlined\"\r\n [disabled]=\"item.disabled\"\r\n />\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #staticMessage>\r\n <div [ngClass]=\"'cax-message cax-message-' + severity\" role=\"alert\">\r\n <div class=\"cax-message-wrapper\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { Messages } from './messages';\nimport { SharedModule } from 'cax-design-system/api';\n\n@NgModule({\n imports: [Messages, SharedModule],\n exports: [Messages, SharedModule]\n})\nexport class MessagesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -381,7 +381,7 @@ class OverlayPanel {
381
381
  }
382
382
  }
383
383
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: OverlayPanel, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.caxConfig }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
384
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: OverlayPanel, isStandalone: true, selector: "cax-overlayPanel", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", dismissable: ["dismissable", "dismissable", booleanAttribute], showCloseIcon: ["showCloseIcon", "showCloseIcon", booleanAttribute], style: "style", styleClass: "styleClass", appendTo: "appendTo", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], ariaCloseLabel: "ariaCloseLabel", baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], focusOnShow: ["focusOnShow", "focusOnShow", booleanAttribute], showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onShow: "onShow", onHide: "onHide" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydown($event)" }, classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div\r\n *ngIf=\"render\"\r\n [ngClass]=\"'cax-overlaypanel cax-component'\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n (click)=\"onOverlayClick($event)\"\r\n [@animation]=\"{ value: overlayVisible ? 'open' : 'close', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@animation.start)=\"onAnimationStart($event)\"\r\n (@animation.done)=\"onAnimationEnd($event)\"\r\n role=\"dialog\"\r\n [attr.aria-modal]=\"overlayVisible\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n>\r\n <div class=\"cax-overlaypanel-content\" (click)=\"onContentClick($event)\" (mousedown)=\"onContentClick($event)\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <button *ngIf=\"showCloseIcon\" type=\"button\" class=\"cax-overlaypanel-close cax-link\" (click)=\"onCloseClick($event)\" (keydown.enter)=\"hide()\" [attr.aria-label]=\"ariaCloseLabel\" pRipple>\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" [styleClass]=\"'cax-overlaypanel-close-icon'\" />\r\n <span class=\"cax-overlaypanel-close-icon\" *ngIf=\"closeIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n</div>\r\n", styles: ["@layer cax{.cax-overlaypanel{position:absolute;margin-top:10px;top:0;left:0}.cax-overlaypanel-flipped{margin-top:0;margin-bottom:10px}.cax-overlaypanel-close{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.cax-overlaypanel:after,.cax-overlaypanel:before{bottom:100%;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);content:none;height:0;width:0;position:absolute;pointer-events:none}.cax-overlaypanel:after{border-width:8px;margin-left:-8px}.cax-overlaypanel:before{border-width:10px;margin-left:-10px}.cax-overlaypanel-shifted:after,.cax-overlaypanel-shifted:before{left:auto;right:1.25em;margin-left:auto}.cax-overlaypanel-flipped:after,.cax-overlaypanel-flipped:before{bottom:auto;top:100%}.cax-overlaypanel.cax-overlaypanel-flipped:after{border-bottom-color:transparent}.cax-overlaypanel.cax-overlaypanel-flipped:before{border-bottom-color:transparent}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }], animations: [
384
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: OverlayPanel, isStandalone: true, selector: "cax-overlayPanel", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", dismissable: ["dismissable", "dismissable", booleanAttribute], showCloseIcon: ["showCloseIcon", "showCloseIcon", booleanAttribute], style: "style", styleClass: "styleClass", appendTo: "appendTo", autoZIndex: ["autoZIndex", "autoZIndex", booleanAttribute], ariaCloseLabel: "ariaCloseLabel", baseZIndex: ["baseZIndex", "baseZIndex", numberAttribute], focusOnShow: ["focusOnShow", "focusOnShow", booleanAttribute], showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onShow: "onShow", onHide: "onHide" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydown($event)" }, classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div\r\n *ngIf=\"render\"\r\n [ngClass]=\"'cax-overlaypanel cax-component'\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n (click)=\"onOverlayClick($event)\"\r\n [@animation]=\"{ value: overlayVisible ? 'open' : 'close', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@animation.start)=\"onAnimationStart($event)\"\r\n (@animation.done)=\"onAnimationEnd($event)\"\r\n role=\"dialog\"\r\n [attr.aria-modal]=\"overlayVisible\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n>\r\n <div class=\"cax-overlaypanel-content\" (click)=\"onContentClick($event)\" (mousedown)=\"onContentClick($event)\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <button *ngIf=\"showCloseIcon\" type=\"button\" class=\"cax-overlaypanel-close cax-link\" (click)=\"onCloseClick($event)\" (keydown.enter)=\"hide()\">\r\n <ng-container *ngIf=\"!closeIconTemplate\">\r\n <i class=\"cax cax-close-circle overlaypanelclose\"></i>\r\n </ng-container>\r\n <span class=\"cax-overlaypanel-close-icon\" *ngIf=\"closeIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n</div>\r\n", styles: ["@layer cax{.cax-overlaypanel{position:absolute;margin-top:8px;top:0;left:0}.cax-overlaypanel-flipped{margin-top:0;margin-bottom:10px}.cax-overlaypanel-close{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.cax-overlaypanel:after,.cax-overlaypanel:before{bottom:100%;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);content:none;height:0;width:0;position:absolute;pointer-events:none}.cax-overlaypanel:after{border-width:8px;margin-left:-8px}.cax-overlaypanel:before{border-width:10px;margin-left:-10px}.cax-overlaypanel-shifted:after,.cax-overlaypanel-shifted:before{left:auto;right:1.25em;margin-left:auto}.cax-overlaypanel-flipped:after,.cax-overlaypanel-flipped:before{bottom:auto;top:100%}.cax-overlaypanel.cax-overlaypanel-flipped:after{border-bottom-color:transparent}.cax-overlaypanel.cax-overlaypanel-flipped:before{border-bottom-color:transparent}.overlaypanelclose{font-size:20px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: RippleModule }, { kind: "ngmodule", type: SharedModule }], animations: [
385
385
  trigger('animation', [
386
386
  state('void', style({
387
387
  transform: 'scaleY(0.8)',
@@ -419,7 +419,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
419
419
  ])
420
420
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CommonModule, RippleModule, SharedModule, TimesIcon], standalone: true, host: {
421
421
  class: 'cax-element'
422
- }, template: "<div\r\n *ngIf=\"render\"\r\n [ngClass]=\"'cax-overlaypanel cax-component'\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n (click)=\"onOverlayClick($event)\"\r\n [@animation]=\"{ value: overlayVisible ? 'open' : 'close', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@animation.start)=\"onAnimationStart($event)\"\r\n (@animation.done)=\"onAnimationEnd($event)\"\r\n role=\"dialog\"\r\n [attr.aria-modal]=\"overlayVisible\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n>\r\n <div class=\"cax-overlaypanel-content\" (click)=\"onContentClick($event)\" (mousedown)=\"onContentClick($event)\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <button *ngIf=\"showCloseIcon\" type=\"button\" class=\"cax-overlaypanel-close cax-link\" (click)=\"onCloseClick($event)\" (keydown.enter)=\"hide()\" [attr.aria-label]=\"ariaCloseLabel\" pRipple>\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" [styleClass]=\"'cax-overlaypanel-close-icon'\" />\r\n <span class=\"cax-overlaypanel-close-icon\" *ngIf=\"closeIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n</div>\r\n", styles: ["@layer cax{.cax-overlaypanel{position:absolute;margin-top:10px;top:0;left:0}.cax-overlaypanel-flipped{margin-top:0;margin-bottom:10px}.cax-overlaypanel-close{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.cax-overlaypanel:after,.cax-overlaypanel:before{bottom:100%;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);content:none;height:0;width:0;position:absolute;pointer-events:none}.cax-overlaypanel:after{border-width:8px;margin-left:-8px}.cax-overlaypanel:before{border-width:10px;margin-left:-10px}.cax-overlaypanel-shifted:after,.cax-overlaypanel-shifted:before{left:auto;right:1.25em;margin-left:auto}.cax-overlaypanel-flipped:after,.cax-overlaypanel-flipped:before{bottom:auto;top:100%}.cax-overlaypanel.cax-overlaypanel-flipped:after{border-bottom-color:transparent}.cax-overlaypanel.cax-overlaypanel-flipped:before{border-bottom-color:transparent}}\n"] }]
422
+ }, template: "<div\r\n *ngIf=\"render\"\r\n [ngClass]=\"'cax-overlaypanel cax-component'\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n (click)=\"onOverlayClick($event)\"\r\n [@animation]=\"{ value: overlayVisible ? 'open' : 'close', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@animation.start)=\"onAnimationStart($event)\"\r\n (@animation.done)=\"onAnimationEnd($event)\"\r\n role=\"dialog\"\r\n [attr.aria-modal]=\"overlayVisible\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n>\r\n <div class=\"cax-overlaypanel-content\" (click)=\"onContentClick($event)\" (mousedown)=\"onContentClick($event)\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <button *ngIf=\"showCloseIcon\" type=\"button\" class=\"cax-overlaypanel-close cax-link\" (click)=\"onCloseClick($event)\" (keydown.enter)=\"hide()\">\r\n <ng-container *ngIf=\"!closeIconTemplate\">\r\n <i class=\"cax cax-close-circle overlaypanelclose\"></i>\r\n </ng-container>\r\n <span class=\"cax-overlaypanel-close-icon\" *ngIf=\"closeIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n</div>\r\n", styles: ["@layer cax{.cax-overlaypanel{position:absolute;margin-top:8px;top:0;left:0}.cax-overlaypanel-flipped{margin-top:0;margin-bottom:10px}.cax-overlaypanel-close{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.cax-overlaypanel:after,.cax-overlaypanel:before{bottom:100%;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);content:none;height:0;width:0;position:absolute;pointer-events:none}.cax-overlaypanel:after{border-width:8px;margin-left:-8px}.cax-overlaypanel:before{border-width:10px;margin-left:-10px}.cax-overlaypanel-shifted:after,.cax-overlaypanel-shifted:before{left:auto;right:1.25em;margin-left:auto}.cax-overlaypanel-flipped:after,.cax-overlaypanel-flipped:before{bottom:auto;top:100%}.cax-overlaypanel.cax-overlaypanel-flipped:after{border-bottom-color:transparent}.cax-overlaypanel.cax-overlaypanel-flipped:before{border-bottom-color:transparent}.overlaypanelclose{font-size:20px}}\n"] }]
423
423
  }], ctorParameters: () => [{ type: Document, decorators: [{
424
424
  type: Inject,
425
425
  args: [DOCUMENT]
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-overlaypanel.mjs","sources":["../../src/app/components/overlaypanel/overlaypanel.ts","../../src/app/components/overlaypanel/overlaypanel.html","../../src/app/components/overlaypanel/overlaypanel.module.ts","../../src/app/components/overlaypanel/cax-design-system-overlaypanel.ts"],"sourcesContent":["import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewEncapsulation,\n ViewRef\n} from '@angular/core';\nimport { OverlayService, caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable, VoidListener } from 'cax-design-system/ts-helpers';\nimport { ZIndexUtils } from 'cax-design-system/utils';\nimport { Subscription } from 'rxjs';\n/**\n * OverlayPanel is a container component positioned as connected to its target.\n * @group Components\n */\n@Component({\n selector: 'cax-overlayPanel',\n templateUrl: './overlaypanel.html',\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })\n ),\n state(\n 'close',\n style({\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 => close', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./overlaypanel.scss'],\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon],\n standalone: true,\n host: {\n class: 'cax-element'\n }\n})\nexport class OverlayPanel implements AfterContentInit, OnDestroy {\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Enables to hide the overlay when outside is clicked.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dismissable: boolean = true;\n /**\n * When enabled, displays a close icon at top right corner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCloseIcon: boolean | 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 * Target element to attach the panel, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any = 'body';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Aria label of the close icon.\n * @group Props\n */\n @Input() ariaCloseLabel: string | undefined;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * When enabled, first button receives focus on show.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnShow: boolean = true;\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 * Callback to invoke when an overlay becomes visible.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n /**\n * Callback to invoke when an overlay gets hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n container: Nullable<HTMLDivElement>;\n\n overlayVisible: boolean = false;\n\n render: boolean = false;\n\n isOverlayAnimationInProgress: boolean = false;\n\n selfClick: boolean = false;\n\n documentClickListener: VoidListener;\n\n target: any;\n\n willHide: Nullable<boolean>;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n documentResizeListener: VoidListener;\n\n contentTemplate: Nullable<TemplateRef<any>>;\n\n closeIconTemplate: Nullable<TemplateRef<any>>;\n\n destroyCallback: Nullable<Function>;\n\n overlayEventListener: Nullable<(event?: any) => void>;\n\n overlaySubscription: Subscription | undefined;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n private zone: NgZone,\n public config: caxConfig,\n public overlayService: OverlayService\n ) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n\n this.cd.markForCheck();\n });\n }\n\n bindDocumentClickListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentClickListener && this.dismissable) {\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.container?.contains(event.target) && this.target !== event.target && !this.target.contains(event.target) && !this.selfClick) {\n this.hide();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n this.selfClick = false;\n }\n }\n\n /**\n * Toggles the visibility of the panel.\n * @param {Event} event - Browser event\n * @param {Target} target - Target element.\n * @group Method\n */\n toggle(event: any, target?: any) {\n if (this.isOverlayAnimationInProgress) {\n return;\n }\n\n if (this.overlayVisible) {\n if (this.hasTargetChanged(event, target)) {\n this.destroyCallback = () => {\n this.show(null, target || event.currentTarget || event.target);\n };\n }\n\n this.hide();\n } else {\n this.show(event, target);\n }\n }\n /**\n * Displays the panel.\n * @param {Event} event - Browser event\n * @param {Target} target - Target element.\n * @group Method\n */\n show(event: any, target?: any) {\n target && event && event.stopPropagation();\n if (this.isOverlayAnimationInProgress) {\n return;\n }\n\n this.target = target || event.currentTarget || event.target;\n this.overlayVisible = true;\n this.render = true;\n this.cd.markForCheck();\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n\n this.selfClick = true;\n }\n\n onContentClick(event: MouseEvent) {\n const targetElement = event.target as HTMLElement;\n this.selfClick = event.offsetX < targetElement.clientWidth && event.offsetY < targetElement.clientHeight;\n }\n\n hasTargetChanged(event: any, target: any) {\n return this.target != null && this.target !== (target || event.currentTarget || event.target);\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n restoreAppend() {\n if (this.container && this.appendTo) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n }\n\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.baseZIndex + this.config.zIndex.overlay);\n }\n\n DomHandler.absolutePosition(this.container, this.target, false);\n\n const containerOffset = DomHandler.getOffset(this.container);\n const targetOffset = DomHandler.getOffset(this.target);\n const borderRadius = this.document.defaultView?.getComputedStyle(this.container!).getPropertyValue('border-radius');\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left - parseFloat(borderRadius!) * 2;\n }\n this.container?.style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n DomHandler.addClass(this.container, 'cax-overlaypanel-flipped');\n\n if (this.showCloseIcon) {\n this.renderer.setStyle(this.container, 'margin-top', '-30px');\n }\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.appendContainer();\n this.align();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n if (this.focusOnShow) {\n this.focus();\n }\n\n this.overlayEventListener = (e) => {\n if (this.container && this.container.contains(e.target)) {\n this.selfClick = true;\n }\n };\n\n this.overlaySubscription = this.overlayService.clickObservable.subscribe(this.overlayEventListener);\n this.onShow.emit(null);\n }\n\n this.isOverlayAnimationInProgress = true;\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n if (this.destroyCallback) {\n this.destroyCallback();\n this.destroyCallback = null;\n }\n\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n break;\n\n case 'close':\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n\n this.onContainerDestroy();\n this.onHide.emit({});\n this.render = false;\n break;\n }\n\n this.isOverlayAnimationInProgress = false;\n }\n\n focus() {\n let focusable = DomHandler.findSingle(this.container, '[autofocus]');\n if (focusable) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusable.focus(), 5);\n });\n }\n }\n /**\n * Hides the panel.\n * @group Method\n */\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onCloseClick(event: MouseEvent) {\n this.hide();\n event.preventDefault();\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydown(event: KeyboardEvent) {\n this.hide();\n }\n\n onWindowResize() {\n if (this.overlayVisible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n const window = this.document.defaultView as Window;\n this.documentResizeListener = this.renderer.listen(window, 'resize', this.onWindowResize.bind(this));\n }\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n onContainerDestroy() {\n if (!(this.cd as ViewRef).destroyed) {\n this.target = null;\n }\n\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n if (!(this.cd as ViewRef).destroyed) {\n this.target = null;\n }\n\n this.destroyCallback = null;\n if (this.container) {\n this.restoreAppend();\n this.onContainerDestroy();\n }\n\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n }\n}\n","<div\r\n *ngIf=\"render\"\r\n [ngClass]=\"'cax-overlaypanel cax-component'\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n (click)=\"onOverlayClick($event)\"\r\n [@animation]=\"{ value: overlayVisible ? 'open' : 'close', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@animation.start)=\"onAnimationStart($event)\"\r\n (@animation.done)=\"onAnimationEnd($event)\"\r\n role=\"dialog\"\r\n [attr.aria-modal]=\"overlayVisible\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n>\r\n <div class=\"cax-overlaypanel-content\" (click)=\"onContentClick($event)\" (mousedown)=\"onContentClick($event)\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <button *ngIf=\"showCloseIcon\" type=\"button\" class=\"cax-overlaypanel-close cax-link\" (click)=\"onCloseClick($event)\" (keydown.enter)=\"hide()\" [attr.aria-label]=\"ariaCloseLabel\" pRipple>\r\n <TimesIcon *ngIf=\"!closeIconTemplate\" [styleClass]=\"'cax-overlaypanel-close-icon'\" />\r\n <span class=\"cax-overlaypanel-close-icon\" *ngIf=\"closeIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n</div>\r\n","import { SharedModule } from 'cax-design-system/api';\nimport { OverlayPanel } from './overlaypanel';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [OverlayPanel, SharedModule],\n exports: [OverlayPanel, SharedModule]\n})\nexport class OverlayPanelModule {}\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":"cax-design-system-overlaypanel.mjs","sources":["../../src/app/components/overlaypanel/overlaypanel.ts","../../src/app/components/overlaypanel/overlaypanel.html","../../src/app/components/overlaypanel/overlaypanel.module.ts","../../src/app/components/overlaypanel/cax-design-system-overlaypanel.ts"],"sourcesContent":["import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewEncapsulation,\n ViewRef\n} from '@angular/core';\nimport { OverlayService, caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { RippleModule } from 'cax-design-system/ripple';\nimport { Nullable, VoidListener } from 'cax-design-system/ts-helpers';\nimport { ZIndexUtils } from 'cax-design-system/utils';\nimport { Subscription } from 'rxjs';\n/**\n * OverlayPanel is a container component positioned as connected to its target.\n * @group Components\n */\n@Component({\n selector: 'cax-overlayPanel',\n templateUrl: './overlaypanel.html',\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n opacity: 0\n })\n ),\n state(\n 'close',\n style({\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 => close', animate('{{hideTransitionParams}}'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./overlaypanel.scss'],\n imports: [CommonModule, RippleModule, SharedModule, TimesIcon],\n standalone: true,\n host: {\n class: 'cax-element'\n }\n})\nexport class OverlayPanel implements AfterContentInit, OnDestroy {\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Enables to hide the overlay when outside is clicked.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dismissable: boolean = true;\n /**\n * When enabled, displays a close icon at top right corner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCloseIcon: boolean | 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 * Target element to attach the panel, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any = 'body';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Aria label of the close icon.\n * @group Props\n */\n @Input() ariaCloseLabel: string | undefined;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * When enabled, first button receives focus on show.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnShow: boolean = true;\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 * Callback to invoke when an overlay becomes visible.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n /**\n * Callback to invoke when an overlay gets hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n container: Nullable<HTMLDivElement>;\n\n overlayVisible: boolean = false;\n\n render: boolean = false;\n\n isOverlayAnimationInProgress: boolean = false;\n\n selfClick: boolean = false;\n\n documentClickListener: VoidListener;\n\n target: any;\n\n willHide: Nullable<boolean>;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n documentResizeListener: VoidListener;\n\n contentTemplate: Nullable<TemplateRef<any>>;\n\n closeIconTemplate: Nullable<TemplateRef<any>>;\n\n destroyCallback: Nullable<Function>;\n\n overlayEventListener: Nullable<(event?: any) => void>;\n\n overlaySubscription: Subscription | undefined;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef,\n public renderer: Renderer2,\n public cd: ChangeDetectorRef,\n private zone: NgZone,\n public config: caxConfig,\n public overlayService: OverlayService\n ) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'closeicon':\n this.closeIconTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n\n this.cd.markForCheck();\n });\n }\n\n bindDocumentClickListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentClickListener && this.dismissable) {\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.container?.contains(event.target) && this.target !== event.target && !this.target.contains(event.target) && !this.selfClick) {\n this.hide();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n this.selfClick = false;\n }\n }\n\n /**\n * Toggles the visibility of the panel.\n * @param {Event} event - Browser event\n * @param {Target} target - Target element.\n * @group Method\n */\n toggle(event: any, target?: any) {\n if (this.isOverlayAnimationInProgress) {\n return;\n }\n\n if (this.overlayVisible) {\n if (this.hasTargetChanged(event, target)) {\n this.destroyCallback = () => {\n this.show(null, target || event.currentTarget || event.target);\n };\n }\n\n this.hide();\n } else {\n this.show(event, target);\n }\n }\n /**\n * Displays the panel.\n * @param {Event} event - Browser event\n * @param {Target} target - Target element.\n * @group Method\n */\n show(event: any, target?: any) {\n target && event && event.stopPropagation();\n if (this.isOverlayAnimationInProgress) {\n return;\n }\n\n this.target = target || event.currentTarget || event.target;\n this.overlayVisible = true;\n this.render = true;\n this.cd.markForCheck();\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n\n this.selfClick = true;\n }\n\n onContentClick(event: MouseEvent) {\n const targetElement = event.target as HTMLElement;\n this.selfClick = event.offsetX < targetElement.clientWidth && event.offsetY < targetElement.clientHeight;\n }\n\n hasTargetChanged(event: any, target: any) {\n return this.target != null && this.target !== (target || event.currentTarget || event.target);\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n else DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n restoreAppend() {\n if (this.container && this.appendTo) {\n this.renderer.appendChild(this.el.nativeElement, this.container);\n }\n }\n\n align() {\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.container, this.baseZIndex + this.config.zIndex.overlay);\n }\n\n DomHandler.absolutePosition(this.container, this.target, false);\n\n const containerOffset = DomHandler.getOffset(this.container);\n const targetOffset = DomHandler.getOffset(this.target);\n const borderRadius = this.document.defaultView?.getComputedStyle(this.container!).getPropertyValue('border-radius');\n let arrowLeft = 0;\n\n if (containerOffset.left < targetOffset.left) {\n arrowLeft = targetOffset.left - containerOffset.left - parseFloat(borderRadius!) * 2;\n }\n this.container?.style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n\n if (containerOffset.top < targetOffset.top) {\n DomHandler.addClass(this.container, 'cax-overlaypanel-flipped');\n\n if (this.showCloseIcon) {\n this.renderer.setStyle(this.container, 'margin-top', '-30px');\n }\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'open') {\n this.container = event.element;\n this.appendContainer();\n this.align();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n if (this.focusOnShow) {\n this.focus();\n }\n\n this.overlayEventListener = (e) => {\n if (this.container && this.container.contains(e.target)) {\n this.selfClick = true;\n }\n };\n\n this.overlaySubscription = this.overlayService.clickObservable.subscribe(this.overlayEventListener);\n this.onShow.emit(null);\n }\n\n this.isOverlayAnimationInProgress = true;\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n if (this.destroyCallback) {\n this.destroyCallback();\n this.destroyCallback = null;\n }\n\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n break;\n\n case 'close':\n if (this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n\n this.onContainerDestroy();\n this.onHide.emit({});\n this.render = false;\n break;\n }\n\n this.isOverlayAnimationInProgress = false;\n }\n\n focus() {\n let focusable = DomHandler.findSingle(this.container, '[autofocus]');\n if (focusable) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusable.focus(), 5);\n });\n }\n }\n /**\n * Hides the panel.\n * @group Method\n */\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onCloseClick(event: MouseEvent) {\n this.hide();\n event.preventDefault();\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydown(event: KeyboardEvent) {\n this.hide();\n }\n\n onWindowResize() {\n if (this.overlayVisible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n\n bindDocumentResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n const window = this.document.defaultView as Window;\n this.documentResizeListener = this.renderer.listen(window, 'resize', this.onWindowResize.bind(this));\n }\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n bindScrollListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n onContainerDestroy() {\n if (!(this.cd as ViewRef).destroyed) {\n this.target = null;\n }\n\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.container && this.autoZIndex) {\n ZIndexUtils.clear(this.container);\n }\n\n if (!(this.cd as ViewRef).destroyed) {\n this.target = null;\n }\n\n this.destroyCallback = null;\n if (this.container) {\n this.restoreAppend();\n this.onContainerDestroy();\n }\n\n if (this.overlaySubscription) {\n this.overlaySubscription.unsubscribe();\n }\n }\n}\n","<div\r\n *ngIf=\"render\"\r\n [ngClass]=\"'cax-overlaypanel cax-component'\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n (click)=\"onOverlayClick($event)\"\r\n [@animation]=\"{ value: overlayVisible ? 'open' : 'close', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n (@animation.start)=\"onAnimationStart($event)\"\r\n (@animation.done)=\"onAnimationEnd($event)\"\r\n role=\"dialog\"\r\n [attr.aria-modal]=\"overlayVisible\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n>\r\n <div class=\"cax-overlaypanel-content\" (click)=\"onContentClick($event)\" (mousedown)=\"onContentClick($event)\">\r\n <ng-content></ng-content>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </div>\r\n <button *ngIf=\"showCloseIcon\" type=\"button\" class=\"cax-overlaypanel-close cax-link\" (click)=\"onCloseClick($event)\" (keydown.enter)=\"hide()\">\r\n <ng-container *ngIf=\"!closeIconTemplate\">\r\n <i class=\"cax cax-close-circle overlaypanelclose\"></i>\r\n </ng-container>\r\n <span class=\"cax-overlaypanel-close-icon\" *ngIf=\"closeIconTemplate\">\r\n <ng-template *ngTemplateOutlet=\"closeIconTemplate\"></ng-template>\r\n </span>\r\n </button>\r\n</div>\r\n","import { SharedModule } from 'cax-design-system/api';\nimport { OverlayPanel } from './overlaypanel';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [OverlayPanel, SharedModule],\n exports: [OverlayPanel, SharedModule]\n})\nexport class OverlayPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}