@fundamental-ngx/core 0.58.0-rc.7 → 0.58.0-rc.71

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 (124) hide show
  1. package/button/index.d.ts +1 -1
  2. package/card/index.d.ts +8 -4
  3. package/combobox/index.d.ts +9 -1
  4. package/dialog/index.d.ts +2 -2
  5. package/feed-input/index.d.ts +1 -1
  6. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +4 -4
  7. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  8. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
  9. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  10. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  12. package/fesm2022/fundamental-ngx-core-combobox.mjs +44 -8
  13. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  14. package/fesm2022/fundamental-ngx-core-datetime.mjs +1 -1
  15. package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
  16. package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
  17. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  18. package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
  19. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  20. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  21. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  22. package/fesm2022/fundamental-ngx-core-form.mjs +2 -2
  23. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  24. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
  25. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  26. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  28. package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
  29. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  30. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  32. package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -2
  33. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  34. package/fesm2022/fundamental-ngx-core-nested-list.mjs +4 -4
  35. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  36. package/fesm2022/fundamental-ngx-core-notification.mjs +3 -1
  37. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  38. package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
  39. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  40. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
  42. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  43. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +2 -2
  44. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  45. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +3 -3
  46. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  47. package/fesm2022/fundamental-ngx-core-shellbar.mjs +32 -5
  48. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  49. package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
  50. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  51. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  52. package/fesm2022/fundamental-ngx-core-theming.mjs +2 -3
  53. package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
  54. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  56. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  57. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  58. package/fesm2022/fundamental-ngx-core-user-menu.mjs +2 -2
  59. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
  60. package/form/index.d.ts +2 -2
  61. package/input-group/index.d.ts +1 -1
  62. package/list/index.d.ts +4 -4
  63. package/menu/index.d.ts +2 -2
  64. package/message-box/index.d.ts +1 -1
  65. package/multi-combobox/index.d.ts +2 -2
  66. package/multi-input/index.d.ts +1 -1
  67. package/nested-list/index.d.ts +11 -11
  68. package/notification/index.d.ts +2 -0
  69. package/overflow-layout/index.d.ts +4 -4
  70. package/package.json +45 -45
  71. package/popover/index.d.ts +2 -2
  72. package/segmented-button/index.d.ts +3 -3
  73. package/shellbar/index.d.ts +13 -2
  74. package/table/index.d.ts +2 -2
  75. package/tabs/index.d.ts +3 -3
  76. package/time/index.d.ts +1 -1
  77. package/time-picker/index.d.ts +1 -1
  78. package/toolbar/index.d.ts +1 -1
  79. package/tree/index.d.ts +3 -3
  80. package/schematics/add-animations/index.d.ts +0 -7
  81. package/schematics/add-animations/index.js +0 -83
  82. package/schematics/add-animations/index.js.map +0 -1
  83. package/schematics/add-animations/schema.json +0 -21
  84. package/schematics/add-dependencies/index.d.ts +0 -7
  85. package/schematics/add-dependencies/index.js +0 -105
  86. package/schematics/add-dependencies/index.js.map +0 -1
  87. package/schematics/add-dependencies/schema.json +0 -15
  88. package/schematics/add-styles/index.d.ts +0 -7
  89. package/schematics/add-styles/index.js +0 -97
  90. package/schematics/add-styles/index.js.map +0 -1
  91. package/schematics/add-styles/schema.json +0 -21
  92. package/schematics/add-theming/index.d.ts +0 -7
  93. package/schematics/add-theming/index.js +0 -108
  94. package/schematics/add-theming/index.js.map +0 -1
  95. package/schematics/add-theming/schema.json +0 -72
  96. package/schematics/collection.json +0 -40
  97. package/schematics/models/schema.d.ts +0 -6
  98. package/schematics/models/schema.js +0 -3
  99. package/schematics/models/schema.js.map +0 -1
  100. package/schematics/ng-add/index.d.ts +0 -9
  101. package/schematics/ng-add/index.js +0 -30
  102. package/schematics/ng-add/index.js.map +0 -1
  103. package/schematics/ng-add/schema.json +0 -84
  104. package/schematics/utils/calls-providers-function.d.ts +0 -11
  105. package/schematics/utils/calls-providers-function.js +0 -54
  106. package/schematics/utils/calls-providers-function.js.map +0 -1
  107. package/schematics/utils/file-utils.d.ts +0 -2
  108. package/schematics/utils/file-utils.js +0 -26
  109. package/schematics/utils/file-utils.js.map +0 -1
  110. package/schematics/utils/main-ts-file-path.d.ts +0 -2
  111. package/schematics/utils/main-ts-file-path.js +0 -27
  112. package/schematics/utils/main-ts-file-path.js.map +0 -1
  113. package/schematics/utils/ng-module-utils.d.ts +0 -6
  114. package/schematics/utils/ng-module-utils.js +0 -71
  115. package/schematics/utils/ng-module-utils.js.map +0 -1
  116. package/schematics/utils/one-time-packages.d.ts +0 -6
  117. package/schematics/utils/one-time-packages.js +0 -39
  118. package/schematics/utils/one-time-packages.js.map +0 -1
  119. package/schematics/utils/package-utils.d.ts +0 -10
  120. package/schematics/utils/package-utils.js +0 -25
  121. package/schematics/utils/package-utils.js.map +0 -1
  122. package/schematics/utils/workspace.d.ts +0 -40
  123. package/schematics/utils/workspace.js +0 -110
  124. package/schematics/utils/workspace.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-popover.mjs","sources":["../tmp-esm2022/popover/base/base-popover.class.js","../tmp-esm2022/popover/popover-body.directive.js","../tmp-esm2022/popover/popover-body/popover-body-directives/popover-body-footer.directive.js","../tmp-esm2022/popover/popover-body/popover-body-directives/popover-body-header.directive.js","../tmp-esm2022/popover/popover-body/popover-body.component.js","../tmp-esm2022/popover/popover-container/popover-container.directive.js","../tmp-esm2022/popover/popover-control/popover-control.component.js","../tmp-esm2022/popover/popover.interface.js","../tmp-esm2022/popover/popover-mobile/popover-mobile.component.js","../tmp-esm2022/popover/popover-mobile/popover-mobile.module.js","../tmp-esm2022/popover/popover-service/popover.service.js","../tmp-esm2022/popover/popover-trigger.directive.js","../tmp-esm2022/popover/tokens.js","../tmp-esm2022/popover/popover.component.js","../tmp-esm2022/popover/popover.module.js","../tmp-esm2022/popover/fundamental-ngx-core-popover.js"],"sourcesContent":["import { Directive, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BasePopoverClass {\n constructor() {\n /** Whether to close the popover on router navigation start. */\n this.closeOnNavigation = true;\n /** Whether the popover is disabled. */\n this.disabled = false;\n /** Maximum width of popover body in px, prevents from overextending body by `fillControlMode` */\n this.maxWidth = null;\n /** Whether the popover should have an arrow. */\n this.noArrow = true;\n /** Whether the popover container needs an extra class for styling. */\n this.additionalBodyClass = null;\n /** Classes that should be applied to fd-popover-body component directly. */\n this.additionalBodyComponentClasses = null;\n /** Whether the popover container needs an extra class for styling. */\n this.additionalTriggerClass = null;\n /** Whether the popover should close when the escape key is pressed. */\n this.closeOnEscapeKey = true;\n /** Whether to wrap content with fd-scrollbar directive. */\n this.disableScrollbar = false;\n /**\n * The placement of the popover.\n * It can be one of:\n * top, top-start, top-end, bottom, bottom-start, bottom-end,\n * right, right-start, right-end, left, left-start, left-end.\n */\n this.placement = null;\n /**\n * The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp) or a config object for the corresponding event.\n * Using the config object allows to specify whether an event should apply both for open and close actions or only some of them.\n *\n * If array of triggers consists only of one event, it will be treated at a toggle event (open and close)\n * If array of trigger consists of more than one event, each odd event will be treated as an open event for the popover,\n * and each even event will be treated as closing event for the popover.\n *\n * Consider the following value for `triggers`:\n * ```\n * [\n * 'click' // basically it's an alias for \"{ trigger: 'click', openAction: true, closeAction: true }\"\n * ]\n * ```\n * ```\n * [\n * 'mouseenter' // Shortcut for \"{ trigger: 'mouseenter', openAction: true, closeAction: false }\", and will only open the popover.\n * 'mouseleave' // Shortcut for \"{ trigger: 'mouseleave', openAction: false, closeAction: true }\" and will only close the popover.\n * ]\n * ```\n * ```\n * [\n * { trigger: 'mouseenter', openAction: true, closeAction: true }, // \"mouseenter\" will toggle the popover.\n * { trigger: 'mouseleave', openAction: true, closeAction: true } // \"mouseleave\" will toggle the popover.\n * ]\n * ```\n *\n * @default ['click']\n */\n this.triggers = ['click'];\n /** Whether the popover is open. Can be used through two-way binding. */\n this.isOpen = false;\n /** Whether the popover should close when a click is made outside its boundaries. */\n this.closeOnOutsideClick = true;\n /** Wether to apply a background overlay */\n this.applyOverlay = false;\n /** Whether the popover should be focusTrapped. */\n this.focusTrapped = false;\n /**\n * Whether the popover should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n this.focusAutoCapture = false;\n /**\n * Whether to move the focus after popover is closed to the last focused element before popover was opened.\n */\n this.restoreFocusOnClose = true;\n /**\n * Scroll strategy, there are 4 accepted\n * - CloseScrollStrategy\n * - NoopScrollStrategy\n * - BlockScrollStrategy\n * - RepositionScrollStrategy ( default )\n */\n this.scrollStrategy = null;\n /**\n * List of positions options for overlay defined by angular CDK.\n * Positions will be taken in order, same like on array. If first position provided doesn't fit to window,\n * another will be used\n * More information can be found in https://material.angular.io/cdk/overlay/api\n */\n this.cdkPositions = null;\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n this.fillControlMode = null;\n /** The element to which the overlay is attached. By default it is body */\n this.appendTo = null;\n /** Whether position shouldn't change, when popover approach the corner of page */\n this.fixedPosition = false;\n /** Whether the popover body is resizable. */\n this.resizable = false;\n /** Event emitted when the state of the isOpen property changes. */\n this.isOpenChange = new EventEmitter();\n /** Event emitted right before the popover is being opened.\n * Useful for cases when component inside popover body needs to be initialized right BEFORE the opening of the popover. */\n this.beforeOpen = new EventEmitter();\n /** @hidden Aria role for the popover body. */\n this._bodyRole = 'dialog';\n /** @hidden ID for the popover body. */\n this._bodyId = null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: BasePopoverClass, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: BasePopoverClass, isStandalone: true, inputs: { closeOnNavigation: \"closeOnNavigation\", disabled: \"disabled\", maxWidth: \"maxWidth\", noArrow: \"noArrow\", additionalBodyClass: \"additionalBodyClass\", additionalBodyComponentClasses: \"additionalBodyComponentClasses\", additionalTriggerClass: \"additionalTriggerClass\", closeOnEscapeKey: \"closeOnEscapeKey\", disableScrollbar: \"disableScrollbar\", placement: \"placement\", triggers: \"triggers\", isOpen: \"isOpen\", closeOnOutsideClick: \"closeOnOutsideClick\", applyOverlay: \"applyOverlay\", focusTrapped: \"focusTrapped\", focusAutoCapture: \"focusAutoCapture\", restoreFocusOnClose: \"restoreFocusOnClose\", scrollStrategy: \"scrollStrategy\", cdkPositions: \"cdkPositions\", fillControlMode: \"fillControlMode\", appendTo: \"appendTo\", placementContainer: \"placementContainer\", fixedPosition: \"fixedPosition\", resizable: \"resizable\" }, outputs: { isOpenChange: \"isOpenChange\", beforeOpen: \"beforeOpen\" }, host: { properties: { \"class.fd-popover-custom--disabled\": \"this.disabled\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: BasePopoverClass, decorators: [{\n type: Directive\n }], propDecorators: { closeOnNavigation: [{\n type: Input\n }], disabled: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-popover-custom--disabled']\n }], maxWidth: [{\n type: Input\n }], noArrow: [{\n type: Input\n }], additionalBodyClass: [{\n type: Input\n }], additionalBodyComponentClasses: [{\n type: Input\n }], additionalTriggerClass: [{\n type: Input\n }], closeOnEscapeKey: [{\n type: Input\n }], disableScrollbar: [{\n type: Input\n }], placement: [{\n type: Input\n }], triggers: [{\n type: Input\n }], isOpen: [{\n type: Input\n }], closeOnOutsideClick: [{\n type: Input\n }], applyOverlay: [{\n type: Input\n }], focusTrapped: [{\n type: Input\n }], focusAutoCapture: [{\n type: Input\n }], restoreFocusOnClose: [{\n type: Input\n }], scrollStrategy: [{\n type: Input\n }], cdkPositions: [{\n type: Input\n }], fillControlMode: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], placementContainer: [{\n type: Input\n }], fixedPosition: [{\n type: Input\n }], resizable: [{\n type: Input\n }], isOpenChange: [{\n type: Output\n }], beforeOpen: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wb3BvdmVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvYmFzZS9iYXNlLXBvcG92ZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2hHLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFSSwrREFBK0Q7UUFFL0Qsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRXpCLHVDQUF1QztRQUd2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGtHQUFrRztRQUVsRyxhQUFRLEdBQXFCLElBQUksQ0FBQztRQUVsQyxnREFBZ0Q7UUFFaEQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUVmLHNFQUFzRTtRQUV0RSx3QkFBbUIsR0FBa0IsSUFBSSxDQUFDO1FBRTFDLDRFQUE0RTtRQUU1RSxtQ0FBOEIsR0FBa0IsSUFBSSxDQUFDO1FBRXJELHNFQUFzRTtRQUV0RSwyQkFBc0IsR0FBa0IsSUFBSSxDQUFDO1FBRTdDLHVFQUF1RTtRQUV2RSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFeEIsMkRBQTJEO1FBRTNELHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qjs7Ozs7V0FLRztRQUVILGNBQVMsR0FBcUIsSUFBSSxDQUFDO1FBRW5DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQTZCRztRQUVILGFBQVEsR0FBK0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRCx3RUFBd0U7UUFFeEUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLG9GQUFvRjtRQUVwRix3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0IsMkNBQTJDO1FBRTNDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGtEQUFrRDtRQUVsRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQjs7O1dBR0c7UUFFSCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekI7O1dBRUc7UUFFSCx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0I7Ozs7OztXQU1HO1FBRUgsbUJBQWMsR0FBMEIsSUFBSSxDQUFDO1FBRTdDOzs7OztXQUtHO1FBRUgsaUJBQVksR0FBK0IsSUFBSSxDQUFDO1FBRWhEOzs7OztXQUtHO1FBRUgsb0JBQWUsR0FBOEIsSUFBSSxDQUFDO1FBRWxELDJFQUEyRTtRQUUzRSxhQUFRLEdBQW1DLElBQUksQ0FBQztRQU1oRCxrRkFBa0Y7UUFFbEYsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIsNkNBQTZDO1FBRTdDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsbUVBQW1FO1FBRW5FLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbEU7a0lBQzBIO1FBRTFILGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWhDLDhDQUE4QztRQUM5QyxjQUFTLEdBQWtCLFFBQVEsQ0FBQztRQUVwQyx1Q0FBdUM7UUFDdkMsWUFBTyxHQUFrQixJQUFJLENBQUM7S0FDakM7OEdBdktZLGdCQUFnQjtrR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTOzhCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUNBQW1DO2dCQUtoRCxRQUFRO3NCQURQLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUtOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLTiw4QkFBOEI7c0JBRDdCLEtBQUs7Z0JBS04sc0JBQXNCO3NCQURyQixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQVVOLFNBQVM7c0JBRFIsS0FBSztnQkFrQ04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFRTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFPTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBV04sY0FBYztzQkFEYixLQUFLO2dCQVVOLFlBQVk7c0JBRFgsS0FBSztnQkFVTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsTUFBTTtnQkFNUCxVQUFVO3NCQURULE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUGxhY2VtZW50LCBQb3BvdmVyRmlsbE1vZGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQmFzZVBvcG92ZXJDbGFzcyB7XG4gICAgLyoqIFdoZXRoZXIgdG8gY2xvc2UgdGhlIHBvcG92ZXIgb24gcm91dGVyIG5hdmlnYXRpb24gc3RhcnQuICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZU9uTmF2aWdhdGlvbiA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtcG9wb3Zlci1jdXN0b20tLWRpc2FibGVkJylcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIE1heGltdW0gd2lkdGggb2YgcG9wb3ZlciBib2R5IGluIHB4LCBwcmV2ZW50cyBmcm9tIG92ZXJleHRlbmRpbmcgYm9keSBieSBgZmlsbENvbnRyb2xNb2RlYCAgKi9cbiAgICBASW5wdXQoKVxuICAgIG1heFdpZHRoOiBOdWxsYWJsZTxudW1iZXI+ID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBoYXZlIGFuIGFycm93LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9BcnJvdyA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBjb250YWluZXIgbmVlZHMgYW4gZXh0cmEgY2xhc3MgZm9yIHN0eWxpbmcuICovXG4gICAgQElucHV0KClcbiAgICBhZGRpdGlvbmFsQm9keUNsYXNzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBDbGFzc2VzIHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gZmQtcG9wb3Zlci1ib2R5IGNvbXBvbmVudCBkaXJlY3RseS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFkZGl0aW9uYWxCb2R5Q29tcG9uZW50Q2xhc3Nlczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBjb250YWluZXIgbmVlZHMgYW4gZXh0cmEgY2xhc3MgZm9yIHN0eWxpbmcuICovXG4gICAgQElucHV0KClcbiAgICBhZGRpdGlvbmFsVHJpZ2dlckNsYXNzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBjbG9zZSB3aGVuIHRoZSBlc2NhcGUga2V5IGlzIHByZXNzZWQuICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZU9uRXNjYXBlS2V5ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHdyYXAgY29udGVudCB3aXRoIGZkLXNjcm9sbGJhciBkaXJlY3RpdmUuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlU2Nyb2xsYmFyID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyLlxuICAgICAqIEl0IGNhbiBiZSBvbmUgb2Y6XG4gICAgICogdG9wLCB0b3Atc3RhcnQsIHRvcC1lbmQsIGJvdHRvbSwgYm90dG9tLXN0YXJ0LCBib3R0b20tZW5kLFxuICAgICAqIHJpZ2h0LCByaWdodC1zdGFydCwgcmlnaHQtZW5kLCBsZWZ0LCBsZWZ0LXN0YXJ0LCBsZWZ0LWVuZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlbWVudDogUGxhY2VtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHJpZ2dlciBldmVudHMgdGhhdCB3aWxsIG9wZW4vY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAgICogQWNjZXB0cyBhbnkgW0hUTUwgRE9NIEV2ZW50c10oaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9qc3JlZi9kb21fb2JqX2V2ZW50LmFzcCkgb3IgYSBjb25maWcgb2JqZWN0IGZvciB0aGUgY29ycmVzcG9uZGluZyBldmVudC5cbiAgICAgKiBVc2luZyB0aGUgY29uZmlnIG9iamVjdCBhbGxvd3MgdG8gc3BlY2lmeSB3aGV0aGVyIGFuIGV2ZW50IHNob3VsZCBhcHBseSBib3RoIGZvciBvcGVuIGFuZCBjbG9zZSBhY3Rpb25zIG9yIG9ubHkgc29tZSBvZiB0aGVtLlxuICAgICAqXG4gICAgICogSWYgYXJyYXkgb2YgdHJpZ2dlcnMgY29uc2lzdHMgb25seSBvZiBvbmUgZXZlbnQsIGl0IHdpbGwgYmUgdHJlYXRlZCBhdCBhIHRvZ2dsZSBldmVudCAob3BlbiBhbmQgY2xvc2UpXG4gICAgICogSWYgYXJyYXkgb2YgdHJpZ2dlciBjb25zaXN0cyBvZiBtb3JlIHRoYW4gb25lIGV2ZW50LCBlYWNoIG9kZCBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgYW4gb3BlbiBldmVudCBmb3IgdGhlIHBvcG92ZXIsXG4gICAgICogYW5kIGVhY2ggZXZlbiBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgY2xvc2luZyBldmVudCBmb3IgdGhlIHBvcG92ZXIuXG4gICAgICpcbiAgICAgKiBDb25zaWRlciB0aGUgZm9sbG93aW5nIHZhbHVlIGZvciBgdHJpZ2dlcnNgOlxuICAgICAqIGBgYFxuICAgICAqIFtcbiAgICAgKiAgJ2NsaWNrJyAvLyBiYXNpY2FsbHkgaXQncyBhbiBhbGlhcyBmb3IgXCJ7IHRyaWdnZXI6ICdjbGljaycsIG9wZW5BY3Rpb246IHRydWUsIGNsb3NlQWN0aW9uOiB0cnVlIH1cIlxuICAgICAqIF1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBcbiAgICAgKiBbXG4gICAgICogICdtb3VzZWVudGVyJyAvLyBTaG9ydGN1dCBmb3IgXCJ7IHRyaWdnZXI6ICdtb3VzZWVudGVyJywgb3BlbkFjdGlvbjogdHJ1ZSwgY2xvc2VBY3Rpb246IGZhbHNlIH1cIiwgYW5kIHdpbGwgb25seSBvcGVuIHRoZSBwb3BvdmVyLlxuICAgICAqICAnbW91c2VsZWF2ZScgLy8gU2hvcnRjdXQgZm9yIFwieyB0cmlnZ2VyOiAnbW91c2VsZWF2ZScsIG9wZW5BY3Rpb246IGZhbHNlLCBjbG9zZUFjdGlvbjogdHJ1ZSB9XCIgYW5kIHdpbGwgb25seSBjbG9zZSB0aGUgcG9wb3Zlci5cbiAgICAgKiBdXG4gICAgICogYGBgXG4gICAgICogYGBgXG4gICAgICogW1xuICAgICAqICB7IHRyaWdnZXI6ICdtb3VzZWVudGVyJywgb3BlbkFjdGlvbjogdHJ1ZSwgY2xvc2VBY3Rpb246IHRydWUgfSwgLy8gXCJtb3VzZWVudGVyXCIgd2lsbCB0b2dnbGUgdGhlIHBvcG92ZXIuXG4gICAgICogIHsgdHJpZ2dlcjogJ21vdXNlbGVhdmUnLCBvcGVuQWN0aW9uOiB0cnVlLCBjbG9zZUFjdGlvbjogdHJ1ZSB9IC8vIFwibW91c2VsZWF2ZVwiIHdpbGwgdG9nZ2xlIHRoZSBwb3BvdmVyLlxuICAgICAqIF1cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFsnY2xpY2snXVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlcnM6IChzdHJpbmcgfCBUcmlnZ2VyQ29uZmlnKVtdID0gWydjbGljayddO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgb3Blbi4gQ2FuIGJlIHVzZWQgdGhyb3VnaCB0d28td2F5IGJpbmRpbmcuICovXG4gICAgQElucHV0KClcbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBjbG9zZSB3aGVuIGEgY2xpY2sgaXMgbWFkZSBvdXRzaWRlIGl0cyBib3VuZGFyaWVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VPbk91dHNpZGVDbGljayA9IHRydWU7XG5cbiAgICAvKiogV2V0aGVyIHRvIGFwcGx5IGEgYmFja2dyb3VuZCBvdmVybGF5ICovXG4gICAgQElucHV0KClcbiAgICBhcHBseU92ZXJsYXkgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBmb2N1c1RyYXBwZWQuICovXG4gICAgQElucHV0KClcbiAgICBmb2N1c1RyYXBwZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkgbW92ZSBmb2N1cyBpbnRvIHRoZSB0cmFwcGVkIHJlZ2lvbiB1cG9uXG4gICAgICogaW5pdGlhbGl6YXRpb24gYW5kIHJldHVybiBmb2N1cyB0byB0aGUgcHJldmlvdXMgYWN0aXZlRWxlbWVudCB1cG9uIGRlc3RydWN0aW9uLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBtb3ZlIHRoZSBmb2N1cyBhZnRlciBwb3BvdmVyIGlzIGNsb3NlZCB0byB0aGUgbGFzdCBmb2N1c2VkIGVsZW1lbnQgYmVmb3JlIHBvcG92ZXIgd2FzIG9wZW5lZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlc3RvcmVGb2N1c09uQ2xvc2UgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogU2Nyb2xsIHN0cmF0ZWd5LCB0aGVyZSBhcmUgNCBhY2NlcHRlZFxuICAgICAqIC0gQ2xvc2VTY3JvbGxTdHJhdGVneVxuICAgICAqIC0gTm9vcFNjcm9sbFN0cmF0ZWd5XG4gICAgICogLSBCbG9ja1Njcm9sbFN0cmF0ZWd5XG4gICAgICogLSBSZXBvc2l0aW9uU2Nyb2xsU3RyYXRlZ3kgKCBkZWZhdWx0IClcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNjcm9sbFN0cmF0ZWd5OiBTY3JvbGxTdHJhdGVneSB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTGlzdCBvZiBwb3NpdGlvbnMgb3B0aW9ucyBmb3Igb3ZlcmxheSBkZWZpbmVkIGJ5IGFuZ3VsYXIgQ0RLLlxuICAgICAqIFBvc2l0aW9ucyB3aWxsIGJlIHRha2VuIGluIG9yZGVyLCBzYW1lIGxpa2Ugb24gYXJyYXkuIElmIGZpcnN0IHBvc2l0aW9uIHByb3ZpZGVkIGRvZXNuJ3QgZml0IHRvIHdpbmRvdyxcbiAgICAgKiBhbm90aGVyIHdpbGwgYmUgdXNlZFxuICAgICAqIE1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvb3ZlcmxheS9hcGlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNka1Bvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUHJlc2V0IG9wdGlvbnMgZm9yIHRoZSBwb3BvdmVyIGJvZHkgd2lkdGguXG4gICAgICogKiBgYXQtbGVhc3RgIHdpbGwgYXBwbHkgYSBtaW5pbXVtIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqICogYGVxdWFsYCB3aWxsIGFwcGx5IGEgd2lkdGggdG8gdGhlIGJvZHkgZXF1aXZhbGVudCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbnRyb2wuXG4gICAgICogKiBMZWF2ZSBibGFuayBmb3Igbm8gZWZmZWN0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsbENvbnRyb2xNb2RlOiBOdWxsYWJsZTxQb3BvdmVyRmlsbE1vZGU+ID0gbnVsbDtcblxuICAgIC8qKiBUaGUgZWxlbWVudCB0byB3aGljaCAgdGhlIG92ZXJsYXkgaXMgYXR0YWNoZWQuIEJ5IGRlZmF1bHQgaXQgaXMgYm9keSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXBwZW5kVG86IE51bGxhYmxlPEVsZW1lbnRSZWYgfCBFbGVtZW50PiA9IG51bGw7XG5cbiAgICAvKiogUGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZW1lbnRDb250YWluZXI6IE51bGxhYmxlPEVsZW1lbnRSZWYgfCBFbGVtZW50PjtcblxuICAgIC8qKiBXaGV0aGVyIHBvc2l0aW9uIHNob3VsZG4ndCBjaGFuZ2UsIHdoZW4gcG9wb3ZlciBhcHByb2FjaCB0aGUgY29ybmVyIG9mIHBhZ2UgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpeGVkUG9zaXRpb24gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGJvZHkgaXMgcmVzaXphYmxlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVzaXphYmxlID0gZmFsc2U7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgaXNPcGVuIHByb3BlcnR5IGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgaXNPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCByaWdodCBiZWZvcmUgdGhlIHBvcG92ZXIgaXMgYmVpbmcgb3BlbmVkLlxuICAgICAqIFVzZWZ1bCBmb3IgY2FzZXMgd2hlbiBjb21wb25lbnQgaW5zaWRlIHBvcG92ZXIgYm9keSBuZWVkcyB0byBiZSBpbml0aWFsaXplZCByaWdodCBCRUZPUkUgdGhlIG9wZW5pbmcgb2YgdGhlIHBvcG92ZXIuICovXG4gICAgQE91dHB1dCgpXG4gICAgYmVmb3JlT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKiBAaGlkZGVuIEFyaWEgcm9sZSBmb3IgdGhlIHBvcG92ZXIgYm9keS4gKi9cbiAgICBfYm9keVJvbGU6IHN0cmluZyB8IG51bGwgPSAnZGlhbG9nJztcblxuICAgIC8qKiBAaGlkZGVuIElEIGZvciB0aGUgcG9wb3ZlciBib2R5LiAqL1xuICAgIF9ib2R5SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xufVxuXG4vKipcbiAqIENvbmZpZyBmb3IgdGhlIHRyaWdnZXIgZXZlbnQsIHdoaWNoIGFsbG93cyB0byBzcGVjaWZ5XG4gKiB3aGV0aGVyIGFuIGV2ZW50IHNob3VsZCBhcHBseSBib3RoIGZvciBvcGVuIGFuZCBjbG9zZSBhY3Rpb25zIG9yIG9ubHkgc29tZSBvZiB0aGVtXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlckNvbmZpZyB7XG4gICAgdHJpZ2dlcjogc3RyaW5nO1xuICAgIG9wZW5BY3Rpb246IGJvb2xlYW47XG4gICAgY2xvc2VBY3Rpb246IGJvb2xlYW47XG4gICAgc3RvcFByb3BhZ2F0aW9uPzogYm9vbGVhbjtcbn1cbiJdfQ==","import { Directive, inject, TemplateRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class PopoverBodyDirective {\n constructor() {\n /**\n * The template to be used as the popover's body.\n **/\n this.templateRef = inject(TemplateRef);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverBodyDirective, isStandalone: true, selector: \"[fdPopoverBody]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverBody]',\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItYm9keS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRCxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBS0k7O1lBRUk7UUFDSyxnQkFBVyxHQUFHLE1BQU0sQ0FBb0IsV0FBVyxDQUFDLENBQUM7S0FDakU7OEdBTFksb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkUG9wb3ZlckJvZHldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJCb2R5RGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBhcyB0aGUgcG9wb3ZlcidzIGJvZHkuXG4gICAgICoqL1xuICAgIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0PFRlbXBsYXRlUmVmPHZvaWQ+PihUZW1wbGF0ZVJlZik7XG59XG4iXX0=","import { Directive, HostBinding } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class PopoverBodyFooterDirective {\n constructor() {\n /** @hidden */\n this.fdPopoverBodyFooterClass = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverBodyFooterDirective, isStandalone: true, selector: \"[fdPopoverBodyFooter], [fd-popover-body-footer]\", host: { properties: { \"class.fd-popover__body-footer\": \"this.fdPopoverBodyFooterClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyFooterDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverBodyFooter], [fd-popover-body-footer]',\n standalone: true\n }]\n }], propDecorators: { fdPopoverBodyFooterClass: [{\n type: HostBinding,\n args: ['class.fd-popover__body-footer']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LWZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LWRpcmVjdGl2ZXMvcG9wb3Zlci1ib2R5LWZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLSSxjQUFjO1FBRWQsNkJBQXdCLEdBQUcsSUFBSSxDQUFDO0tBQ25DOzhHQUpZLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpREFBaUQ7b0JBQzNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFJRyx3QkFBd0I7c0JBRHZCLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFBvcG92ZXJCb2R5Rm9vdGVyXSwgW2ZkLXBvcG92ZXItYm9keS1mb290ZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS1mb290ZXInKVxuICAgIGZkUG9wb3ZlckJvZHlGb290ZXJDbGFzcyA9IHRydWU7XG59XG4iXX0=","import { Directive, HostBinding } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class PopoverBodyHeaderDirective {\n constructor() {\n /** @hidden */\n this.fdPopoverBodyHeaderClass = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverBodyHeaderDirective, isStandalone: true, selector: \"[fdPopoverBodyHeader], [fd-popover-body-header]\", host: { properties: { \"class.fd-popover__body-header\": \"this.fdPopoverBodyHeaderClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyHeaderDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverBodyHeader], [fd-popover-body-header]',\n standalone: true\n }]\n }], propDecorators: { fdPopoverBodyHeaderClass: [{\n type: HostBinding,\n args: ['class.fd-popover__body-header']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LWhlYWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LWRpcmVjdGl2ZXMvcG9wb3Zlci1ib2R5LWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLSSxjQUFjO1FBRWQsNkJBQXdCLEdBQUcsSUFBSSxDQUFDO0tBQ25DOzhHQUpZLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpREFBaUQ7b0JBQzNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFJRyx3QkFBd0I7c0JBRHZCLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFBvcG92ZXJCb2R5SGVhZGVyXSwgW2ZkLXBvcG92ZXItYm9keS1oZWFkZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJCb2R5SGVhZGVyRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS1oZWFkZXInKVxuICAgIGZkUG9wb3ZlckJvZHlIZWFkZXJDbGFzcyA9IHRydWU7XG59XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, Input, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { KeyUtil, ResizeDirective, ResizeHandleDirective } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/core/content-density\";\nimport * as i2 from \"@angular/cdk/a11y\";\n/**\n * A component used to enforce a certain layout for the popover.\n * ```html\n * <fd-popover>\n * <fd-popover-control>Control Element</fd-popover-control>\n * <fd-popover-body>Popover Body</fd-popover-body>\n * </fd-popover>\n * ```\n */\nexport class PopoverBodyComponent {\n /** @hidden */\n constructor(_elementRef, _changeDetectorRef, _renderer, _contentDensityObserver) {\n this._elementRef = _elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._renderer = _renderer;\n this._contentDensityObserver = _contentDensityObserver;\n /** Whether to wrap content with fd-scrollbar directive. */\n this._disableScrollbar = false;\n /** Whether the popover should have an arrow. */\n this._noArrow = true;\n /** Whether the popover should be focusTrapped. */\n this._focusTrapped = false;\n /**\n * Whether the popover should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n this._focusAutoCapture = false;\n /** @hidden Property bind to popover's body. */\n this._closeOnEscapeKey = false;\n /** @hidden Aria role for the popover body. */\n this._bodyRole = 'dialog';\n /** @hidden Aria role for the popover body. */\n this._bodyId = null;\n /** Classes added to arrow element. */\n this._arrowClasses = '';\n /** @hidden text rendered inside popover's body. */\n this.text = null;\n /** @hidden Whether the popover body is resizable. */\n this._resizable = false;\n /** @hidden */\n this._resizeHandleLocation = 'bottom-right';\n /** Close event from popover body */\n this.onClose = new Subject();\n /** @hidden */\n this._bodyComponentClasses = null;\n }\n /** Handler escape keydown */\n bodyKeyupHandler(event) {\n if (KeyUtil.isKeyCode(event, ESCAPE) && this._closeOnEscapeKey) {\n // In case if popover belongs to the element inside dialog\n event.stopPropagation();\n this.onClose.next();\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n if (this._scrollbar) {\n this._scrollbar._inPopover = true;\n }\n }\n /** @hidden */\n _setBodyComponentClasses(classes) {\n this._bodyComponentClasses?.split(' ').forEach((klass) => {\n this._renderer.removeClass(this._elementRef.nativeElement, klass);\n });\n this._bodyComponentClasses = classes;\n if (!this._bodyComponentClasses) {\n return;\n }\n this._bodyComponentClasses.split(' ').forEach((klass) => {\n this._renderer.addClass(this._elementRef.nativeElement, klass);\n });\n }\n /** @hidden */\n _setArrowStyles(position, rtl) {\n this._resizeHandleLocation = `${position.overlayY === 'top' ? 'bottom' : 'top'}-${position.overlayX === 'start' ? 'right' : 'left'}`;\n if (this._noArrow) {\n this._arrowClasses = '';\n return;\n }\n let arrowClasses = [];\n if (position.overlayY !== position.originY &&\n position.originY !== 'center' &&\n position.overlayY !== 'center' &&\n position.overlayX === position.originX) {\n arrowClasses = [\n `fd-popover__body--${position.overlayY === 'top' ? 'below' : 'above'}`,\n `fd-popover__body--${position.overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--arrow-${position.overlayY}`,\n `fd-popover__body--arrow-x-${position.originX}`\n ];\n }\n else if (position.overlayX !== position.originX &&\n position.overlayX !== 'center' &&\n position.originX !== 'center' &&\n position.originY === position.overlayY) {\n let overlayX = position.overlayX;\n if (rtl === 'rtl') {\n overlayX = position.overlayX === 'end' ? 'start' : 'end';\n }\n arrowClasses = [\n `fd-popover__body--${overlayX === 'start' ? 'after' : 'before'}`,\n `fd-popover__body--${overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--${position.overlayY === 'center' ? 'middle' : position.overlayY}`,\n `fd-popover__body--arrow-${overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--arrow-y-${position.originY} `\n ];\n }\n else {\n arrowClasses = ['fd-popover__body--no-arrow'];\n }\n this._arrowClasses = arrowClasses.join(' ');\n this.detectChanges();\n }\n /** @hidden */\n detectChanges() {\n if (!this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n /** @hidden */\n _focusFirstTabbableElement(forced = false) {\n if (forced || this._focusAutoCapture) {\n requestAnimationFrame(() => {\n this._cdkTrapFocus.focusTrap.focusFirstTabbableElement();\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PopoverBodyComponent, isStandalone: true, selector: \"fd-popover-body\", inputs: { minWidth: \"minWidth\", maxWidth: \"maxWidth\", minHeight: \"minHeight\", maxHeight: \"maxHeight\" }, host: { listeners: { \"keydown\": \"bodyKeyupHandler($event)\" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], viewQueries: [{ propertyName: \"_cdkTrapFocus\", first: true, predicate: CdkTrapFocus, descendants: true }, { propertyName: \"_scrollbar\", first: true, predicate: ScrollbarDirective, descendants: true }], ngImport: i0, template: \"<div\\n class=\\\"fd-popover__body fd-popover__body--static\\\"\\n [class.fd-popover__body--no-arrow]=\\\"_noArrow\\\"\\n [class.fd-popover__body--resizable]=\\\"_resizable\\\"\\n [class]=\\\"_arrowClasses + ' ' + (_additionalBodyClass || '')\\\"\\n [cdkTrapFocus]=\\\"_focusTrapped\\\"\\n [style.min-width]=\\\"_popoverBodyMinWidth ? null : minWidth\\\"\\n [style.max-width]=\\\"_maxWidth ? null : maxWidth\\\"\\n [style.min-height]=\\\"minHeight\\\"\\n [style.max-height]=\\\"maxHeight\\\"\\n [style.max-width.px]=\\\"_maxWidth\\\"\\n [style.min-width.px]=\\\"_popoverBodyMinWidth\\\"\\n [style.width.px]=\\\"_popoverBodyWidth\\\"\\n [attr.role]=\\\"_bodyRole\\\"\\n [attr.id]=\\\"_bodyId\\\"\\n fdkResize\\n [fdkResizeDisabled]=\\\"!_resizable\\\"\\n [fdkResizeClass]=\\\"'fd-popover__body--disable-transitions'\\\"\\n [fdkResizeHandleLocation]=\\\"_resizeHandleLocation\\\"\\n>\\n @if (!_disableScrollbar) {\\n <div fd-scrollbar class=\\\"fd-popover__wrapper\\\">\\n <ng-template [ngTemplateOutlet]=\\\"renderer\\\"></ng-template>\\n </div>\\n } @else {\\n <ng-template [ngTemplateOutlet]=\\\"renderer\\\"></ng-template>\\n }\\n @if (_resizable) {\\n <span fdkResizeHandle class=\\\"fd-popover__resize-handle\\\" role=\\\"presentation\\\" aria-hidden=\\\"true\\\"></span>\\n }\\n</div>\\n<ng-template #renderer>\\n <ng-content select=\\\"[fd-popover-body-header]\\\"></ng-content>\\n <ng-content select=\\\"[fd-popover-body-subheader]\\\"></ng-content>\\n <ng-content></ng-content>\\n {{ text }}\\n <ng-template [ngTemplateOutlet]=\\\"_templateToDisplay\\\"></ng-template>\\n <ng-content select=\\\"[fd-popover-body-footer]\\\"></ng-content>\\n</ng-template>\\n\", styles: [\"body.fd-overlay-active:before{background:var(--fdModal_BackgroundColor);content:\\\"\\\";height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:999}.fd-popover{--fdPopover_Display:inline-block;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdPopover_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-popover:after,.fd-popover:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__modal{position:relative;z-index:1000}.fd-popover__control{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{-webkit-margin-after:0;margin-block-end:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Body_Border_Radius);overflow:auto;position:relative;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;--fdPopover_Arrow_Size:.5rem;--fdPopover_Body_Border_Radius:var(--fdPopover_Border_Radius);--fdPopover_Body_Box_Shadow:var(--sapContent_Shadow2);--fdPopover_Body_Box_Shadow_No_Arrow:var(--sapContent_Shadow1);--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;--fdPopover_Resize_Handle_Offset:-.5rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:center;--fdPopover_Resize_Handle_Transform_Scale:1;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Body_Border_Radius);-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow);box-shadow:var(--fdPopover_Body_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;opacity:1;padding-block:0;padding-inline:0;position:absolute;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size));-webkit-transition:all .125s;transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\\\"\\\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1);z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child:not(.fd-popover__resize-handle){border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-menu{width:100%}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--center{left:var(--fdPopover_Center_Offset);-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{left:auto;right:var(--fdPopover_Center_Offset);-webkit-transform:translateX(var(--fdPopover_Center_Offset));transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{top:var(--fdPopover_Center_Offset);-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;border-top:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-left:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-right:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{left:auto;right:50%;-webkit-transform:translateX(50%);transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-popover__body--arrow-y-bottom:before,.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-bottom:after,.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:-webkit-max-content;width:-moz-max-content;width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{position:relative;--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding-block:.75rem;padding-inline:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover__body.fd-popover__body--resizable[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:-.5rem;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Container_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Rotate_Angle:-90deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Container_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--bottom,.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--middle{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Rotate_Angle:90deg;--fdPopover_Resize_Handle_Cursor:nw-resize}.fd-popover__resize-handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.5rem;line-height:normal;margin-block:0;margin-inline:0;min-width:1.5rem;padding-block:0;padding-inline:0;width:1.5rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);-ms-flex-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);color:var(--sapButton_Lite_TextColor);cursor:var(--fdPopover_Resize_Handle_Cursor);font-size:1rem;inset:var(--fdPopover_Resize_Handle_Position_Top) var(--fdPopover_Resize_Handle_Position_Right) var(--fdPopover_Resize_Handle_Position_Bottom) var(--fdPopover_Resize_Handle_Position_Left);justify-content:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);line-height:1rem;overflow:hidden;position:absolute;-webkit-transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle));transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle))}.fd-popover__resize-handle:after,.fd-popover__resize-handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__resize-handle:after{content:\\\"\\\\e24f\\\";display:-webkit-box;display:-ms-flexbox;display:flex;font-family:SAP-icons;height:1rem;min-width:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;width:1rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:var(--fdPopover_Resize_Handle_Justify);-ms-flex-pack:var(--fdPopover_Resize_Handle_Justify);color:inherit;justify-content:var(--fdPopover_Resize_Handle_Justify);-webkit-transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale));transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale))}.fd-popover--slider{--fdPopover_Display:block}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover--full-width{width:100%}.fd-popover--btp .fd-popover__body{--fdPopover_Arrow_Size:.375rem;--fdPopover_Body_Border_Radius:.75rem;--fdPopover_Body_Box_Shadow:var(--sapMenu_Shadow2);border:none;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size) - .1875rem)}.fd-popover--btp .fd-popover__body--padding{padding-block:.75rem;padding-inline:.75rem}.fd-popover--btp .fd-popover__body-header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-header:after,.fd-popover--btp .fd-popover__body-header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-block:.75rem;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-content:after,.fd-popover--btp .fd-popover__body-content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content:only-child{margin-block:0;margin-inline:0}.fd-popover--btp .fd-popover__body-footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.1875rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.375rem;padding-inline:0}.fd-popover--btp .fd-popover__body-footer:after,.fd-popover--btp .fd-popover__body-footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-footer--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}fd-popover-body{max-width:100%;max-height:100%}.fd-popover-custom{display:inline-block;max-width:100%}.fd-popover-custom--disabled .fd-popover__control{cursor:auto}.fd-popover__body{max-height:100%;max-width:100%;display:flex}.fd-popover__body .fd-popover__body-footer,.fd-popover__body .fd-popover__body-header{position:sticky;z-index:6}.fd-popover__body .fd-popover__body-footer{bottom:0}.fd-popover__body--hidden{display:none!important}.fd-popover__body--disable-transitions{transition:none!important;-webkit-transition:none!important}.fd-popover__body--inline-help.fd-inline-help__content{white-space:initial}.fd-popover__body--inline-help.fd-inline-help__content>.fd-scrollbar{border-radius:0}.fd-popover__body.fd-form-message:before{width:auto;height:auto;position:relative;inset:0;border:none}.fd-popover__body>.fd-scrollbar{max-height:100%;max-width:100%;width:100%;border-radius:inherit}.fd-popover__body .fd-list{border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:first-child,.fd-popover__body .fd-list__item:first-of-type{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:last-child,.fd-popover__body .fd-list__item:last-of-type{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list{border-bottom:none}.fd-popover__body .fd-nested-list__item:first-child .fd-nested-list__content{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__item:last-child .fd-nested-list__link{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content.is-selected{border-bottom-right-radius:0;border-bottom-left-radius:0}.fd-popover__body .fd-side-nav,.fd-popover__body .fd-nested-list__item{border-right:none}.fd-popover__body .fd-side-nav:first-child,.fd-popover__body .fd-nested-list__item:first-child{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-side-nav:last-child,.fd-popover__body .fd-nested-list__item:last-child{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__resize-handle{-webkit-user-select:none;user-select:none}.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start{left:-.3125rem}[dir=rtl] .fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start,.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start[dir=rtl]{left:auto;right:-.3125rem}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\\n/*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n */\\n\"], dependencies: [{ kind: \"ngmodule\", type: A11yModule }, { kind: \"directive\", type: i2.CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: [\"cdkTrapFocus\", \"cdkTrapFocusAutoCapture\"], exportAs: [\"cdkTrapFocus\"] }, { kind: \"directive\", type: ScrollbarDirective, selector: \"[fdScrollbar], [fd-scrollbar]\", inputs: [\"noHorizontalScroll\", \"noVerticalScroll\", \"alwaysVisible\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: ResizeHandleDirective, selector: \"[fdkResizeHandle]\" }, { kind: \"directive\", type: ResizeDirective, selector: \"[fdkResize]\", inputs: [\"fdkResizeBoundary\", \"fdkResizeDisabled\", \"fdkResizeClass\", \"fdkResizeHandleLocation\", \"fdkResizeResizeHandleRef\"], outputs: [\"onResizeStart\", \"onResizeEnd\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-popover-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], imports: [A11yModule, CdkScrollable, ScrollbarDirective, NgTemplateOutlet, ResizeHandleDirective, ResizeDirective], standalone: true, template: \"<div\\n class=\\\"fd-popover__body fd-popover__body--static\\\"\\n [class.fd-popover__body--no-arrow]=\\\"_noArrow\\\"\\n [class.fd-popover__body--resizable]=\\\"_resizable\\\"\\n [class]=\\\"_arrowClasses + ' ' + (_additionalBodyClass || '')\\\"\\n [cdkTrapFocus]=\\\"_focusTrapped\\\"\\n [style.min-width]=\\\"_popoverBodyMinWidth ? null : minWidth\\\"\\n [style.max-width]=\\\"_maxWidth ? null : maxWidth\\\"\\n [style.min-height]=\\\"minHeight\\\"\\n [style.max-height]=\\\"maxHeight\\\"\\n [style.max-width.px]=\\\"_maxWidth\\\"\\n [style.min-width.px]=\\\"_popoverBodyMinWidth\\\"\\n [style.width.px]=\\\"_popoverBodyWidth\\\"\\n [attr.role]=\\\"_bodyRole\\\"\\n [attr.id]=\\\"_bodyId\\\"\\n fdkResize\\n [fdkResizeDisabled]=\\\"!_resizable\\\"\\n [fdkResizeClass]=\\\"'fd-popover__body--disable-transitions'\\\"\\n [fdkResizeHandleLocation]=\\\"_resizeHandleLocation\\\"\\n>\\n @if (!_disableScrollbar) {\\n <div fd-scrollbar class=\\\"fd-popover__wrapper\\\">\\n <ng-template [ngTemplateOutlet]=\\\"renderer\\\"></ng-template>\\n </div>\\n } @else {\\n <ng-template [ngTemplateOutlet]=\\\"renderer\\\"></ng-template>\\n }\\n @if (_resizable) {\\n <span fdkResizeHandle class=\\\"fd-popover__resize-handle\\\" role=\\\"presentation\\\" aria-hidden=\\\"true\\\"></span>\\n }\\n</div>\\n<ng-template #renderer>\\n <ng-content select=\\\"[fd-popover-body-header]\\\"></ng-content>\\n <ng-content select=\\\"[fd-popover-body-subheader]\\\"></ng-content>\\n <ng-content></ng-content>\\n {{ text }}\\n <ng-template [ngTemplateOutlet]=\\\"_templateToDisplay\\\"></ng-template>\\n <ng-content select=\\\"[fd-popover-body-footer]\\\"></ng-content>\\n</ng-template>\\n\", styles: [\"body.fd-overlay-active:before{background:var(--fdModal_BackgroundColor);content:\\\"\\\";height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:999}.fd-popover{--fdPopover_Display:inline-block;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdPopover_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-popover:after,.fd-popover:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__modal{position:relative;z-index:1000}.fd-popover__control{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{-webkit-margin-after:0;margin-block-end:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Body_Border_Radius);overflow:auto;position:relative;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;--fdPopover_Arrow_Size:.5rem;--fdPopover_Body_Border_Radius:var(--fdPopover_Border_Radius);--fdPopover_Body_Box_Shadow:var(--sapContent_Shadow2);--fdPopover_Body_Box_Shadow_No_Arrow:var(--sapContent_Shadow1);--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;--fdPopover_Resize_Handle_Offset:-.5rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:center;--fdPopover_Resize_Handle_Transform_Scale:1;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Body_Border_Radius);-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow);box-shadow:var(--fdPopover_Body_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;opacity:1;padding-block:0;padding-inline:0;position:absolute;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size));-webkit-transition:all .125s;transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\\\"\\\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1);z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child:not(.fd-popover__resize-handle){border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-menu{width:100%}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--center{left:var(--fdPopover_Center_Offset);-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{left:auto;right:var(--fdPopover_Center_Offset);-webkit-transform:translateX(var(--fdPopover_Center_Offset));transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{top:var(--fdPopover_Center_Offset);-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;border-top:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-left:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-right:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{left:auto;right:50%;-webkit-transform:translateX(50%);transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-popover__body--arrow-y-bottom:before,.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-bottom:after,.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:-webkit-max-content;width:-moz-max-content;width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{position:relative;--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding-block:.75rem;padding-inline:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover__body.fd-popover__body--resizable[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:-.5rem;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Container_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Rotate_Angle:-90deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Container_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--bottom,.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--middle{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Rotate_Angle:90deg;--fdPopover_Resize_Handle_Cursor:nw-resize}.fd-popover__resize-handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.5rem;line-height:normal;margin-block:0;margin-inline:0;min-width:1.5rem;padding-block:0;padding-inline:0;width:1.5rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);-ms-flex-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);color:var(--sapButton_Lite_TextColor);cursor:var(--fdPopover_Resize_Handle_Cursor);font-size:1rem;inset:var(--fdPopover_Resize_Handle_Position_Top) var(--fdPopover_Resize_Handle_Position_Right) var(--fdPopover_Resize_Handle_Position_Bottom) var(--fdPopover_Resize_Handle_Position_Left);justify-content:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);line-height:1rem;overflow:hidden;position:absolute;-webkit-transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle));transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle))}.fd-popover__resize-handle:after,.fd-popover__resize-handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__resize-handle:after{content:\\\"\\\\e24f\\\";display:-webkit-box;display:-ms-flexbox;display:flex;font-family:SAP-icons;height:1rem;min-width:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;width:1rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:var(--fdPopover_Resize_Handle_Justify);-ms-flex-pack:var(--fdPopover_Resize_Handle_Justify);color:inherit;justify-content:var(--fdPopover_Resize_Handle_Justify);-webkit-transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale));transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale))}.fd-popover--slider{--fdPopover_Display:block}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover--full-width{width:100%}.fd-popover--btp .fd-popover__body{--fdPopover_Arrow_Size:.375rem;--fdPopover_Body_Border_Radius:.75rem;--fdPopover_Body_Box_Shadow:var(--sapMenu_Shadow2);border:none;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size) - .1875rem)}.fd-popover--btp .fd-popover__body--padding{padding-block:.75rem;padding-inline:.75rem}.fd-popover--btp .fd-popover__body-header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-header:after,.fd-popover--btp .fd-popover__body-header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-block:.75rem;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-content:after,.fd-popover--btp .fd-popover__body-content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content:only-child{margin-block:0;margin-inline:0}.fd-popover--btp .fd-popover__body-footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.1875rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.375rem;padding-inline:0}.fd-popover--btp .fd-popover__body-footer:after,.fd-popover--btp .fd-popover__body-footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-footer--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}fd-popover-body{max-width:100%;max-height:100%}.fd-popover-custom{display:inline-block;max-width:100%}.fd-popover-custom--disabled .fd-popover__control{cursor:auto}.fd-popover__body{max-height:100%;max-width:100%;display:flex}.fd-popover__body .fd-popover__body-footer,.fd-popover__body .fd-popover__body-header{position:sticky;z-index:6}.fd-popover__body .fd-popover__body-footer{bottom:0}.fd-popover__body--hidden{display:none!important}.fd-popover__body--disable-transitions{transition:none!important;-webkit-transition:none!important}.fd-popover__body--inline-help.fd-inline-help__content{white-space:initial}.fd-popover__body--inline-help.fd-inline-help__content>.fd-scrollbar{border-radius:0}.fd-popover__body.fd-form-message:before{width:auto;height:auto;position:relative;inset:0;border:none}.fd-popover__body>.fd-scrollbar{max-height:100%;max-width:100%;width:100%;border-radius:inherit}.fd-popover__body .fd-list{border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:first-child,.fd-popover__body .fd-list__item:first-of-type{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:last-child,.fd-popover__body .fd-list__item:last-of-type{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list{border-bottom:none}.fd-popover__body .fd-nested-list__item:first-child .fd-nested-list__content{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__item:last-child .fd-nested-list__link{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content.is-selected{border-bottom-right-radius:0;border-bottom-left-radius:0}.fd-popover__body .fd-side-nav,.fd-popover__body .fd-nested-list__item{border-right:none}.fd-popover__body .fd-side-nav:first-child,.fd-popover__body .fd-nested-list__item:first-child{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-side-nav:last-child,.fd-popover__body .fd-nested-list__item:last-child{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__resize-handle{-webkit-user-select:none;user-select:none}.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start{left:-.3125rem}[dir=rtl] .fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start,.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start[dir=rtl]{left:auto;right:-.3125rem}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\\n/*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n */\\n\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1.ContentDensityObserver }], propDecorators: { minWidth: [{\n type: Input\n }], maxWidth: [{\n type: Input\n }], minHeight: [{\n type: Input\n }], maxHeight: [{\n type: Input\n }], _cdkTrapFocus: [{\n type: ViewChild,\n args: [CdkTrapFocus]\n }], _scrollbar: [{\n type: ViewChild,\n args: [ScrollbarDirective]\n }], bodyKeyupHandler: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItYm9keS9wb3BvdmVyLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQVksZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFFckU7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sb0JBQW9CO0lBa0Y3QixjQUFjO0lBQ2QsWUFDYSxXQUF1QixFQUN4QixrQkFBcUMsRUFDNUIsU0FBb0IsRUFDNUIsdUJBQStDO1FBSC9DLGdCQUFXLEdB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QXNCL0QsWUFBWSw2RUFJWixrQkFBa0IsZ0RDbEVqQyw4bURBdUNBLG1yNkJERWMsVUFBVSwwTEFBaUIsa0JBQWtCLCtJQUFFLGdCQUFnQixvSkFBRSxxQkFBcUIsOERBQUUsZUFBZTs7MkZBR3hHLG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDSSxpQkFBaUIsaUJBRVosaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUVwQyxDQUFDLCtCQUErQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUNqRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxDQUFDLGNBQ3RHLElBQUk7NEtBS2hCLFFBQVE7c0JBRFAsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixhQUFhO3NCQURaLFNBQVM7dUJBQUMsWUFBWTtnQkFLdkIsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLGtCQUFrQjtnQkFzRTdCLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQTExeU1vZHVsZSwgQ2RrVHJhcEZvY3VzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IENka1Njcm9sbGFibGUsIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBLZXlVdGlsLCBOdWxsYWJsZSwgUmVzaXplRGlyZWN0aXZlLCBSZXNpemVIYW5kbGVEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBTY3JvbGxiYXJEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2Nyb2xsYmFyJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB1c2VkIHRvIGVuZm9yY2UgYSBjZXJ0YWluIGxheW91dCBmb3IgdGhlIHBvcG92ZXIuXG4gKiBgYGBodG1sXG4gKiA8ZmQtcG9wb3Zlcj5cbiAqICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPkNvbnRyb2wgRWxlbWVudDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICogICAgIDxmZC1wb3BvdmVyLWJvZHk+UG9wb3ZlciBCb2R5PC9mZC1wb3BvdmVyLWJvZHk+XG4gKiA8L2ZkLXBvcG92ZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1wb3BvdmVyLWJvZHknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmw6ICcuL3BvcG92ZXItYm9keS5jb21wb25lbnQuc2NzcycsXG4gICAgcHJvdmlkZXJzOiBbY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyh7IGFsd2F5c0FkZE1vZGlmaWVyczogdHJ1ZSB9KV0sXG4gICAgaW1wb3J0czogW0ExMXlNb2R1bGUsIENka1Njcm9sbGFibGUsIFNjcm9sbGJhckRpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldCwgUmVzaXplSGFuZGxlRGlyZWN0aXZlLCBSZXNpemVEaXJlY3RpdmVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckJvZHlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvKiogTWluaW11bSB3aWR0aCBvZiB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtaW5XaWR0aDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBNYXhpbXVtIHdpZHRoIG9mIHRoZSBwb3BvdmVyIGJvZHkgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1heFdpZHRoOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIE1pbmltdW0gaGVpZ2h0IG9mIHRoZSBwb3BvdmVyIGJvZHkgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1pbkhlaWdodDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtYXhIZWlnaHQ6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoQ2RrVHJhcEZvY3VzKVxuICAgIF9jZGtUcmFwRm9jdXM6IENka1RyYXBGb2N1cztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChTY3JvbGxiYXJEaXJlY3RpdmUpXG4gICAgX3Njcm9sbGJhcjogU2Nyb2xsYmFyRGlyZWN0aXZlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gd3JhcCBjb250ZW50IHdpdGggZmQtc2Nyb2xsYmFyIGRpcmVjdGl2ZS4gKi9cbiAgICBfZGlzYWJsZVNjcm9sbGJhciA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGhhdmUgYW4gYXJyb3cuICovXG4gICAgX25vQXJyb3cgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgY29udGFpbmVyIG5lZWRzIGFuIGV4dHJhIGNsYXNzIGZvciBzdHlsaW5nLiAqL1xuICAgIF9hZGRpdGlvbmFsQm9keUNsYXNzOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGZvY3VzVHJhcHBlZC4gKi9cbiAgICBfZm9jdXNUcmFwcGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBhdXRvbWF0aWNhbGx5IG1vdmUgZm9jdXMgaW50byB0aGUgdHJhcHBlZCByZWdpb24gdXBvblxuICAgICAqIGluaXRpYWxpemF0aW9uIGFuZCByZXR1cm4gZm9jdXMgdG8gdGhlIHByZXZpb3VzIGFjdGl2ZUVsZW1lbnQgdXBvbiBkZXN0cnVjdGlvbi5cbiAgICAgKi9cbiAgICBfZm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gUHJvcGVydHkgYmluZCB0byBwb3BvdmVyJ3MgYm9keS4gKi9cbiAgICBfcG9wb3ZlckJvZHlXaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gUHJvcGVydHkgYmluZCB0byBwb3BvdmVyJ3MgYm9keS4gKi9cbiAgICBfcG9wb3ZlckJvZHlNaW5XaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gUHJvcGVydHkgYmluZCB0byBwb3BvdmVyJ3MgYm9keS4gKi9cbiAgICBfbWF4V2lkdGg6IE51bGxhYmxlPG51bWJlcj47XG5cbiAgICAvKiogQGhpZGRlbiBQcm9wZXJ0eSBiaW5kIHRvIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIF9jbG9zZU9uRXNjYXBlS2V5ID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiBBcmlhIHJvbGUgZm9yIHRoZSBwb3BvdmVyIGJvZHkuICovXG4gICAgX2JvZHlSb2xlOiBOdWxsYWJsZTxzdHJpbmc+ID0gJ2RpYWxvZyc7XG5cbiAgICAvKiogQGhpZGRlbiBBcmlhIHJvbGUgZm9yIHRoZSBwb3BvdmVyIGJvZHkuICovXG4gICAgX2JvZHlJZDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQ2xhc3NlcyBhZGRlZCB0byBhcnJvdyBlbGVtZW50LiAqL1xuICAgIF9hcnJvd0NsYXNzZXMgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuIHRleHQgcmVuZGVyZWQgaW5zaWRlIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIHRleHQ6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gdGVtcGxhdGUgcmVuZGVyZWQgaW5zaWRlIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIF90ZW1wbGF0ZVRvRGlzcGxheTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuIFdoZXRoZXIgdGhlIHBvcG92ZXIgYm9keSBpcyByZXNpemFibGUuICovXG4gICAgX3Jlc2l6YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVzaXplSGFuZGxlTG9jYXRpb246ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyA9ICdib3R0b20tcmlnaHQnO1xuXG4gICAgLyoqIENsb3NlIGV2ZW50IGZyb20gcG9wb3ZlciBib2R5ICovXG4gICAgb25DbG9zZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JvZHlDb21wb25lbnRDbGFzc2VzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7fVxuXG4gICAgLyoqIEhhbmRsZXIgZXNjYXBlIGtleWRvd24gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBib2R5S2V5dXBIYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRVNDQVBFKSAmJiB0aGlzLl9jbG9zZU9uRXNjYXBlS2V5KSB7XG4gICAgICAgICAgICAvLyBJbiBjYXNlIGlmIHBvcG92ZXIgYmVsb25ncyB0byB0aGUgZWxlbWVudCBpbnNpZGUgZGlhbG9nXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMub25DbG9zZS5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbGJhcikge1xuICAgICAgICAgICAgdGhpcy5fc2Nyb2xsYmFyLl9pblBvcG92ZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0Qm9keUNvbXBvbmVudENsYXNzZXMoY2xhc3Nlczogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ib2R5Q29tcG9uZW50Q2xhc3Nlcz8uc3BsaXQoJyAnKS5mb3JFYWNoKChrbGFzcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrbGFzcyk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9ib2R5Q29tcG9uZW50Q2xhc3NlcyA9IGNsYXNzZXM7XG4gICAgICAgIGlmICghdGhpcy5fYm9keUNvbXBvbmVudENsYXNzZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ib2R5Q29tcG9uZW50Q2xhc3Nlcy5zcGxpdCgnICcpLmZvckVhY2goKGtsYXNzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtsYXNzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0QXJyb3dTdHlsZXMocG9zaXRpb246IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsIHJ0bDogJ3J0bCcgfCAnbHRyJyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVIYW5kbGVMb2NhdGlvbiA9IGAke3Bvc2l0aW9uLm92ZXJsYXlZID09PSAndG9wJyA/ICdib3R0b20nIDogJ3RvcCd9LSR7XG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdyaWdodCcgOiAnbGVmdCdcbiAgICAgICAgfWA7XG4gICAgICAgIGlmICh0aGlzLl9ub0Fycm93KSB7XG4gICAgICAgICAgICB0aGlzLl9hcnJvd0NsYXNzZXMgPSAnJztcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhcnJvd0NsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVkgIT09IHBvc2l0aW9uLm9yaWdpblkgJiZcbiAgICAgICAgICAgIHBvc2l0aW9uLm9yaWdpblkgIT09ICdjZW50ZXInICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WSAhPT0gJ2NlbnRlcicgJiZcbiAgICAgICAgICAgIHBvc2l0aW9uLm92ZXJsYXlYID09PSBwb3NpdGlvbi5vcmlnaW5YXG4gICAgICAgICkge1xuICAgICAgICAgICAgYXJyb3dDbGFzc2VzID0gW1xuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS0ke3Bvc2l0aW9uLm92ZXJsYXlZID09PSAndG9wJyA/ICdiZWxvdycgOiAnYWJvdmUnfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLSR7cG9zaXRpb24ub3ZlcmxheVggPT09ICdzdGFydCcgPyAnbGVmdCcgOiAncmlnaHQnfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLWFycm93LSR7cG9zaXRpb24ub3ZlcmxheVl9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tYXJyb3cteC0ke3Bvc2l0aW9uLm9yaWdpblh9YFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHBvc2l0aW9uLm92ZXJsYXlYICE9PSBwb3NpdGlvbi5vcmlnaW5YICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WCAhPT0gJ2NlbnRlcicgJiZcbiAgICAgICAgICAgIHBvc2l0aW9uLm9yaWdpblggIT09ICdjZW50ZXInICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vcmlnaW5ZID09PSBwb3NpdGlvbi5vdmVybGF5WVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBvdmVybGF5WCA9IHBvc2l0aW9uLm92ZXJsYXlYO1xuICAgICAgICAgICAgaWYgKHJ0bCA9PT0gJ3J0bCcpIHtcbiAgICAgICAgICAgICAgICBvdmVybGF5WCA9IHBvc2l0aW9uLm92ZXJsYXlYID09PSAnZW5kJyA/ICdzdGFydCcgOiAnZW5kJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFycm93Q2xhc3NlcyA9IFtcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tJHtvdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdhZnRlcicgOiAnYmVmb3JlJ31gLFxuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS0ke292ZXJsYXlYID09PSAnc3RhcnQnID8gJ2xlZnQnIDogJ3JpZ2h0J31gLFxuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS0ke3Bvc2l0aW9uLm92ZXJsYXlZID09PSAnY2VudGVyJyA/ICdtaWRkbGUnIDogcG9zaXRpb24ub3ZlcmxheVl9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tYXJyb3ctJHtvdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdsZWZ0JyA6ICdyaWdodCd9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tYXJyb3cteS0ke3Bvc2l0aW9uLm9yaWdpbll9IGBcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcnJvd0NsYXNzZXMgPSBbJ2ZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93J107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9hcnJvd0NsYXNzZXMgPSBhcnJvd0NsYXNzZXMuam9pbignICcpO1xuXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZlsnZGVzdHJveWVkJ10pIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQoZm9yY2VkID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZvcmNlZCB8fCB0aGlzLl9mb2N1c0F1dG9DYXB0dXJlKSB7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nka1RyYXBGb2N1cy5mb2N1c1RyYXAuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmZC1wb3BvdmVyX19ib2R5IGZkLXBvcG92ZXJfX2JvZHktLXN0YXRpY1wiXG4gICAgW2NsYXNzLmZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93XT1cIl9ub0Fycm93XCJcbiAgICBbY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS0tcmVzaXphYmxlXT1cIl9yZXNpemFibGVcIlxuICAgIFtjbGFzc109XCJfYXJyb3dDbGFzc2VzICsgJyAnICsgKF9hZGRpdGlvbmFsQm9keUNsYXNzIHx8ICcnKVwiXG4gICAgW2Nka1RyYXBGb2N1c109XCJfZm9jdXNUcmFwcGVkXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIl9wb3BvdmVyQm9keU1pbldpZHRoID8gbnVsbCA6IG1pbldpZHRoXCJcbiAgICBbc3R5bGUubWF4LXdpZHRoXT1cIl9tYXhXaWR0aCA/IG51bGwgOiBtYXhXaWR0aFwiXG4gICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwibWluSGVpZ2h0XCJcbiAgICBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwiX21heFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cIl9wb3BvdmVyQm9keU1pbldpZHRoXCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwiX3BvcG92ZXJCb2R5V2lkdGhcIlxuICAgIFthdHRyLnJvbGVdPVwiX2JvZHlSb2xlXCJcbiAgICBbYXR0ci5pZF09XCJfYm9keUlkXCJcbiAgICBmZGtSZXNpemVcbiAgICBbZmRrUmVzaXplRGlzYWJsZWRdPVwiIV9yZXNpemFibGVcIlxuICAgIFtmZGtSZXNpemVDbGFzc109XCInZmQtcG9wb3Zlcl9fYm9keS0tZGlzYWJsZS10cmFuc2l0aW9ucydcIlxuICAgIFtmZGtSZXNpemVIYW5kbGVMb2NhdGlvbl09XCJfcmVzaXplSGFuZGxlTG9jYXRpb25cIlxuPlxuICAgIEBpZiAoIV9kaXNhYmxlU2Nyb2xsYmFyKSB7XG4gICAgICAgIDxkaXYgZmQtc2Nyb2xsYmFyIGNsYXNzPVwiZmQtcG9wb3Zlcl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlcmVyXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJlclwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAoX3Jlc2l6YWJsZSkge1xuICAgICAgICA8c3BhbiBmZGtSZXNpemVIYW5kbGUgY2xhc3M9XCJmZC1wb3BvdmVyX19yZXNpemUtaGFuZGxlXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLXBvcG92ZXItYm9keS1oZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1wb3BvdmVyLWJvZHktc3ViaGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAge3sgdGV4dCB9fVxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJfdGVtcGxhdGVUb0Rpc3BsYXlcIj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1wb3BvdmVyLWJvZHktZm9vdGVyXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class PopoverContainerDirective {\n /** @hidden */\n constructor(_elmRef) {\n this._elmRef = _elmRef;\n /** Subject which emits when popover position refresh is required. */\n this.refreshPosition$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n }\n /** @hidden */\n ngOnInit() {\n resizeObservable(this._elmRef.nativeElement)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.refreshPosition$.next();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverContainerDirective, isStandalone: true, selector: \"[fdPopoverContainer]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverContainer]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1jb250YWluZXIvcG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLHlCQUF5QjtJQU9sQyxjQUFjO0lBQ2QsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFQcEQscUVBQXFFO1FBQ3JFLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMsY0FBYztRQUNHLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBR0ssQ0FBQztJQUV4RCxjQUFjO0lBQ2QsUUFBUTtRQUNKLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OEdBakJRLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHJlc2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkUG9wb3ZlckNvbnRhaW5lcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIFN1YmplY3Qgd2hpY2ggZW1pdHMgd2hlbiBwb3BvdmVyIHBvc2l0aW9uIHJlZnJlc2ggaXMgcmVxdWlyZWQuICovXG4gICAgcmVmcmVzaFBvc2l0aW9uJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsbVJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICByZXNpemVPYnNlcnZhYmxlKHRoaXMuX2VsbVJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoUG9zaXRpb24kLm5leHQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * A component used to enforce a certain layout for the popover.\n * ```html\n * <fd-popover>\n * <fd-popover-control>Control Element</fd-popover-control>\n * <fd-popover-body>Popover Body</fd-popover-body>\n * </fd-popover>\n * ```\n */\nexport class PopoverControlComponent {\n /** @hidden */\n constructor(elRef) {\n this.elRef = elRef;\n /** @hidden */\n this._tabbable = false;\n }\n /** @hidden */\n ngAfterContentChecked() {\n if (this._tabbable) {\n this.makeTabbable();\n }\n }\n /** @hidden */\n makeTabbable() {\n const elemChild = this.elRef.nativeElement.children[0];\n if (elemChild && elemChild.getAttribute('tabindex') !== '-1') {\n elemChild.tabIndex = '0';\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverControlComponent, isStandalone: true, selector: \"fd-popover-control, [fdPopoverControl]\", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverControlComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'fd-popover-control, [fdPopoverControl]',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItY29udHJvbC9wb3BvdmVyLWNvbnRyb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkg7Ozs7Ozs7O0dBUUc7QUFRSCxNQUFNLE9BQU8sdUJBQXVCO0lBSWhDLGNBQWM7SUFDZCxZQUFtQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBSnBDLGNBQWM7UUFDZCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBR3FCLENBQUM7SUFFeEMsY0FBYztJQUNkLHFCQUFxQjtRQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFBWTtRQUNSLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNELFNBQVMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDOzhHQXBCUSx1QkFBdUI7a0dBQXZCLHVCQUF1QixrR0FMdEIsMkJBQTJCOzsyRkFLNUIsdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB1c2VkIHRvIGVuZm9yY2UgYSBjZXJ0YWluIGxheW91dCBmb3IgdGhlIHBvcG92ZXIuXG4gKiBgYGBodG1sXG4gKiA8ZmQtcG9wb3Zlcj5cbiAqICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPkNvbnRyb2wgRWxlbWVudDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICogICAgIDxmZC1wb3BvdmVyLWJvZHk+UG9wb3ZlciBCb2R5PC9mZC1wb3BvdmVyLWJvZHk+XG4gKiA8L2ZkLXBvcG92ZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1wb3BvdmVyLWNvbnRyb2wsIFtmZFBvcG92ZXJDb250cm9sXScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90YWJiYWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3RhYmJhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLm1ha2VUYWJiYWJsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBtYWtlVGFiYmFibGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1DaGlsZCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcbiAgICAgICAgaWYgKGVsZW1DaGlsZCAmJiBlbGVtQ2hpbGQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpICE9PSAnLTEnKSB7XG4gICAgICAgICAgICBlbGVtQ2hpbGQudGFiSW5kZXggPSAnMCc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const POPOVER_COMPONENT = new InjectionToken('PopoverInterface');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk3RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ0NvbmZpZyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHsgTW9iaWxlTW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tb2JpbGUtbW9kZSc7XG5cbmV4cG9ydCBjb25zdCBQT1BPVkVSX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQb3BvdmVySW50ZXJmYWNlPignUG9wb3ZlckludGVyZmFjZScpO1xuXG4vKipcbiAqIFBvcG92ZXIgSW50ZXJmYWNlIHRvIGhhdmUgdHlwaW5nIGFuZCBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW5cbiAqIFBvcG92ZXJDb21wb25lbnQgPD09PiBQb3BvdmVyTW9iaWxlQ29tcG9uZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlckludGVyZmFjZSBleHRlbmRzIE1vYmlsZU1vZGUge1xuICAgIGRpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnO1xuICAgIGlzT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgY2xvc2UoKTogdm9pZDtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TemplateModule } from '@fundamental-ngx/cdk/utils';\nimport { DialogBodyComponent, DialogCloseButtonComponent, DialogComponent, DialogFooterComponent, DialogHeaderComponent } from '@fundamental-ngx/core/dialog';\nimport { MobileModeBase, MobileModeControl } from '@fundamental-ngx/core/mobile-mode';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { POPOVER_COMPONENT } from '../popover.interface';\nimport * as i0 from \"@angular/core\";\nlet mobilePopoverUniqueId = 0;\nexport class PopoverMobileComponent extends MobileModeBase {\n /** @hidden */\n get titleId() {\n return this.id + '-title';\n }\n /** @hidden */\n constructor(_changeDetectorref, _popoverComponent) {\n super(_popoverComponent, MobileModeControl.POPOVER);\n this._changeDetectorref = _changeDetectorref;\n /** @hidden\n * from mobile class can not prefix _,\n * to avoid build issues\n */\n this.childContent = undefined;\n /** @hidden */\n this.id = 'fd-popover-mobile-' + mobilePopoverUniqueId++;\n /** @hidden */\n this._subscriptions = new Subscription();\n }\n /** @hidden */\n ngOnInit() {\n this._listenOnPopoverOpenChange();\n this.title = this.mobileConfig.title || '';\n this.viewBody = this.childContent?.popoverBodyContentTemplate ?? null;\n this.viewFooter = this.childContent?.popoverFooterContentTemplate ?? null;\n this._changeDetectorref.markForCheck();\n }\n /** @hidden */\n ngOnDestroy() {\n this.dialogRef?.close();\n this._subscriptions.unsubscribe();\n }\n /** Closes the Dialog and Popover component */\n close() {\n this.dialogRef.close();\n this._component.close();\n }\n /** @hidden Opens/closes the Dialog based on Popover isOpenChange events */\n _listenOnPopoverOpenChange() {\n this._subscriptions.add(this._component.isOpenChange.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((isOpen) => {\n if (isOpen) {\n this._openDialog();\n }\n else {\n this.dialogRef.hide(true);\n }\n }));\n }\n /** @hidden Opens the Dialog */\n _openDialog() {\n this.dialogRef = this._dialogService.open(this._dialogTemplate, {\n verticalPadding: true,\n horizontalPadding: true,\n ...this.dialogConfig,\n mobile: true,\n focusTrapped: true,\n escKeyCloseable: false,\n backdropClickCloseable: false,\n container: this._elementRef.nativeElement,\n responsivePadding: true,\n ariaLabelledBy: this.titleId\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: POPOVER_COMPONENT }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PopoverMobileComponent, isStandalone: true, selector: \"fd-popover-mobile\", viewQueries: [{ propertyName: \"_dialogTemplate\", first: true, predicate: [\"dialogTemplate\"], descendants: true }], usesInheritance: true, ngImport: i0, template: \"<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\\\"dialogConfig\\\" #dialogTemplate>\\n <fd-dialog [dialogConfig]=\\\"dialogConfig\\\" [dialogRef]=\\\"dialog\\\" data-mobile-popover>\\n <fd-dialog-header>\\n <h1 fd-title [id]=\\\"titleId\\\">{{ title }}</h1>\\n @if (this.mobileConfig.hasCloseButton) {\\n <button fd-dialog-close-button (click)=\\\"close()\\\"></button>\\n }\\n </fd-dialog-header>\\n <fd-dialog-body>\\n <ng-template [ngTemplateOutlet]=\\\"viewBody\\\"></ng-template>\\n </fd-dialog-body>\\n @if (viewFooter) {\\n <fd-dialog-footer>\\n <ng-template [ngTemplateOutlet]=\\\"viewFooter\\\"></ng-template>\\n </fd-dialog-footer>\\n }\\n </fd-dialog>\\n</ng-template>\\n\", dependencies: [{ kind: \"ngmodule\", type: TemplateModule }, { kind: \"component\", type: TitleComponent, selector: \"[fd-title], [fdTitle]\", inputs: [\"headerSize\", \"wrap\"], exportAs: [\"fd-title\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: DialogComponent, selector: \"fd-dialog\", inputs: [\"class\", \"dialogRef\", \"dialogConfig\"] }, { kind: \"component\", type: DialogBodyComponent, selector: \"fd-dialog-body\", inputs: [\"disablePaddings\"] }, { kind: \"component\", type: DialogHeaderComponent, selector: \"fd-dialog-header\" }, { kind: \"component\", type: DialogFooterComponent, selector: \"fd-dialog-footer\" }, { kind: \"component\", type: DialogCloseButtonComponent, selector: \"[fd-dialog-close-button]\", inputs: [\"mobile\", \"title\", \"ariaLabel\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-popover-mobile', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n TemplateModule,\n TitleComponent,\n TitleComponent,\n NgTemplateOutlet,\n DialogComponent,\n DialogBodyComponent,\n DialogHeaderComponent,\n DialogFooterComponent,\n DialogCloseButtonComponent\n ], template: \"<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\\\"dialogConfig\\\" #dialogTemplate>\\n <fd-dialog [dialogConfig]=\\\"dialogConfig\\\" [dialogRef]=\\\"dialog\\\" data-mobile-popover>\\n <fd-dialog-header>\\n <h1 fd-title [id]=\\\"titleId\\\">{{ title }}</h1>\\n @if (this.mobileConfig.hasCloseButton) {\\n <button fd-dialog-close-button (click)=\\\"close()\\\"></button>\\n }\\n </fd-dialog-header>\\n <fd-dialog-body>\\n <ng-template [ngTemplateOutlet]=\\\"viewBody\\\"></ng-template>\\n </fd-dialog-body>\\n @if (viewFooter) {\\n <fd-dialog-footer>\\n <ng-template [ngTemplateOutlet]=\\\"viewFooter\\\"></ng-template>\\n </fd-dialog-footer>\\n }\\n </fd-dialog>\\n</ng-template>\\n\" }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [POPOVER_COMPONENT]\n }] }], propDecorators: { _dialogTemplate: [{\n type: ViewChild,\n args: ['dialogTemplate']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1tb2JpbGUvcG9wb3Zlci1tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1tb2JpbGUvcG9wb3Zlci1tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFHTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLHNCQUFzQixDQUFDOztBQUUzRSxJQUFJLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQW1COUIsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQWdDO0lBeUJ4RSxjQUFjO0lBQ2QsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNkLFlBQ1ksa0JBQXFDLEVBQ2xCLGlCQUFtQztRQUU5RCxLQUFLLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFINUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQTNCakQ7OztXQUdHO1FBQ0gsaUJBQVksR0FBeUIsU0FBUyxDQUFDO1FBVS9DLGNBQWM7UUFDTCxPQUFFLEdBQUcsb0JBQW9CLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztRQUU3RCxjQUFjO1FBQ04sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBYTVDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUTtRQUNKLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSwwQkFBMEIsSUFBSSxJQUFJLENBQUM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLDRCQUE0QixJQUFJLElBQUksQ0FBQztRQUUxRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMsS0FBSztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsMkVBQTJFO0lBQ25FLDBCQUEwQjtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3pGLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCwrQkFBK0I7SUFDdkIsV0FBVztRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM1RCxlQUFlLEVBQUUsSUFBSTtZQUNyQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsSUFBSTtZQUNsQixlQUFlLEVBQUUsS0FBSztZQUN0QixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWE7WUFDekMsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDL0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F4RlEsc0JBQXNCLG1EQWlDbkIsaUJBQWlCO2tHQWpDcEIsc0JBQXNCLHVOQ2hEbkMsNHhCQWtCQSwyQ0RtQlEsY0FBYywrQkFDZCxjQUFjLDBIQUVkLGdCQUFnQixvSkFDaEIsZUFBZSxzR0FDZixtQkFBbUIsd0ZBQ25CLHFCQUFxQiw2REFDckIscUJBQXFCLDZEQUNyQiwwQkFBMEI7OzJGQUdyQixzQkFBc0I7a0JBakJsQyxTQUFTOytCQUNJLG1CQUFtQixtQkFFWix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNMLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQiwwQkFBMEI7cUJBQzdCOzswQkFtQ0ksTUFBTTsyQkFBQyxpQkFBaUI7eUNBOUI3QixlQUFlO3NCQURkLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUZW1wbGF0ZU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7XG4gICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICBEaWFsb2dDbG9zZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IE1vYmlsZU1vZGVCYXNlLCBNb2JpbGVNb2RlQ29udHJvbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tb2JpbGUtbW9kZSc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90aXRsZSc7XG5pbXBvcnQgeyBQb3BvdmVyQ2hpbGRDb250ZW50IH0gZnJvbSAnLi4vcG9wb3Zlci1jaGlsZC1jb250ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQT1BPVkVSX0NPTVBPTkVOVCwgUG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4uL3BvcG92ZXIuaW50ZXJmYWNlJztcblxubGV0IG1vYmlsZVBvcG92ZXJVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtcG9wb3Zlci1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLW1vYmlsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRlbXBsYXRlTW9kdWxlLFxuICAgICAgICBUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgVGl0bGVDb21wb25lbnQsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ0Nsb3NlQnV0dG9uQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyTW9iaWxlQ29tcG9uZW50IGV4dGVuZHMgTW9iaWxlTW9kZUJhc2U8UG9wb3ZlckludGVyZmFjZT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdkaWFsb2dUZW1wbGF0ZScpXG4gICAgX2RpYWxvZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBmcm9tIG1vYmlsZSBjbGFzcyBjYW4gbm90IHByZWZpeCBfLFxuICAgICAqIHRvIGF2b2lkIGJ1aWxkIGlzc3Vlc1xuICAgICAqL1xuICAgIGNoaWxkQ29udGVudD86IFBvcG92ZXJDaGlsZENvbnRlbnQgPSB1bmRlZmluZWQ7XG5cbiAgICAvKiogQ3VycmVudCBwb3BvdmVyIHRpdGxlICovXG4gICAgdGl0bGU6IHN0cmluZztcbiAgICAvKiogRGlhbG9nIGJvZHkgY29udGVudCAqL1xuICAgIHZpZXdCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcblxuICAgIC8qKiBEaWFsb2cgZm9vdGVyIGNvbnRlbnQgKi9cbiAgICB2aWV3Rm9vdGVyOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgaWQgPSAnZmQtcG9wb3Zlci1tb2JpbGUtJyArIG1vYmlsZVBvcG92ZXJVbmlxdWVJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgdGl0bGVJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICctdGl0bGUnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9ycmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChQT1BPVkVSX0NPTVBPTkVOVCkgX3BvcG92ZXJDb21wb25lbnQ6IFBvcG92ZXJJbnRlcmZhY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX3BvcG92ZXJDb21wb25lbnQsIE1vYmlsZU1vZGVDb250cm9sLlBPUE9WRVIpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uUG9wb3Zlck9wZW5DaGFuZ2UoKTtcblxuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5tb2JpbGVDb25maWcudGl0bGUgfHwgJyc7XG4gICAgICAgIHRoaXMudmlld0JvZHkgPSB0aGlzLmNoaWxkQ29udGVudD8ucG9wb3ZlckJvZHlDb250ZW50VGVtcGxhdGUgPz8gbnVsbDtcbiAgICAgICAgdGhpcy52aWV3Rm9vdGVyID0gdGhpcy5jaGlsZENvbnRlbnQ/LnBvcG92ZXJGb290ZXJDb250ZW50VGVtcGxhdGUgPz8gbnVsbDtcblxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvcnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZj8uY2xvc2UoKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZXMgdGhlIERpYWxvZyBhbmQgUG9wb3ZlciBjb21wb25lbnQgKi9cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5fY29tcG9uZW50LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gT3BlbnMvY2xvc2VzIHRoZSBEaWFsb2cgYmFzZWQgb24gUG9wb3ZlciBpc09wZW5DaGFuZ2UgZXZlbnRzICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25Qb3BvdmVyT3BlbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnQuaXNPcGVuQ2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGlzT3BlbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb3BlbkRpYWxvZygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmhpZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBPcGVucyB0aGUgRGlhbG9nICovXG4gICAgcHJpdmF0ZSBfb3BlbkRpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5fZGlhbG9nVGVtcGxhdGUsIHtcbiAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGhvcml6b250YWxQYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgLi4udGhpcy5kaWFsb2dDb25maWcsXG4gICAgICAgICAgICBtb2JpbGU6IHRydWUsXG4gICAgICAgICAgICBmb2N1c1RyYXBwZWQ6IHRydWUsXG4gICAgICAgICAgICBlc2NLZXlDbG9zZWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjb250YWluZXI6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6IHRoaXMudGl0bGVJZFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW2ZkRGlhbG9nVGVtcGxhdGVdIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNkaWFsb2dUZW1wbGF0ZT5cbiAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIiBkYXRhLW1vYmlsZS1wb3BvdmVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxoMSBmZC10aXRsZSBbaWRdPVwidGl0bGVJZFwiPnt7IHRpdGxlIH19PC9oMT5cbiAgICAgICAgICAgIEBpZiAodGhpcy5tb2JpbGVDb25maWcuaGFzQ2xvc2VCdXR0b24pIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWRpYWxvZy1jbG9zZS1idXR0b24gKGNsaWNrKT1cImNsb3NlKClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidmlld0JvZHlcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuICAgICAgICBAaWYgKHZpZXdGb290ZXIpIHtcbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ2aWV3Rm9vdGVyXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgfVxuICAgIDwvZmQtZGlhbG9nPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { PopoverMobileComponent } from './popover-mobile.component';\nimport * as i0 from \"@angular/core\";\nexport class PopoverMobileModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileModule, imports: [DialogModule, ButtonComponent, PopoverMobileComponent], exports: [PopoverMobileComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileModule, providers: [DynamicComponentService], imports: [DialogModule, ButtonComponent, PopoverMobileComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [DialogModule, ButtonComponent, PopoverMobileComponent],\n exports: [PopoverMobileComponent],\n providers: [DynamicComponentService]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1tb2JpbGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1tb2JpbGUvcG9wb3Zlci1tb2JpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsWUFKbEIsWUFBWSxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsYUFDckQsc0JBQXNCOytHQUd2QixtQkFBbUIsYUFGakIsQ0FBQyx1QkFBdUIsQ0FBQyxZQUYxQixZQUFZLEVBQUUsZUFBZSxFQUFFLHNCQUFzQjs7MkZBSXRELG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO29CQUNoRSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IFBvcG92ZXJNb2JpbGVDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItbW9iaWxlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0RpYWxvZ01vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBQb3BvdmVyTW9iaWxlQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbUG9wb3Zlck1vYmlsZUNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbRHluYW1pY0NvbXBvbmVudFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJNb2JpbGVNb2R1bGUge31cbiJdfQ==","import { Overlay, OverlayConfig, ViewportRuler } from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { DestroyRef, ElementRef, Injectable, Injector, Optional, Renderer2, TemplateRef, inject } from '@angular/core';\nimport { Subject, merge } from 'rxjs';\nimport { distinctUntilChanged, filter, startWith, takeUntil } from 'rxjs/operators';\nimport { RtlService, destroyObservable, isOdd } from '@fundamental-ngx/cdk/utils';\nimport { GetDefaultPosition, PopoverPosition } from '@fundamental-ngx/core/shared';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BasePopoverClass } from '../base/base-popover.class';\nimport { PopoverBodyComponent } from '../popover-body/popover-body.component';\nimport { PopoverContainerDirective } from '../popover-container/popover-container.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/overlay\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nimport * as i3 from \"../popover-container/popover-container.directive\";\nconst MAX_BODY_SIZE = 99999999;\nexport class PopoverService extends BasePopoverClass {\n /** @hidden */\n get _triggerHtmlElement() {\n return this._triggerElement instanceof ElementRef ? this._triggerElement.nativeElement : this._triggerElement;\n }\n /** @hidden */\n constructor(_overlay, _renderer, _viewportRuler, _injector, _rtlService, _popoverContainer) {\n super();\n this._overlay = _overlay;\n this._renderer = _renderer;\n this._viewportRuler = _viewportRuler;\n this._injector = _injector;\n this._rtlService = _rtlService;\n this._popoverContainer = _popoverContainer;\n /** @hidden */\n this._onLoad = new Subject();\n /** @hidden */\n this._mobile = false;\n /** @hidden */\n this._eventRef = [];\n /** @hidden */\n this._stopCloseListening$ = new Subject();\n /** @hidden */\n this._placementRefresh$ = new Subject();\n /** @hidden */\n this._ignoreTriggers = false;\n /** @hidden */\n this._modalBodyClass = 'fd-overlay-active';\n /** @hidden */\n this._modalTriggerClass = 'fd-popover__modal';\n /** @hidden */\n this._isModal = false;\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n this._destroyRef = inject(DestroyRef);\n /** Merge observables - close or destroy */\n this._refresh$ = merge(this.isOpenChange, destroyObservable(this._destroyRef));\n this._destroyRef.onDestroy(() => {\n this._removeTriggerListeners();\n if (this._overlayRef) {\n this._overlayRef.detach();\n this._overlayRef.dispose();\n }\n if (this._isModal) {\n this._removeOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n });\n }\n /**\n * Method initialising the popover service - should be called, after view is initialised, params:\n * - triggerElement - element, which is equivalent for cdkOverlayOrigin, or fd-popover-control,\n * by default to this element the popover body will lbe appended and events on this element will trigger\n * popover's toggle\n * - config - configuration object - in this case the intention is to use inheritance of BasePopoverClass in component\n * - templateData - in case of having already PopoverBodyComponent, there is way to pass container, template containing\n * PopoverComponent and PopoverComponent instance\n */\n initialise(triggerElement, config, templateData) {\n if (templateData instanceof TemplateRef) {\n this.templateContent = templateData;\n }\n else {\n this._templateData = templateData;\n }\n this._triggerElement = triggerElement;\n if (config) {\n this.refreshConfiguration(config);\n }\n this._refreshTriggerListeners();\n if (this.isOpen) {\n this.open();\n }\n // If wrapper container height changes outside, refresh popover position.\n this._popoverContainer?.refreshPosition$.pipe(takeUntil(this._refresh$)).subscribe(() => {\n this.refreshPosition();\n });\n }\n /** Closes the popover. */\n close(focusActiveElement = true) {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n const prevState = this.isOpen;\n this.isOpen = false;\n if (prevState !== this.isOpen) {\n this.isOpenChange.emit(this.isOpen);\n }\n this.checkModalBackground();\n this._focusLastActiveElementBeforeOpen(focusActiveElement);\n }\n /** Opens the popover. */\n open() {\n if ((!this._overlayRef || !this._overlayRef.hasAttached()) && !this.disabled && this._triggerElement) {\n this.beforeOpen.emit();\n const position = this._getPositionStrategy();\n this._overlayRef = this._overlay.create(this._getOverlayConfig(position));\n if (this._placementContainer) {\n const placementElement = this._placementContainer instanceof ElementRef\n ? this._placementContainer.nativeElement\n : this._placementContainer;\n placementElement.append(this._overlayRef.hostElement);\n }\n if (this._templateData) {\n this._attachTemplate();\n }\n else {\n this._attachBodyComponent();\n }\n this._stopCloseListening$.next();\n this._listenForPositionChange(position.positionChanges);\n if (this.fillControlMode) {\n this._listenOnResize();\n }\n const prevState = this.isOpen;\n this.isOpen = true;\n if (prevState !== this.isOpen) {\n this.isOpenChange.emit(this.isOpen);\n }\n this._detectChanges();\n this._listenOnClose();\n this._focusFirstTabbableElement();\n this._onLoad.next(this._getPopoverBody()._elementRef);\n this._overlayRef.updatePosition();\n }\n }\n /** method updating template or text inside rendered PopoverBody */\n updateContent(stringContent, templateContent) {\n templateContent = !templateContent\n ? typeof stringContent === 'string'\n ? null\n : stringContent\n : templateContent;\n stringContent = typeof stringContent === 'string' ? stringContent : null;\n this.stringContent = stringContent;\n this.templateContent = templateContent;\n if (this._getPopoverBody()) {\n this._passVariablesToBody();\n }\n }\n /** Changes background theming when modal */\n /** @hidden */\n checkModalBackground() {\n const isClosingConditions = (!this.closeOnOutsideClick || !this.closeOnEscapeKey) && this.applyOverlay;\n if (isClosingConditions && this.isOpen) {\n this._addModalOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n else if (isClosingConditions && !this.isOpen) {\n this._removeOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n }\n /** Toggles the popover open state */\n toggle(openAction = true, closeAction = true) {\n if (this.isOpen) {\n closeAction && this.close();\n }\n else {\n openAction && this.open();\n this.checkModalBackground();\n }\n }\n /**\n * Method called to change position of popover,\n * recommended to be used only when popover is opened, otherwise change position or cdkPlacement\n */\n applyNewPosition(positions) {\n const refPosition = this._getPositionStrategy(positions);\n this._listenForPositionChange(refPosition.positionChanges);\n this._overlayRef.updatePositionStrategy(refPosition);\n }\n /** Method called to refresh position of opened popover */\n refreshPosition() {\n this._overlayRef?.updatePosition();\n }\n /** Temporary sets the ignoring of the event triggers. */\n setIgnoreTriggers(ignore) {\n this._ignoreTriggers = ignore;\n }\n /**\n * Method that sets configuration/options, it detects if there is something changed and overwrites them\n */\n refreshConfiguration(config) {\n this._placementContainer = config.placementContainer;\n const onlyChanged = Object.keys(new BasePopoverClass()).filter((key) => this[key] !== config[key]);\n if (onlyChanged.includes('isOpen')) {\n if (config.isOpen) {\n this.open();\n }\n else {\n this.close();\n }\n }\n if (onlyChanged.includes('placementContainer')) {\n this._placementContainer = config.placementContainer;\n }\n /** TODO\n * This overriding is dangerous thing and leads to unexpected behavior\n * We have to avoid this.\n */\n onlyChanged.forEach((key) => (this[key] = config[key]));\n if (onlyChanged.includes('triggers')) {\n this._refreshTriggerListeners();\n }\n }\n /**\n * This method is intended to be called in order\n * to postpone the main functionality but be able\n * to enable it back in the future by initialise()\n */\n deactivate() {\n this._removeTriggerListeners();\n }\n /** Refresh listeners on trigger element events */\n _refreshTriggerListeners() {\n if (!this._triggerElement) {\n return;\n }\n this._removeTriggerListeners();\n if (this.triggers?.length) {\n this._normalizeTriggers().forEach((trigger) => {\n this._eventRef.push(this._renderer.listen(this._triggerHtmlElement, trigger.trigger, (event) => {\n if (this._ignoreTriggers) {\n return;\n }\n const closeAction = !!trigger.closeAction;\n const openAction = !!trigger.openAction;\n this.toggle(openAction, closeAction);\n if (trigger.stopPropagation) {\n event.stopImmediatePropagation();\n }\n }));\n });\n }\n }\n /**\n * Updates trigger element and refreshes the listeners.\n * @param trigger Trigger element ref.\n */\n updateTriggerElement(trigger) {\n this._triggerElement = trigger;\n this._refreshTriggerListeners();\n }\n /** @hidden */\n _normalizeTriggers() {\n return this.triggers.map((trigger, index) => {\n if (typeof trigger === 'object' && trigger.trigger) {\n return trigger;\n }\n const oddNumber = isOdd(index + 1);\n return {\n trigger,\n openAction: this.triggers.length === 1 || oddNumber,\n closeAction: this.triggers.length === 1 || !oddNumber,\n stopPropagation: false\n };\n });\n }\n /** @hidden */\n _getOverlayConfig(position) {\n const direction = this._getDirection();\n return new OverlayConfig({\n direction,\n disposeOnNavigation: this.closeOnNavigation,\n positionStrategy: position,\n scrollStrategy: this.scrollStrategy || this._overlay.scrollStrategies.reposition()\n });\n }\n /** @hidden */\n _listenOnResize() {\n this._viewportRuler\n .change(15)\n .pipe(takeUntil(this._refresh$), startWith(1))\n .subscribe(() => this._applyWidthOverlay());\n }\n /** @hidden */\n _getDirection() {\n if (!this._rtlService) {\n return 'ltr';\n }\n return this._rtlService.rtl.getValue() ? 'rtl' : 'ltr';\n }\n /** @hidden */\n _getPositionStrategy(forcedPositions) {\n let resultPosition = forcedPositions ? forcedPositions : this._getPositions();\n if (!this.fixedPosition) {\n resultPosition = resultPosition.concat(GetDefaultPosition(resultPosition));\n }\n return this._overlay\n .position()\n .flexibleConnectedTo(this.appendTo || this._triggerElement)\n .withPositions(resultPosition)\n .withPush(false)\n .withGrowAfterOpen(true);\n }\n /** remove listeners from trigger element events */\n _removeTriggerListeners() {\n this._eventRef.forEach((event) => event());\n this._eventRef = [];\n }\n _addModalOverlay(bodyClass, triggerClass) {\n this._renderer.addClass(document.body, bodyClass);\n this._renderer.addClass(this._triggerElement.nativeElement, triggerClass);\n this._isModal = true;\n }\n _removeOverlay(bodyClass, triggerClass) {\n this._renderer.removeClass(document.body, bodyClass);\n this._renderer.removeClass(this._triggerElement.nativeElement, triggerClass);\n this._isModal = false;\n }\n /** Attach template containing popover body to overlay */\n _attachTemplate() {\n this._passVariablesToBody();\n if (this._templateData) {\n this._overlayRef.attach(new TemplatePortal(this._templateData.template, this._templateData.container));\n }\n }\n /** Create PopoverBodyComponent and attach it into overlay */\n _attachBodyComponent() {\n const overlay = this._overlayRef.attach(new ComponentPortal(PopoverBodyComponent, null, this._injector));\n this._popoverBody = overlay.instance;\n this._passVariablesToBody();\n }\n /** @hidden */\n _listenForPositionChange(positionChange) {\n this._placementRefresh$.next();\n positionChange\n .pipe(filter(() => !this.noArrow && !!this._getPopoverBody()), distinctUntilChanged((previous, current) => previous.connectionPair === current.connectionPair), takeUntil(this._placementRefresh$), takeUntilDestroyed(this._destroyRef))\n .subscribe((event) => this._getPopoverBody()._setArrowStyles(event.connectionPair, this._getDirection()));\n }\n /** Subscribe to close events from CDK Overlay, to throw proper events, change values */\n _listenOnClose() {\n const closeEvents$ = merge(this._overlayRef.detachments(), this._getPopoverBody().onClose, this._outsideClicks$());\n const finalizer$ = merge(this._stopCloseListening$, this._refresh$);\n closeEvents$.pipe(takeUntil(finalizer$)).subscribe(() => this.close());\n }\n /** Listener for click events */\n _outsideClicks$() {\n return merge(this._overlayRef.backdropClick(), this._overlayRef._outsidePointerEvents).pipe(filter((event) => this._shouldClose(event)));\n }\n /** @hidden */\n _shouldClose(event) {\n return (this.isOpen &&\n this.closeOnOutsideClick &&\n !this._triggerContainsTarget(event) &&\n !this._targetIsPopoverMobileDialog(event));\n }\n /** @hidden */\n _targetIsPopoverMobileDialog(event) {\n if (this._mobile) {\n let el = event.target.parentElement;\n while (el) {\n if (el.hasAttribute('data-mobile-popover')) {\n return true;\n }\n else {\n el = el.parentElement;\n }\n }\n }\n return false;\n }\n /** @hidden */\n _getEventTarget(event) {\n return event.composedPath ? event.composedPath()[0] : event.target;\n }\n /** @hidden */\n _triggerContainsTarget(event) {\n return this._triggerHtmlElement.contains(this._getEventTarget(event));\n }\n /** @hidden */\n _getPositions() {\n if (this.cdkPositions) {\n return this.cdkPositions;\n }\n if (this.placement) {\n return [PopoverPosition.getCdkPlacement(this.placement, this._getDirection())];\n }\n return [];\n }\n /** @hidden */\n _applyWidthOverlay() {\n const maxWidthLimit = this.maxWidth ? this.maxWidth : MAX_BODY_SIZE;\n const width = Math.min(this._getTriggerWidth(), maxWidthLimit);\n if (this.fillControlMode === 'at-least') {\n this._getPopoverBody()._popoverBodyMinWidth = width;\n }\n else if (this.fillControlMode === 'equal') {\n this._getPopoverBody()._popoverBodyWidth = width;\n }\n this._detectChanges();\n }\n /** @hidden */\n _passVariablesToBody() {\n const body = this._getPopoverBody();\n body.text = this.stringContent;\n body._additionalBodyClass = this.additionalBodyClass;\n body._focusTrapped = this.focusTrapped;\n body._maxWidth = this.maxWidth;\n body._noArrow = this.noArrow;\n body._focusAutoCapture = this.focusAutoCapture;\n body._disableScrollbar = this.disableScrollbar;\n body._templateToDisplay = this.templateContent;\n body._closeOnEscapeKey = this.closeOnEscapeKey;\n body._bodyRole = this._bodyRole;\n body._bodyId = this._bodyId;\n body._resizable = this.resizable;\n body._setBodyComponentClasses(this.additionalBodyComponentClasses);\n this._detectChanges();\n }\n /** @hidden */\n _getTriggerWidth() {\n return this._triggerHtmlElement.offsetWidth;\n }\n /** @hidden */\n _getPopoverBody() {\n return this._templateData?.popoverBody || this._popoverBody;\n }\n /** @hidden */\n _detectChanges() {\n if (this._getPopoverBody()) {\n this._getPopoverBody().detectChanges();\n }\n }\n /** @hidden */\n _focusFirstTabbableElement(focusLastElement = true) {\n if (focusLastElement && this.focusAutoCapture) {\n this._lastActiveElement = document.activeElement;\n this._getPopoverBody()?._focusFirstTabbableElement();\n }\n }\n /** @hidden */\n _focusLastActiveElementBeforeOpen(focusLastElement = true) {\n if (focusLastElement && this.restoreFocusOnClose && this.focusAutoCapture && this._lastActiveElement) {\n this._lastActiveElement.focus();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverService, deps: [{ token: i1.Overlay }, { token: i0.Renderer2 }, { token: i1.ViewportRuler }, { token: i0.Injector }, { token: i2.RtlService, optional: true }, { token: i3.PopoverContainerDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Renderer2 }, { type: i1.ViewportRuler }, { type: i0.Injector }, { type: i2.RtlService, decorators: [{\n type: Optional\n }] }, { type: i3.PopoverContainerDirective, decorators: [{\n type: Optional\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1zZXJ2aWNlL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsT0FBTyxFQUNQLGFBQWEsRUFFYixhQUFhLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEVBQ1YsUUFBUSxFQUNSLFFBQVEsRUFDUixTQUFTLEVBQ1QsV0FBVyxFQUVYLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixPQUFPLEVBQVksVUFBVSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sNEJBQTRCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7O0FBRTdGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQVMvQixNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQTBEaEQsY0FBYztJ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UUFDcEMsQ0FBQztJQUNMLENBQUM7OEdBL2lCUSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQXNFRixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsXG4gICAgQ29ubmVjdGVkUG9zaXRpb24sXG4gICAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5UmVmLFxuICAgIFZpZXdwb3J0UnVsZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3RvcixcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE51bGxhYmxlLCBSdGxTZXJ2aWNlLCBkZXN0cm95T2JzZXJ2YWJsZSwgaXNPZGQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBHZXREZWZhdWx0UG9zaXRpb24sIFBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCYXNlUG9wb3ZlckNsYXNzLCBUcmlnZ2VyQ29uZmlnIH0gZnJvbSAnLi4vYmFzZS9iYXNlLXBvcG92ZXIuY2xhc3MnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vcG9wb3Zlci1jb250YWluZXIvcG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlJztcblxuY29uc3QgTUFYX0JPRFlfU0laRSA9IDk5OTk5OTk5O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvcG92ZXJUZW1wbGF0ZSB7XG4gICAgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIHBvcG92ZXJCb2R5OiBQb3BvdmVyQm9keUNvbXBvbmVudDtcbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJTZXJ2aWNlIGV4dGVuZHMgQmFzZVBvcG92ZXJDbGFzcyB7XG4gICAgLyoqIFN0cmluZyBjb250ZW50IGRpc3BsYXllZCBpbnNpZGUgcG9wb3ZlciBib2R5ICovXG4gICAgc3RyaW5nQ29udGVudDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBUZW1wbGF0ZSBjb250ZW50IGRpc3BsYXllZCBpbnNpZGUgcG9wb3ZlciBib2R5ICovXG4gICAgdGVtcGxhdGVDb250ZW50OiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uTG9hZCA9IG5ldyBTdWJqZWN0PEVsZW1lbnRSZWY+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9tb2JpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZXZlbnRSZWY6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlZnJlc2gkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCB2b2lkPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3RvcENsb3NlTGlzdGVuaW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BsYWNlbWVudFJlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcG9wb3ZlckJvZHk6IFBvcG92ZXJCb2R5Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBIVE1MRWxlbWVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGFzdEFjdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90ZW1wbGF0ZURhdGE6IE51bGxhYmxlPFBvcG92ZXJUZW1wbGF0ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BsYWNlbWVudENvbnRhaW5lcjogQmFzZVBvcG92ZXJDbGFzc1sncGxhY2VtZW50Q29udGFpbmVyJ107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lnbm9yZVRyaWdnZXJzID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21vZGFsQm9keUNsYXNzID0gJ2ZkLW92ZXJsYXktYWN0aXZlJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbW9kYWxUcmlnZ2VyQ2xhc3MgPSAnZmQtcG9wb3Zlcl9fbW9kYWwnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc01vZGFsID0gZmFsc2U7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfdHJpZ2dlckh0bWxFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJFbGVtZW50IGluc3RhbmNlb2YgRWxlbWVudFJlZiA/IHRoaXMuX3RyaWdnZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgOiB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3BvcG92ZXJDb250YWluZXI6IFBvcG92ZXJDb250YWluZXJEaXJlY3RpdmVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvKiogTWVyZ2Ugb2JzZXJ2YWJsZXMgLSBjbG9zZSBvciBkZXN0cm95ICovXG4gICAgICAgIHRoaXMuX3JlZnJlc2gkID0gbWVyZ2UodGhpcy5pc09wZW5DaGFuZ2UsIGRlc3Ryb3lPYnNlcnZhYmxlKHRoaXMuX2Rlc3Ryb3lSZWYpKTtcblxuICAgICAgICB0aGlzLl9kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVUcmlnZ2VyTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9pc01vZGFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlT3ZlcmxheSh0aGlzLl9tb2RhbEJvZHlDbGFzcywgdGhpcy5fbW9kYWxUcmlnZ2VyQ2xhc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgaW5pdGlhbGlzaW5nIHRoZSBwb3BvdmVyIHNlcnZpY2UgLSBzaG91bGQgYmUgY2FsbGVkLCBhZnRlciB2aWV3IGlzIGluaXRpYWxpc2VkLCBwYXJhbXM6XG4gICAgICogLSB0cmlnZ2VyRWxlbWVudCAtIGVsZW1lbnQsIHdoaWNoIGlzIGVxdWl2YWxlbnQgZm9yIGNka092ZXJsYXlPcmlnaW4sIG9yIGZkLXBvcG92ZXItY29udHJvbCxcbiAgICAgKiAgIGJ5IGRlZmF1bHQgdG8gdGhpcyBlbGVtZW50IHRoZSBwb3BvdmVyIGJvZHkgd2lsbCBsYmUgYXBwZW5kZWQgYW5kIGV2ZW50cyBvbiB0aGlzIGVsZW1lbnQgd2lsbCB0cmlnZ2VyXG4gICAgICogICBwb3BvdmVyJ3MgIHRvZ2dsZVxuICAgICAqIC0gY29uZmlnIC0gY29uZmlndXJhdGlvbiBvYmplY3QgLSBpbiB0aGlzIGNhc2UgdGhlIGludGVudGlvbiBpcyB0byB1c2UgaW5oZXJpdGFuY2Ugb2YgQmFzZVBvcG92ZXJDbGFzcyBpbiBjb21wb25lbnRcbiAgICAgKiAtIHRlbXBsYXRlRGF0YSAtIGluIGNhc2Ugb2YgaGF2aW5nIGFscmVhZHkgUG9wb3ZlckJvZHlDb21wb25lbnQsIHRoZXJlIGlzIHdheSB0byBwYXNzIGNvbnRhaW5lciwgdGVtcGxhdGUgY29udGFpbmluZ1xuICAgICAqICAgUG9wb3ZlckNvbXBvbmVudCBhbmQgUG9wb3ZlckNvbXBvbmVudCBpbnN0YW5jZVxuICAgICAqL1xuICAgIGluaXRpYWxpc2UoXG4gICAgICAgIHRyaWdnZXJFbGVtZW50OiBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQsXG4gICAgICAgIGNvbmZpZz86IEJhc2VQb3BvdmVyQ2xhc3MsXG4gICAgICAgIHRlbXBsYXRlRGF0YT86IFBvcG92ZXJUZW1wbGF0ZSB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAodGVtcGxhdGVEYXRhIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVDb250ZW50ID0gdGVtcGxhdGVEYXRhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVEYXRhID0gdGVtcGxhdGVEYXRhO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlckVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoQ29uZmlndXJhdGlvbihjb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaFRyaWdnZXJMaXN0ZW5lcnMoKTtcblxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgd3JhcHBlciBjb250YWluZXIgaGVpZ2h0IGNoYW5nZXMgb3V0c2lkZSwgcmVmcmVzaCBwb3BvdmVyIHBvc2l0aW9uLlxuICAgICAgICB0aGlzLl9wb3BvdmVyQ29udGFpbmVyPy5yZWZyZXNoUG9zaXRpb24kLnBpcGUodGFrZVVudGlsKHRoaXMuX3JlZnJlc2gkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFBvc2l0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXG4gICAgY2xvc2UoZm9jdXNBY3RpdmVFbGVtZW50ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmlzT3BlbjtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKHByZXZTdGF0ZSAhPT0gdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQodGhpcy5pc09wZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGVja01vZGFsQmFja2dyb3VuZCgpO1xuICAgICAgICB0aGlzLl9mb2N1c0xhc3RBY3RpdmVFbGVtZW50QmVmb3JlT3Blbihmb2N1c0FjdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKiBPcGVucyB0aGUgcG9wb3Zlci4gKi9cbiAgICBvcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoKCF0aGlzLl9vdmVybGF5UmVmIHx8ICF0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpICYmICF0aGlzLmRpc2FibGVkICYmIHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmJlZm9yZU9wZW4uZW1pdCgpO1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLl9nZXRQb3NpdGlvblN0cmF0ZWd5KCk7XG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUodGhpcy5fZ2V0T3ZlcmxheUNvbmZpZyhwb3NpdGlvbikpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5fcGxhY2VtZW50Q29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50RWxlbWVudCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BsYWNlbWVudENvbnRhaW5lciBpbnN0YW5jZW9mIEVsZW1lbnRSZWZcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5fcGxhY2VtZW50Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5fcGxhY2VtZW50Q29udGFpbmVyO1xuXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50RWxlbWVudC5hcHBlbmQodGhpcy5fb3ZlcmxheVJlZi5ob3N0RWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl90ZW1wbGF0ZURhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hdHRhY2hUZW1wbGF0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hdHRhY2hCb2R5Q29tcG9uZW50KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3N0b3BDbG9zZUxpc3RlbmluZyQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuRm9yUG9zaXRpb25DaGFuZ2UocG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZmlsbENvbnRyb2xNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGlzdGVuT25SZXNpemUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5pc09wZW47XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICBpZiAocHJldlN0YXRlICE9PSB0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQodGhpcy5pc09wZW4pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2xpc3Rlbk9uQ2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQoKTtcbiAgICAgICAgICAgIHRoaXMuX29uTG9hZC5uZXh0KHRoaXMuX2dldFBvcG92ZXJCb2R5KCkuX2VsZW1lbnRSZWYpO1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCB1cGRhdGluZyB0ZW1wbGF0ZSBvciB0ZXh0IGluc2lkZSByZW5kZXJlZCBQb3BvdmVyQm9keSAqL1xuICAgIHVwZGF0ZUNvbnRlbnQoXG4gICAgICAgIHN0cmluZ0NvbnRlbnQ6IE51bGxhYmxlPHN0cmluZz4gfCBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PixcbiAgICAgICAgdGVtcGxhdGVDb250ZW50OiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PlxuICAgICk6IHZvaWQge1xuICAgICAgICB0ZW1wbGF0ZUNvbnRlbnQgPSAhdGVtcGxhdGVDb250ZW50XG4gICAgICAgICAgICA/IHR5cGVvZiBzdHJpbmdDb250ZW50ID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgIDogc3RyaW5nQ29udGVudFxuICAgICAgICAgICAgOiB0ZW1wbGF0ZUNvbnRlbnQ7XG4gICAgICAgIHN0cmluZ0NvbnRlbnQgPSB0eXBlb2Ygc3RyaW5nQ29udGVudCA9PT0gJ3N0cmluZycgPyBzdHJpbmdDb250ZW50IDogbnVsbDtcbiAgICAgICAgdGhpcy5zdHJpbmdDb250ZW50ID0gc3RyaW5nQ29udGVudDtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUNvbnRlbnQgPSB0ZW1wbGF0ZUNvbnRlbnQ7XG4gICAgICAgIGlmICh0aGlzLl9nZXRQb3BvdmVyQm9keSgpKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXNzVmFyaWFibGVzVG9Cb2R5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hhbmdlcyBiYWNrZ3JvdW5kIHRoZW1pbmcgd2hlbiBtb2RhbCAqL1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2hlY2tNb2RhbEJhY2tncm91bmQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzQ2xvc2luZ0NvbmRpdGlvbnMgPSAoIXRoaXMuY2xvc2VPbk91dHNpZGVDbGljayB8fCAhdGhpcy5jbG9zZU9uRXNjYXBlS2V5KSAmJiB0aGlzLmFwcGx5T3ZlcmxheTtcbiAgICAgICAgaWYgKGlzQ2xvc2luZ0NvbmRpdGlvbnMgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FkZE1vZGFsT3ZlcmxheSh0aGlzLl9tb2RhbEJvZHlDbGFzcywgdGhpcy5fbW9kYWxUcmlnZ2VyQ2xhc3MpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzQ2xvc2luZ0NvbmRpdGlvbnMgJiYgIXRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVPdmVybGF5KHRoaXMuX21vZGFsQm9keUNsYXNzLCB0aGlzLl9tb2RhbFRyaWdnZXJDbGFzcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVG9nZ2xlcyB0aGUgcG9wb3ZlciBvcGVuIHN0YXRlICovXG4gICAgdG9nZ2xlKG9wZW5BY3Rpb24gPSB0cnVlLCBjbG9zZUFjdGlvbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICBjbG9zZUFjdGlvbiAmJiB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcGVuQWN0aW9uICYmIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgdGhpcy5jaGVja01vZGFsQmFja2dyb3VuZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIGNhbGxlZCB0byBjaGFuZ2UgcG9zaXRpb24gb2YgcG9wb3ZlcixcbiAgICAgKiByZWNvbW1lbmRlZCB0byBiZSB1c2VkIG9ubHkgd2hlbiBwb3BvdmVyIGlzIG9wZW5lZCwgb3RoZXJ3aXNlIGNoYW5nZSBwb3NpdGlvbiBvciBjZGtQbGFjZW1lbnRcbiAgICAgKi9cbiAgICBhcHBseU5ld1Bvc2l0aW9uKHBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCByZWZQb3NpdGlvbiA9IHRoaXMuX2dldFBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25zKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuRm9yUG9zaXRpb25DaGFuZ2UocmVmUG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHJlZlBvc2l0aW9uKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIGNhbGxlZCB0byByZWZyZXNoIHBvc2l0aW9uIG9mIG9wZW5lZCBwb3BvdmVyICovXG4gICAgcmVmcmVzaFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBUZW1wb3Jhcnkgc2V0cyB0aGUgaWdub3Jpbmcgb2YgdGhlIGV2ZW50IHRyaWdnZXJzLiAqL1xuICAgIHNldElnbm9yZVRyaWdnZXJzKGlnbm9yZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pZ25vcmVUcmlnZ2VycyA9IGlnbm9yZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdGhhdCBzZXRzIGNvbmZpZ3VyYXRpb24vb3B0aW9ucywgaXQgZGV0ZWN0cyBpZiB0aGVyZSBpcyBzb21ldGhpbmcgY2hhbmdlZCBhbmQgb3ZlcndyaXRlcyB0aGVtXG4gICAgICovXG4gICAgcmVmcmVzaENvbmZpZ3VyYXRpb24oY29uZmlnOiBCYXNlUG9wb3ZlckNsYXNzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3BsYWNlbWVudENvbnRhaW5lciA9IGNvbmZpZy5wbGFjZW1lbnRDb250YWluZXI7XG4gICAgICAgIGNvbnN0IG9ubHlDaGFuZ2VkID0gT2JqZWN0LmtleXMobmV3IEJhc2VQb3BvdmVyQ2xhc3MoKSkuZmlsdGVyKChrZXkpID0+IHRoaXNba2V5XSAhPT0gY29uZmlnW2tleV0pO1xuXG4gICAgICAgIGlmIChvbmx5Q2hhbmdlZC5pbmNsdWRlcygnaXNPcGVuJykpIHtcbiAgICAgICAgICAgIGlmIChjb25maWcuaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbmx5Q2hhbmdlZC5pbmNsdWRlcygncGxhY2VtZW50Q29udGFpbmVyJykpIHtcbiAgICAgICAgICAgIHRoaXMuX3BsYWNlbWVudENvbnRhaW5lciA9IGNvbmZpZy5wbGFjZW1lbnRDb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogVE9ET1xuICAgICAgICAgKiBUaGlzIG92ZXJyaWRpbmcgaXMgZGFuZ2Vyb3VzIHRoaW5nIGFuZCBsZWFkcyB0byB1bmV4cGVjdGVkIGJlaGF2aW9yXG4gICAgICAgICAqIFdlIGhhdmUgdG8gYXZvaWQgdGhpcy5cbiAgICAgICAgICovXG4gICAgICAgIG9ubHlDaGFuZ2VkLmZvckVhY2goKGtleSkgPT4gKHRoaXNba2V5XSA9IGNvbmZpZ1trZXldKSk7XG5cbiAgICAgICAgaWYgKG9ubHlDaGFuZ2VkLmluY2x1ZGVzKCd0cmlnZ2VycycpKSB7XG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVHJpZ2dlckxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgaW50ZW5kZWQgdG8gYmUgY2FsbGVkIGluIG9yZGVyXG4gICAgICogdG8gcG9zdHBvbmUgdGhlIG1haW4gZnVuY3Rpb25hbGl0eSBidXQgYmUgYWJsZVxuICAgICAqIHRvIGVuYWJsZSBpdCBiYWNrIGluIHRoZSBmdXR1cmUgYnkgaW5pdGlhbGlzZSgpXG4gICAgICovXG4gICAgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlVHJpZ2dlckxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIC8qKiBSZWZyZXNoIGxpc3RlbmVycyBvbiB0cmlnZ2VyIGVsZW1lbnQgZXZlbnRzICovXG4gICAgX3JlZnJlc2hUcmlnZ2VyTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZW1vdmVUcmlnZ2VyTGlzdGVuZXJzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplVHJpZ2dlcnMoKS5mb3JFYWNoKCh0cmlnZ2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZXZlbnRSZWYucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIubGlzdGVuKHRoaXMuX3RyaWdnZXJIdG1sRWxlbWVudCwgdHJpZ2dlci50cmlnZ2VyLCAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faWdub3JlVHJpZ2dlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9zZUFjdGlvbiA9ICEhdHJpZ2dlci5jbG9zZUFjdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wZW5BY3Rpb24gPSAhIXRyaWdnZXIub3BlbkFjdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlKG9wZW5BY3Rpb24sIGNsb3NlQWN0aW9uKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRyaWdnZXIuc3RvcFByb3BhZ2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0cmlnZ2VyIGVsZW1lbnQgYW5kIHJlZnJlc2hlcyB0aGUgbGlzdGVuZXJzLlxuICAgICAqIEBwYXJhbSB0cmlnZ2VyIFRyaWdnZXIgZWxlbWVudCByZWYuXG4gICAgICovXG4gICAgdXBkYXRlVHJpZ2dlckVsZW1lbnQodHJpZ2dlcjogRWxlbWVudFJlZiB8IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlcjtcbiAgICAgICAgdGhpcy5fcmVmcmVzaFRyaWdnZXJMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25vcm1hbGl6ZVRyaWdnZXJzKCk6IFRyaWdnZXJDb25maWdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyaWdnZXJzLm1hcCgodHJpZ2dlciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdHJpZ2dlciA9PT0gJ29iamVjdCcgJiYgdHJpZ2dlci50cmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG9kZE51bWJlciA9IGlzT2RkKGluZGV4ICsgMSk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdHJpZ2dlcixcbiAgICAgICAgICAgICAgICBvcGVuQWN0aW9uOiB0aGlzLnRyaWdnZXJzLmxlbmd0aCA9PT0gMSB8fCBvZGROdW1iZXIsXG4gICAgICAgICAgICAgICAgY2xvc2VBY3Rpb246IHRoaXMudHJpZ2dlcnMubGVuZ3RoID09PSAxIHx8ICFvZGROdW1iZXIsXG4gICAgICAgICAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiBmYWxzZVxuICAgICAgICAgICAgfSBhcyBUcmlnZ2VyQ29uZmlnO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldE92ZXJsYXlDb25maWcocG9zaXRpb246IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSk6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLl9nZXREaXJlY3Rpb24oKTtcblxuICAgICAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdGhpcy5jbG9zZU9uTmF2aWdhdGlvbixcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHBvc2l0aW9uLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3kgfHwgdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92aWV3cG9ydFJ1bGVyXG4gICAgICAgICAgICAuY2hhbmdlKDE1KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3JlZnJlc2gkKSwgc3RhcnRXaXRoKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9hcHBseVdpZHRoT3ZlcmxheSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldERpcmVjdGlvbigpOiAncnRsJyB8ICdsdHInIHtcbiAgICAgICAgaWYgKCF0aGlzLl9ydGxTZXJ2aWNlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2x0cic7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fcnRsU2VydmljZS5ydGwuZ2V0VmFsdWUoKSA/ICdydGwnIDogJ2x0cic7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQb3NpdGlvblN0cmF0ZWd5KGZvcmNlZFBvc2l0aW9ucz86IENvbm5lY3RlZFBvc2l0aW9uW10pOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBsZXQgcmVzdWx0UG9zaXRpb24gPSBmb3JjZWRQb3NpdGlvbnMgPyBmb3JjZWRQb3NpdGlvbnMgOiB0aGlzLl9nZXRQb3NpdGlvbnMoKTtcblxuICAgICAgICBpZiAoIXRoaXMuZml4ZWRQb3NpdGlvbikge1xuICAgICAgICAgICAgcmVzdWx0UG9zaXRpb24gPSByZXN1bHRQb3NpdGlvbi5jb25jYXQoR2V0RGVmYXVsdFBvc2l0aW9uKHJlc3VsdFBvc2l0aW9uKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuYXBwZW5kVG8gfHwgdGhpcy5fdHJpZ2dlckVsZW1lbnQpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhyZXN1bHRQb3NpdGlvbilcbiAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSlcbiAgICAgICAgICAgIC53aXRoR3Jvd0FmdGVyT3Blbih0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogcmVtb3ZlIGxpc3RlbmVycyBmcm9tIHRyaWdnZXIgZWxlbWVudCBldmVudHMgKi9cbiAgICBwcml2YXRlIF9yZW1vdmVUcmlnZ2VyTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ldmVudFJlZi5mb3JFYWNoKChldmVudCkgPT4gZXZlbnQoKSk7XG4gICAgICAgIHRoaXMuX2V2ZW50UmVmID0gW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWRkTW9kYWxPdmVybGF5KGJvZHlDbGFzczogc3RyaW5nLCB0cmlnZ2VyQ2xhc3M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCBib2R5Q2xhc3MpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcygodGhpcy5fdHJpZ2dlckVsZW1lbnQgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCwgdHJpZ2dlckNsYXNzKTtcbiAgICAgICAgdGhpcy5faXNNb2RhbCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVtb3ZlT3ZlcmxheShib2R5Q2xhc3M6IHN0cmluZywgdHJpZ2dlckNsYXNzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgYm9keUNsYXNzKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoKHRoaXMuX3RyaWdnZXJFbGVtZW50IGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQsIHRyaWdnZXJDbGFzcyk7XG4gICAgICAgIHRoaXMuX2lzTW9kYWwgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQXR0YWNoIHRlbXBsYXRlIGNvbnRhaW5pbmcgcG9wb3ZlciBib2R5IHRvIG92ZXJsYXkgKi9cbiAgICBwcml2YXRlIF9hdHRhY2hUZW1wbGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcGFzc1ZhcmlhYmxlc1RvQm9keSgpO1xuICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVEYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fdGVtcGxhdGVEYXRhLnRlbXBsYXRlLCB0aGlzLl90ZW1wbGF0ZURhdGEuY29udGFpbmVyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIFBvcG92ZXJCb2R5Q29tcG9uZW50IGFuZCBhdHRhY2ggaXQgaW50byBvdmVybGF5ICovXG4gICAgcHJpdmF0ZSBfYXR0YWNoQm9keUNvbXBvbmVudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKG5ldyBDb21wb25lbnRQb3J0YWwoUG9wb3ZlckJvZHlDb21wb25lbnQsIG51bGwsIHRoaXMuX2luamVjdG9yKSk7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJCb2R5ID0gb3ZlcmxheS5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5fcGFzc1ZhcmlhYmxlc1RvQm9keSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuRm9yUG9zaXRpb25DaGFuZ2UocG9zaXRpb25DaGFuZ2U6IE9ic2VydmFibGU8Q29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9wbGFjZW1lbnRSZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHBvc2l0aW9uQ2hhbmdlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMubm9BcnJvdyAmJiAhIXRoaXMuX2dldFBvcG92ZXJCb2R5KCkpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMuY29ubmVjdGlvblBhaXIgPT09IGN1cnJlbnQuY29ubmVjdGlvblBhaXIpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9wbGFjZW1lbnRSZWZyZXNoJCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5fZ2V0UG9wb3ZlckJvZHkoKS5fc2V0QXJyb3dTdHlsZXMoZXZlbnQuY29ubmVjdGlvblBhaXIsIHRoaXMuX2dldERpcmVjdGlvbigpKSk7XG4gICAgfVxuXG4gICAgLyoqIFN1YnNjcmliZSB0byBjbG9zZSBldmVudHMgZnJvbSBDREsgT3ZlcmxheSwgdG8gdGhyb3cgcHJvcGVyIGV2ZW50cywgY2hhbmdlIHZhbHVlcyAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsb3NlRXZlbnRzJCA9IG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2htZW50cygpLFxuICAgICAgICAgICAgdGhpcy5fZ2V0UG9wb3ZlckJvZHkoKS5vbkNsb3NlLFxuICAgICAgICAgICAgdGhpcy5fb3V0c2lkZUNsaWNrcyQoKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBmaW5hbGl6ZXIkID0gbWVyZ2UodGhpcy5fc3RvcENsb3NlTGlzdGVuaW5nJCwgdGhpcy5fcmVmcmVzaCQpO1xuICAgICAgICBjbG9zZUV2ZW50cyQucGlwZSh0YWtlVW50aWwoZmluYWxpemVyJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIC8qKiBMaXN0ZW5lciBmb3IgY2xpY2sgZXZlbnRzICovXG4gICAgcHJpdmF0ZSBfb3V0c2lkZUNsaWNrcyQoKTogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PiB7XG4gICAgICAgIHJldHVybiBtZXJnZSh0aGlzLl9vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKSwgdGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiB0aGlzLl9zaG91bGRDbG9zZShldmVudCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG91bGRDbG9zZShldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5pc09wZW4gJiZcbiAgICAgICAgICAgIHRoaXMuY2xvc2VPbk91dHNpZGVDbGljayAmJlxuICAgICAgICAgICAgIXRoaXMuX3RyaWdnZXJDb250YWluc1RhcmdldChldmVudCkgJiZcbiAgICAgICAgICAgICF0aGlzLl90YXJnZXRJc1BvcG92ZXJNb2JpbGVEaWFsb2coZXZlbnQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YXJnZXRJc1BvcG92ZXJNb2JpbGVEaWFsb2coZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX21vYmlsZSkge1xuICAgICAgICAgICAgbGV0IGVsID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIHdoaWxlIChlbCkge1xuICAgICAgICAgICAgICAgIGlmIChlbC5oYXNBdHRyaWJ1dGUoJ2RhdGEtbW9iaWxlLXBvcG92ZXInKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbCA9IGVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0RXZlbnRUYXJnZXQoZXZlbnQ6IEV2ZW50KTogRXZlbnRUYXJnZXQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50LmNvbXBvc2VkUGF0aCA/IGV2ZW50LmNvbXBvc2VkUGF0aCgpWzBdIDogZXZlbnQudGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJpZ2dlckNvbnRhaW5zVGFyZ2V0KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckh0bWxFbGVtZW50LmNvbnRhaW5zKHRoaXMuX2dldEV2ZW50VGFyZ2V0KGV2ZW50KSBhcyBIVE1MRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQb3NpdGlvbnMoKTogQ29ubmVjdGVkUG9zaXRpb25bXSB7XG4gICAgICAgIGlmICh0aGlzLmNka1Bvc2l0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2RrUG9zaXRpb25zO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucGxhY2VtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gW1BvcG92ZXJQb3NpdGlvbi5nZXRDZGtQbGFjZW1lbnQodGhpcy5wbGFjZW1lbnQsIHRoaXMuX2dldERpcmVjdGlvbigpKV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hcHBseVdpZHRoT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWF4V2lkdGhMaW1pdCA9IHRoaXMubWF4V2lkdGggPyB0aGlzLm1heFdpZHRoIDogTUFYX0JPRFlfU0laRTtcbiAgICAgICAgY29uc3Qgd2lkdGggPSBNYXRoLm1pbih0aGlzLl9nZXRUcmlnZ2VyV2lkdGgoKSwgbWF4V2lkdGhMaW1pdCk7XG4gICAgICAgIGlmICh0aGlzLmZpbGxDb250cm9sTW9kZSA9PT0gJ2F0LWxlYXN0Jykge1xuICAgICAgICAgICAgdGhpcy5fZ2V0UG9wb3ZlckJvZHkoKS5fcG9wb3ZlckJvZHlNaW5XaWR0aCA9IHdpZHRoO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsbENvbnRyb2xNb2RlID09PSAnZXF1YWwnKSB7XG4gICAgICAgICAgICB0aGlzLl9nZXRQb3BvdmVyQm9keSgpLl9wb3BvdmVyQm9keVdpZHRoID0gd2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcGFzc1ZhcmlhYmxlc1RvQm9keSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuX2dldFBvcG92ZXJCb2R5KCk7XG4gICAgICAgIGJvZHkudGV4dCA9IHRoaXMuc3RyaW5nQ29udGVudDtcbiAgICAgICAgYm9keS5fYWRkaXRpb25hbEJvZHlDbGFzcyA9IHRoaXMuYWRkaXRpb25hbEJvZHlDbGFzcztcbiAgICAgICAgYm9keS5fZm9jdXNUcmFwcGVkID0gdGhpcy5mb2N1c1RyYXBwZWQ7XG4gICAgICAgIGJvZHkuX21heFdpZHRoID0gdGhpcy5tYXhXaWR0aDtcbiAgICAgICAgYm9keS5fbm9BcnJvdyA9IHRoaXMubm9BcnJvdztcbiAgICAgICAgYm9keS5fZm9jdXNBdXRvQ2FwdHVyZSA9IHRoaXMuZm9jdXNBdXRvQ2FwdHVyZTtcbiAgICAgICAgYm9keS5fZGlzYWJsZVNjcm9sbGJhciA9IHRoaXMuZGlzYWJsZVNjcm9sbGJhcjtcbiAgICAgICAgYm9keS5fdGVtcGxhdGVUb0Rpc3BsYXkgPSB0aGlzLnRlbXBsYXRlQ29udGVudCE7XG4gICAgICAgIGJvZHkuX2Nsb3NlT25Fc2NhcGVLZXkgPSB0aGlzLmNsb3NlT25Fc2NhcGVLZXk7XG4gICAgICAgIGJvZHkuX2JvZHlSb2xlID0gdGhpcy5fYm9keVJvbGU7XG4gICAgICAgIGJvZHkuX2JvZHlJZCA9IHRoaXMuX2JvZHlJZDtcbiAgICAgICAgYm9keS5fcmVzaXphYmxlID0gdGhpcy5yZXNpemFibGU7XG4gICAgICAgIGJvZHkuX3NldEJvZHlDb21wb25lbnRDbGFzc2VzKHRoaXMuYWRkaXRpb25hbEJvZHlDb21wb25lbnRDbGFzc2VzKTtcbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0VHJpZ2dlcldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmlnZ2VySHRtbEVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQb3BvdmVyQm9keSgpOiBQb3BvdmVyQm9keUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZURhdGE/LnBvcG92ZXJCb2R5IHx8IHRoaXMuX3BvcG92ZXJCb2R5O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2dldFBvcG92ZXJCb2R5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2dldFBvcG92ZXJCb2R5KCkuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KGZvY3VzTGFzdEVsZW1lbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChmb2N1c0xhc3RFbGVtZW50ICYmIHRoaXMuZm9jdXNBdXRvQ2FwdHVyZSkge1xuICAgICAgICAgICAgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMuX2dldFBvcG92ZXJCb2R5KCk/Ll9mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvY3VzTGFzdEFjdGl2ZUVsZW1lbnRCZWZvcmVPcGVuKGZvY3VzTGFzdEVsZW1lbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChmb2N1c0xhc3RFbGVtZW50ICYmIHRoaXMucmVzdG9yZUZvY3VzT25DbG9zZSAmJiB0aGlzLmZvY3VzQXV0b0NhcHR1cmUgJiYgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { startWith } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class PopoverTriggerDirective {\n /** Set reference to Popover Component */\n set popover(popover) {\n if (popover) {\n popover.trigger = this._elementRef;\n this._listenOnExpanded(popover);\n }\n this._setAriaAttributes(popover);\n }\n /** @hidden */\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n /** @hidden */\n ngOnDestroy() {\n this._unsubscribeExpandedListener();\n }\n /** @hidden */\n _listenOnExpanded(popover) {\n this._unsubscribeExpandedListener();\n if (popover) {\n this._isExpandedSubscription = popover.isOpenChange\n .pipe(startWith(popover.isOpen))\n .subscribe((isOpen) => (this.ariaExpanded = isOpen));\n }\n }\n /** @hidden */\n _setAriaAttributes(popover) {\n this.ariaHasPopup = !!popover;\n this.ariaControls = popover ? popover.id : null;\n }\n /** @hidden */\n _unsubscribeExpandedListener() {\n if (this._isExpandedSubscription) {\n this._isExpandedSubscription.unsubscribe();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverTriggerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverTriggerDirective, isStandalone: true, selector: \"[fdPopoverTrigger], [fd-popover-trigger]\", inputs: { popover: [\"fdPopoverTrigger\", \"popover\"] }, host: { properties: { \"attr.aria-haspopup\": \"this.ariaHasPopup\", \"attr.aria-controls\": \"this.ariaControls\", \"attr.aria-expanded\": \"this.ariaExpanded\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverTriggerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverTrigger], [fd-popover-trigger]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { popover: [{\n type: Input,\n args: ['fdPopoverTrigger']\n }], ariaHasPopup: [{\n type: HostBinding,\n args: ['attr.aria-haspopup']\n }], ariaControls: [{\n type: HostBinding,\n args: ['attr.aria-controls']\n }], ariaExpanded: [{\n type: HostBinding,\n args: ['attr.aria-expanded']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzNDLE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMseUNBQXlDO0lBQ3pDLElBQ0ksT0FBTyxDQUFDLE9BQW1DO1FBQzNDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQWlCRCxjQUFjO0lBQ2QsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7SUFBRyxDQUFDO0lBRS9DLGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7SUFDTixpQkFBaUIsQ0FBQyxPQUF5QjtRQUMvQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxZQUFZO2lCQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDL0IsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDTixrQkFBa0IsQ0FBQyxPQUFtQztRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsY0FBYztJQUNOLDRCQUE0QjtRQUNoQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxDQUFDO0lBQ0wsQ0FBQzs4R0F2RFEsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQUlPLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBV3pCLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS2pDLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS2pDLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFBvcG92ZXJUcmlnZ2VyXSwgW2ZkLXBvcG92ZXItdHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBTZXQgcmVmZXJlbmNlIHRvIFBvcG92ZXIgQ29tcG9uZW50ICovXG4gICAgQElucHV0KCdmZFBvcG92ZXJUcmlnZ2VyJylcbiAgICBzZXQgcG9wb3Zlcihwb3BvdmVyOiBOdWxsYWJsZTxQb3BvdmVyQ29tcG9uZW50Pikge1xuICAgICAgICBpZiAocG9wb3Zlcikge1xuICAgICAgICAgICAgcG9wb3Zlci50cmlnZ2VyID0gdGhpcy5fZWxlbWVudFJlZjtcbiAgICAgICAgICAgIHRoaXMuX2xpc3Rlbk9uRXhwYW5kZWQocG9wb3Zlcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0QXJpYUF0dHJpYnV0ZXMocG9wb3Zlcik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpXG4gICAgYXJpYUhhc1BvcHVwOiBOdWxsYWJsZTxib29sZWFuPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKVxuICAgIGFyaWFDb250cm9sczogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGFyaWFFeHBhbmRlZDogTnVsbGFibGU8Ym9vbGVhbj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzRXhwYW5kZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlRXhwYW5kZWRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25FeHBhbmRlZChwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlRXhwYW5kZWRMaXN0ZW5lcigpO1xuICAgICAgICBpZiAocG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5faXNFeHBhbmRlZFN1YnNjcmlwdGlvbiA9IHBvcG92ZXIuaXNPcGVuQ2hhbmdlXG4gICAgICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHBvcG92ZXIuaXNPcGVuKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChpc09wZW4pID0+ICh0aGlzLmFyaWFFeHBhbmRlZCA9IGlzT3BlbikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRBcmlhQXR0cmlidXRlcyhwb3BvdmVyOiBOdWxsYWJsZTxQb3BvdmVyQ29tcG9uZW50Pik6IHZvaWQge1xuICAgICAgICB0aGlzLmFyaWFIYXNQb3B1cCA9ICEhcG9wb3ZlcjtcbiAgICAgICAgdGhpcy5hcmlhQ29udHJvbHMgPSBwb3BvdmVyID8gcG9wb3Zlci5pZCA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUV4cGFuZGVkTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc0V4cGFuZGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9pc0V4cGFuZGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const FD_POPOVER_COMPONENT = new InjectionToken('FdPopoverComponent');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGRF9QT1BPVkVSX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbignRmRQb3BvdmVyQ29tcG9uZW50Jyk7XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, HostListener, Injector, Input, Optional, Renderer2, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { DOWN_ARROW } from '@angular/cdk/keycodes';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DynamicComponentService, KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport equal from 'fast-deep-equal';\nimport { BasePopoverClass } from './base/base-popover.class';\nimport { PopoverBodyDirective } from './popover-body.directive';\nimport { PopoverBodyComponent } from './popover-body/popover-body.component';\nimport { PopoverControlComponent } from './popover-control/popover-control.component';\nimport { PopoverMobileComponent } from './popover-mobile/popover-mobile.component';\nimport { PopoverService } from './popover-service/popover.service';\nimport { POPOVER_COMPONENT } from './popover.interface';\nimport { FD_POPOVER_COMPONENT } from './tokens';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./popover-service/popover.service\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nexport const SELECT_CLASS_NAMES = {\n selectControl: 'fd-select__control'\n};\nlet cdkPopoverUniqueId = 0;\n/**\n * The popover is a wrapping component that accepts a *control* as well as a *body*.\n * The control is what will trigger the opening of the actual popover, which is called the body.\n * By default, popovers are triggered by click. This can be customized through the *triggers* input.\n */\nexport class PopoverComponent extends BasePopoverClass {\n /** Reference to popover trigger element */\n set trigger(trigger) {\n if (equal(trigger, this._trigger)) {\n return;\n }\n this._trigger = trigger;\n this._popoverService.updateTriggerElement(this._trigger);\n }\n get trigger() {\n return this._trigger;\n }\n /** @hidden */\n get _triggerElement() {\n return this._trigger instanceof ElementRef ? this._trigger.nativeElement : this._trigger;\n }\n /** @hidden */\n constructor(_popoverService, _cdr, _rendered, _viewContainerRef, _injector, _dynamicComponentService) {\n super();\n this._popoverService = _popoverService;\n this._cdr = _cdr;\n this._rendered = _rendered;\n this._viewContainerRef = _viewContainerRef;\n this._injector = _injector;\n this._dynamicComponentService = _dynamicComponentService;\n /** Whether position shouldn't change, when popover approach the corner of page */\n this.fixedPosition = false;\n /** Id of the popover. If none is provided, one will be generated. */\n this.id = 'fd-popover-' + cdkPopoverUniqueId++;\n /** Whether the popover component should be displayed in mobile mode. */\n this.mobile = false;\n /** Config for the popover in mobile mode */\n this.mobileConfig = { hasCloseButton: true };\n /**\n * Whether the popover should prevent page scrolling when space key is pressed.\n **/\n this.preventSpaceKeyScroll = true;\n }\n /** Handler escape keydown */\n escapeKeydownHandler(event) {\n if (this.closeOnEscapeKey && this.isOpen) {\n // In case if popover belongs to the element inside dialog\n event.preventDefault();\n event.stopImmediatePropagation();\n this.popoverBody.onClose.next();\n }\n }\n /** @hidden */\n onKeyDown(event) {\n if (!this.preventSpaceKeyScroll) {\n return;\n }\n const activeElement = document.activeElement;\n if (\n // popoverControl will be undefined when popover is used from \"fdPopoverTrigger\"\n this.popoverControl?.elRef.nativeElement.children[0] === activeElement &&\n activeElement?.tagName !== 'INPUT' &&\n activeElement?.tagName !== 'TEXTAREA' &&\n !activeElement?.classList.contains(SELECT_CLASS_NAMES.selectControl)) {\n // prevent page scrolling on Space keydown\n event.preventDefault();\n this._popoverService.toggle();\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n this._setupView();\n }\n /** @hidden */\n ngAfterContentInit() {\n if (this.popoverControl && this.triggers.includes('click')) {\n this.popoverControl._tabbable = true;\n }\n }\n /** @hidden */\n ngOnChanges(changes) {\n this._popoverService.refreshConfiguration(this);\n if (changes.disableScrollbar && this.popoverBody && this.popoverBody._scrollbar) {\n this.popoverBody._scrollbar._inPopover = changes.disableScrollbar.currentValue;\n }\n }\n /** @hidden */\n ngOnDestroy() {\n this._destroyMobileComponent();\n this._destroyEventListeners();\n }\n /** Toggles menu open/close state */\n toggle() {\n if (this.isOpen) {\n this.close();\n }\n else {\n this.open();\n }\n }\n /** Opens the popover. */\n open() {\n this._popoverService.open();\n this._cdr.markForCheck();\n }\n /** Closes the popover. */\n close(focusActiveElement = true) {\n this._popoverService.close(focusActiveElement);\n this._cdr.markForCheck();\n }\n /** Temporary sets the ignoring of the event triggers. */\n setIgnoreTriggers(ignore) {\n this._popoverService.setIgnoreTriggers(ignore);\n }\n /**\n * Method called to change position of popover,\n * recommended to be used only when popover is opened, otherwise change position or cdkPlacement\n */\n applyNewPosition(positions) {\n this._popoverService.applyNewPosition(positions);\n }\n /** Method called to refresh position of opened popover */\n refreshPosition() {\n this._popoverService.refreshPosition();\n }\n /** Handler for alt + arrow down keydown */\n triggerKeyDownHandler(event) {\n if (KeyUtil.isKeyCode(event, DOWN_ARROW) && event.altKey && !this.disabled) {\n this.open();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n /** @hidden Select and instantiate popover view mode */\n _setupView() {\n if (!this.mobile) {\n this._popoverService._mobile = false;\n if (!this.popoverBody) {\n this._popoverService.templateContent = this.templateRef;\n }\n this._popoverService.initialise(this._triggerElement || this.triggerOrigin.elementRef, this, this._getPopoverBodyContent());\n }\n else {\n this._setupMobileMode();\n }\n this._cdr.detectChanges();\n }\n /**\n * Depending on a used popover body type, returns a popover body content\n **/\n _getPopoverBodyContent() {\n if (this.popoverBody) {\n return {\n template: this.templateRef,\n container: this.container,\n popoverBody: this.popoverBody\n };\n }\n if (this.popoverBodyDirective) {\n return this.popoverBodyDirective.templateRef;\n }\n return null;\n }\n /** @hidden Open Popover in mobile mode */\n async _setupMobileMode() {\n const injector = Injector.create({\n providers: [{ provide: POPOVER_COMPONENT, useValue: this }],\n parent: this._injector\n });\n this._popoverService._mobile = true;\n this._mobileModeComponentRef = this._dynamicComponentService.createDynamicComponent({\n popoverBodyContentTemplate: this.popoverBodyContentTemplate,\n popoverFooterContentTemplate: this.popoverFooterContentTemplate\n }, PopoverMobileComponent, {\n containerRef: this._viewContainerRef\n }, { injector });\n this._listenOnTriggerRefClicks();\n }\n /** @hidden - Listen on popover trigger ref clicks */\n _listenOnTriggerRefClicks() {\n this._destroyEventListeners();\n if (this.trigger && this.mobile) {\n this._clickEventListener = this._rendered.listen(this._triggerElement, 'click', () => this.toggle());\n }\n }\n /**\n * @hidden\n * This is going to be removed in feature, on dialog and dynamic service component refactor\n */\n _destroyEventListeners() {\n if (this._clickEventListener) {\n this._clickEventListener();\n this._clickEventListener = null;\n }\n }\n /** @hidden */\n _destroyMobileComponent() {\n if (this._mobileModeComponentRef) {\n this._mobileModeComponentRef.destroy();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.PopoverService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2.DynamicComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PopoverComponent, isStandalone: true, selector: \"fd-popover\", inputs: { title: \"title\", trigger: \"trigger\", fixedPosition: \"fixedPosition\", id: \"id\", mobile: \"mobile\", mobileConfig: \"mobileConfig\", preventSpaceKeyScroll: \"preventSpaceKeyScroll\" }, host: { listeners: { \"keydown.escape\": \"escapeKeydownHandler($event)\", \"keydown.space\": \"onKeyDown($event)\", \"keydown.enter\": \"onKeyDown($event)\" }, properties: { \"class.fd-popover-custom--mobile\": \"mobile\", \"attr.id\": \"id\" }, classAttribute: \"fd-popover-custom\" }, providers: [\n PopoverService,\n {\n provide: FD_POPOVER_COMPONENT,\n useExisting: PopoverComponent\n },\n contentDensityObserverProviders()\n ], queries: [{ propertyName: \"popoverBody\", first: true, predicate: PopoverBodyComponent, descendants: true }, { propertyName: \"popoverBodyDirective\", first: true, predicate: PopoverBodyDirective, descendants: true }, { propertyName: \"popoverControl\", first: true, predicate: PopoverControlComponent, descendants: true }, { propertyName: \"popoverBodyContentTemplate\", first: true, predicate: [\"popoverBodyContent\"], descendants: true }, { propertyName: \"popoverFooterContentTemplate\", first: true, predicate: [\"popoverFooterContent\"], descendants: true }], viewQueries: [{ propertyName: \"templateRef\", first: true, predicate: [\"templateRef\"], descendants: true, read: TemplateRef }, { propertyName: \"container\", first: true, predicate: [\"container\"], descendants: true, read: ViewContainerRef }, { propertyName: \"triggerOrigin\", first: true, predicate: CdkOverlayOrigin, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: \"@if (!trigger) {\\n <div\\n cdkOverlayOrigin\\n class=\\\"fd-popover__control\\\"\\n [class]=\\\"additionalTriggerClass\\\"\\n (keydown)=\\\"triggerKeyDownHandler($event)\\\"\\n >\\n <ng-content select=\\\"fd-popover-control, [fdPopoverControl]\\\"></ng-content>\\n </div>\\n}\\n<ng-template #templateRef>\\n <ng-content select=\\\"fd-popover-body\\\"></ng-content>\\n <ng-content></ng-content>\\n</ng-template>\\n<ng-container #container></ng-container>\\n\", dependencies: [{ kind: \"directive\", type: CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"] }, { kind: \"ngmodule\", type: A11yModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, providers: [\n PopoverService,\n {\n provide: FD_POPOVER_COMPONENT,\n useExisting: PopoverComponent\n },\n contentDensityObserverProviders()\n ], host: {\n class: 'fd-popover-custom',\n '[class.fd-popover-custom--mobile]': 'mobile',\n '[attr.id]': 'id'\n }, imports: [CdkOverlayOrigin, A11yModule], template: \"@if (!trigger) {\\n <div\\n cdkOverlayOrigin\\n class=\\\"fd-popover__control\\\"\\n [class]=\\\"additionalTriggerClass\\\"\\n (keydown)=\\\"triggerKeyDownHandler($event)\\\"\\n >\\n <ng-content select=\\\"fd-popover-control, [fdPopoverControl]\\\"></ng-content>\\n </div>\\n}\\n<ng-template #templateRef>\\n <ng-content select=\\\"fd-popover-body\\\"></ng-content>\\n <ng-content></ng-content>\\n</ng-template>\\n<ng-container #container></ng-container>\\n\" }]\n }], ctorParameters: () => [{ type: i1.PopoverService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i2.DynamicComponentService, decorators: [{\n type: Optional\n }] }], propDecorators: { title: [{\n type: Input\n }], trigger: [{\n type: Input\n }], fixedPosition: [{\n type: Input\n }], id: [{\n type: Input\n }], mobile: [{\n type: Input\n }], mobileConfig: [{\n type: Input\n }], preventSpaceKeyScroll: [{\n type: Input\n }], templateRef: [{\n type: ViewChild,\n args: ['templateRef', { read: TemplateRef }]\n }], container: [{\n type: ViewChild,\n args: ['container', { read: ViewContainerRef }]\n }], triggerOrigin: [{\n type: ViewChild,\n args: [CdkOverlayOrigin]\n }], popoverBody: [{\n type: ContentChild,\n args: [PopoverBodyComponent]\n }], popoverBodyDirective: [{\n type: ContentChild,\n args: [PopoverBodyDirective]\n }], popoverControl: [{\n type: ContentChild,\n args: [PopoverControlComponent]\n }], popoverBodyContentTemplate: [{\n type: ContentChild,\n args: ['popoverBodyContent']\n }], popoverFooterContentTemplate: [{\n type: ContentChild,\n args: ['popoverFooterContent']\n }], escapeKeydownHandler: [{\n type: HostListener,\n args: ['keydown.escape', ['$event']]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown.space', ['$event']]\n }, {\n type: HostListener,\n args: ['keydown.enter', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBR0wsUUFBUSxFQUNSLFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhGLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFj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QkFBdUI7Z0JBS3JDLDBCQUEwQjtzQkFEekIsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBS2xDLDRCQUE0QjtzQkFEM0IsWUFBWTt1QkFBQyxzQkFBc0I7Z0JBK0JwQyxvQkFBb0I7c0JBRG5CLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBYTFDLFNBQVM7c0JBRlIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN4QyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERPV05fQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ2RrT3ZlcmxheU9yaWdpbiwgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50U2VydmljZSwgS2V5VXRpbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IE1vYmlsZU1vZGVDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbW9iaWxlLW1vZGUnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBCYXNlUG9wb3ZlckNsYXNzIH0gZnJvbSAnLi9iYXNlL2Jhc2UtcG9wb3Zlci5jbGFzcyc7XG5pbXBvcnQgeyBQb3BvdmVyQm9keURpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci1ib2R5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb3BvdmVyQm9keUNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29udHJvbC9wb3BvdmVyLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJNb2JpbGVDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItbW9iaWxlL3BvcG92ZXItbW9iaWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyU2VydmljZSwgUG9wb3ZlclRlbXBsYXRlIH0gZnJvbSAnLi9wb3BvdmVyLXNlcnZpY2UvcG9wb3Zlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBPUE9WRVJfQ09NUE9ORU5UIH0gZnJvbSAnLi9wb3BvdmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGRF9QT1BPVkVSX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IFNFTEVDVF9DTEFTU19OQU1FUyA9IHtcbiAgICBzZWxlY3RDb250cm9sOiAnZmQtc2VsZWN0X19jb250cm9sJ1xufTtcblxubGV0IGNka1BvcG92ZXJVbmlxdWVJZCA9IDA7XG5cbi8qKlxuICogVGhlIHBvcG92ZXIgaXMgYSB3cmFwcGluZyBjb21wb25lbnQgdGhhdCBhY2NlcHRzIGEgKmNvbnRyb2wqIGFzIHdlbGwgYXMgYSAqYm9keSouXG4gKiBUaGUgY29udHJvbCBpcyB3aGF0IHdpbGwgdHJpZ2dlciB0aGUgb3BlbmluZyBvZiB0aGUgYWN0dWFsIHBvcG92ZXIsIHdoaWNoIGlzIGNhbGxlZCB0aGUgYm9keS5cbiAqIEJ5IGRlZmF1bHQsIHBvcG92ZXJzIGFyZSB0cmlnZ2VyZWQgYnkgY2xpY2suIFRoaXMgY2FuIGJlIGN1c3RvbWl6ZWQgdGhyb3VnaCB0aGUgKnRyaWdnZXJzKiBpbnB1dC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBQb3BvdmVyU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfUE9QT1ZFUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogUG9wb3ZlckNvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKClcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1wb3BvdmVyLWN1c3RvbScsXG4gICAgICAgICdbY2xhc3MuZmQtcG9wb3Zlci1jdXN0b20tLW1vYmlsZV0nOiAnbW9iaWxlJyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgICB9LFxuICAgIGltcG9ydHM6IFtDZGtPdmVybGF5T3JpZ2luLCBBMTF5TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBCYXNlUG9wb3ZlckNsYXNzXG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlc1xue1xuICAgIC8qKiBUb29sdGlwIGZvciBwb3BvdmVyICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIFJlZmVyZW5jZSB0byBwb3BvdmVyIHRyaWdnZXIgZWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRyaWdnZXIodHJpZ2dlcjogRWxlbWVudFJlZiB8IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmIChlcXVhbCh0cmlnZ2VyLCB0aGlzLl90cmlnZ2VyKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3RyaWdnZXIgPSB0cmlnZ2VyO1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS51cGRhdGVUcmlnZ2VyRWxlbWVudCh0aGlzLl90cmlnZ2VyKTtcbiAgICB9XG5cbiAgICBnZXQgdHJpZ2dlcigpOiBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJpZ2dlcjtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciBwb3NpdGlvbiBzaG91bGRuJ3QgY2hhbmdlLCB3aGVuIHBvcG92ZXIgYXBwcm9hY2ggdGhlIGNvcm5lciBvZiBwYWdlICovXG4gICAgQElucHV0KClcbiAgICBmaXhlZFBvc2l0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogSWQgb2YgdGhlIHBvcG92ZXIuIElmIG5vbmUgaXMgcHJvdmlkZWQsIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmcgPSAnZmQtcG9wb3Zlci0nICsgY2RrUG9wb3ZlclVuaXF1ZUlkKys7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBjb21wb25lbnQgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiBtb2JpbGUgbW9kZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1vYmlsZSA9IGZhbHNlO1xuXG4gICAgLyoqIENvbmZpZyBmb3IgdGhlIHBvcG92ZXIgaW4gbW9iaWxlIG1vZGUgKi9cbiAgICBASW5wdXQoKVxuICAgIG1vYmlsZUNvbmZpZzogTW9iaWxlTW9kZUNvbmZpZyA9IHsgaGFzQ2xvc2VCdXR0b246IHRydWUgfTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIHByZXZlbnQgcGFnZSBzY3JvbGxpbmcgd2hlbiBzcGFjZSBrZXkgaXMgcHJlc3NlZC5cbiAgICAgKiovXG4gICAgQElucHV0KClcbiAgICBwcmV2ZW50U3BhY2VLZXlTY3JvbGwgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCd0ZW1wbGF0ZVJlZicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG4gICAgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKENka092ZXJsYXlPcmlnaW4pXG4gICAgdHJpZ2dlck9yaWdpbjogQ2RrT3ZlcmxheU9yaWdpbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChQb3BvdmVyQm9keUNvbXBvbmVudClcbiAgICBwb3BvdmVyQm9keTogUG9wb3ZlckJvZHlDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoUG9wb3ZlckJvZHlEaXJlY3RpdmUpXG4gICAgcG9wb3ZlckJvZHlEaXJlY3RpdmU6IFBvcG92ZXJCb2R5RGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFBvcG92ZXJDb250cm9sQ29tcG9uZW50KVxuICAgIHBvcG92ZXJDb250cm9sOiBQb3BvdmVyQ29udHJvbENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuIC0gdGVtcGxhdGUgZm9yIERpYWxvZyBib2R5IGNvbnRlbnQgKi9cbiAgICBAQ29udGVudENoaWxkKCdwb3BvdmVyQm9keUNvbnRlbnQnKVxuICAgIHBvcG92ZXJCb2R5Q29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gLSB0ZW1wbGF0ZSBmb3IgRGlhbG9nIGZvb3RlciBjb250ZW50ICovXG4gICAgQENvbnRlbnRDaGlsZCgncG9wb3ZlckZvb3RlckNvbnRlbnQnKVxuICAgIHBvcG92ZXJGb290ZXJDb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF90cmlnZ2VyRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmlnZ2VyIGluc3RhbmNlb2YgRWxlbWVudFJlZiA/IHRoaXMuX3RyaWdnZXIubmF0aXZlRWxlbWVudCA6IHRoaXMuX3RyaWdnZXI7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmlnZ2VyOiBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NsaWNrRXZlbnRMaXN0ZW5lcjogbnVsbCB8ICgoKSA9PiB2b2lkKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbW9iaWxlTW9kZUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFBvcG92ZXJNb2JpbGVDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfcG9wb3ZlclNlcnZpY2U6IFBvcG92ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlZDogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBEeW5hbWljQ29tcG9uZW50U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGVzY2FwZSBrZXlkb3duICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICAgIGVzY2FwZUtleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlT25Fc2NhcGVLZXkgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2UgaWYgcG9wb3ZlciBiZWxvbmdzIHRvIHRoZSBlbGVtZW50IGluc2lkZSBkaWFsb2dcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckJvZHkub25DbG9zZS5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucHJldmVudFNwYWNlS2V5U2Nyb2xsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIC8vIHBvcG92ZXJDb250cm9sIHdpbGwgYmUgdW5kZWZpbmVkIHdoZW4gcG9wb3ZlciBpcyB1c2VkIGZyb20gXCJmZFBvcG92ZXJUcmlnZ2VyXCJcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbnRyb2w/LmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0gPT09IGFjdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnQ/LnRhZ05hbWUgIT09ICdJTlBVVCcgJiZcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnQ/LnRhZ05hbWUgIT09ICdURVhUQVJFQScgJiZcbiAgICAgICAgICAgICFhY3RpdmVFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoU0VMRUNUX0NMQVNTX05BTUVTLnNlbGVjdENvbnRyb2wpXG4gICAgICAgICkge1xuICAgICAgICAgICAgLy8gcHJldmVudCBwYWdlIHNjcm9sbGluZyBvbiBTcGFjZSBrZXlkb3duXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UudG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0dXBWaWV3KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJDb250cm9sICYmIHRoaXMudHJpZ2dlcnMuaW5jbHVkZXMoJ2NsaWNrJykpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbnRyb2wuX3RhYmJhYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5yZWZyZXNoQ29uZmlndXJhdGlvbih0aGlzKTtcblxuICAgICAgICBpZiAoY2hhbmdlcy5kaXNhYmxlU2Nyb2xsYmFyICYmIHRoaXMucG9wb3ZlckJvZHkgJiYgdGhpcy5wb3BvdmVyQm9keS5fc2Nyb2xsYmFyKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJCb2R5Ll9zY3JvbGxiYXIuX2luUG9wb3ZlciA9IGNoYW5nZXMuZGlzYWJsZVNjcm9sbGJhci5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95TW9iaWxlQ29tcG9uZW50KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lFdmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIC8qKiBUb2dnbGVzIG1lbnUgb3Blbi9jbG9zZSBzdGF0ZSAqL1xuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBPcGVucyB0aGUgcG9wb3Zlci4gKi9cbiAgICBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5vcGVuKCk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQ2xvc2VzIHRoZSBwb3BvdmVyLiAqL1xuICAgIGNsb3NlKGZvY3VzQWN0aXZlRWxlbWVudCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UuY2xvc2UoZm9jdXNBY3RpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBUZW1wb3Jhcnkgc2V0cyB0aGUgaWdub3Jpbmcgb2YgdGhlIGV2ZW50IHRyaWdnZXJzLiAqL1xuICAgIHNldElnbm9yZVRyaWdnZXJzKGlnbm9yZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5zZXRJZ25vcmVUcmlnZ2VycyhpZ25vcmUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBjYWxsZWQgdG8gY2hhbmdlIHBvc2l0aW9uIG9mIHBvcG92ZXIsXG4gICAgICogcmVjb21tZW5kZWQgdG8gYmUgdXNlZCBvbmx5IHdoZW4gcG9wb3ZlciBpcyBvcGVuZWQsIG90aGVyd2lzZSBjaGFuZ2UgcG9zaXRpb24gb3IgY2RrUGxhY2VtZW50XG4gICAgICovXG4gICAgYXBwbHlOZXdQb3NpdGlvbihwb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UuYXBwbHlOZXdQb3NpdGlvbihwb3NpdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgY2FsbGVkIHRvIHJlZnJlc2ggcG9zaXRpb24gb2Ygb3BlbmVkIHBvcG92ZXIgKi9cbiAgICByZWZyZXNoUG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLnJlZnJlc2hQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBhbHQgKyBhcnJvdyBkb3duIGtleWRvd24gKi9cbiAgICB0cmlnZ2VyS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKSAmJiBldmVudC5hbHRLZXkgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU2VsZWN0IGFuZCBpbnN0YW50aWF0ZSBwb3BvdmVyIHZpZXcgbW9kZSAqL1xuICAgIHByaXZhdGUgX3NldHVwVmlldygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UuX21vYmlsZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLnBvcG92ZXJCb2R5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UudGVtcGxhdGVDb250ZW50ID0gdGhpcy50ZW1wbGF0ZVJlZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLmluaXRpYWxpc2UoXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgfHwgdGhpcy50cmlnZ2VyT3JpZ2luLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXRQb3BvdmVyQm9keUNvbnRlbnQoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwTW9iaWxlTW9kZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXBlbmRpbmcgb24gYSB1c2VkIHBvcG92ZXIgYm9keSB0eXBlLCByZXR1cm5zIGEgcG9wb3ZlciBib2R5IGNvbnRlbnRcbiAgICAgKiovXG4gICAgcHJpdmF0ZSBfZ2V0UG9wb3ZlckJvZHlDb250ZW50KCk6IFBvcG92ZXJUZW1wbGF0ZSB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJCb2R5KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiB0aGlzLnRlbXBsYXRlUmVmLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogdGhpcy5jb250YWluZXIsXG4gICAgICAgICAgICAgICAgcG9wb3ZlckJvZHk6IHRoaXMucG9wb3ZlckJvZHlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucG9wb3ZlckJvZHlEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJCb2R5RGlyZWN0aXZlLnRlbXBsYXRlUmVmO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIE9wZW4gUG9wb3ZlciBpbiBtb2JpbGUgbW9kZSAqL1xuICAgIHByaXZhdGUgYXN5bmMgX3NldHVwTW9iaWxlTW9kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQT1BPVkVSX0NPTVBPTkVOVCwgdXNlVmFsdWU6IHRoaXMgfV0sXG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLl9tb2JpbGUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuX21vYmlsZU1vZGVDb21wb25lbnRSZWYgPSB0aGlzLl9keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVEeW5hbWljQ29tcG9uZW50KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvcG92ZXJCb2R5Q29udGVudFRlbXBsYXRlOiB0aGlzLnBvcG92ZXJCb2R5Q29udGVudFRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIHBvcG92ZXJGb290ZXJDb250ZW50VGVtcGxhdGU6IHRoaXMucG9wb3ZlckZvb3RlckNvbnRlbnRUZW1wbGF0ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFBvcG92ZXJNb2JpbGVDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyUmVmOiB0aGlzLl92aWV3Q29udGFpbmVyUmVmXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBpbmplY3RvciB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fbGlzdGVuT25UcmlnZ2VyUmVmQ2xpY2tzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gLSBMaXN0ZW4gb24gcG9wb3ZlciB0cmlnZ2VyIHJlZiBjbGlja3MgKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PblRyaWdnZXJSZWZDbGlja3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lFdmVudExpc3RlbmVycygpO1xuXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIgJiYgdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2NsaWNrRXZlbnRMaXN0ZW5lciA9IHRoaXMuX3JlbmRlcmVkLmxpc3Rlbih0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ2NsaWNrJywgKCkgPT4gdGhpcy50b2dnbGUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhpcyBpcyBnb2luZyB0byBiZSByZW1vdmVkIGluIGZlYXR1cmUsIG9uIGRpYWxvZyBhbmQgZHluYW1pYyBzZXJ2aWNlIGNvbXBvbmVudCByZWZhY3RvclxuICAgICAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NsaWNrRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5fY2xpY2tFdmVudExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLl9jbGlja0V2ZW50TGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95TW9iaWxlQ29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbW9iaWxlTW9kZUNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5fbW9iaWxlTW9kZUNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKCF0cmlnZ2VyKSB7XG4gICAgPGRpdlxuICAgICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAgIGNsYXNzPVwiZmQtcG9wb3Zlcl9fY29udHJvbFwiXG4gICAgICAgIFtjbGFzc109XCJhZGRpdGlvbmFsVHJpZ2dlckNsYXNzXCJcbiAgICAgICAgKGtleWRvd24pPVwidHJpZ2dlcktleURvd25IYW5kbGVyKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtcG9wb3Zlci1jb250cm9sLCBbZmRQb3BvdmVyQ29udHJvbF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG59XG48bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXBvcG92ZXItYm9keVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLWNvbnRhaW5lciAjY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxuIl19","import { NgModule } from '@angular/core';\nimport { PopoverBodyFooterDirective } from './popover-body/popover-body-directives/popover-body-footer.directive';\nimport { PopoverBodyHeaderDirective } from './popover-body/popover-body-directives/popover-body-header.directive';\nimport { PopoverBodyComponent } from './popover-body/popover-body.component';\nimport { PopoverControlComponent } from './popover-control/popover-control.component';\nimport { PopoverBodyDirective } from './popover-body.directive';\nimport { PopoverContainerDirective } from './popover-container/popover-container.directive';\nimport { PopoverTriggerDirective } from './popover-trigger.directive';\nimport { PopoverComponent } from './popover.component';\nimport * as i0 from \"@angular/core\";\nexport class PopoverModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverModule, imports: [PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective], exports: [PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverModule, imports: [PopoverBodyComponent,\n PopoverComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective\n ],\n exports: [\n PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXRGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQXdCdkQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLFlBcEJsQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtZQUN2Qix5QkFBeUI7WUFDekIsb0JBQW9CLGFBR3BCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQixnQkFBZ0I7WUFDaEIsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QixvQkFBb0I7K0dBR2YsYUFBYSxZQW5CbEIsb0JBQW9CO1lBR3BCLGdCQUFnQjs7MkZBZ0JYLGFBQWE7a0JBdEJ6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCx1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3FCQUN2QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LWRpcmVjdGl2ZXMvcG9wb3Zlci1ib2R5LWZvb3Rlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItYm9keS9wb3BvdmVyLWJvZHktZGlyZWN0aXZlcy9wb3BvdmVyLWJvZHktaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb3BvdmVyQm9keUNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29udHJvbC9wb3BvdmVyLWNvbnRyb2wuY29tcG9uZW50JztcblxuaW1wb3J0IHsgUG9wb3ZlckJvZHlEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItYm9keS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci1jb250YWluZXIvcG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckJvZHlIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckJvZHlEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUhlYWRlckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckJvZHlGb290ZXJEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQm9keURpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9wb3Zlck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtcG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL2Z1bmRhbWVudGFsLW5neC1jb3JlLXBvcG92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1","i2","i3.PopoverContainerDirective","i1.PopoverService"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-popover.mjs","sources":["../tmp-esm2022/popover/base/base-popover.class.js","../tmp-esm2022/popover/popover-body.directive.js","../tmp-esm2022/popover/popover-body/popover-body-directives/popover-body-footer.directive.js","../tmp-esm2022/popover/popover-body/popover-body-directives/popover-body-header.directive.js","../tmp-esm2022/popover/popover-body/popover-body.component.js","../tmp-esm2022/popover/popover-container/popover-container.directive.js","../tmp-esm2022/popover/popover-control/popover-control.component.js","../tmp-esm2022/popover/popover.interface.js","../tmp-esm2022/popover/popover-mobile/popover-mobile.component.js","../tmp-esm2022/popover/popover-mobile/popover-mobile.module.js","../tmp-esm2022/popover/popover-service/popover.service.js","../tmp-esm2022/popover/popover-trigger.directive.js","../tmp-esm2022/popover/tokens.js","../tmp-esm2022/popover/popover.component.js","../tmp-esm2022/popover/popover.module.js","../tmp-esm2022/popover/fundamental-ngx-core-popover.js"],"sourcesContent":["import { Directive, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BasePopoverClass {\n constructor() {\n /** Whether to close the popover on router navigation start. */\n this.closeOnNavigation = true;\n /** Whether the popover is disabled. */\n this.disabled = false;\n /** Maximum width of popover body in px, prevents from overextending body by `fillControlMode` */\n this.maxWidth = null;\n /** Whether the popover should have an arrow. */\n this.noArrow = true;\n /** Whether the popover container needs an extra class for styling. */\n this.additionalBodyClass = null;\n /** Classes that should be applied to fd-popover-body component directly. */\n this.additionalBodyComponentClasses = null;\n /** Whether the popover container needs an extra class for styling. */\n this.additionalTriggerClass = null;\n /** Whether the popover should close when the escape key is pressed. */\n this.closeOnEscapeKey = true;\n /** Whether to wrap content with fd-scrollbar directive. */\n this.disableScrollbar = false;\n /**\n * The placement of the popover.\n * It can be one of:\n * top, top-start, top-end, bottom, bottom-start, bottom-end,\n * right, right-start, right-end, left, left-start, left-end.\n */\n this.placement = null;\n /**\n * The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp) or a config object for the corresponding event.\n * Using the config object allows to specify whether an event should apply both for open and close actions or only some of them.\n *\n * If array of triggers consists only of one event, it will be treated at a toggle event (open and close)\n * If array of trigger consists of more than one event, each odd event will be treated as an open event for the popover,\n * and each even event will be treated as closing event for the popover.\n *\n * Consider the following value for `triggers`:\n * ```\n * [\n * 'click' // basically it's an alias for \"{ trigger: 'click', openAction: true, closeAction: true }\"\n * ]\n * ```\n * ```\n * [\n * 'mouseenter' // Shortcut for \"{ trigger: 'mouseenter', openAction: true, closeAction: false }\", and will only open the popover.\n * 'mouseleave' // Shortcut for \"{ trigger: 'mouseleave', openAction: false, closeAction: true }\" and will only close the popover.\n * ]\n * ```\n * ```\n * [\n * { trigger: 'mouseenter', openAction: true, closeAction: true }, // \"mouseenter\" will toggle the popover.\n * { trigger: 'mouseleave', openAction: true, closeAction: true } // \"mouseleave\" will toggle the popover.\n * ]\n * ```\n *\n * @default ['click']\n */\n this.triggers = ['click'];\n /** Whether the popover is open. Can be used through two-way binding. */\n this.isOpen = false;\n /** Whether the popover should close when a click is made outside its boundaries. */\n this.closeOnOutsideClick = true;\n /** Wether to apply a background overlay */\n this.applyOverlay = false;\n /** Whether the popover should be focusTrapped. */\n this.focusTrapped = false;\n /**\n * Whether the popover should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n this.focusAutoCapture = false;\n /**\n * Whether to move the focus after popover is closed to the last focused element before popover was opened.\n */\n this.restoreFocusOnClose = true;\n /**\n * Scroll strategy, there are 4 accepted\n * - CloseScrollStrategy\n * - NoopScrollStrategy\n * - BlockScrollStrategy\n * - RepositionScrollStrategy ( default )\n */\n this.scrollStrategy = null;\n /**\n * List of positions options for overlay defined by angular CDK.\n * Positions will be taken in order, same like on array. If first position provided doesn't fit to window,\n * another will be used\n * More information can be found in https://material.angular.io/cdk/overlay/api\n */\n this.cdkPositions = null;\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n this.fillControlMode = null;\n /** The element to which the overlay is attached. By default it is body */\n this.appendTo = null;\n /** Whether position shouldn't change, when popover approach the corner of page */\n this.fixedPosition = false;\n /** Whether the popover body is resizable. */\n this.resizable = false;\n /** Event emitted when the state of the isOpen property changes. */\n this.isOpenChange = new EventEmitter();\n /** Event emitted right before the popover is being opened.\n * Useful for cases when component inside popover body needs to be initialized right BEFORE the opening of the popover. */\n this.beforeOpen = new EventEmitter();\n /** @hidden Aria role for the popover body. */\n this._bodyRole = 'dialog';\n /** @hidden ID for the popover body. */\n this._bodyId = null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: BasePopoverClass, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: BasePopoverClass, isStandalone: true, inputs: { closeOnNavigation: \"closeOnNavigation\", disabled: \"disabled\", maxWidth: \"maxWidth\", noArrow: \"noArrow\", additionalBodyClass: \"additionalBodyClass\", additionalBodyComponentClasses: \"additionalBodyComponentClasses\", additionalTriggerClass: \"additionalTriggerClass\", closeOnEscapeKey: \"closeOnEscapeKey\", disableScrollbar: \"disableScrollbar\", placement: \"placement\", triggers: \"triggers\", isOpen: \"isOpen\", closeOnOutsideClick: \"closeOnOutsideClick\", applyOverlay: \"applyOverlay\", focusTrapped: \"focusTrapped\", focusAutoCapture: \"focusAutoCapture\", restoreFocusOnClose: \"restoreFocusOnClose\", scrollStrategy: \"scrollStrategy\", cdkPositions: \"cdkPositions\", fillControlMode: \"fillControlMode\", appendTo: \"appendTo\", placementContainer: \"placementContainer\", fixedPosition: \"fixedPosition\", resizable: \"resizable\" }, outputs: { isOpenChange: \"isOpenChange\", beforeOpen: \"beforeOpen\" }, host: { properties: { \"class.fd-popover-custom--disabled\": \"this.disabled\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: BasePopoverClass, decorators: [{\n type: Directive\n }], propDecorators: { closeOnNavigation: [{\n type: Input\n }], disabled: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-popover-custom--disabled']\n }], maxWidth: [{\n type: Input\n }], noArrow: [{\n type: Input\n }], additionalBodyClass: [{\n type: Input\n }], additionalBodyComponentClasses: [{\n type: Input\n }], additionalTriggerClass: [{\n type: Input\n }], closeOnEscapeKey: [{\n type: Input\n }], disableScrollbar: [{\n type: Input\n }], placement: [{\n type: Input\n }], triggers: [{\n type: Input\n }], isOpen: [{\n type: Input\n }], closeOnOutsideClick: [{\n type: Input\n }], applyOverlay: [{\n type: Input\n }], focusTrapped: [{\n type: Input\n }], focusAutoCapture: [{\n type: Input\n }], restoreFocusOnClose: [{\n type: Input\n }], scrollStrategy: [{\n type: Input\n }], cdkPositions: [{\n type: Input\n }], fillControlMode: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], placementContainer: [{\n type: Input\n }], fixedPosition: [{\n type: Input\n }], resizable: [{\n type: Input\n }], isOpenChange: [{\n type: Output\n }], beforeOpen: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wb3BvdmVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvYmFzZS9iYXNlLXBvcG92ZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2hHLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFSSwrREFBK0Q7UUFFL0Qsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRXpCLHVDQUF1QztRQUd2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGtHQUFrRztRQUVsRyxhQUFRLEdBQXFCLElBQUksQ0FBQztRQUVsQyxnREFBZ0Q7UUFFaEQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUVmLHNFQUFzRTtRQUV0RSx3QkFBbUIsR0FBa0IsSUFBSSxDQUFDO1FBRTFDLDRFQUE0RTtRQUU1RSxtQ0FBOEIsR0FBa0IsSUFBSSxDQUFDO1FBRXJELHNFQUFzRTtRQUV0RSwyQkFBc0IsR0FBa0IsSUFBSSxDQUFDO1FBRTdDLHVFQUF1RTtRQUV2RSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFeEIsMkRBQTJEO1FBRTNELHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qjs7Ozs7V0FLRztRQUVILGNBQVMsR0FBcUIsSUFBSSxDQUFDO1FBRW5DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQTZCRztRQUVILGFBQVEsR0FBK0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRCx3RUFBd0U7UUFFeEUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLG9GQUFvRjtRQUVwRix3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0IsMkNBQTJDO1FBRTNDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGtEQUFrRDtRQUVsRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQjs7O1dBR0c7UUFFSCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekI7O1dBRUc7UUFFSCx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0I7Ozs7OztXQU1HO1FBRUgsbUJBQWMsR0FBMEIsSUFBSSxDQUFDO1FBRTdDOzs7OztXQUtHO1FBRUgsaUJBQVksR0FBK0IsSUFBSSxDQUFDO1FBRWhEOzs7OztXQUtHO1FBRUgsb0JBQWUsR0FBOEIsSUFBSSxDQUFDO1FBRWxELDJFQUEyRTtRQUUzRSxhQUFRLEdBQW1DLElBQUksQ0FBQztRQU1oRCxrRkFBa0Y7UUFFbEYsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIsNkNBQTZDO1FBRTdDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsbUVBQW1FO1FBRW5FLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbEU7a0lBQzBIO1FBRTFILGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWhDLDhDQUE4QztRQUM5QyxjQUFTLEdBQWtCLFFBQVEsQ0FBQztRQUVwQyx1Q0FBdUM7UUFDdkMsWUFBTyxHQUFrQixJQUFJLENBQUM7S0FDakM7OEdBdktZLGdCQUFnQjtrR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTOzhCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUNBQW1DO2dCQUtoRCxRQUFRO3NCQURQLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUtOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLTiw4QkFBOEI7c0JBRDdCLEtBQUs7Z0JBS04sc0JBQXNCO3NCQURyQixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQVVOLFNBQVM7c0JBRFIsS0FBSztnQkFrQ04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFRTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFPTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBV04sY0FBYztzQkFEYixLQUFLO2dCQVVOLFlBQVk7c0JBRFgsS0FBSztnQkFVTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsTUFBTTtnQkFNUCxVQUFVO3NCQURULE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUGxhY2VtZW50LCBQb3BvdmVyRmlsbE1vZGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQmFzZVBvcG92ZXJDbGFzcyB7XG4gICAgLyoqIFdoZXRoZXIgdG8gY2xvc2UgdGhlIHBvcG92ZXIgb24gcm91dGVyIG5hdmlnYXRpb24gc3RhcnQuICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZU9uTmF2aWdhdGlvbiA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtcG9wb3Zlci1jdXN0b20tLWRpc2FibGVkJylcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIE1heGltdW0gd2lkdGggb2YgcG9wb3ZlciBib2R5IGluIHB4LCBwcmV2ZW50cyBmcm9tIG92ZXJleHRlbmRpbmcgYm9keSBieSBgZmlsbENvbnRyb2xNb2RlYCAgKi9cbiAgICBASW5wdXQoKVxuICAgIG1heFdpZHRoOiBOdWxsYWJsZTxudW1iZXI+ID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBoYXZlIGFuIGFycm93LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgbm9BcnJvdyA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBjb250YWluZXIgbmVlZHMgYW4gZXh0cmEgY2xhc3MgZm9yIHN0eWxpbmcuICovXG4gICAgQElucHV0KClcbiAgICBhZGRpdGlvbmFsQm9keUNsYXNzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBDbGFzc2VzIHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gZmQtcG9wb3Zlci1ib2R5IGNvbXBvbmVudCBkaXJlY3RseS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFkZGl0aW9uYWxCb2R5Q29tcG9uZW50Q2xhc3Nlczogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBjb250YWluZXIgbmVlZHMgYW4gZXh0cmEgY2xhc3MgZm9yIHN0eWxpbmcuICovXG4gICAgQElucHV0KClcbiAgICBhZGRpdGlvbmFsVHJpZ2dlckNsYXNzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBjbG9zZSB3aGVuIHRoZSBlc2NhcGUga2V5IGlzIHByZXNzZWQuICovXG4gICAgQElucHV0KClcbiAgICBjbG9zZU9uRXNjYXBlS2V5ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIHdyYXAgY29udGVudCB3aXRoIGZkLXNjcm9sbGJhciBkaXJlY3RpdmUuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlU2Nyb2xsYmFyID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyLlxuICAgICAqIEl0IGNhbiBiZSBvbmUgb2Y6XG4gICAgICogdG9wLCB0b3Atc3RhcnQsIHRvcC1lbmQsIGJvdHRvbSwgYm90dG9tLXN0YXJ0LCBib3R0b20tZW5kLFxuICAgICAqIHJpZ2h0LCByaWdodC1zdGFydCwgcmlnaHQtZW5kLCBsZWZ0LCBsZWZ0LXN0YXJ0LCBsZWZ0LWVuZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlbWVudDogUGxhY2VtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHJpZ2dlciBldmVudHMgdGhhdCB3aWxsIG9wZW4vY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAgICogQWNjZXB0cyBhbnkgW0hUTUwgRE9NIEV2ZW50c10oaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9qc3JlZi9kb21fb2JqX2V2ZW50LmFzcCkgb3IgYSBjb25maWcgb2JqZWN0IGZvciB0aGUgY29ycmVzcG9uZGluZyBldmVudC5cbiAgICAgKiBVc2luZyB0aGUgY29uZmlnIG9iamVjdCBhbGxvd3MgdG8gc3BlY2lmeSB3aGV0aGVyIGFuIGV2ZW50IHNob3VsZCBhcHBseSBib3RoIGZvciBvcGVuIGFuZCBjbG9zZSBhY3Rpb25zIG9yIG9ubHkgc29tZSBvZiB0aGVtLlxuICAgICAqXG4gICAgICogSWYgYXJyYXkgb2YgdHJpZ2dlcnMgY29uc2lzdHMgb25seSBvZiBvbmUgZXZlbnQsIGl0IHdpbGwgYmUgdHJlYXRlZCBhdCBhIHRvZ2dsZSBldmVudCAob3BlbiBhbmQgY2xvc2UpXG4gICAgICogSWYgYXJyYXkgb2YgdHJpZ2dlciBjb25zaXN0cyBvZiBtb3JlIHRoYW4gb25lIGV2ZW50LCBlYWNoIG9kZCBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgYW4gb3BlbiBldmVudCBmb3IgdGhlIHBvcG92ZXIsXG4gICAgICogYW5kIGVhY2ggZXZlbiBldmVudCB3aWxsIGJlIHRyZWF0ZWQgYXMgY2xvc2luZyBldmVudCBmb3IgdGhlIHBvcG92ZXIuXG4gICAgICpcbiAgICAgKiBDb25zaWRlciB0aGUgZm9sbG93aW5nIHZhbHVlIGZvciBgdHJpZ2dlcnNgOlxuICAgICAqIGBgYFxuICAgICAqIFtcbiAgICAgKiAgJ2NsaWNrJyAvLyBiYXNpY2FsbHkgaXQncyBhbiBhbGlhcyBmb3IgXCJ7IHRyaWdnZXI6ICdjbGljaycsIG9wZW5BY3Rpb246IHRydWUsIGNsb3NlQWN0aW9uOiB0cnVlIH1cIlxuICAgICAqIF1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBcbiAgICAgKiBbXG4gICAgICogICdtb3VzZWVudGVyJyAvLyBTaG9ydGN1dCBmb3IgXCJ7IHRyaWdnZXI6ICdtb3VzZWVudGVyJywgb3BlbkFjdGlvbjogdHJ1ZSwgY2xvc2VBY3Rpb246IGZhbHNlIH1cIiwgYW5kIHdpbGwgb25seSBvcGVuIHRoZSBwb3BvdmVyLlxuICAgICAqICAnbW91c2VsZWF2ZScgLy8gU2hvcnRjdXQgZm9yIFwieyB0cmlnZ2VyOiAnbW91c2VsZWF2ZScsIG9wZW5BY3Rpb246IGZhbHNlLCBjbG9zZUFjdGlvbjogdHJ1ZSB9XCIgYW5kIHdpbGwgb25seSBjbG9zZSB0aGUgcG9wb3Zlci5cbiAgICAgKiBdXG4gICAgICogYGBgXG4gICAgICogYGBgXG4gICAgICogW1xuICAgICAqICB7IHRyaWdnZXI6ICdtb3VzZWVudGVyJywgb3BlbkFjdGlvbjogdHJ1ZSwgY2xvc2VBY3Rpb246IHRydWUgfSwgLy8gXCJtb3VzZWVudGVyXCIgd2lsbCB0b2dnbGUgdGhlIHBvcG92ZXIuXG4gICAgICogIHsgdHJpZ2dlcjogJ21vdXNlbGVhdmUnLCBvcGVuQWN0aW9uOiB0cnVlLCBjbG9zZUFjdGlvbjogdHJ1ZSB9IC8vIFwibW91c2VsZWF2ZVwiIHdpbGwgdG9nZ2xlIHRoZSBwb3BvdmVyLlxuICAgICAqIF1cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFsnY2xpY2snXVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdHJpZ2dlcnM6IChzdHJpbmcgfCBUcmlnZ2VyQ29uZmlnKVtdID0gWydjbGljayddO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgb3Blbi4gQ2FuIGJlIHVzZWQgdGhyb3VnaCB0d28td2F5IGJpbmRpbmcuICovXG4gICAgQElucHV0KClcbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBjbG9zZSB3aGVuIGEgY2xpY2sgaXMgbWFkZSBvdXRzaWRlIGl0cyBib3VuZGFyaWVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xvc2VPbk91dHNpZGVDbGljayA9IHRydWU7XG5cbiAgICAvKiogV2V0aGVyIHRvIGFwcGx5IGEgYmFja2dyb3VuZCBvdmVybGF5ICovXG4gICAgQElucHV0KClcbiAgICBhcHBseU92ZXJsYXkgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBmb2N1c1RyYXBwZWQuICovXG4gICAgQElucHV0KClcbiAgICBmb2N1c1RyYXBwZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkgbW92ZSBmb2N1cyBpbnRvIHRoZSB0cmFwcGVkIHJlZ2lvbiB1cG9uXG4gICAgICogaW5pdGlhbGl6YXRpb24gYW5kIHJldHVybiBmb2N1cyB0byB0aGUgcHJldmlvdXMgYWN0aXZlRWxlbWVudCB1cG9uIGRlc3RydWN0aW9uLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBtb3ZlIHRoZSBmb2N1cyBhZnRlciBwb3BvdmVyIGlzIGNsb3NlZCB0byB0aGUgbGFzdCBmb2N1c2VkIGVsZW1lbnQgYmVmb3JlIHBvcG92ZXIgd2FzIG9wZW5lZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJlc3RvcmVGb2N1c09uQ2xvc2UgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogU2Nyb2xsIHN0cmF0ZWd5LCB0aGVyZSBhcmUgNCBhY2NlcHRlZFxuICAgICAqIC0gQ2xvc2VTY3JvbGxTdHJhdGVneVxuICAgICAqIC0gTm9vcFNjcm9sbFN0cmF0ZWd5XG4gICAgICogLSBCbG9ja1Njcm9sbFN0cmF0ZWd5XG4gICAgICogLSBSZXBvc2l0aW9uU2Nyb2xsU3RyYXRlZ3kgKCBkZWZhdWx0IClcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNjcm9sbFN0cmF0ZWd5OiBTY3JvbGxTdHJhdGVneSB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogTGlzdCBvZiBwb3NpdGlvbnMgb3B0aW9ucyBmb3Igb3ZlcmxheSBkZWZpbmVkIGJ5IGFuZ3VsYXIgQ0RLLlxuICAgICAqIFBvc2l0aW9ucyB3aWxsIGJlIHRha2VuIGluIG9yZGVyLCBzYW1lIGxpa2Ugb24gYXJyYXkuIElmIGZpcnN0IHBvc2l0aW9uIHByb3ZpZGVkIGRvZXNuJ3QgZml0IHRvIHdpbmRvdyxcbiAgICAgKiBhbm90aGVyIHdpbGwgYmUgdXNlZFxuICAgICAqIE1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvb3ZlcmxheS9hcGlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNka1Bvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogUHJlc2V0IG9wdGlvbnMgZm9yIHRoZSBwb3BvdmVyIGJvZHkgd2lkdGguXG4gICAgICogKiBgYXQtbGVhc3RgIHdpbGwgYXBwbHkgYSBtaW5pbXVtIHdpZHRoIHRvIHRoZSBib2R5IGVxdWl2YWxlbnQgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb250cm9sLlxuICAgICAqICogYGVxdWFsYCB3aWxsIGFwcGx5IGEgd2lkdGggdG8gdGhlIGJvZHkgZXF1aXZhbGVudCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbnRyb2wuXG4gICAgICogKiBMZWF2ZSBibGFuayBmb3Igbm8gZWZmZWN0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsbENvbnRyb2xNb2RlOiBOdWxsYWJsZTxQb3BvdmVyRmlsbE1vZGU+ID0gbnVsbDtcblxuICAgIC8qKiBUaGUgZWxlbWVudCB0byB3aGljaCAgdGhlIG92ZXJsYXkgaXMgYXR0YWNoZWQuIEJ5IGRlZmF1bHQgaXQgaXMgYm9keSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXBwZW5kVG86IE51bGxhYmxlPEVsZW1lbnRSZWYgfCBFbGVtZW50PiA9IG51bGw7XG5cbiAgICAvKiogUGxhY2VtZW50IG9mIHRoZSBwb3BvdmVyIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZW1lbnRDb250YWluZXI6IE51bGxhYmxlPEVsZW1lbnRSZWYgfCBFbGVtZW50PjtcblxuICAgIC8qKiBXaGV0aGVyIHBvc2l0aW9uIHNob3VsZG4ndCBjaGFuZ2UsIHdoZW4gcG9wb3ZlciBhcHByb2FjaCB0aGUgY29ybmVyIG9mIHBhZ2UgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpeGVkUG9zaXRpb24gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGJvZHkgaXMgcmVzaXphYmxlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVzaXphYmxlID0gZmFsc2U7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgaXNPcGVuIHByb3BlcnR5IGNoYW5nZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgaXNPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCByaWdodCBiZWZvcmUgdGhlIHBvcG92ZXIgaXMgYmVpbmcgb3BlbmVkLlxuICAgICAqIFVzZWZ1bCBmb3IgY2FzZXMgd2hlbiBjb21wb25lbnQgaW5zaWRlIHBvcG92ZXIgYm9keSBuZWVkcyB0byBiZSBpbml0aWFsaXplZCByaWdodCBCRUZPUkUgdGhlIG9wZW5pbmcgb2YgdGhlIHBvcG92ZXIuICovXG4gICAgQE91dHB1dCgpXG4gICAgYmVmb3JlT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKiBAaGlkZGVuIEFyaWEgcm9sZSBmb3IgdGhlIHBvcG92ZXIgYm9keS4gKi9cbiAgICBfYm9keVJvbGU6IHN0cmluZyB8IG51bGwgPSAnZGlhbG9nJztcblxuICAgIC8qKiBAaGlkZGVuIElEIGZvciB0aGUgcG9wb3ZlciBib2R5LiAqL1xuICAgIF9ib2R5SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xufVxuXG4vKipcbiAqIENvbmZpZyBmb3IgdGhlIHRyaWdnZXIgZXZlbnQsIHdoaWNoIGFsbG93cyB0byBzcGVjaWZ5XG4gKiB3aGV0aGVyIGFuIGV2ZW50IHNob3VsZCBhcHBseSBib3RoIGZvciBvcGVuIGFuZCBjbG9zZSBhY3Rpb25zIG9yIG9ubHkgc29tZSBvZiB0aGVtXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlckNvbmZpZyB7XG4gICAgdHJpZ2dlcjogc3RyaW5nO1xuICAgIG9wZW5BY3Rpb246IGJvb2xlYW47XG4gICAgY2xvc2VBY3Rpb246IGJvb2xlYW47XG4gICAgc3RvcFByb3BhZ2F0aW9uPzogYm9vbGVhbjtcbn1cbiJdfQ==","import { Directive, inject, TemplateRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class PopoverBodyDirective {\n constructor() {\n /**\n * The template to be used as the popover's body.\n **/\n this.templateRef = inject(TemplateRef);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverBodyDirective, isStandalone: true, selector: \"[fdPopoverBody]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverBody]',\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItYm9keS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRCxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBS0k7O1lBRUk7UUFDSyxnQkFBVyxHQUFHLE1BQU0sQ0FBb0IsV0FBVyxDQUFDLENBQUM7S0FDakU7OEdBTFksb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkUG9wb3ZlckJvZHldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJCb2R5RGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBhcyB0aGUgcG9wb3ZlcidzIGJvZHkuXG4gICAgICoqL1xuICAgIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0PFRlbXBsYXRlUmVmPHZvaWQ+PihUZW1wbGF0ZVJlZik7XG59XG4iXX0=","import { Directive, HostBinding } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class PopoverBodyFooterDirective {\n constructor() {\n /** @hidden */\n this.fdPopoverBodyFooterClass = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverBodyFooterDirective, isStandalone: true, selector: \"[fdPopoverBodyFooter], [fd-popover-body-footer]\", host: { properties: { \"class.fd-popover__body-footer\": \"this.fdPopoverBodyFooterClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyFooterDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverBodyFooter], [fd-popover-body-footer]',\n standalone: true\n }]\n }], propDecorators: { fdPopoverBodyFooterClass: [{\n type: HostBinding,\n args: ['class.fd-popover__body-footer']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LWZvb3Rlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LWRpcmVjdGl2ZXMvcG9wb3Zlci1ib2R5LWZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLSSxjQUFjO1FBRWQsNkJBQXdCLEdBQUcsSUFBSSxDQUFDO0tBQ25DOzhHQUpZLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpREFBaUQ7b0JBQzNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFJRyx3QkFBd0I7c0JBRHZCLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFBvcG92ZXJCb2R5Rm9vdGVyXSwgW2ZkLXBvcG92ZXItYm9keS1mb290ZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS1mb290ZXInKVxuICAgIGZkUG9wb3ZlckJvZHlGb290ZXJDbGFzcyA9IHRydWU7XG59XG4iXX0=","import { Directive, HostBinding } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class PopoverBodyHeaderDirective {\n constructor() {\n /** @hidden */\n this.fdPopoverBodyHeaderClass = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverBodyHeaderDirective, isStandalone: true, selector: \"[fdPopoverBodyHeader], [fd-popover-body-header]\", host: { properties: { \"class.fd-popover__body-header\": \"this.fdPopoverBodyHeaderClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyHeaderDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverBodyHeader], [fd-popover-body-header]',\n standalone: true\n }]\n }], propDecorators: { fdPopoverBodyHeaderClass: [{\n type: HostBinding,\n args: ['class.fd-popover__body-header']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LWhlYWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LWRpcmVjdGl2ZXMvcG9wb3Zlci1ib2R5LWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXZELE1BQU0sT0FBTywwQkFBMEI7SUFKdkM7UUFLSSxjQUFjO1FBRWQsNkJBQXdCLEdBQUcsSUFBSSxDQUFDO0tBQ25DOzhHQUpZLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpREFBaUQ7b0JBQzNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFJRyx3QkFBd0I7c0JBRHZCLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFBvcG92ZXJCb2R5SGVhZGVyXSwgW2ZkLXBvcG92ZXItYm9keS1oZWFkZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJCb2R5SGVhZGVyRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS1oZWFkZXInKVxuICAgIGZkUG9wb3ZlckJvZHlIZWFkZXJDbGFzcyA9IHRydWU7XG59XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, Input, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { KeyUtil, ResizeDirective, ResizeHandleDirective } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/core/content-density\";\nimport * as i2 from \"@angular/cdk/a11y\";\n/**\n * A component used to enforce a certain layout for the popover.\n * ```html\n * <fd-popover>\n * <fd-popover-control>Control Element</fd-popover-control>\n * <fd-popover-body>Popover Body</fd-popover-body>\n * </fd-popover>\n * ```\n */\nexport class PopoverBodyComponent {\n /** @hidden */\n constructor(_elementRef, _changeDetectorRef, _renderer, _contentDensityObserver) {\n this._elementRef = _elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._renderer = _renderer;\n this._contentDensityObserver = _contentDensityObserver;\n /** Whether to wrap content with fd-scrollbar directive. */\n this._disableScrollbar = false;\n /** Whether the popover should have an arrow. */\n this._noArrow = true;\n /** Whether the popover should be focusTrapped. */\n this._focusTrapped = false;\n /**\n * Whether the popover should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n this._focusAutoCapture = false;\n /** @hidden Property bind to popover's body. */\n this._closeOnEscapeKey = false;\n /** @hidden Aria role for the popover body. */\n this._bodyRole = 'dialog';\n /** @hidden Aria role for the popover body. */\n this._bodyId = null;\n /** Classes added to arrow element. */\n this._arrowClasses = '';\n /** @hidden text rendered inside popover's body. */\n this.text = null;\n /** @hidden Whether the popover body is resizable. */\n this._resizable = false;\n /** @hidden */\n this._resizeHandleLocation = 'bottom-right';\n /** Close event from popover body */\n this.onClose = new Subject();\n /** @hidden */\n this._bodyComponentClasses = null;\n }\n /** Handler escape keydown */\n bodyKeyupHandler(event) {\n if (KeyUtil.isKeyCode(event, ESCAPE) && this._closeOnEscapeKey) {\n // In case if popover belongs to the element inside dialog\n event.stopPropagation();\n this.onClose.next();\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n if (this._scrollbar) {\n this._scrollbar._inPopover = true;\n }\n }\n /** @hidden */\n _setBodyComponentClasses(classes) {\n this._bodyComponentClasses?.split(' ').forEach((klass) => {\n this._renderer.removeClass(this._elementRef.nativeElement, klass);\n });\n this._bodyComponentClasses = classes;\n if (!this._bodyComponentClasses) {\n return;\n }\n this._bodyComponentClasses.split(' ').forEach((klass) => {\n this._renderer.addClass(this._elementRef.nativeElement, klass);\n });\n }\n /** @hidden */\n _setArrowStyles(position, rtl) {\n this._resizeHandleLocation = `${position.overlayY === 'top' ? 'bottom' : 'top'}-${position.overlayX === 'start' ? 'right' : 'left'}`;\n if (this._noArrow) {\n this._arrowClasses = '';\n return;\n }\n let arrowClasses = [];\n if (position.overlayY !== position.originY &&\n position.originY !== 'center' &&\n position.overlayY !== 'center' &&\n position.overlayX === position.originX) {\n arrowClasses = [\n `fd-popover__body--${position.overlayY === 'top' ? 'below' : 'above'}`,\n `fd-popover__body--${position.overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--arrow-${position.overlayY}`,\n `fd-popover__body--arrow-x-${position.originX}`\n ];\n }\n else if (position.overlayX !== position.originX &&\n position.overlayX !== 'center' &&\n position.originX !== 'center' &&\n position.originY === position.overlayY) {\n let overlayX = position.overlayX;\n if (rtl === 'rtl') {\n overlayX = position.overlayX === 'end' ? 'start' : 'end';\n }\n arrowClasses = [\n `fd-popover__body--${overlayX === 'start' ? 'after' : 'before'}`,\n `fd-popover__body--${overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--${position.overlayY === 'center' ? 'middle' : position.overlayY}`,\n `fd-popover__body--arrow-${overlayX === 'start' ? 'left' : 'right'}`,\n `fd-popover__body--arrow-y-${position.originY} `\n ];\n }\n else {\n arrowClasses = ['fd-popover__body--no-arrow'];\n }\n this._arrowClasses = arrowClasses.join(' ');\n this.detectChanges();\n }\n /** @hidden */\n detectChanges() {\n if (!this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n /** @hidden */\n _focusFirstTabbableElement(forced = false) {\n if (forced || this._focusAutoCapture) {\n requestAnimationFrame(() => {\n this._cdkTrapFocus.focusTrap.focusFirstTabbableElement();\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PopoverBodyComponent, isStandalone: true, selector: \"fd-popover-body\", inputs: { minWidth: \"minWidth\", maxWidth: \"maxWidth\", minHeight: \"minHeight\", maxHeight: \"maxHeight\" }, host: { listeners: { \"keydown\": \"bodyKeyupHandler($event)\" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], viewQueries: [{ propertyName: \"_cdkTrapFocus\", first: true, predicate: CdkTrapFocus, descendants: true }, { propertyName: \"_scrollbar\", first: true, predicate: ScrollbarDirective, descendants: true }], ngImport: i0, template: \"<div\\n class=\\\"fd-popover__body fd-popover__body--static\\\"\\n [class.fd-popover__body--no-arrow]=\\\"_noArrow\\\"\\n [class.fd-popover__body--resizable]=\\\"_resizable\\\"\\n [class]=\\\"_arrowClasses + ' ' + (_additionalBodyClass || '')\\\"\\n [cdkTrapFocus]=\\\"_focusTrapped\\\"\\n [style.min-width]=\\\"_popoverBodyMinWidth ? null : minWidth\\\"\\n [style.max-width]=\\\"_maxWidth ? null : maxWidth\\\"\\n [style.min-height]=\\\"minHeight\\\"\\n [style.max-height]=\\\"maxHeight\\\"\\n [style.max-width.px]=\\\"_maxWidth\\\"\\n [style.min-width.px]=\\\"_popoverBodyMinWidth\\\"\\n [style.width.px]=\\\"_popoverBodyWidth\\\"\\n [attr.role]=\\\"_bodyRole\\\"\\n [attr.id]=\\\"_bodyId\\\"\\n fdkResize\\n [fdkResizeDisabled]=\\\"!_resizable\\\"\\n [fdkResizeClass]=\\\"'fd-popover__body--disable-transitions'\\\"\\n [fdkResizeHandleLocation]=\\\"_resizeHandleLocation\\\"\\n>\\n @if (!_disableScrollbar) {\\n <div fd-scrollbar class=\\\"fd-popover__wrapper\\\">\\n <ng-template [ngTemplateOutlet]=\\\"renderer\\\"></ng-template>\\n </div>\\n } @else {\\n <ng-template [ngTemplateOutlet]=\\\"renderer\\\"></ng-template>\\n }\\n @if (_resizable) {\\n <span fdkResizeHandle class=\\\"fd-popover__resize-handle\\\" role=\\\"presentation\\\" aria-hidden=\\\"true\\\"></span>\\n }\\n</div>\\n<ng-template #renderer>\\n <ng-content select=\\\"[fd-popover-body-header]\\\"></ng-content>\\n <ng-content select=\\\"[fd-popover-body-subheader]\\\"></ng-content>\\n <ng-content></ng-content>\\n {{ text }}\\n <ng-template [ngTemplateOutlet]=\\\"_templateToDisplay\\\"></ng-template>\\n <ng-content select=\\\"[fd-popover-body-footer]\\\"></ng-content>\\n</ng-template>\\n\", styles: [\"body.fd-overlay-active:before{background:var(--fdModal_BackgroundColor);content:\\\"\\\";height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:999}.fd-popover{--fdPopover_Display:inline-block;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdPopover_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-popover:after,.fd-popover:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__modal{position:relative;z-index:1000}.fd-popover__control{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{-webkit-margin-after:0;margin-block-end:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Body_Border_Radius);overflow:auto;position:relative;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;--fdPopover_Arrow_Size:.5rem;--fdPopover_Body_Border_Radius:var(--fdPopover_Border_Radius);--fdPopover_Body_Box_Shadow:var(--sapContent_Shadow2);--fdPopover_Body_Box_Shadow_No_Arrow:var(--sapContent_Shadow1);--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;--fdPopover_Resize_Handle_Offset:-.5rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:center;--fdPopover_Resize_Handle_Transform_Scale:1;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Body_Border_Radius);-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow);box-shadow:var(--fdPopover_Body_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;opacity:1;padding-block:0;padding-inline:0;position:absolute;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size));-webkit-transition:all .125s;transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\\\"\\\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1);z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child:not(.fd-popover__resize-handle){border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-menu{width:100%}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--center{left:var(--fdPopover_Center_Offset);-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{left:auto;right:var(--fdPopover_Center_Offset);-webkit-transform:translateX(var(--fdPopover_Center_Offset));transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{top:var(--fdPopover_Center_Offset);-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;border-top:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-left:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-right:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{left:auto;right:50%;-webkit-transform:translateX(50%);transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-popover__body--arrow-y-bottom:before,.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-bottom:after,.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:-webkit-max-content;width:-moz-max-content;width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{position:relative;--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding-block:.75rem;padding-inline:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover__body.fd-popover__body--resizable[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:-.5rem;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Container_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Rotate_Angle:-90deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Container_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--bottom,.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--middle{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Rotate_Angle:90deg;--fdPopover_Resize_Handle_Cursor:nw-resize}.fd-popover__resize-handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.5rem;line-height:normal;margin-block:0;margin-inline:0;min-width:1.5rem;padding-block:0;padding-inline:0;width:1.5rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);-ms-flex-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);color:var(--sapButton_Lite_TextColor);cursor:var(--fdPopover_Resize_Handle_Cursor);font-size:1rem;inset:var(--fdPopover_Resize_Handle_Position_Top) var(--fdPopover_Resize_Handle_Position_Right) var(--fdPopover_Resize_Handle_Position_Bottom) var(--fdPopover_Resize_Handle_Position_Left);justify-content:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);line-height:1rem;overflow:hidden;position:absolute;-webkit-transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle));transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle))}.fd-popover__resize-handle:after,.fd-popover__resize-handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__resize-handle:after{content:\\\"\\\\e24f\\\";display:-webkit-box;display:-ms-flexbox;display:flex;font-family:SAP-icons;height:1rem;min-width:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;width:1rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:var(--fdPopover_Resize_Handle_Justify);-ms-flex-pack:var(--fdPopover_Resize_Handle_Justify);color:inherit;justify-content:var(--fdPopover_Resize_Handle_Justify);-webkit-transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale));transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale))}.fd-popover--slider{--fdPopover_Display:block}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover--full-width{width:100%}.fd-popover--btp .fd-popover__body{--fdPopover_Arrow_Size:.375rem;--fdPopover_Body_Border_Radius:.75rem;--fdPopover_Body_Box_Shadow:var(--sapMenu_Shadow2);border:none;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size) - .1875rem)}.fd-popover--btp .fd-popover__body--padding{padding-block:.75rem;padding-inline:.75rem}.fd-popover--btp .fd-popover__body-header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-header:after,.fd-popover--btp .fd-popover__body-header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-block:.75rem;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-content:after,.fd-popover--btp .fd-popover__body-content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content:only-child{margin-block:0;margin-inline:0}.fd-popover--btp .fd-popover__body-footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.1875rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.375rem;padding-inline:0}.fd-popover--btp .fd-popover__body-footer:after,.fd-popover--btp .fd-popover__body-footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-footer--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}fd-popover-body{max-width:100%;max-height:100%}.fd-popover-custom{display:inline-block;max-width:100%}.fd-popover-custom--disabled .fd-popover__control{cursor:auto}.fd-popover__body{max-height:100%;max-width:100%;display:flex}.fd-popover__body .fd-popover__body-footer,.fd-popover__body .fd-popover__body-header{position:sticky;z-index:6}.fd-popover__body .fd-popover__body-footer{bottom:0}.fd-popover__body--hidden{display:none!important}.fd-popover__body--disable-transitions{transition:none!important;-webkit-transition:none!important}.fd-popover__body--inline-help.fd-inline-help__content{white-space:initial}.fd-popover__body--inline-help.fd-inline-help__content>.fd-scrollbar{border-radius:0}.fd-popover__body.fd-form-message:before{width:auto;height:auto;position:relative;inset:0;border:none}.fd-popover__body>.fd-scrollbar{max-height:100%;max-width:100%;width:100%;border-radius:inherit}.fd-popover__body .fd-list{border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:first-child,.fd-popover__body .fd-list__item:first-of-type{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:last-child,.fd-popover__body .fd-list__item:last-of-type{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list{border-bottom:none}.fd-popover__body .fd-nested-list__item:first-child .fd-nested-list__content{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__item:last-child .fd-nested-list__link{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content.is-selected{border-bottom-right-radius:0;border-bottom-left-radius:0}.fd-popover__body .fd-side-nav,.fd-popover__body .fd-nested-list__item{border-right:none}.fd-popover__body .fd-side-nav:first-child,.fd-popover__body .fd-nested-list__item:first-child{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-side-nav:last-child,.fd-popover__body .fd-nested-list__item:last-child{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__resize-handle{-webkit-user-select:none;user-select:none}.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start{left:-.3125rem}[dir=rtl] .fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start,.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start[dir=rtl]{left:auto;right:-.3125rem}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\\n/*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n */\\n\"], dependencies: [{ kind: \"ngmodule\", type: A11yModule }, { kind: \"directive\", type: i2.CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: [\"cdkTrapFocus\", \"cdkTrapFocusAutoCapture\"], exportAs: [\"cdkTrapFocus\"] }, { kind: \"directive\", type: ScrollbarDirective, selector: \"[fdScrollbar], [fd-scrollbar]\", inputs: [\"noHorizontalScroll\", \"noVerticalScroll\", \"alwaysVisible\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: ResizeHandleDirective, selector: \"[fdkResizeHandle]\" }, { kind: \"directive\", type: ResizeDirective, selector: \"[fdkResize]\", inputs: [\"fdkResizeBoundary\", \"fdkResizeDisabled\", \"fdkResizeClass\", \"fdkResizeHandleLocation\", \"fdkResizeResizeHandleRef\"], outputs: [\"onResizeStart\", \"onResizeEnd\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverBodyComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-popover-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], imports: [A11yModule, CdkScrollable, ScrollbarDirective, NgTemplateOutlet, ResizeHandleDirective, ResizeDirective], standalone: true, template: \"<div\\n class=\\\"fd-popover__body fd-popover__body--static\\\"\\n [class.fd-popover__body--no-arrow]=\\\"_noArrow\\\"\\n [class.fd-popover__body--resizable]=\\\"_resizable\\\"\\n [class]=\\\"_arrowClasses + ' ' + (_additionalBodyClass || '')\\\"\\n [cdkTrapFocus]=\\\"_focusTrapped\\\"\\n [style.min-width]=\\\"_popoverBodyMinWidth ? null : minWidth\\\"\\n [style.max-width]=\\\"_maxWidth ? null : maxWidth\\\"\\n [style.min-height]=\\\"minHeight\\\"\\n [style.max-height]=\\\"maxHeight\\\"\\n [style.max-width.px]=\\\"_maxWidth\\\"\\n [style.min-width.px]=\\\"_popoverBodyMinWidth\\\"\\n [style.width.px]=\\\"_popoverBodyWidth\\\"\\n [attr.role]=\\\"_bodyRole\\\"\\n [attr.id]=\\\"_bodyId\\\"\\n fdkResize\\n [fdkResizeDisabled]=\\\"!_resizable\\\"\\n [fdkResizeClass]=\\\"'fd-popover__body--disable-transitions'\\\"\\n [fdkResizeHandleLocation]=\\\"_resizeHandleLocation\\\"\\n>\\n @if (!_disableScrollbar) {\\n <div fd-scrollbar class=\\\"fd-popover__wrapper\\\">\\n <ng-template [ngTemplateOutlet]=\\\"renderer\\\"></ng-template>\\n </div>\\n } @else {\\n <ng-template [ngTemplateOutlet]=\\\"renderer\\\"></ng-template>\\n }\\n @if (_resizable) {\\n <span fdkResizeHandle class=\\\"fd-popover__resize-handle\\\" role=\\\"presentation\\\" aria-hidden=\\\"true\\\"></span>\\n }\\n</div>\\n<ng-template #renderer>\\n <ng-content select=\\\"[fd-popover-body-header]\\\"></ng-content>\\n <ng-content select=\\\"[fd-popover-body-subheader]\\\"></ng-content>\\n <ng-content></ng-content>\\n {{ text }}\\n <ng-template [ngTemplateOutlet]=\\\"_templateToDisplay\\\"></ng-template>\\n <ng-content select=\\\"[fd-popover-body-footer]\\\"></ng-content>\\n</ng-template>\\n\", styles: [\"body.fd-overlay-active:before{background:var(--fdModal_BackgroundColor);content:\\\"\\\";height:100vh;left:0;pointer-events:all;position:fixed;top:0;width:100vw;z-index:999}.fd-popover{--fdPopover_Display:inline-block;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdPopover_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-popover:after,.fd-popover:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__modal{position:relative;z-index:1000}.fd-popover__control{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{-webkit-margin-after:0;margin-block-end:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Body_Border_Radius);overflow:auto;position:relative;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;--fdPopover_Arrow_Size:.5rem;--fdPopover_Body_Border_Radius:var(--fdPopover_Border_Radius);--fdPopover_Body_Box_Shadow:var(--sapContent_Shadow2);--fdPopover_Body_Box_Shadow_No_Arrow:var(--sapContent_Shadow1);--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;--fdPopover_Resize_Handle_Offset:-.5rem;--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Justify:center;--fdPopover_Resize_Handle_Transform_Scale:1;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Body_Border_Radius);-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow);box-shadow:var(--fdPopover_Body_Box_Shadow);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;opacity:1;padding-block:0;padding-inline:0;position:absolute;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size));-webkit-transition:all .125s;transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\\\"\\\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1 + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdPopover_Arrow_Size) * -1);z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child:not(.fd-popover__resize-handle){border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-menu{width:100%}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{-webkit-box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);box-shadow:var(--fdPopover_Body_Box_Shadow_No_Arrow);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--center{left:var(--fdPopover_Center_Offset);-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{left:auto;right:var(--fdPopover_Center_Offset);-webkit-transform:translateX(var(--fdPopover_Center_Offset));transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{top:var(--fdPopover_Center_Offset);-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid transparent;border-top:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-left:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-right:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size))!important}.fd-popover__body--arrow-right:before{border-bottom:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:var(--fdPopover_Arrow_Size) solid transparent;border-left:var(--fdPopover_Arrow_Size) solid var(--fdPopover_Border_Color);border-top:var(--fdPopover_Arrow_Size) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{left:50%;-webkit-transform:translateX(-50%);transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{left:auto;right:50%;-webkit-transform:translateX(50%);transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.fd-popover__body--arrow-y-bottom:before,.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-bottom:after,.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - var(--fdPopover_Arrow_Size) - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:-webkit-max-content;width:-moz-max-content;width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{position:relative;--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding-block:.75rem;padding-inline:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover__body.fd-popover__body--resizable[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:-.5rem;--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Rotate_Angle:180deg;--fdPopover_Resize_Handle_Cursor:nw-resize;--fdPopover_Resize_Handle_Transform_Scale:1;--fdPopover_Resize_Handle_Container_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--above.fd-popover__body--right{--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:se-resize}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after{--fdPopover_Resize_Handle_Rotate_Angle:-90deg}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Position_Right:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Left:auto;--fdPopover_Resize_Handle_Cursor:ne-resize;--fdPopover_Resize_Handle_Rotate_Angle:-90deg;--fdPopover_Resize_Handle_Transform_Scale:1}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--after.fd-popover__body--bottom{--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Position_Top:auto;--fdPopover_Resize_Handle_Position_Bottom:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Right:auto;--fdPopover_Resize_Handle_Position_Left:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Cursor:sw-resize;--fdPopover_Resize_Handle_Rotate_Angle:0;--fdPopover_Resize_Handle_Transform_Scale:-1;--fdPopover_Resize_Handle_Container_Justify:flex-end}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before[dir=rtl],[dir=rtl] .fd-popover__body.fd-popover__body--resizable.fd-popover__body--before{--fdPopover_Resize_Handle_Container_Justify:flex-start}.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--bottom,.fd-popover__body.fd-popover__body--resizable.fd-popover__body--before.fd-popover__body--middle{--fdPopover_Resize_Handle_Position_Top:var(--fdPopover_Resize_Handle_Offset);--fdPopover_Resize_Handle_Position_Bottom:auto;--fdPopover_Resize_Handle_Rotate_Angle:90deg;--fdPopover_Resize_Handle_Cursor:nw-resize}.fd-popover__resize-handle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.5rem;line-height:normal;margin-block:0;margin-inline:0;min-width:1.5rem;padding-block:0;padding-inline:0;width:1.5rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);-ms-flex-pack:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);color:var(--sapButton_Lite_TextColor);cursor:var(--fdPopover_Resize_Handle_Cursor);font-size:1rem;inset:var(--fdPopover_Resize_Handle_Position_Top) var(--fdPopover_Resize_Handle_Position_Right) var(--fdPopover_Resize_Handle_Position_Bottom) var(--fdPopover_Resize_Handle_Position_Left);justify-content:var(--fdPopover_Resize_Handle_Container_Justify, flex-start);line-height:1rem;overflow:hidden;position:absolute;-webkit-transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle));transform:rotate(var(--fdPopover_Resize_Handle_Rotate_Angle))}.fd-popover__resize-handle:after,.fd-popover__resize-handle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover__resize-handle:after{content:\\\"\\\\e24f\\\";display:-webkit-box;display:-ms-flexbox;display:flex;font-family:SAP-icons;height:1rem;min-width:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;width:1rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:var(--fdPopover_Resize_Handle_Justify);-ms-flex-pack:var(--fdPopover_Resize_Handle_Justify);color:inherit;justify-content:var(--fdPopover_Resize_Handle_Justify);-webkit-transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale));transform:scaleX(var(--fdPopover_Resize_Handle_Transform_Scale))}.fd-popover--slider{--fdPopover_Display:block}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{border:none;-webkit-box-shadow:none;box-shadow:none}.fd-popover--full-width{width:100%}.fd-popover--btp .fd-popover__body{--fdPopover_Arrow_Size:.375rem;--fdPopover_Body_Border_Radius:.75rem;--fdPopover_Body_Box_Shadow:var(--sapMenu_Shadow2);border:none;top:calc(var(--fdPopover_Offset) + var(--fdPopover_Arrow_Size) - .1875rem)}.fd-popover--btp .fd-popover__body--padding{padding-block:.75rem;padding-inline:.75rem}.fd-popover--btp .fd-popover__body-header{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-header:after,.fd-popover--btp .fd-popover__body-header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-block:.75rem;margin-inline:0;padding-block:0;padding-inline:0}.fd-popover--btp .fd-popover__body-content:after,.fd-popover--btp .fd-popover__body-content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-content:only-child{margin-block:0;margin-inline:0}.fd-popover--btp .fd-popover__body-footer{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.1875rem;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.375rem;padding-inline:0}.fd-popover--btp .fd-popover__body-footer:after,.fd-popover--btp .fd-popover__body-footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-popover--btp .fd-popover__body-footer--center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}fd-popover-body{max-width:100%;max-height:100%}.fd-popover-custom{display:inline-block;max-width:100%}.fd-popover-custom--disabled .fd-popover__control{cursor:auto}.fd-popover__body{max-height:100%;max-width:100%;display:flex}.fd-popover__body .fd-popover__body-footer,.fd-popover__body .fd-popover__body-header{position:sticky;z-index:6}.fd-popover__body .fd-popover__body-footer{bottom:0}.fd-popover__body--hidden{display:none!important}.fd-popover__body--disable-transitions{transition:none!important;-webkit-transition:none!important}.fd-popover__body--inline-help.fd-inline-help__content{white-space:initial}.fd-popover__body--inline-help.fd-inline-help__content>.fd-scrollbar{border-radius:0}.fd-popover__body.fd-form-message:before{width:auto;height:auto;position:relative;inset:0;border:none}.fd-popover__body>.fd-scrollbar{max-height:100%;max-width:100%;width:100%;border-radius:inherit}.fd-popover__body .fd-list{border-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:first-child,.fd-popover__body .fd-list__item:first-of-type{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-list__item:last-child,.fd-popover__body .fd-list__item:last-of-type{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list{border-bottom:none}.fd-popover__body .fd-nested-list__item:first-child .fd-nested-list__content{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__item:last-child .fd-nested-list__link{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-nested-list__item:last-child .fd-nested-list__content.is-selected{border-bottom-right-radius:0;border-bottom-left-radius:0}.fd-popover__body .fd-side-nav,.fd-popover__body .fd-nested-list__item{border-right:none}.fd-popover__body .fd-side-nav:first-child,.fd-popover__body .fd-nested-list__item:first-child{border-top-right-radius:var(--fdPopover_Border_Radius);border-top-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__body .fd-side-nav:last-child,.fd-popover__body .fd-nested-list__item:last-child{border-bottom-right-radius:var(--fdPopover_Border_Radius);border-bottom-left-radius:var(--fdPopover_Border_Radius)}.fd-popover__resize-handle{-webkit-user-select:none;user-select:none}.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start{left:-.3125rem}[dir=rtl] .fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start,.fd-popover__body--inline-help-with-icon.fd-popover__body--arrow-top.fd-popover__body--arrow-x-start[dir=rtl]{left:auto;right:-.3125rem}.cdk-overlay-container{z-index:1002}.cdk-overlay-pane{max-width:100%;max-height:100%}\\n/*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n */\\n\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1.ContentDensityObserver }], propDecorators: { minWidth: [{\n type: Input\n }], maxWidth: [{\n type: Input\n }], minHeight: [{\n type: Input\n }], maxHeight: [{\n type: Input\n }], _cdkTrapFocus: [{\n type: ViewChild,\n args: [CdkTrapFocus]\n }], _scrollbar: [{\n type: ViewChild,\n args: [ScrollbarDirective]\n }], bodyKeyupHandler: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItYm9keS9wb3BvdmVyLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQVksZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFFckU7Ozs7Ozs7O0dBUUc7QUFXSCxNQUFNLE9BQU8sb0JBQW9CO0lBa0Y3QixjQUFjO0lBQ2QsWUFDYSxXQUF1QixFQUN4QixrQkFBcUMsRUFDNUIsU0FBb0IsRUFDNUIsdUJBQStDO1FBSC9DLGdCQUFXLEdB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QXNCL0QsWUFBWSw2RUFJWixrQkFBa0IsZ0RDbEVqQyw4bURBdUNBLG1yNkJERWMsVUFBVSwwTEFBaUIsa0JBQWtCLCtJQUFFLGdCQUFnQixvSkFBRSxxQkFBcUIsOERBQUUsZUFBZTs7MkZBR3hHLG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDSSxpQkFBaUIsaUJBRVosaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUVwQyxDQUFDLCtCQUErQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUNqRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxDQUFDLGNBQ3RHLElBQUk7NEtBS2hCLFFBQVE7c0JBRFAsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixhQUFhO3NCQURaLFNBQVM7dUJBQUMsWUFBWTtnQkFLdkIsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLGtCQUFrQjtnQkFzRTdCLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQTExeU1vZHVsZSwgQ2RrVHJhcEZvY3VzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IENka1Njcm9sbGFibGUsIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBLZXlVdGlsLCBOdWxsYWJsZSwgUmVzaXplRGlyZWN0aXZlLCBSZXNpemVIYW5kbGVEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBTY3JvbGxiYXJEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2Nyb2xsYmFyJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB1c2VkIHRvIGVuZm9yY2UgYSBjZXJ0YWluIGxheW91dCBmb3IgdGhlIHBvcG92ZXIuXG4gKiBgYGBodG1sXG4gKiA8ZmQtcG9wb3Zlcj5cbiAqICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPkNvbnRyb2wgRWxlbWVudDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICogICAgIDxmZC1wb3BvdmVyLWJvZHk+UG9wb3ZlciBCb2R5PC9mZC1wb3BvdmVyLWJvZHk+XG4gKiA8L2ZkLXBvcG92ZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1wb3BvdmVyLWJvZHknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmw6ICcuL3BvcG92ZXItYm9keS5jb21wb25lbnQuc2NzcycsXG4gICAgcHJvdmlkZXJzOiBbY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyh7IGFsd2F5c0FkZE1vZGlmaWVyczogdHJ1ZSB9KV0sXG4gICAgaW1wb3J0czogW0ExMXlNb2R1bGUsIENka1Njcm9sbGFibGUsIFNjcm9sbGJhckRpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldCwgUmVzaXplSGFuZGxlRGlyZWN0aXZlLCBSZXNpemVEaXJlY3RpdmVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckJvZHlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvKiogTWluaW11bSB3aWR0aCBvZiB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtaW5XaWR0aDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBNYXhpbXVtIHdpZHRoIG9mIHRoZSBwb3BvdmVyIGJvZHkgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1heFdpZHRoOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIE1pbmltdW0gaGVpZ2h0IG9mIHRoZSBwb3BvdmVyIGJvZHkgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1pbkhlaWdodDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBtYXhIZWlnaHQ6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoQ2RrVHJhcEZvY3VzKVxuICAgIF9jZGtUcmFwRm9jdXM6IENka1RyYXBGb2N1cztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChTY3JvbGxiYXJEaXJlY3RpdmUpXG4gICAgX3Njcm9sbGJhcjogU2Nyb2xsYmFyRGlyZWN0aXZlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gd3JhcCBjb250ZW50IHdpdGggZmQtc2Nyb2xsYmFyIGRpcmVjdGl2ZS4gKi9cbiAgICBfZGlzYWJsZVNjcm9sbGJhciA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGhhdmUgYW4gYXJyb3cuICovXG4gICAgX25vQXJyb3cgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgY29udGFpbmVyIG5lZWRzIGFuIGV4dHJhIGNsYXNzIGZvciBzdHlsaW5nLiAqL1xuICAgIF9hZGRpdGlvbmFsQm9keUNsYXNzOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGZvY3VzVHJhcHBlZC4gKi9cbiAgICBfZm9jdXNUcmFwcGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBhdXRvbWF0aWNhbGx5IG1vdmUgZm9jdXMgaW50byB0aGUgdHJhcHBlZCByZWdpb24gdXBvblxuICAgICAqIGluaXRpYWxpemF0aW9uIGFuZCByZXR1cm4gZm9jdXMgdG8gdGhlIHByZXZpb3VzIGFjdGl2ZUVsZW1lbnQgdXBvbiBkZXN0cnVjdGlvbi5cbiAgICAgKi9cbiAgICBfZm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gUHJvcGVydHkgYmluZCB0byBwb3BvdmVyJ3MgYm9keS4gKi9cbiAgICBfcG9wb3ZlckJvZHlXaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gUHJvcGVydHkgYmluZCB0byBwb3BvdmVyJ3MgYm9keS4gKi9cbiAgICBfcG9wb3ZlckJvZHlNaW5XaWR0aDogbnVtYmVyO1xuXG4gICAgLyoqIEBoaWRkZW4gUHJvcGVydHkgYmluZCB0byBwb3BvdmVyJ3MgYm9keS4gKi9cbiAgICBfbWF4V2lkdGg6IE51bGxhYmxlPG51bWJlcj47XG5cbiAgICAvKiogQGhpZGRlbiBQcm9wZXJ0eSBiaW5kIHRvIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIF9jbG9zZU9uRXNjYXBlS2V5ID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiBBcmlhIHJvbGUgZm9yIHRoZSBwb3BvdmVyIGJvZHkuICovXG4gICAgX2JvZHlSb2xlOiBOdWxsYWJsZTxzdHJpbmc+ID0gJ2RpYWxvZyc7XG5cbiAgICAvKiogQGhpZGRlbiBBcmlhIHJvbGUgZm9yIHRoZSBwb3BvdmVyIGJvZHkuICovXG4gICAgX2JvZHlJZDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQ2xhc3NlcyBhZGRlZCB0byBhcnJvdyBlbGVtZW50LiAqL1xuICAgIF9hcnJvd0NsYXNzZXMgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuIHRleHQgcmVuZGVyZWQgaW5zaWRlIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIHRleHQ6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gdGVtcGxhdGUgcmVuZGVyZWQgaW5zaWRlIHBvcG92ZXIncyBib2R5LiAqL1xuICAgIF90ZW1wbGF0ZVRvRGlzcGxheTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuIFdoZXRoZXIgdGhlIHBvcG92ZXIgYm9keSBpcyByZXNpemFibGUuICovXG4gICAgX3Jlc2l6YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVzaXplSGFuZGxlTG9jYXRpb246ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyA9ICdib3R0b20tcmlnaHQnO1xuXG4gICAgLyoqIENsb3NlIGV2ZW50IGZyb20gcG9wb3ZlciBib2R5ICovXG4gICAgb25DbG9zZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JvZHlDb21wb25lbnRDbGFzc2VzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7fVxuXG4gICAgLyoqIEhhbmRsZXIgZXNjYXBlIGtleWRvd24gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBib2R5S2V5dXBIYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRVNDQVBFKSAmJiB0aGlzLl9jbG9zZU9uRXNjYXBlS2V5KSB7XG4gICAgICAgICAgICAvLyBJbiBjYXNlIGlmIHBvcG92ZXIgYmVsb25ncyB0byB0aGUgZWxlbWVudCBpbnNpZGUgZGlhbG9nXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMub25DbG9zZS5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbGJhcikge1xuICAgICAgICAgICAgdGhpcy5fc2Nyb2xsYmFyLl9pblBvcG92ZXIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0Qm9keUNvbXBvbmVudENsYXNzZXMoY2xhc3Nlczogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ib2R5Q29tcG9uZW50Q2xhc3Nlcz8uc3BsaXQoJyAnKS5mb3JFYWNoKChrbGFzcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrbGFzcyk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9ib2R5Q29tcG9uZW50Q2xhc3NlcyA9IGNsYXNzZXM7XG4gICAgICAgIGlmICghdGhpcy5fYm9keUNvbXBvbmVudENsYXNzZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ib2R5Q29tcG9uZW50Q2xhc3Nlcy5zcGxpdCgnICcpLmZvckVhY2goKGtsYXNzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtsYXNzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0QXJyb3dTdHlsZXMocG9zaXRpb246IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsIHJ0bDogJ3J0bCcgfCAnbHRyJyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVIYW5kbGVMb2NhdGlvbiA9IGAke3Bvc2l0aW9uLm92ZXJsYXlZID09PSAndG9wJyA/ICdib3R0b20nIDogJ3RvcCd9LSR7XG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdyaWdodCcgOiAnbGVmdCdcbiAgICAgICAgfWA7XG4gICAgICAgIGlmICh0aGlzLl9ub0Fycm93KSB7XG4gICAgICAgICAgICB0aGlzLl9hcnJvd0NsYXNzZXMgPSAnJztcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhcnJvd0NsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcG9zaXRpb24ub3ZlcmxheVkgIT09IHBvc2l0aW9uLm9yaWdpblkgJiZcbiAgICAgICAgICAgIHBvc2l0aW9uLm9yaWdpblkgIT09ICdjZW50ZXInICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WSAhPT0gJ2NlbnRlcicgJiZcbiAgICAgICAgICAgIHBvc2l0aW9uLm92ZXJsYXlYID09PSBwb3NpdGlvbi5vcmlnaW5YXG4gICAgICAgICkge1xuICAgICAgICAgICAgYXJyb3dDbGFzc2VzID0gW1xuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS0ke3Bvc2l0aW9uLm92ZXJsYXlZID09PSAndG9wJyA/ICdiZWxvdycgOiAnYWJvdmUnfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLSR7cG9zaXRpb24ub3ZlcmxheVggPT09ICdzdGFydCcgPyAnbGVmdCcgOiAncmlnaHQnfWAsXG4gICAgICAgICAgICAgICAgYGZkLXBvcG92ZXJfX2JvZHktLWFycm93LSR7cG9zaXRpb24ub3ZlcmxheVl9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tYXJyb3cteC0ke3Bvc2l0aW9uLm9yaWdpblh9YFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHBvc2l0aW9uLm92ZXJsYXlYICE9PSBwb3NpdGlvbi5vcmlnaW5YICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vdmVybGF5WCAhPT0gJ2NlbnRlcicgJiZcbiAgICAgICAgICAgIHBvc2l0aW9uLm9yaWdpblggIT09ICdjZW50ZXInICYmXG4gICAgICAgICAgICBwb3NpdGlvbi5vcmlnaW5ZID09PSBwb3NpdGlvbi5vdmVybGF5WVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBvdmVybGF5WCA9IHBvc2l0aW9uLm92ZXJsYXlYO1xuICAgICAgICAgICAgaWYgKHJ0bCA9PT0gJ3J0bCcpIHtcbiAgICAgICAgICAgICAgICBvdmVybGF5WCA9IHBvc2l0aW9uLm92ZXJsYXlYID09PSAnZW5kJyA/ICdzdGFydCcgOiAnZW5kJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFycm93Q2xhc3NlcyA9IFtcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tJHtvdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdhZnRlcicgOiAnYmVmb3JlJ31gLFxuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS0ke292ZXJsYXlYID09PSAnc3RhcnQnID8gJ2xlZnQnIDogJ3JpZ2h0J31gLFxuICAgICAgICAgICAgICAgIGBmZC1wb3BvdmVyX19ib2R5LS0ke3Bvc2l0aW9uLm92ZXJsYXlZID09PSAnY2VudGVyJyA/ICdtaWRkbGUnIDogcG9zaXRpb24ub3ZlcmxheVl9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tYXJyb3ctJHtvdmVybGF5WCA9PT0gJ3N0YXJ0JyA/ICdsZWZ0JyA6ICdyaWdodCd9YCxcbiAgICAgICAgICAgICAgICBgZmQtcG9wb3Zlcl9fYm9keS0tYXJyb3cteS0ke3Bvc2l0aW9uLm9yaWdpbll9IGBcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcnJvd0NsYXNzZXMgPSBbJ2ZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93J107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9hcnJvd0NsYXNzZXMgPSBhcnJvd0NsYXNzZXMuam9pbignICcpO1xuXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZlsnZGVzdHJveWVkJ10pIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQoZm9yY2VkID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKGZvcmNlZCB8fCB0aGlzLl9mb2N1c0F1dG9DYXB0dXJlKSB7XG4gICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nka1RyYXBGb2N1cy5mb2N1c1RyYXAuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJmZC1wb3BvdmVyX19ib2R5IGZkLXBvcG92ZXJfX2JvZHktLXN0YXRpY1wiXG4gICAgW2NsYXNzLmZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93XT1cIl9ub0Fycm93XCJcbiAgICBbY2xhc3MuZmQtcG9wb3Zlcl9fYm9keS0tcmVzaXphYmxlXT1cIl9yZXNpemFibGVcIlxuICAgIFtjbGFzc109XCJfYXJyb3dDbGFzc2VzICsgJyAnICsgKF9hZGRpdGlvbmFsQm9keUNsYXNzIHx8ICcnKVwiXG4gICAgW2Nka1RyYXBGb2N1c109XCJfZm9jdXNUcmFwcGVkXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIl9wb3BvdmVyQm9keU1pbldpZHRoID8gbnVsbCA6IG1pbldpZHRoXCJcbiAgICBbc3R5bGUubWF4LXdpZHRoXT1cIl9tYXhXaWR0aCA/IG51bGwgOiBtYXhXaWR0aFwiXG4gICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwibWluSGVpZ2h0XCJcbiAgICBbc3R5bGUubWF4LWhlaWdodF09XCJtYXhIZWlnaHRcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwiX21heFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cIl9wb3BvdmVyQm9keU1pbldpZHRoXCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwiX3BvcG92ZXJCb2R5V2lkdGhcIlxuICAgIFthdHRyLnJvbGVdPVwiX2JvZHlSb2xlXCJcbiAgICBbYXR0ci5pZF09XCJfYm9keUlkXCJcbiAgICBmZGtSZXNpemVcbiAgICBbZmRrUmVzaXplRGlzYWJsZWRdPVwiIV9yZXNpemFibGVcIlxuICAgIFtmZGtSZXNpemVDbGFzc109XCInZmQtcG9wb3Zlcl9fYm9keS0tZGlzYWJsZS10cmFuc2l0aW9ucydcIlxuICAgIFtmZGtSZXNpemVIYW5kbGVMb2NhdGlvbl09XCJfcmVzaXplSGFuZGxlTG9jYXRpb25cIlxuPlxuICAgIEBpZiAoIV9kaXNhYmxlU2Nyb2xsYmFyKSB7XG4gICAgICAgIDxkaXYgZmQtc2Nyb2xsYmFyIGNsYXNzPVwiZmQtcG9wb3Zlcl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlbmRlcmVyXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyZW5kZXJlclwiPjwvbmctdGVtcGxhdGU+XG4gICAgfVxuICAgIEBpZiAoX3Jlc2l6YWJsZSkge1xuICAgICAgICA8c3BhbiBmZGtSZXNpemVIYW5kbGUgY2xhc3M9XCJmZC1wb3BvdmVyX19yZXNpemUtaGFuZGxlXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLXBvcG92ZXItYm9keS1oZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1wb3BvdmVyLWJvZHktc3ViaGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAge3sgdGV4dCB9fVxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJfdGVtcGxhdGVUb0Rpc3BsYXlcIj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1wb3BvdmVyLWJvZHktZm9vdGVyXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class PopoverContainerDirective {\n /** @hidden */\n constructor(_elmRef) {\n this._elmRef = _elmRef;\n /** Subject which emits when popover position refresh is required. */\n this.refreshPosition$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n }\n /** @hidden */\n ngOnInit() {\n resizeObservable(this._elmRef.nativeElement)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.refreshPosition$.next();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverContainerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverContainerDirective, isStandalone: true, selector: \"[fdPopoverContainer]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverContainer]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1jb250YWluZXIvcG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLHlCQUF5QjtJQU9sQyxjQUFjO0lBQ2QsWUFBb0IsT0FBZ0M7UUFBaEMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFQcEQscUVBQXFFO1FBQ3JFLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMsY0FBYztRQUNHLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBR0ssQ0FBQztJQUV4RCxjQUFjO0lBQ2QsUUFBUTtRQUNKLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OEdBakJRLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHJlc2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkUG9wb3ZlckNvbnRhaW5lcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIFN1YmplY3Qgd2hpY2ggZW1pdHMgd2hlbiBwb3BvdmVyIHBvc2l0aW9uIHJlZnJlc2ggaXMgcmVxdWlyZWQuICovXG4gICAgcmVmcmVzaFBvc2l0aW9uJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsbVJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICByZXNpemVPYnNlcnZhYmxlKHRoaXMuX2VsbVJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoUG9zaXRpb24kLm5leHQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * A component used to enforce a certain layout for the popover.\n * ```html\n * <fd-popover>\n * <fd-popover-control>Control Element</fd-popover-control>\n * <fd-popover-body>Popover Body</fd-popover-body>\n * </fd-popover>\n * ```\n */\nexport class PopoverControlComponent {\n /** @hidden */\n constructor(elRef) {\n this.elRef = elRef;\n /** @hidden */\n this._tabbable = false;\n }\n /** @hidden */\n ngAfterContentChecked() {\n if (this._tabbable) {\n this.makeTabbable();\n }\n }\n /** @hidden */\n makeTabbable() {\n const elemChild = this.elRef.nativeElement.children[0];\n if (elemChild && elemChild.getAttribute('tabindex') !== '-1') {\n elemChild.tabIndex = '0';\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverControlComponent, isStandalone: true, selector: \"fd-popover-control, [fdPopoverControl]\", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverControlComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'fd-popover-control, [fdPopoverControl]',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItY29udHJvbC9wb3BvdmVyLWNvbnRyb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkg7Ozs7Ozs7O0dBUUc7QUFRSCxNQUFNLE9BQU8sdUJBQXVCO0lBSWhDLGNBQWM7SUFDZCxZQUFtQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBSnBDLGNBQWM7UUFDZCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBR3FCLENBQUM7SUFFeEMsY0FBYztJQUNkLHFCQUFxQjtRQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFBWTtRQUNSLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNELFNBQVMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDOzhHQXBCUSx1QkFBdUI7a0dBQXZCLHVCQUF1QixrR0FMdEIsMkJBQTJCOzsyRkFLNUIsdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB1c2VkIHRvIGVuZm9yY2UgYSBjZXJ0YWluIGxheW91dCBmb3IgdGhlIHBvcG92ZXIuXG4gKiBgYGBodG1sXG4gKiA8ZmQtcG9wb3Zlcj5cbiAqICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPkNvbnRyb2wgRWxlbWVudDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICogICAgIDxmZC1wb3BvdmVyLWJvZHk+UG9wb3ZlciBCb2R5PC9mZC1wb3BvdmVyLWJvZHk+XG4gKiA8L2ZkLXBvcG92ZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1wb3BvdmVyLWNvbnRyb2wsIFtmZFBvcG92ZXJDb250cm9sXScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90YWJiYWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3RhYmJhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLm1ha2VUYWJiYWJsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBtYWtlVGFiYmFibGUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1DaGlsZCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcbiAgICAgICAgaWYgKGVsZW1DaGlsZCAmJiBlbGVtQ2hpbGQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpICE9PSAnLTEnKSB7XG4gICAgICAgICAgICBlbGVtQ2hpbGQudGFiSW5kZXggPSAnMCc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const POPOVER_COMPONENT = new InjectionToken('PopoverInterface');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk3RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ0NvbmZpZyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuaW1wb3J0IHsgTW9iaWxlTW9kZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tb2JpbGUtbW9kZSc7XG5cbmV4cG9ydCBjb25zdCBQT1BPVkVSX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQb3BvdmVySW50ZXJmYWNlPignUG9wb3ZlckludGVyZmFjZScpO1xuXG4vKipcbiAqIFBvcG92ZXIgSW50ZXJmYWNlIHRvIGhhdmUgdHlwaW5nIGFuZCBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmN5IGJldHdlZW5cbiAqIFBvcG92ZXJDb21wb25lbnQgPD09PiBQb3BvdmVyTW9iaWxlQ29tcG9uZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlckludGVyZmFjZSBleHRlbmRzIE1vYmlsZU1vZGUge1xuICAgIGRpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnO1xuICAgIGlzT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgY2xvc2UoKTogdm9pZDtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TemplateModule } from '@fundamental-ngx/cdk/utils';\nimport { DialogBodyComponent, DialogCloseButtonComponent, DialogComponent, DialogFooterComponent, DialogHeaderComponent } from '@fundamental-ngx/core/dialog';\nimport { MobileModeBase, MobileModeControl } from '@fundamental-ngx/core/mobile-mode';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { POPOVER_COMPONENT } from '../popover.interface';\nimport * as i0 from \"@angular/core\";\nlet mobilePopoverUniqueId = 0;\nexport class PopoverMobileComponent extends MobileModeBase {\n /** @hidden */\n get titleId() {\n return this.id + '-title';\n }\n /** @hidden */\n constructor(_changeDetectorref, _popoverComponent) {\n super(_popoverComponent, MobileModeControl.POPOVER);\n this._changeDetectorref = _changeDetectorref;\n /** @hidden\n * from mobile class can not prefix _,\n * to avoid build issues\n */\n this.childContent = undefined;\n /** @hidden */\n this.id = 'fd-popover-mobile-' + mobilePopoverUniqueId++;\n /** @hidden */\n this._subscriptions = new Subscription();\n }\n /** @hidden */\n ngOnInit() {\n this._listenOnPopoverOpenChange();\n this.title = this.mobileConfig.title || '';\n this.viewBody = this.childContent?.popoverBodyContentTemplate ?? null;\n this.viewFooter = this.childContent?.popoverFooterContentTemplate ?? null;\n this._changeDetectorref.markForCheck();\n }\n /** @hidden */\n ngOnDestroy() {\n this.dialogRef?.close();\n this._subscriptions.unsubscribe();\n }\n /** Closes the Dialog and Popover component */\n close() {\n this.dialogRef.close();\n this._component.close();\n }\n /** @hidden Opens/closes the Dialog based on Popover isOpenChange events */\n _listenOnPopoverOpenChange() {\n this._subscriptions.add(this._component.isOpenChange.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((isOpen) => {\n if (isOpen) {\n this._openDialog();\n }\n else {\n this.dialogRef.hide(true);\n }\n }));\n }\n /** @hidden Opens the Dialog */\n _openDialog() {\n this.dialogRef = this._dialogService.open(this._dialogTemplate, {\n verticalPadding: true,\n horizontalPadding: true,\n ...this.dialogConfig,\n mobile: true,\n focusTrapped: true,\n escKeyCloseable: false,\n backdropClickCloseable: false,\n container: this._elementRef.nativeElement,\n responsivePadding: true,\n ariaLabelledBy: this.titleId\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: POPOVER_COMPONENT }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PopoverMobileComponent, isStandalone: true, selector: \"fd-popover-mobile\", viewQueries: [{ propertyName: \"_dialogTemplate\", first: true, predicate: [\"dialogTemplate\"], descendants: true }], usesInheritance: true, ngImport: i0, template: \"<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\\\"dialogConfig\\\" #dialogTemplate>\\n <fd-dialog [dialogConfig]=\\\"dialogConfig\\\" [dialogRef]=\\\"dialog\\\" data-mobile-popover>\\n <fd-dialog-header>\\n <h1 fd-title [id]=\\\"titleId\\\">{{ title }}</h1>\\n @if (this.mobileConfig.hasCloseButton) {\\n <button fd-dialog-close-button [mobile]=\\\"true\\\" (click)=\\\"close()\\\"></button>\\n }\\n </fd-dialog-header>\\n <fd-dialog-body>\\n <ng-template [ngTemplateOutlet]=\\\"viewBody\\\"></ng-template>\\n </fd-dialog-body>\\n @if (viewFooter) {\\n <fd-dialog-footer>\\n <ng-template [ngTemplateOutlet]=\\\"viewFooter\\\"></ng-template>\\n </fd-dialog-footer>\\n }\\n </fd-dialog>\\n</ng-template>\\n\", dependencies: [{ kind: \"ngmodule\", type: TemplateModule }, { kind: \"component\", type: TitleComponent, selector: \"[fd-title], [fdTitle]\", inputs: [\"headerSize\", \"wrap\"], exportAs: [\"fd-title\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: DialogComponent, selector: \"fd-dialog\", inputs: [\"class\", \"dialogRef\", \"dialogConfig\"] }, { kind: \"component\", type: DialogBodyComponent, selector: \"fd-dialog-body\", inputs: [\"disablePaddings\"] }, { kind: \"component\", type: DialogHeaderComponent, selector: \"fd-dialog-header\" }, { kind: \"component\", type: DialogFooterComponent, selector: \"fd-dialog-footer\" }, { kind: \"component\", type: DialogCloseButtonComponent, selector: \"[fd-dialog-close-button]\", inputs: [\"mobile\", \"title\", \"ariaLabel\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-popover-mobile', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [\n TemplateModule,\n TitleComponent,\n TitleComponent,\n NgTemplateOutlet,\n DialogComponent,\n DialogBodyComponent,\n DialogHeaderComponent,\n DialogFooterComponent,\n DialogCloseButtonComponent\n ], template: \"<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\\\"dialogConfig\\\" #dialogTemplate>\\n <fd-dialog [dialogConfig]=\\\"dialogConfig\\\" [dialogRef]=\\\"dialog\\\" data-mobile-popover>\\n <fd-dialog-header>\\n <h1 fd-title [id]=\\\"titleId\\\">{{ title }}</h1>\\n @if (this.mobileConfig.hasCloseButton) {\\n <button fd-dialog-close-button [mobile]=\\\"true\\\" (click)=\\\"close()\\\"></button>\\n }\\n </fd-dialog-header>\\n <fd-dialog-body>\\n <ng-template [ngTemplateOutlet]=\\\"viewBody\\\"></ng-template>\\n </fd-dialog-body>\\n @if (viewFooter) {\\n <fd-dialog-footer>\\n <ng-template [ngTemplateOutlet]=\\\"viewFooter\\\"></ng-template>\\n </fd-dialog-footer>\\n }\\n </fd-dialog>\\n</ng-template>\\n\" }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [POPOVER_COMPONENT]\n }] }], propDecorators: { _dialogTemplate: [{\n type: ViewChild,\n args: ['dialogTemplate']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1tb2JpbGUvcG9wb3Zlci1tb2JpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1tb2JpbGUvcG9wb3Zlci1tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFHTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLHNCQUFzQixDQUFDOztBQUUzRSxJQUFJLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQW1COUIsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQWdDO0lBeUJ4RSxjQUFjO0lBQ2QsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENB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LGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNMLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQiwwQkFBMEI7cUJBQzdCOzswQkFtQ0ksTUFBTTsyQkFBQyxpQkFBaUI7eUNBOUI3QixlQUFlO3NCQURkLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUZW1wbGF0ZU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7XG4gICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICBEaWFsb2dDbG9zZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxuICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IE1vYmlsZU1vZGVCYXNlLCBNb2JpbGVNb2RlQ29udHJvbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tb2JpbGUtbW9kZSc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90aXRsZSc7XG5pbXBvcnQgeyBQb3BvdmVyQ2hpbGRDb250ZW50IH0gZnJvbSAnLi4vcG9wb3Zlci1jaGlsZC1jb250ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQT1BPVkVSX0NPTVBPTkVOVCwgUG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4uL3BvcG92ZXIuaW50ZXJmYWNlJztcblxubGV0IG1vYmlsZVBvcG92ZXJVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtcG9wb3Zlci1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLW1vYmlsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRlbXBsYXRlTW9kdWxlLFxuICAgICAgICBUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgVGl0bGVDb21wb25lbnQsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nQm9keUNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ0Nsb3NlQnV0dG9uQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyTW9iaWxlQ29tcG9uZW50IGV4dGVuZHMgTW9iaWxlTW9kZUJhc2U8UG9wb3ZlckludGVyZmFjZT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdkaWFsb2dUZW1wbGF0ZScpXG4gICAgX2RpYWxvZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBmcm9tIG1vYmlsZSBjbGFzcyBjYW4gbm90IHByZWZpeCBfLFxuICAgICAqIHRvIGF2b2lkIGJ1aWxkIGlzc3Vlc1xuICAgICAqL1xuICAgIGNoaWxkQ29udGVudD86IFBvcG92ZXJDaGlsZENvbnRlbnQgPSB1bmRlZmluZWQ7XG5cbiAgICAvKiogQ3VycmVudCBwb3BvdmVyIHRpdGxlICovXG4gICAgdGl0bGU6IHN0cmluZztcbiAgICAvKiogRGlhbG9nIGJvZHkgY29udGVudCAqL1xuICAgIHZpZXdCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcblxuICAgIC8qKiBEaWFsb2cgZm9vdGVyIGNvbnRlbnQgKi9cbiAgICB2aWV3Rm9vdGVyOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgaWQgPSAnZmQtcG9wb3Zlci1tb2JpbGUtJyArIG1vYmlsZVBvcG92ZXJVbmlxdWVJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgdGl0bGVJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICctdGl0bGUnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9ycmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChQT1BPVkVSX0NPTVBPTkVOVCkgX3BvcG92ZXJDb21wb25lbnQ6IFBvcG92ZXJJbnRlcmZhY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX3BvcG92ZXJDb21wb25lbnQsIE1vYmlsZU1vZGVDb250cm9sLlBPUE9WRVIpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uUG9wb3Zlck9wZW5DaGFuZ2UoKTtcblxuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5tb2JpbGVDb25maWcudGl0bGUgfHwgJyc7XG4gICAgICAgIHRoaXMudmlld0JvZHkgPSB0aGlzLmNoaWxkQ29udGVudD8ucG9wb3ZlckJvZHlDb250ZW50VGVtcGxhdGUgPz8gbnVsbDtcbiAgICAgICAgdGhpcy52aWV3Rm9vdGVyID0gdGhpcy5jaGlsZENvbnRlbnQ/LnBvcG92ZXJGb290ZXJDb250ZW50VGVtcGxhdGUgPz8gbnVsbDtcblxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvcnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZj8uY2xvc2UoKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZXMgdGhlIERpYWxvZyBhbmQgUG9wb3ZlciBjb21wb25lbnQgKi9cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5fY29tcG9uZW50LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gT3BlbnMvY2xvc2VzIHRoZSBEaWFsb2cgYmFzZWQgb24gUG9wb3ZlciBpc09wZW5DaGFuZ2UgZXZlbnRzICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25Qb3BvdmVyT3BlbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnQuaXNPcGVuQ2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGlzT3BlbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb3BlbkRpYWxvZygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmhpZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBPcGVucyB0aGUgRGlhbG9nICovXG4gICAgcHJpdmF0ZSBfb3BlbkRpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5fZGlhbG9nVGVtcGxhdGUsIHtcbiAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGhvcml6b250YWxQYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgLi4udGhpcy5kaWFsb2dDb25maWcsXG4gICAgICAgICAgICBtb2JpbGU6IHRydWUsXG4gICAgICAgICAgICBmb2N1c1RyYXBwZWQ6IHRydWUsXG4gICAgICAgICAgICBlc2NLZXlDbG9zZWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjb250YWluZXI6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6IHRoaXMudGl0bGVJZFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW2ZkRGlhbG9nVGVtcGxhdGVdIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNkaWFsb2dUZW1wbGF0ZT5cbiAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIiBkYXRhLW1vYmlsZS1wb3BvdmVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxoMSBmZC10aXRsZSBbaWRdPVwidGl0bGVJZFwiPnt7IHRpdGxlIH19PC9oMT5cbiAgICAgICAgICAgIEBpZiAodGhpcy5tb2JpbGVDb25maWcuaGFzQ2xvc2VCdXR0b24pIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWRpYWxvZy1jbG9zZS1idXR0b24gW21vYmlsZV09XCJ0cnVlXCIgKGNsaWNrKT1cImNsb3NlKClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidmlld0JvZHlcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuICAgICAgICBAaWYgKHZpZXdGb290ZXIpIHtcbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ2aWV3Rm9vdGVyXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgfVxuICAgIDwvZmQtZGlhbG9nPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { PopoverMobileComponent } from './popover-mobile.component';\nimport * as i0 from \"@angular/core\";\nexport class PopoverMobileModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileModule, imports: [DialogModule, ButtonComponent, PopoverMobileComponent], exports: [PopoverMobileComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileModule, providers: [DynamicComponentService], imports: [DialogModule, ButtonComponent, PopoverMobileComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverMobileModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [DialogModule, ButtonComponent, PopoverMobileComponent],\n exports: [PopoverMobileComponent],\n providers: [DynamicComponentService]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1tb2JpbGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1tb2JpbGUvcG9wb3Zlci1tb2JpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsWUFKbEIsWUFBWSxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsYUFDckQsc0JBQXNCOytHQUd2QixtQkFBbUIsYUFGakIsQ0FBQyx1QkFBdUIsQ0FBQyxZQUYxQixZQUFZLEVBQUUsZUFBZSxFQUFFLHNCQUFzQjs7MkZBSXRELG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDO29CQUNoRSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IFBvcG92ZXJNb2JpbGVDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItbW9iaWxlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0RpYWxvZ01vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBQb3BvdmVyTW9iaWxlQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbUG9wb3Zlck1vYmlsZUNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbRHluYW1pY0NvbXBvbmVudFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJNb2JpbGVNb2R1bGUge31cbiJdfQ==","import { Overlay, OverlayConfig, ViewportRuler } from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { DestroyRef, ElementRef, Injectable, Injector, Optional, Renderer2, TemplateRef, inject } from '@angular/core';\nimport { Subject, merge } from 'rxjs';\nimport { distinctUntilChanged, filter, startWith, takeUntil } from 'rxjs/operators';\nimport { RtlService, destroyObservable, isOdd } from '@fundamental-ngx/cdk/utils';\nimport { GetDefaultPosition, PopoverPosition } from '@fundamental-ngx/core/shared';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BasePopoverClass } from '../base/base-popover.class';\nimport { PopoverBodyComponent } from '../popover-body/popover-body.component';\nimport { PopoverContainerDirective } from '../popover-container/popover-container.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/overlay\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nimport * as i3 from \"../popover-container/popover-container.directive\";\nconst MAX_BODY_SIZE = 99999999;\nexport class PopoverService extends BasePopoverClass {\n /** @hidden */\n get _triggerHtmlElement() {\n return this._triggerElement instanceof ElementRef ? this._triggerElement.nativeElement : this._triggerElement;\n }\n /** @hidden */\n constructor(_overlay, _renderer, _viewportRuler, _injector, _rtlService, _popoverContainer) {\n super();\n this._overlay = _overlay;\n this._renderer = _renderer;\n this._viewportRuler = _viewportRuler;\n this._injector = _injector;\n this._rtlService = _rtlService;\n this._popoverContainer = _popoverContainer;\n /** @hidden */\n this._onLoad = new Subject();\n /** @hidden */\n this._mobile = false;\n /** @hidden */\n this._eventRef = [];\n /** @hidden */\n this._stopCloseListening$ = new Subject();\n /** @hidden */\n this._placementRefresh$ = new Subject();\n /** @hidden */\n this._ignoreTriggers = false;\n /** @hidden */\n this._modalBodyClass = 'fd-overlay-active';\n /** @hidden */\n this._modalTriggerClass = 'fd-popover__modal';\n /** @hidden */\n this._isModal = false;\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n this._destroyRef = inject(DestroyRef);\n /** Merge observables - close or destroy */\n this._refresh$ = merge(this.isOpenChange, destroyObservable(this._destroyRef));\n this._destroyRef.onDestroy(() => {\n this._removeTriggerListeners();\n if (this._overlayRef) {\n this._overlayRef.detach();\n this._overlayRef.dispose();\n }\n if (this._isModal) {\n this._removeOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n });\n }\n /**\n * Method initialising the popover service - should be called, after view is initialised, params:\n * - triggerElement - element, which is equivalent for cdkOverlayOrigin, or fd-popover-control,\n * by default to this element the popover body will lbe appended and events on this element will trigger\n * popover's toggle\n * - config - configuration object - in this case the intention is to use inheritance of BasePopoverClass in component\n * - templateData - in case of having already PopoverBodyComponent, there is way to pass container, template containing\n * PopoverComponent and PopoverComponent instance\n */\n initialise(triggerElement, config, templateData) {\n if (templateData instanceof TemplateRef) {\n this.templateContent = templateData;\n }\n else {\n this._templateData = templateData;\n }\n this._triggerElement = triggerElement;\n if (config) {\n this.refreshConfiguration(config);\n }\n this._refreshTriggerListeners();\n if (this.isOpen) {\n this.open();\n }\n // If wrapper container height changes outside, refresh popover position.\n this._popoverContainer?.refreshPosition$.pipe(takeUntil(this._refresh$)).subscribe(() => {\n this.refreshPosition();\n });\n }\n /** Closes the popover. */\n close(focusActiveElement = true) {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n const prevState = this.isOpen;\n this.isOpen = false;\n if (prevState !== this.isOpen) {\n this.isOpenChange.emit(this.isOpen);\n }\n this.checkModalBackground();\n this._focusLastActiveElementBeforeOpen(focusActiveElement);\n }\n /** Opens the popover. */\n open() {\n if ((!this._overlayRef || !this._overlayRef.hasAttached()) && !this.disabled && this._triggerElement) {\n this.beforeOpen.emit();\n const position = this._getPositionStrategy();\n this._overlayRef = this._overlay.create(this._getOverlayConfig(position));\n if (this._placementContainer) {\n const placementElement = this._placementContainer instanceof ElementRef\n ? this._placementContainer.nativeElement\n : this._placementContainer;\n placementElement.append(this._overlayRef.hostElement);\n }\n if (this._templateData) {\n this._attachTemplate();\n }\n else {\n this._attachBodyComponent();\n }\n this._stopCloseListening$.next();\n this._listenForPositionChange(position.positionChanges);\n if (this.fillControlMode) {\n this._listenOnResize();\n }\n const prevState = this.isOpen;\n this.isOpen = true;\n if (prevState !== this.isOpen) {\n this.isOpenChange.emit(this.isOpen);\n }\n this._detectChanges();\n this._listenOnClose();\n this._focusFirstTabbableElement();\n this._onLoad.next(this._getPopoverBody()._elementRef);\n this._overlayRef.updatePosition();\n }\n }\n /** method updating template or text inside rendered PopoverBody */\n updateContent(stringContent, templateContent) {\n templateContent = !templateContent\n ? typeof stringContent === 'string'\n ? null\n : stringContent\n : templateContent;\n stringContent = typeof stringContent === 'string' ? stringContent : null;\n this.stringContent = stringContent;\n this.templateContent = templateContent;\n if (this._getPopoverBody()) {\n this._passVariablesToBody();\n }\n }\n /** Changes background theming when modal */\n /** @hidden */\n checkModalBackground() {\n const isClosingConditions = (!this.closeOnOutsideClick || !this.closeOnEscapeKey) && this.applyOverlay;\n if (isClosingConditions && this.isOpen) {\n this._addModalOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n else if (isClosingConditions && !this.isOpen) {\n this._removeOverlay(this._modalBodyClass, this._modalTriggerClass);\n }\n }\n /** Toggles the popover open state */\n toggle(openAction = true, closeAction = true) {\n if (this.isOpen) {\n closeAction && this.close();\n }\n else {\n openAction && this.open();\n this.checkModalBackground();\n }\n }\n /**\n * Method called to change position of popover,\n * recommended to be used only when popover is opened, otherwise change position or cdkPlacement\n */\n applyNewPosition(positions) {\n const refPosition = this._getPositionStrategy(positions);\n this._listenForPositionChange(refPosition.positionChanges);\n this._overlayRef.updatePositionStrategy(refPosition);\n }\n /** Method called to refresh position of opened popover */\n refreshPosition() {\n this._overlayRef?.updatePosition();\n }\n /** Temporary sets the ignoring of the event triggers. */\n setIgnoreTriggers(ignore) {\n this._ignoreTriggers = ignore;\n }\n /**\n * Method that sets configuration/options, it detects if there is something changed and overwrites them\n */\n refreshConfiguration(config) {\n this._placementContainer = config.placementContainer;\n const onlyChanged = Object.keys(new BasePopoverClass()).filter((key) => this[key] !== config[key]);\n if (onlyChanged.includes('isOpen')) {\n if (config.isOpen) {\n this.open();\n }\n else {\n this.close();\n }\n }\n if (onlyChanged.includes('placementContainer')) {\n this._placementContainer = config.placementContainer;\n }\n /** TODO\n * This overriding is dangerous thing and leads to unexpected behavior\n * We have to avoid this.\n */\n onlyChanged.forEach((key) => (this[key] = config[key]));\n if (onlyChanged.includes('triggers')) {\n this._refreshTriggerListeners();\n }\n }\n /**\n * This method is intended to be called in order\n * to postpone the main functionality but be able\n * to enable it back in the future by initialise()\n */\n deactivate() {\n this._removeTriggerListeners();\n }\n /** Refresh listeners on trigger element events */\n _refreshTriggerListeners() {\n if (!this._triggerElement) {\n return;\n }\n this._removeTriggerListeners();\n if (this.triggers?.length) {\n this._normalizeTriggers().forEach((trigger) => {\n this._eventRef.push(this._renderer.listen(this._triggerHtmlElement, trigger.trigger, (event) => {\n if (this._ignoreTriggers) {\n return;\n }\n const closeAction = !!trigger.closeAction;\n const openAction = !!trigger.openAction;\n this.toggle(openAction, closeAction);\n if (trigger.stopPropagation) {\n event.stopImmediatePropagation();\n }\n }));\n });\n }\n }\n /**\n * Updates trigger element and refreshes the listeners.\n * @param trigger Trigger element ref.\n */\n updateTriggerElement(trigger) {\n this._triggerElement = trigger;\n this._refreshTriggerListeners();\n }\n /** @hidden */\n _normalizeTriggers() {\n return this.triggers.map((trigger, index) => {\n if (typeof trigger === 'object' && trigger.trigger) {\n return trigger;\n }\n const oddNumber = isOdd(index + 1);\n return {\n trigger,\n openAction: this.triggers.length === 1 || oddNumber,\n closeAction: this.triggers.length === 1 || !oddNumber,\n stopPropagation: false\n };\n });\n }\n /** @hidden */\n _getOverlayConfig(position) {\n const direction = this._getDirection();\n return new OverlayConfig({\n direction,\n disposeOnNavigation: this.closeOnNavigation,\n positionStrategy: position,\n scrollStrategy: this.scrollStrategy || this._overlay.scrollStrategies.reposition()\n });\n }\n /** @hidden */\n _listenOnResize() {\n this._viewportRuler\n .change(15)\n .pipe(takeUntil(this._refresh$), startWith(1))\n .subscribe(() => this._applyWidthOverlay());\n }\n /** @hidden */\n _getDirection() {\n if (!this._rtlService) {\n return 'ltr';\n }\n return this._rtlService.rtl.getValue() ? 'rtl' : 'ltr';\n }\n /** @hidden */\n _getPositionStrategy(forcedPositions) {\n let resultPosition = forcedPositions ? forcedPositions : this._getPositions();\n if (!this.fixedPosition) {\n resultPosition = resultPosition.concat(GetDefaultPosition(resultPosition));\n }\n return this._overlay\n .position()\n .flexibleConnectedTo(this.appendTo || this._triggerElement)\n .withPositions(resultPosition)\n .withPush(false)\n .withGrowAfterOpen(true);\n }\n /** remove listeners from trigger element events */\n _removeTriggerListeners() {\n this._eventRef.forEach((event) => event());\n this._eventRef = [];\n }\n _addModalOverlay(bodyClass, triggerClass) {\n this._renderer.addClass(document.body, bodyClass);\n this._renderer.addClass(this._triggerElement.nativeElement, triggerClass);\n this._isModal = true;\n }\n _removeOverlay(bodyClass, triggerClass) {\n this._renderer.removeClass(document.body, bodyClass);\n this._renderer.removeClass(this._triggerElement.nativeElement, triggerClass);\n this._isModal = false;\n }\n /** Attach template containing popover body to overlay */\n _attachTemplate() {\n this._passVariablesToBody();\n if (this._templateData) {\n this._overlayRef.attach(new TemplatePortal(this._templateData.template, this._templateData.container));\n }\n }\n /** Create PopoverBodyComponent and attach it into overlay */\n _attachBodyComponent() {\n const overlay = this._overlayRef.attach(new ComponentPortal(PopoverBodyComponent, null, this._injector));\n this._popoverBody = overlay.instance;\n this._passVariablesToBody();\n }\n /** @hidden */\n _listenForPositionChange(positionChange) {\n this._placementRefresh$.next();\n positionChange\n .pipe(filter(() => !this.noArrow && !!this._getPopoverBody()), distinctUntilChanged((previous, current) => previous.connectionPair === current.connectionPair), takeUntil(this._placementRefresh$), takeUntilDestroyed(this._destroyRef))\n .subscribe((event) => this._getPopoverBody()._setArrowStyles(event.connectionPair, this._getDirection()));\n }\n /** Subscribe to close events from CDK Overlay, to throw proper events, change values */\n _listenOnClose() {\n const closeEvents$ = merge(this._overlayRef.detachments(), this._getPopoverBody().onClose, this._outsideClicks$());\n const finalizer$ = merge(this._stopCloseListening$, this._refresh$);\n closeEvents$.pipe(takeUntil(finalizer$)).subscribe(() => this.close());\n }\n /** Listener for click events */\n _outsideClicks$() {\n return merge(this._overlayRef.backdropClick(), this._overlayRef._outsidePointerEvents).pipe(filter((event) => this._shouldClose(event)));\n }\n /** @hidden */\n _shouldClose(event) {\n return (this.isOpen &&\n this.closeOnOutsideClick &&\n !this._triggerContainsTarget(event) &&\n !this._targetIsPopoverMobileDialog(event));\n }\n /** @hidden */\n _targetIsPopoverMobileDialog(event) {\n if (this._mobile) {\n let el = event.target.parentElement;\n while (el) {\n if (el.hasAttribute('data-mobile-popover')) {\n return true;\n }\n else {\n el = el.parentElement;\n }\n }\n }\n return false;\n }\n /** @hidden */\n _getEventTarget(event) {\n return event.composedPath ? event.composedPath()[0] : event.target;\n }\n /** @hidden */\n _triggerContainsTarget(event) {\n return this._triggerHtmlElement.contains(this._getEventTarget(event));\n }\n /** @hidden */\n _getPositions() {\n if (this.cdkPositions) {\n return this.cdkPositions;\n }\n if (this.placement) {\n return [PopoverPosition.getCdkPlacement(this.placement, this._getDirection())];\n }\n return [];\n }\n /** @hidden */\n _applyWidthOverlay() {\n const maxWidthLimit = this.maxWidth ? this.maxWidth : MAX_BODY_SIZE;\n const width = Math.min(this._getTriggerWidth(), maxWidthLimit);\n if (this.fillControlMode === 'at-least') {\n this._getPopoverBody()._popoverBodyMinWidth = width;\n }\n else if (this.fillControlMode === 'equal') {\n this._getPopoverBody()._popoverBodyWidth = width;\n }\n this._detectChanges();\n }\n /** @hidden */\n _passVariablesToBody() {\n const body = this._getPopoverBody();\n body.text = this.stringContent;\n body._additionalBodyClass = this.additionalBodyClass;\n body._focusTrapped = this.focusTrapped;\n body._maxWidth = this.maxWidth;\n body._noArrow = this.noArrow;\n body._focusAutoCapture = this.focusAutoCapture;\n body._disableScrollbar = this.disableScrollbar;\n body._templateToDisplay = this.templateContent;\n body._closeOnEscapeKey = this.closeOnEscapeKey;\n body._bodyRole = this._bodyRole;\n body._bodyId = this._bodyId;\n body._resizable = this.resizable;\n body._setBodyComponentClasses(this.additionalBodyComponentClasses);\n this._detectChanges();\n }\n /** @hidden */\n _getTriggerWidth() {\n return this._triggerHtmlElement.offsetWidth;\n }\n /** @hidden */\n _getPopoverBody() {\n return this._templateData?.popoverBody || this._popoverBody;\n }\n /** @hidden */\n _detectChanges() {\n if (this._getPopoverBody()) {\n this._getPopoverBody().detectChanges();\n }\n }\n /** @hidden */\n _focusFirstTabbableElement(focusLastElement = true) {\n if (focusLastElement && this.focusAutoCapture) {\n this._lastActiveElement = document.activeElement;\n this._getPopoverBody()?._focusFirstTabbableElement();\n }\n }\n /** @hidden */\n _focusLastActiveElementBeforeOpen(focusLastElement = true) {\n if (focusLastElement && this.restoreFocusOnClose && this.focusAutoCapture && this._lastActiveElement) {\n this._lastActiveElement.focus();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverService, deps: [{ token: i1.Overlay }, { token: i0.Renderer2 }, { token: i1.ViewportRuler }, { token: i0.Injector }, { token: i2.RtlService, optional: true }, { token: i3.PopoverContainerDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Renderer2 }, { type: i1.ViewportRuler }, { type: i0.Injector }, { type: i2.RtlService, decorators: [{\n type: Optional\n }] }, { type: i3.PopoverContainerDirective, decorators: [{\n type: Optional\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvcG9wb3Zlci1zZXJ2aWNlL3BvcG92ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsT0FBTyxFQUNQLGFBQWEsRUFFYixhQUFhLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEVBQ1YsUUFBUSxFQUNSLFFBQVEsRUFDUixTQUFTLEVBQ1QsV0FBVyxFQUVYLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixPQUFPLEVBQVksVUFBVSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sNEJBQTRCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7O0FBRTdGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQVMvQixNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQTBEaEQsY0FBYztJ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UUFDcEMsQ0FBQztJQUNMLENBQUM7OEdBL2lCUSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQXNFRixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsXG4gICAgQ29ubmVjdGVkUG9zaXRpb24sXG4gICAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5UmVmLFxuICAgIFZpZXdwb3J0UnVsZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3RvcixcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE51bGxhYmxlLCBSdGxTZXJ2aWNlLCBkZXN0cm95T2JzZXJ2YWJsZSwgaXNPZGQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBHZXREZWZhdWx0UG9zaXRpb24sIFBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCYXNlUG9wb3ZlckNsYXNzLCBUcmlnZ2VyQ29uZmlnIH0gZnJvbSAnLi4vYmFzZS9iYXNlLXBvcG92ZXIuY2xhc3MnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vcG9wb3Zlci1jb250YWluZXIvcG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlJztcblxuY29uc3QgTUFYX0JPRFlfU0laRSA9IDk5OTk5OTk5O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvcG92ZXJUZW1wbGF0ZSB7XG4gICAgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIHBvcG92ZXJCb2R5OiBQb3BvdmVyQm9keUNvbXBvbmVudDtcbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJTZXJ2aWNlIGV4dGVuZHMgQmFzZVBvcG92ZXJDbGFzcyB7XG4gICAgLyoqIFN0cmluZyBjb250ZW50IGRpc3BsYXllZCBpbnNpZGUgcG9wb3ZlciBib2R5ICovXG4gICAgc3RyaW5nQ29udGVudDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBUZW1wbGF0ZSBjb250ZW50IGRpc3BsYXllZCBpbnNpZGUgcG9wb3ZlciBib2R5ICovXG4gICAgdGVtcGxhdGVDb250ZW50OiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uTG9hZCA9IG5ldyBTdWJqZWN0PEVsZW1lbnRSZWY+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9tb2JpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZXZlbnRSZWY6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlZnJlc2gkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCB2b2lkPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3RvcENsb3NlTGlzdGVuaW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BsYWNlbWVudFJlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcG9wb3ZlckJvZHk6IFBvcG92ZXJCb2R5Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBIVE1MRWxlbWVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGFzdEFjdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90ZW1wbGF0ZURhdGE6IE51bGxhYmxlPFBvcG92ZXJUZW1wbGF0ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3BsYWNlbWVudENvbnRhaW5lcjogQmFzZVBvcG92ZXJDbGFzc1sncGxhY2VtZW50Q29udGFpbmVyJ107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lnbm9yZVRyaWdnZXJzID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21vZGFsQm9keUNsYXNzID0gJ2ZkLW92ZXJsYXktYWN0aXZlJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbW9kYWxUcmlnZ2VyQ2xhc3MgPSAnZmQtcG9wb3Zlcl9fbW9kYWwnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc01vZGFsID0gZmFsc2U7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfdHJpZ2dlckh0bWxFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJFbGVtZW50IGluc3RhbmNlb2YgRWxlbWVudFJlZiA/IHRoaXMuX3RyaWdnZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgOiB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3BvcG92ZXJDb250YWluZXI6IFBvcG92ZXJDb250YWluZXJEaXJlY3RpdmVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvKiogTWVyZ2Ugb2JzZXJ2YWJsZXMgLSBjbG9zZSBvciBkZXN0cm95ICovXG4gICAgICAgIHRoaXMuX3JlZnJlc2gkID0gbWVyZ2UodGhpcy5pc09wZW5DaGFuZ2UsIGRlc3Ryb3lPYnNlcnZhYmxlKHRoaXMuX2Rlc3Ryb3lSZWYpKTtcblxuICAgICAgICB0aGlzLl9kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVUcmlnZ2VyTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9pc01vZGFsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlT3ZlcmxheSh0aGlzLl9tb2RhbEJvZHlDbGFzcywgdGhpcy5fbW9kYWxUcmlnZ2VyQ2xhc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgaW5pdGlhbGlzaW5nIHRoZSBwb3BvdmVyIHNlcnZpY2UgLSBzaG91bGQgYmUgY2FsbGVkLCBhZnRlciB2aWV3IGlzIGluaXRpYWxpc2VkLCBwYXJhbXM6XG4gICAgICogLSB0cmlnZ2VyRWxlbWVudCAtIGVsZW1lbnQsIHdoaWNoIGlzIGVxdWl2YWxlbnQgZm9yIGNka092ZXJsYXlPcmlnaW4sIG9yIGZkLXBvcG92ZXItY29udHJvbCxcbiAgICAgKiAgIGJ5IGRlZmF1bHQgdG8gdGhpcyBlbGVtZW50IHRoZSBwb3BvdmVyIGJvZHkgd2lsbCBsYmUgYXBwZW5kZWQgYW5kIGV2ZW50cyBvbiB0aGlzIGVsZW1lbnQgd2lsbCB0cmlnZ2VyXG4gICAgICogICBwb3BvdmVyJ3MgIHRvZ2dsZVxuICAgICAqIC0gY29uZmlnIC0gY29uZmlndXJhdGlvbiBvYmplY3QgLSBpbiB0aGlzIGNhc2UgdGhlIGludGVudGlvbiBpcyB0byB1c2UgaW5oZXJpdGFuY2Ugb2YgQmFzZVBvcG92ZXJDbGFzcyBpbiBjb21wb25lbnRcbiAgICAgKiAtIHRlbXBsYXRlRGF0YSAtIGluIGNhc2Ugb2YgaGF2aW5nIGFscmVhZHkgUG9wb3ZlckJvZHlDb21wb25lbnQsIHRoZXJlIGlzIHdheSB0byBwYXNzIGNvbnRhaW5lciwgdGVtcGxhdGUgY29udGFpbmluZ1xuICAgICAqICAgUG9wb3ZlckNvbXBvbmVudCBhbmQgUG9wb3ZlckNvbXBvbmVudCBpbnN0YW5jZVxuICAgICAqL1xuICAgIGluaXRpYWxpc2UoXG4gICAgICAgIHRyaWdnZXJFbGVtZW50OiBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQsXG4gICAgICAgIGNvbmZpZz86IEJhc2VQb3BvdmVyQ2xhc3MsXG4gICAgICAgIHRlbXBsYXRlRGF0YT86IFBvcG92ZXJUZW1wbGF0ZSB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAodGVtcGxhdGVEYXRhIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVDb250ZW50ID0gdGVtcGxhdGVEYXRhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVEYXRhID0gdGVtcGxhdGVEYXRhO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlckVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoQ29uZmlndXJhdGlvbihjb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaFRyaWdnZXJMaXN0ZW5lcnMoKTtcblxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgd3JhcHBlciBjb250YWluZXIgaGVpZ2h0IGNoYW5nZXMgb3V0c2lkZSwgcmVmcmVzaCBwb3BvdmVyIHBvc2l0aW9uLlxuICAgICAgICB0aGlzLl9wb3BvdmVyQ29udGFpbmVyPy5yZWZyZXNoUG9zaXRpb24kLnBpcGUodGFrZVVudGlsKHRoaXMuX3JlZnJlc2gkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFBvc2l0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXG4gICAgY2xvc2UoZm9jdXNBY3RpdmVFbGVtZW50ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLmlzT3BlbjtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKHByZXZTdGF0ZSAhPT0gdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQodGhpcy5pc09wZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGVja01vZGFsQmFja2dyb3VuZCgpO1xuICAgICAgICB0aGlzLl9mb2N1c0xhc3RBY3RpdmVFbGVtZW50QmVmb3JlT3Blbihmb2N1c0FjdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKiBPcGVucyB0aGUgcG9wb3Zlci4gKi9cbiAgICBvcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoKCF0aGlzLl9vdmVybGF5UmVmIHx8ICF0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpICYmICF0aGlzLmRpc2FibGVkICYmIHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmJlZm9yZU9wZW4uZW1pdCgpO1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLl9nZXRQb3NpdGlvblN0cmF0ZWd5KCk7XG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUodGhpcy5fZ2V0T3ZlcmxheUNvbmZpZyhwb3NpdGlvbikpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5fcGxhY2VtZW50Q29udGFpbmVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50RWxlbWVudCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BsYWNlbWVudENvbnRhaW5lciBpbnN0YW5jZW9mIEVsZW1lbnRSZWZcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5fcGxhY2VtZW50Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5fcGxhY2VtZW50Q29udGFpbmVyO1xuXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50RWxlbWVudC5hcHBlbmQodGhpcy5fb3ZlcmxheVJlZi5ob3N0RWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl90ZW1wbGF0ZURhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hdHRhY2hUZW1wbGF0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hdHRhY2hCb2R5Q29tcG9uZW50KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3N0b3BDbG9zZUxpc3RlbmluZyQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuRm9yUG9zaXRpb25DaGFuZ2UocG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZmlsbENvbnRyb2xNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGlzdGVuT25SZXNpemUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5pc09wZW47XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICBpZiAocHJldlN0YXRlICE9PSB0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQodGhpcy5pc09wZW4pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2xpc3Rlbk9uQ2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQoKTtcbiAgICAgICAgICAgIHRoaXMuX29uTG9hZC5uZXh0KHRoaXMuX2dldFBvcG92ZXJCb2R5KCkuX2VsZW1lbnRSZWYpO1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCB1cGRhdGluZyB0ZW1wbGF0ZSBvciB0ZXh0IGluc2lkZSByZW5kZXJlZCBQb3BvdmVyQm9keSAqL1xuICAgIHVwZGF0ZUNvbnRlbnQoXG4gICAgICAgIHN0cmluZ0NvbnRlbnQ6IE51bGxhYmxlPHN0cmluZz4gfCBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PixcbiAgICAgICAgdGVtcGxhdGVDb250ZW50OiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PlxuICAgICk6IHZvaWQge1xuICAgICAgICB0ZW1wbGF0ZUNvbnRlbnQgPSAhdGVtcGxhdGVDb250ZW50XG4gICAgICAgICAgICA/IHR5cGVvZiBzdHJpbmdDb250ZW50ID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgIDogc3RyaW5nQ29udGVudFxuICAgICAgICAgICAgOiB0ZW1wbGF0ZUNvbnRlbnQ7XG4gICAgICAgIHN0cmluZ0NvbnRlbnQgPSB0eXBlb2Ygc3RyaW5nQ29udGVudCA9PT0gJ3N0cmluZycgPyBzdHJpbmdDb250ZW50IDogbnVsbDtcbiAgICAgICAgdGhpcy5zdHJpbmdDb250ZW50ID0gc3RyaW5nQ29udGVudDtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUNvbnRlbnQgPSB0ZW1wbGF0ZUNvbnRlbnQ7XG4gICAgICAgIGlmICh0aGlzLl9nZXRQb3BvdmVyQm9keSgpKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXNzVmFyaWFibGVzVG9Cb2R5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hhbmdlcyBiYWNrZ3JvdW5kIHRoZW1pbmcgd2hlbiBtb2RhbCAqL1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2hlY2tNb2RhbEJhY2tncm91bmQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzQ2xvc2luZ0NvbmRpdGlvbnMgPSAoIXRoaXMuY2xvc2VPbk91dHNpZGVDbGljayB8fCAhdGhpcy5jbG9zZU9uRXNjYXBlS2V5KSAmJiB0aGlzLmFwcGx5T3ZlcmxheTtcbiAgICAgICAgaWYgKGlzQ2xvc2luZ0NvbmRpdGlvbnMgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FkZE1vZGFsT3ZlcmxheSh0aGlzLl9tb2RhbEJvZHlDbGFzcywgdGhpcy5fbW9kYWxUcmlnZ2VyQ2xhc3MpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzQ2xvc2luZ0NvbmRpdGlvbnMgJiYgIXRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVPdmVybGF5KHRoaXMuX21vZGFsQm9keUNsYXNzLCB0aGlzLl9tb2RhbFRyaWdnZXJDbGFzcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVG9nZ2xlcyB0aGUgcG9wb3ZlciBvcGVuIHN0YXRlICovXG4gICAgdG9nZ2xlKG9wZW5BY3Rpb24gPSB0cnVlLCBjbG9zZUFjdGlvbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICBjbG9zZUFjdGlvbiAmJiB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcGVuQWN0aW9uICYmIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgdGhpcy5jaGVja01vZGFsQmFja2dyb3VuZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIGNhbGxlZCB0byBjaGFuZ2UgcG9zaXRpb24gb2YgcG9wb3ZlcixcbiAgICAgKiByZWNvbW1lbmRlZCB0byBiZSB1c2VkIG9ubHkgd2hlbiBwb3BvdmVyIGlzIG9wZW5lZCwgb3RoZXJ3aXNlIGNoYW5nZSBwb3NpdGlvbiBvciBjZGtQbGFjZW1lbnRcbiAgICAgKi9cbiAgICBhcHBseU5ld1Bvc2l0aW9uKHBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCByZWZQb3NpdGlvbiA9IHRoaXMuX2dldFBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25zKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuRm9yUG9zaXRpb25DaGFuZ2UocmVmUG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHJlZlBvc2l0aW9uKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIGNhbGxlZCB0byByZWZyZXNoIHBvc2l0aW9uIG9mIG9wZW5lZCBwb3BvdmVyICovXG4gICAgcmVmcmVzaFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBUZW1wb3Jhcnkgc2V0cyB0aGUgaWdub3Jpbmcgb2YgdGhlIGV2ZW50IHRyaWdnZXJzLiAqL1xuICAgIHNldElnbm9yZVRyaWdnZXJzKGlnbm9yZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pZ25vcmVUcmlnZ2VycyA9IGlnbm9yZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdGhhdCBzZXRzIGNvbmZpZ3VyYXRpb24vb3B0aW9ucywgaXQgZGV0ZWN0cyBpZiB0aGVyZSBpcyBzb21ldGhpbmcgY2hhbmdlZCBhbmQgb3ZlcndyaXRlcyB0aGVtXG4gICAgICovXG4gICAgcmVmcmVzaENvbmZpZ3VyYXRpb24oY29uZmlnOiBCYXNlUG9wb3ZlckNsYXNzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3BsYWNlbWVudENvbnRhaW5lciA9IGNvbmZpZy5wbGFjZW1lbnRDb250YWluZXI7XG4gICAgICAgIGNvbnN0IG9ubHlDaGFuZ2VkID0gT2JqZWN0LmtleXMobmV3IEJhc2VQb3BvdmVyQ2xhc3MoKSkuZmlsdGVyKChrZXkpID0+IHRoaXNba2V5XSAhPT0gY29uZmlnW2tleV0pO1xuXG4gICAgICAgIGlmIChvbmx5Q2hhbmdlZC5pbmNsdWRlcygnaXNPcGVuJykpIHtcbiAgICAgICAgICAgIGlmIChjb25maWcuaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbmx5Q2hhbmdlZC5pbmNsdWRlcygncGxhY2VtZW50Q29udGFpbmVyJykpIHtcbiAgICAgICAgICAgIHRoaXMuX3BsYWNlbWVudENvbnRhaW5lciA9IGNvbmZpZy5wbGFjZW1lbnRDb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogVE9ET1xuICAgICAgICAgKiBUaGlzIG92ZXJyaWRpbmcgaXMgZGFuZ2Vyb3VzIHRoaW5nIGFuZCBsZWFkcyB0byB1bmV4cGVjdGVkIGJlaGF2aW9yXG4gICAgICAgICAqIFdlIGhhdmUgdG8gYXZvaWQgdGhpcy5cbiAgICAgICAgICovXG4gICAgICAgIG9ubHlDaGFuZ2VkLmZvckVhY2goKGtleSkgPT4gKHRoaXNba2V5XSA9IGNvbmZpZ1trZXldKSk7XG5cbiAgICAgICAgaWYgKG9ubHlDaGFuZ2VkLmluY2x1ZGVzKCd0cmlnZ2VycycpKSB7XG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVHJpZ2dlckxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgaW50ZW5kZWQgdG8gYmUgY2FsbGVkIGluIG9yZGVyXG4gICAgICogdG8gcG9zdHBvbmUgdGhlIG1haW4gZnVuY3Rpb25hbGl0eSBidXQgYmUgYWJsZVxuICAgICAqIHRvIGVuYWJsZSBpdCBiYWNrIGluIHRoZSBmdXR1cmUgYnkgaW5pdGlhbGlzZSgpXG4gICAgICovXG4gICAgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlVHJpZ2dlckxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIC8qKiBSZWZyZXNoIGxpc3RlbmVycyBvbiB0cmlnZ2VyIGVsZW1lbnQgZXZlbnRzICovXG4gICAgX3JlZnJlc2hUcmlnZ2VyTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZW1vdmVUcmlnZ2VyTGlzdGVuZXJzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplVHJpZ2dlcnMoKS5mb3JFYWNoKCh0cmlnZ2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZXZlbnRSZWYucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIubGlzdGVuKHRoaXMuX3RyaWdnZXJIdG1sRWxlbWVudCwgdHJpZ2dlci50cmlnZ2VyLCAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faWdub3JlVHJpZ2dlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9zZUFjdGlvbiA9ICEhdHJpZ2dlci5jbG9zZUFjdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wZW5BY3Rpb24gPSAhIXRyaWdnZXIub3BlbkFjdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlKG9wZW5BY3Rpb24sIGNsb3NlQWN0aW9uKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRyaWdnZXIuc3RvcFByb3BhZ2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0cmlnZ2VyIGVsZW1lbnQgYW5kIHJlZnJlc2hlcyB0aGUgbGlzdGVuZXJzLlxuICAgICAqIEBwYXJhbSB0cmlnZ2VyIFRyaWdnZXIgZWxlbWVudCByZWYuXG4gICAgICovXG4gICAgdXBkYXRlVHJpZ2dlckVsZW1lbnQodHJpZ2dlcjogRWxlbWVudFJlZiB8IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlcjtcbiAgICAgICAgdGhpcy5fcmVmcmVzaFRyaWdnZXJMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX25vcm1hbGl6ZVRyaWdnZXJzKCk6IFRyaWdnZXJDb25maWdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyaWdnZXJzLm1hcCgodHJpZ2dlciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdHJpZ2dlciA9PT0gJ29iamVjdCcgJiYgdHJpZ2dlci50cmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyaWdnZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG9kZE51bWJlciA9IGlzT2RkKGluZGV4ICsgMSk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdHJpZ2dlcixcbiAgICAgICAgICAgICAgICBvcGVuQWN0aW9uOiB0aGlzLnRyaWdnZXJzLmxlbmd0aCA9PT0gMSB8fCBvZGROdW1iZXIsXG4gICAgICAgICAgICAgICAgY2xvc2VBY3Rpb246IHRoaXMudHJpZ2dlcnMubGVuZ3RoID09PSAxIHx8ICFvZGROdW1iZXIsXG4gICAgICAgICAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiBmYWxzZVxuICAgICAgICAgICAgfSBhcyBUcmlnZ2VyQ29uZmlnO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldE92ZXJsYXlDb25maWcocG9zaXRpb246IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSk6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSB0aGlzLl9nZXREaXJlY3Rpb24oKTtcblxuICAgICAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdGhpcy5jbG9zZU9uTmF2aWdhdGlvbixcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHBvc2l0aW9uLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3kgfHwgdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92aWV3cG9ydFJ1bGVyXG4gICAgICAgICAgICAuY2hhbmdlKDE1KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3JlZnJlc2gkKSwgc3RhcnRXaXRoKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9hcHBseVdpZHRoT3ZlcmxheSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldERpcmVjdGlvbigpOiAncnRsJyB8ICdsdHInIHtcbiAgICAgICAgaWYgKCF0aGlzLl9ydGxTZXJ2aWNlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2x0cic7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fcnRsU2VydmljZS5ydGwuZ2V0VmFsdWUoKSA/ICdydGwnIDogJ2x0cic7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQb3NpdGlvblN0cmF0ZWd5KGZvcmNlZFBvc2l0aW9ucz86IENvbm5lY3RlZFBvc2l0aW9uW10pOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBsZXQgcmVzdWx0UG9zaXRpb24gPSBmb3JjZWRQb3NpdGlvbnMgPyBmb3JjZWRQb3NpdGlvbnMgOiB0aGlzLl9nZXRQb3NpdGlvbnMoKTtcblxuICAgICAgICBpZiAoIXRoaXMuZml4ZWRQb3NpdGlvbikge1xuICAgICAgICAgICAgcmVzdWx0UG9zaXRpb24gPSByZXN1bHRQb3NpdGlvbi5jb25jYXQoR2V0RGVmYXVsdFBvc2l0aW9uKHJlc3VsdFBvc2l0aW9uKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuYXBwZW5kVG8gfHwgdGhpcy5fdHJpZ2dlckVsZW1lbnQpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhyZXN1bHRQb3NpdGlvbilcbiAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSlcbiAgICAgICAgICAgIC53aXRoR3Jvd0FmdGVyT3Blbih0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogcmVtb3ZlIGxpc3RlbmVycyBmcm9tIHRyaWdnZXIgZWxlbWVudCBldmVudHMgKi9cbiAgICBwcml2YXRlIF9yZW1vdmVUcmlnZ2VyTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ldmVudFJlZi5mb3JFYWNoKChldmVudCkgPT4gZXZlbnQoKSk7XG4gICAgICAgIHRoaXMuX2V2ZW50UmVmID0gW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWRkTW9kYWxPdmVybGF5KGJvZHlDbGFzczogc3RyaW5nLCB0cmlnZ2VyQ2xhc3M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCBib2R5Q2xhc3MpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcygodGhpcy5fdHJpZ2dlckVsZW1lbnQgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCwgdHJpZ2dlckNsYXNzKTtcbiAgICAgICAgdGhpcy5faXNNb2RhbCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVtb3ZlT3ZlcmxheShib2R5Q2xhc3M6IHN0cmluZywgdHJpZ2dlckNsYXNzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgYm9keUNsYXNzKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoKHRoaXMuX3RyaWdnZXJFbGVtZW50IGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQsIHRyaWdnZXJDbGFzcyk7XG4gICAgICAgIHRoaXMuX2lzTW9kYWwgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQXR0YWNoIHRlbXBsYXRlIGNvbnRhaW5pbmcgcG9wb3ZlciBib2R5IHRvIG92ZXJsYXkgKi9cbiAgICBwcml2YXRlIF9hdHRhY2hUZW1wbGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcGFzc1ZhcmlhYmxlc1RvQm9keSgpO1xuICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVEYXRhKSB7XG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fdGVtcGxhdGVEYXRhLnRlbXBsYXRlLCB0aGlzLl90ZW1wbGF0ZURhdGEuY29udGFpbmVyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIFBvcG92ZXJCb2R5Q29tcG9uZW50IGFuZCBhdHRhY2ggaXQgaW50byBvdmVybGF5ICovXG4gICAgcHJpdmF0ZSBfYXR0YWNoQm9keUNvbXBvbmVudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKG5ldyBDb21wb25lbnRQb3J0YWwoUG9wb3ZlckJvZHlDb21wb25lbnQsIG51bGwsIHRoaXMuX2luamVjdG9yKSk7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJCb2R5ID0gb3ZlcmxheS5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5fcGFzc1ZhcmlhYmxlc1RvQm9keSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuRm9yUG9zaXRpb25DaGFuZ2UocG9zaXRpb25DaGFuZ2U6IE9ic2VydmFibGU8Q29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9wbGFjZW1lbnRSZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHBvc2l0aW9uQ2hhbmdlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMubm9BcnJvdyAmJiAhIXRoaXMuX2dldFBvcG92ZXJCb2R5KCkpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMuY29ubmVjdGlvblBhaXIgPT09IGN1cnJlbnQuY29ubmVjdGlvblBhaXIpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9wbGFjZW1lbnRSZWZyZXNoJCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5fZ2V0UG9wb3ZlckJvZHkoKS5fc2V0QXJyb3dTdHlsZXMoZXZlbnQuY29ubmVjdGlvblBhaXIsIHRoaXMuX2dldERpcmVjdGlvbigpKSk7XG4gICAgfVxuXG4gICAgLyoqIFN1YnNjcmliZSB0byBjbG9zZSBldmVudHMgZnJvbSBDREsgT3ZlcmxheSwgdG8gdGhyb3cgcHJvcGVyIGV2ZW50cywgY2hhbmdlIHZhbHVlcyAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsb3NlRXZlbnRzJCA9IG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2htZW50cygpLFxuICAgICAgICAgICAgdGhpcy5fZ2V0UG9wb3ZlckJvZHkoKS5vbkNsb3NlLFxuICAgICAgICAgICAgdGhpcy5fb3V0c2lkZUNsaWNrcyQoKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBmaW5hbGl6ZXIkID0gbWVyZ2UodGhpcy5fc3RvcENsb3NlTGlzdGVuaW5nJCwgdGhpcy5fcmVmcmVzaCQpO1xuICAgICAgICBjbG9zZUV2ZW50cyQucGlwZSh0YWtlVW50aWwoZmluYWxpemVyJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIC8qKiBMaXN0ZW5lciBmb3IgY2xpY2sgZXZlbnRzICovXG4gICAgcHJpdmF0ZSBfb3V0c2lkZUNsaWNrcyQoKTogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PiB7XG4gICAgICAgIHJldHVybiBtZXJnZSh0aGlzLl9vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKSwgdGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiB0aGlzLl9zaG91bGRDbG9zZShldmVudCkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG91bGRDbG9zZShldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5pc09wZW4gJiZcbiAgICAgICAgICAgIHRoaXMuY2xvc2VPbk91dHNpZGVDbGljayAmJlxuICAgICAgICAgICAgIXRoaXMuX3RyaWdnZXJDb250YWluc1RhcmdldChldmVudCkgJiZcbiAgICAgICAgICAgICF0aGlzLl90YXJnZXRJc1BvcG92ZXJNb2JpbGVEaWFsb2coZXZlbnQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YXJnZXRJc1BvcG92ZXJNb2JpbGVEaWFsb2coZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX21vYmlsZSkge1xuICAgICAgICAgICAgbGV0IGVsID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIHdoaWxlIChlbCkge1xuICAgICAgICAgICAgICAgIGlmIChlbC5oYXNBdHRyaWJ1dGUoJ2RhdGEtbW9iaWxlLXBvcG92ZXInKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbCA9IGVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0RXZlbnRUYXJnZXQoZXZlbnQ6IEV2ZW50KTogRXZlbnRUYXJnZXQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50LmNvbXBvc2VkUGF0aCA/IGV2ZW50LmNvbXBvc2VkUGF0aCgpWzBdIDogZXZlbnQudGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJpZ2dlckNvbnRhaW5zVGFyZ2V0KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckh0bWxFbGVtZW50LmNvbnRhaW5zKHRoaXMuX2dldEV2ZW50VGFyZ2V0KGV2ZW50KSBhcyBIVE1MRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQb3NpdGlvbnMoKTogQ29ubmVjdGVkUG9zaXRpb25bXSB7XG4gICAgICAgIGlmICh0aGlzLmNka1Bvc2l0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2RrUG9zaXRpb25zO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucGxhY2VtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gW1BvcG92ZXJQb3NpdGlvbi5nZXRDZGtQbGFjZW1lbnQodGhpcy5wbGFjZW1lbnQsIHRoaXMuX2dldERpcmVjdGlvbigpKV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hcHBseVdpZHRoT3ZlcmxheSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWF4V2lkdGhMaW1pdCA9IHRoaXMubWF4V2lkdGggPyB0aGlzLm1heFdpZHRoIDogTUFYX0JPRFlfU0laRTtcbiAgICAgICAgY29uc3Qgd2lkdGggPSBNYXRoLm1pbih0aGlzLl9nZXRUcmlnZ2VyV2lkdGgoKSwgbWF4V2lkdGhMaW1pdCk7XG4gICAgICAgIGlmICh0aGlzLmZpbGxDb250cm9sTW9kZSA9PT0gJ2F0LWxlYXN0Jykge1xuICAgICAgICAgICAgdGhpcy5fZ2V0UG9wb3ZlckJvZHkoKS5fcG9wb3ZlckJvZHlNaW5XaWR0aCA9IHdpZHRoO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmlsbENvbnRyb2xNb2RlID09PSAnZXF1YWwnKSB7XG4gICAgICAgICAgICB0aGlzLl9nZXRQb3BvdmVyQm9keSgpLl9wb3BvdmVyQm9keVdpZHRoID0gd2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcGFzc1ZhcmlhYmxlc1RvQm9keSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuX2dldFBvcG92ZXJCb2R5KCk7XG4gICAgICAgIGJvZHkudGV4dCA9IHRoaXMuc3RyaW5nQ29udGVudDtcbiAgICAgICAgYm9keS5fYWRkaXRpb25hbEJvZHlDbGFzcyA9IHRoaXMuYWRkaXRpb25hbEJvZHlDbGFzcztcbiAgICAgICAgYm9keS5fZm9jdXNUcmFwcGVkID0gdGhpcy5mb2N1c1RyYXBwZWQ7XG4gICAgICAgIGJvZHkuX21heFdpZHRoID0gdGhpcy5tYXhXaWR0aDtcbiAgICAgICAgYm9keS5fbm9BcnJvdyA9IHRoaXMubm9BcnJvdztcbiAgICAgICAgYm9keS5fZm9jdXNBdXRvQ2FwdHVyZSA9IHRoaXMuZm9jdXNBdXRvQ2FwdHVyZTtcbiAgICAgICAgYm9keS5fZGlzYWJsZVNjcm9sbGJhciA9IHRoaXMuZGlzYWJsZVNjcm9sbGJhcjtcbiAgICAgICAgYm9keS5fdGVtcGxhdGVUb0Rpc3BsYXkgPSB0aGlzLnRlbXBsYXRlQ29udGVudCE7XG4gICAgICAgIGJvZHkuX2Nsb3NlT25Fc2NhcGVLZXkgPSB0aGlzLmNsb3NlT25Fc2NhcGVLZXk7XG4gICAgICAgIGJvZHkuX2JvZHlSb2xlID0gdGhpcy5fYm9keVJvbGU7XG4gICAgICAgIGJvZHkuX2JvZHlJZCA9IHRoaXMuX2JvZHlJZDtcbiAgICAgICAgYm9keS5fcmVzaXphYmxlID0gdGhpcy5yZXNpemFibGU7XG4gICAgICAgIGJvZHkuX3NldEJvZHlDb21wb25lbnRDbGFzc2VzKHRoaXMuYWRkaXRpb25hbEJvZHlDb21wb25lbnRDbGFzc2VzKTtcbiAgICAgICAgdGhpcy5fZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0VHJpZ2dlcldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmlnZ2VySHRtbEVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRQb3BvdmVyQm9keSgpOiBQb3BvdmVyQm9keUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZURhdGE/LnBvcG92ZXJCb2R5IHx8IHRoaXMuX3BvcG92ZXJCb2R5O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2dldFBvcG92ZXJCb2R5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2dldFBvcG92ZXJCb2R5KCkuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KGZvY3VzTGFzdEVsZW1lbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChmb2N1c0xhc3RFbGVtZW50ICYmIHRoaXMuZm9jdXNBdXRvQ2FwdHVyZSkge1xuICAgICAgICAgICAgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMuX2dldFBvcG92ZXJCb2R5KCk/Ll9mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZvY3VzTGFzdEFjdGl2ZUVsZW1lbnRCZWZvcmVPcGVuKGZvY3VzTGFzdEVsZW1lbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmIChmb2N1c0xhc3RFbGVtZW50ICYmIHRoaXMucmVzdG9yZUZvY3VzT25DbG9zZSAmJiB0aGlzLmZvY3VzQXV0b0NhcHR1cmUgJiYgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { startWith } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class PopoverTriggerDirective {\n /** Set reference to Popover Component */\n set popover(popover) {\n if (popover) {\n popover.trigger = this._elementRef;\n this._listenOnExpanded(popover);\n }\n this._setAriaAttributes(popover);\n }\n /** @hidden */\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n /** @hidden */\n ngOnDestroy() {\n this._unsubscribeExpandedListener();\n }\n /** @hidden */\n _listenOnExpanded(popover) {\n this._unsubscribeExpandedListener();\n if (popover) {\n this._isExpandedSubscription = popover.isOpenChange\n .pipe(startWith(popover.isOpen))\n .subscribe((isOpen) => (this.ariaExpanded = isOpen));\n }\n }\n /** @hidden */\n _setAriaAttributes(popover) {\n this.ariaHasPopup = !!popover;\n this.ariaControls = popover ? popover.id : null;\n }\n /** @hidden */\n _unsubscribeExpandedListener() {\n if (this._isExpandedSubscription) {\n this._isExpandedSubscription.unsubscribe();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverTriggerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: PopoverTriggerDirective, isStandalone: true, selector: \"[fdPopoverTrigger], [fd-popover-trigger]\", inputs: { popover: [\"fdPopoverTrigger\", \"popover\"] }, host: { properties: { \"attr.aria-haspopup\": \"this.ariaHasPopup\", \"attr.aria-controls\": \"this.ariaControls\", \"attr.aria-expanded\": \"this.ariaExpanded\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverTriggerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdPopoverTrigger], [fd-popover-trigger]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { popover: [{\n type: Input,\n args: ['fdPopoverTrigger']\n }], ariaHasPopup: [{\n type: HostBinding,\n args: ['attr.aria-haspopup']\n }], ariaControls: [{\n type: HostBinding,\n args: ['attr.aria-controls']\n }], ariaExpanded: [{\n type: HostBinding,\n args: ['attr.aria-expanded']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzNDLE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMseUNBQXlDO0lBQ3pDLElBQ0ksT0FBTyxDQUFDLE9BQW1DO1FBQzNDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQWlCRCxjQUFjO0lBQ2QsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7SUFBRyxDQUFDO0lBRS9DLGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7SUFDTixpQkFBaUIsQ0FBQyxPQUF5QjtRQUMvQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUNwQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxZQUFZO2lCQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDL0IsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDTixrQkFBa0IsQ0FBQyxPQUFtQztRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsY0FBYztJQUNOLDRCQUE0QjtRQUNoQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQyxDQUFDO0lBQ0wsQ0FBQzs4R0F2RFEsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztvQkFDcEQsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQUlPLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBV3pCLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS2pDLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS2pDLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFBvcG92ZXJUcmlnZ2VyXSwgW2ZkLXBvcG92ZXItdHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBTZXQgcmVmZXJlbmNlIHRvIFBvcG92ZXIgQ29tcG9uZW50ICovXG4gICAgQElucHV0KCdmZFBvcG92ZXJUcmlnZ2VyJylcbiAgICBzZXQgcG9wb3Zlcihwb3BvdmVyOiBOdWxsYWJsZTxQb3BvdmVyQ29tcG9uZW50Pikge1xuICAgICAgICBpZiAocG9wb3Zlcikge1xuICAgICAgICAgICAgcG9wb3Zlci50cmlnZ2VyID0gdGhpcy5fZWxlbWVudFJlZjtcbiAgICAgICAgICAgIHRoaXMuX2xpc3Rlbk9uRXhwYW5kZWQocG9wb3Zlcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0QXJpYUF0dHJpYnV0ZXMocG9wb3Zlcik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpXG4gICAgYXJpYUhhc1BvcHVwOiBOdWxsYWJsZTxib29sZWFuPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKVxuICAgIGFyaWFDb250cm9sczogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGFyaWFFeHBhbmRlZDogTnVsbGFibGU8Ym9vbGVhbj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzRXhwYW5kZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlRXhwYW5kZWRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25FeHBhbmRlZChwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlRXhwYW5kZWRMaXN0ZW5lcigpO1xuICAgICAgICBpZiAocG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5faXNFeHBhbmRlZFN1YnNjcmlwdGlvbiA9IHBvcG92ZXIuaXNPcGVuQ2hhbmdlXG4gICAgICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHBvcG92ZXIuaXNPcGVuKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChpc09wZW4pID0+ICh0aGlzLmFyaWFFeHBhbmRlZCA9IGlzT3BlbikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRBcmlhQXR0cmlidXRlcyhwb3BvdmVyOiBOdWxsYWJsZTxQb3BvdmVyQ29tcG9uZW50Pik6IHZvaWQge1xuICAgICAgICB0aGlzLmFyaWFIYXNQb3B1cCA9ICEhcG9wb3ZlcjtcbiAgICAgICAgdGhpcy5hcmlhQ29udHJvbHMgPSBwb3BvdmVyID8gcG9wb3Zlci5pZCA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUV4cGFuZGVkTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc0V4cGFuZGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9pc0V4cGFuZGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const FD_POPOVER_COMPONENT = new InjectionToken('FdPopoverComponent');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BvcG92ZXIvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGRF9QT1BPVkVSX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbignRmRQb3BvdmVyQ29tcG9uZW50Jyk7XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, HostListener, Injector, Input, Optional, Renderer2, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { DOWN_ARROW } from '@angular/cdk/keycodes';\nimport { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DynamicComponentService, KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport equal from 'fast-deep-equal';\nimport { BasePopoverClass } from './base/base-popover.class';\nimport { PopoverBodyDirective } from './popover-body.directive';\nimport { PopoverBodyComponent } from './popover-body/popover-body.component';\nimport { PopoverControlComponent } from './popover-control/popover-control.component';\nimport { PopoverMobileComponent } from './popover-mobile/popover-mobile.component';\nimport { PopoverService } from './popover-service/popover.service';\nimport { POPOVER_COMPONENT } from './popover.interface';\nimport { FD_POPOVER_COMPONENT } from './tokens';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./popover-service/popover.service\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nexport const SELECT_CLASS_NAMES = {\n selectControl: 'fd-select__control'\n};\nlet cdkPopoverUniqueId = 0;\n/**\n * The popover is a wrapping component that accepts a *control* as well as a *body*.\n * The control is what will trigger the opening of the actual popover, which is called the body.\n * By default, popovers are triggered by click. This can be customized through the *triggers* input.\n */\nexport class PopoverComponent extends BasePopoverClass {\n /** Reference to popover trigger element */\n set trigger(trigger) {\n if (equal(trigger, this._trigger)) {\n return;\n }\n this._trigger = trigger;\n this._popoverService.updateTriggerElement(this._trigger);\n }\n get trigger() {\n return this._trigger;\n }\n /** @hidden */\n get _triggerElement() {\n return this._trigger instanceof ElementRef ? this._trigger.nativeElement : this._trigger;\n }\n /** @hidden */\n constructor(_popoverService, _cdr, _rendered, _viewContainerRef, _injector, _dynamicComponentService) {\n super();\n this._popoverService = _popoverService;\n this._cdr = _cdr;\n this._rendered = _rendered;\n this._viewContainerRef = _viewContainerRef;\n this._injector = _injector;\n this._dynamicComponentService = _dynamicComponentService;\n /** Whether position shouldn't change, when popover approach the corner of page */\n this.fixedPosition = false;\n /** Id of the popover. If none is provided, one will be generated. */\n this.id = 'fd-popover-' + cdkPopoverUniqueId++;\n /** Whether the popover component should be displayed in mobile mode. */\n this.mobile = false;\n /** Config for the popover in mobile mode */\n this.mobileConfig = { hasCloseButton: true };\n /**\n * Whether the popover should prevent page scrolling when space key is pressed.\n **/\n this.preventSpaceKeyScroll = true;\n }\n /** Handler escape keydown */\n escapeKeydownHandler(event) {\n if (this.closeOnEscapeKey && this.isOpen) {\n // In case if popover belongs to the element inside dialog\n event.preventDefault();\n event.stopImmediatePropagation();\n this.popoverBody.onClose.next();\n }\n }\n /** @hidden */\n onKeyDown(event) {\n if (!this.preventSpaceKeyScroll) {\n return;\n }\n const activeElement = document.activeElement;\n if (\n // popoverControl will be undefined when popover is used from \"fdPopoverTrigger\"\n this.popoverControl?.elRef.nativeElement.children[0] === activeElement &&\n activeElement?.tagName !== 'INPUT' &&\n activeElement?.tagName !== 'TEXTAREA' &&\n !activeElement?.classList.contains(SELECT_CLASS_NAMES.selectControl)) {\n // prevent page scrolling on Space keydown\n event.preventDefault();\n this._popoverService.toggle();\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n this._setupView();\n }\n /** @hidden */\n ngAfterContentInit() {\n if (this.popoverControl && this.triggers.includes('click')) {\n this.popoverControl._tabbable = true;\n }\n }\n /** @hidden */\n ngOnChanges(changes) {\n this._popoverService.refreshConfiguration(this);\n if (changes.disableScrollbar && this.popoverBody && this.popoverBody._scrollbar) {\n this.popoverBody._scrollbar._inPopover = changes.disableScrollbar.currentValue;\n }\n }\n /** @hidden */\n ngOnDestroy() {\n this._destroyMobileComponent();\n this._destroyEventListeners();\n }\n /** Toggles menu open/close state */\n toggle() {\n if (this.isOpen) {\n this.close();\n }\n else {\n this.open();\n }\n }\n /** Opens the popover. */\n open() {\n this._popoverService.open();\n this._cdr.markForCheck();\n }\n /** Closes the popover. */\n close(focusActiveElement = true) {\n this._popoverService.close(focusActiveElement);\n this._cdr.markForCheck();\n }\n /** Temporary sets the ignoring of the event triggers. */\n setIgnoreTriggers(ignore) {\n this._popoverService.setIgnoreTriggers(ignore);\n }\n /**\n * Method called to change position of popover,\n * recommended to be used only when popover is opened, otherwise change position or cdkPlacement\n */\n applyNewPosition(positions) {\n this._popoverService.applyNewPosition(positions);\n }\n /** Method called to refresh position of opened popover */\n refreshPosition() {\n this._popoverService.refreshPosition();\n }\n /** Handler for alt + arrow down keydown */\n triggerKeyDownHandler(event) {\n if (KeyUtil.isKeyCode(event, DOWN_ARROW) && event.altKey && !this.disabled) {\n this.open();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n /** @hidden Select and instantiate popover view mode */\n _setupView() {\n if (!this.mobile) {\n this._popoverService._mobile = false;\n if (!this.popoverBody) {\n this._popoverService.templateContent = this.templateRef;\n }\n this._popoverService.initialise(this._triggerElement || this.triggerOrigin.elementRef, this, this._getPopoverBodyContent());\n }\n else {\n this._setupMobileMode();\n }\n this._cdr.detectChanges();\n }\n /**\n * Depending on a used popover body type, returns a popover body content\n **/\n _getPopoverBodyContent() {\n if (this.popoverBody) {\n return {\n template: this.templateRef,\n container: this.container,\n popoverBody: this.popoverBody\n };\n }\n if (this.popoverBodyDirective) {\n return this.popoverBodyDirective.templateRef;\n }\n return null;\n }\n /** @hidden Open Popover in mobile mode */\n async _setupMobileMode() {\n const injector = Injector.create({\n providers: [{ provide: POPOVER_COMPONENT, useValue: this }],\n parent: this._injector\n });\n this._popoverService._mobile = true;\n this._mobileModeComponentRef = this._dynamicComponentService.createDynamicComponent({\n popoverBodyContentTemplate: this.popoverBodyContentTemplate,\n popoverFooterContentTemplate: this.popoverFooterContentTemplate\n }, PopoverMobileComponent, {\n containerRef: this._viewContainerRef\n }, { injector });\n this._listenOnTriggerRefClicks();\n }\n /** @hidden - Listen on popover trigger ref clicks */\n _listenOnTriggerRefClicks() {\n this._destroyEventListeners();\n if (this.trigger && this.mobile) {\n this._clickEventListener = this._rendered.listen(this._triggerElement, 'click', () => this.toggle());\n }\n }\n /**\n * @hidden\n * This is going to be removed in feature, on dialog and dynamic service component refactor\n */\n _destroyEventListeners() {\n if (this._clickEventListener) {\n this._clickEventListener();\n this._clickEventListener = null;\n }\n }\n /** @hidden */\n _destroyMobileComponent() {\n if (this._mobileModeComponentRef) {\n this._mobileModeComponentRef.destroy();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverComponent, deps: [{ token: i1.PopoverService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2.DynamicComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PopoverComponent, isStandalone: true, selector: \"fd-popover\", inputs: { title: \"title\", trigger: \"trigger\", fixedPosition: \"fixedPosition\", id: \"id\", mobile: \"mobile\", mobileConfig: \"mobileConfig\", preventSpaceKeyScroll: \"preventSpaceKeyScroll\" }, host: { listeners: { \"keydown.escape\": \"escapeKeydownHandler($event)\", \"keydown.space\": \"onKeyDown($event)\", \"keydown.enter\": \"onKeyDown($event)\" }, properties: { \"class.fd-popover-custom--mobile\": \"mobile\", \"attr.id\": \"id\" }, classAttribute: \"fd-popover-custom\" }, providers: [\n PopoverService,\n {\n provide: FD_POPOVER_COMPONENT,\n useExisting: PopoverComponent\n },\n contentDensityObserverProviders()\n ], queries: [{ propertyName: \"popoverBody\", first: true, predicate: PopoverBodyComponent, descendants: true }, { propertyName: \"popoverBodyDirective\", first: true, predicate: PopoverBodyDirective, descendants: true }, { propertyName: \"popoverControl\", first: true, predicate: PopoverControlComponent, descendants: true }, { propertyName: \"popoverBodyContentTemplate\", first: true, predicate: [\"popoverBodyContent\"], descendants: true }, { propertyName: \"popoverFooterContentTemplate\", first: true, predicate: [\"popoverFooterContent\"], descendants: true }], viewQueries: [{ propertyName: \"templateRef\", first: true, predicate: [\"templateRef\"], descendants: true, read: TemplateRef }, { propertyName: \"container\", first: true, predicate: [\"container\"], descendants: true, read: ViewContainerRef }, { propertyName: \"triggerOrigin\", first: true, predicate: CdkOverlayOrigin, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: \"@if (!trigger) {\\n <div\\n cdkOverlayOrigin\\n class=\\\"fd-popover__control\\\"\\n [class]=\\\"additionalTriggerClass\\\"\\n (keydown)=\\\"triggerKeyDownHandler($event)\\\"\\n >\\n <ng-content select=\\\"fd-popover-control, [fdPopoverControl]\\\"></ng-content>\\n </div>\\n}\\n<ng-template #templateRef>\\n <ng-content select=\\\"fd-popover-body\\\"></ng-content>\\n <ng-content></ng-content>\\n</ng-template>\\n<ng-container #container></ng-container>\\n\", dependencies: [{ kind: \"directive\", type: CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"] }, { kind: \"ngmodule\", type: A11yModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, providers: [\n PopoverService,\n {\n provide: FD_POPOVER_COMPONENT,\n useExisting: PopoverComponent\n },\n contentDensityObserverProviders()\n ], host: {\n class: 'fd-popover-custom',\n '[class.fd-popover-custom--mobile]': 'mobile',\n '[attr.id]': 'id'\n }, imports: [CdkOverlayOrigin, A11yModule], template: \"@if (!trigger) {\\n <div\\n cdkOverlayOrigin\\n class=\\\"fd-popover__control\\\"\\n [class]=\\\"additionalTriggerClass\\\"\\n (keydown)=\\\"triggerKeyDownHandler($event)\\\"\\n >\\n <ng-content select=\\\"fd-popover-control, [fdPopoverControl]\\\"></ng-content>\\n </div>\\n}\\n<ng-template #templateRef>\\n <ng-content select=\\\"fd-popover-body\\\"></ng-content>\\n <ng-content></ng-content>\\n</ng-template>\\n<ng-container #container></ng-container>\\n\" }]\n }], ctorParameters: () => [{ type: i1.PopoverService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i2.DynamicComponentService, decorators: [{\n type: Optional\n }] }], propDecorators: { title: [{\n type: Input\n }], trigger: [{\n type: Input\n }], fixedPosition: [{\n type: Input\n }], id: [{\n type: Input\n }], mobile: [{\n type: Input\n }], mobileConfig: [{\n type: Input\n }], preventSpaceKeyScroll: [{\n type: Input\n }], templateRef: [{\n type: ViewChild,\n args: ['templateRef', { read: TemplateRef }]\n }], container: [{\n type: ViewChild,\n args: ['container', { read: ViewContainerRef }]\n }], triggerOrigin: [{\n type: ViewChild,\n args: [CdkOverlayOrigin]\n }], popoverBody: [{\n type: ContentChild,\n args: [PopoverBodyComponent]\n }], popoverBodyDirective: [{\n type: ContentChild,\n args: [PopoverBodyDirective]\n }], popoverControl: [{\n type: ContentChild,\n args: [PopoverControlComponent]\n }], popoverBodyContentTemplate: [{\n type: ContentChild,\n args: ['popoverBodyContent']\n }], popoverFooterContentTemplate: [{\n type: ContentChild,\n args: ['popoverFooterContent']\n }], escapeKeydownHandler: [{\n type: HostListener,\n args: ['keydown.escape', ['$event']]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown.space', ['$event']]\n }, {\n type: HostListener,\n args: ['keydown.enter', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBR0wsUUFBUSxFQUNSLFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhGLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFj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QXVCO2dCQUtyQywwQkFBMEI7c0JBRHpCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQUtsQyw0QkFBNEI7c0JBRDNCLFlBQVk7dUJBQUMsc0JBQXNCO2dCQStCcEMsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWExQyxTQUFTO3NCQUZSLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDeEMsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBET1dOX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IENka092ZXJsYXlPcmlnaW4sIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsIEtleVV0aWwgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBNb2JpbGVNb2RlQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21vYmlsZS1tb2RlJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHsgQmFzZVBvcG92ZXJDbGFzcyB9IGZyb20gJy4vYmFzZS9iYXNlLXBvcG92ZXIuY2xhc3MnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItYm9keS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItYm9keS9wb3BvdmVyLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyLWNvbnRyb2wvcG9wb3Zlci1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyTW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyLW1vYmlsZS9wb3BvdmVyLW1vYmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3ZlclNlcnZpY2UsIFBvcG92ZXJUZW1wbGF0ZSB9IGZyb20gJy4vcG9wb3Zlci1zZXJ2aWNlL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQT1BPVkVSX0NPTVBPTkVOVCB9IGZyb20gJy4vcG9wb3Zlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRkRfUE9QT1ZFUl9DT01QT05FTlQgfSBmcm9tICcuL3Rva2Vucyc7XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfQ0xBU1NfTkFNRVMgPSB7XG4gICAgc2VsZWN0Q29udHJvbDogJ2ZkLXNlbGVjdF9fY29udHJvbCdcbn07XG5cbmxldCBjZGtQb3BvdmVyVW5pcXVlSWQgPSAwO1xuXG4vKipcbiAqIFRoZSBwb3BvdmVyIGlzIGEgd3JhcHBpbmcgY29tcG9uZW50IHRoYXQgYWNjZXB0cyBhICpjb250cm9sKiBhcyB3ZWxsIGFzIGEgKmJvZHkqLlxuICogVGhlIGNvbnRyb2wgaXMgd2hhdCB3aWxsIHRyaWdnZXIgdGhlIG9wZW5pbmcgb2YgdGhlIGFjdHVhbCBwb3BvdmVyLCB3aGljaCBpcyBjYWxsZWQgdGhlIGJvZHkuXG4gKiBCeSBkZWZhdWx0LCBwb3BvdmVycyBhcmUgdHJpZ2dlcmVkIGJ5IGNsaWNrLiBUaGlzIGNhbiBiZSBjdXN0b21pemVkIHRocm91Z2ggdGhlICp0cmlnZ2VycyogaW5wdXQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtcG9wb3ZlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgUG9wb3ZlclNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX1BPUE9WRVJfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFBvcG92ZXJDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtcG9wb3Zlci1jdXN0b20nLFxuICAgICAgICAnW2NsYXNzLmZkLXBvcG92ZXItY3VzdG9tLS1tb2JpbGVdJzogJ21vYmlsZScsXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbQ2RrT3ZlcmxheU9yaWdpbiwgQTExeU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQmFzZVBvcG92ZXJDbGFzc1xuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgICAvKiogVG9vbHRpcCBmb3IgcG9wb3ZlciAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gcG9wb3ZlciB0cmlnZ2VyIGVsZW1lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0cmlnZ2VyKHRyaWdnZXI6IEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAoZXF1YWwodHJpZ2dlciwgdGhpcy5fdHJpZ2dlcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl90cmlnZ2VyID0gdHJpZ2dlcjtcbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UudXBkYXRlVHJpZ2dlckVsZW1lbnQodGhpcy5fdHJpZ2dlcik7XG4gICAgfVxuXG4gICAgZ2V0IHRyaWdnZXIoKTogRWxlbWVudFJlZiB8IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyaWdnZXI7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgcG9zaXRpb24gc2hvdWxkbid0IGNoYW5nZSwgd2hlbiBwb3BvdmVyIGFwcHJvYWNoIHRoZSBjb3JuZXIgb2YgcGFnZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRQb3NpdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIElkIG9mIHRoZSBwb3BvdmVyLiBJZiBub25lIGlzIHByb3ZpZGVkLCBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuICovXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nID0gJ2ZkLXBvcG92ZXItJyArIGNka1BvcG92ZXJVbmlxdWVJZCsrO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgY29tcG9uZW50IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gbW9iaWxlIG1vZGUuICovXG4gICAgQElucHV0KClcbiAgICBtb2JpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBDb25maWcgZm9yIHRoZSBwb3BvdmVyIGluIG1vYmlsZSBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBtb2JpbGVDb25maWc6IE1vYmlsZU1vZGVDb25maWcgPSB7IGhhc0Nsb3NlQnV0dG9uOiB0cnVlIH07XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBwcmV2ZW50IHBhZ2Ugc2Nyb2xsaW5nIHdoZW4gc3BhY2Uga2V5IGlzIHByZXNzZWQuXG4gICAgICoqL1xuICAgIEBJbnB1dCgpXG4gICAgcHJldmVudFNwYWNlS2V5U2Nyb2xsID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWYnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuICAgIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChDZGtPdmVybGF5T3JpZ2luKVxuICAgIHRyaWdnZXJPcmlnaW46IENka092ZXJsYXlPcmlnaW47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoUG9wb3ZlckJvZHlDb21wb25lbnQpXG4gICAgcG9wb3ZlckJvZHk6IFBvcG92ZXJCb2R5Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFBvcG92ZXJCb2R5RGlyZWN0aXZlKVxuICAgIHBvcG92ZXJCb2R5RGlyZWN0aXZlOiBQb3BvdmVyQm9keURpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChQb3BvdmVyQ29udHJvbENvbXBvbmVudClcbiAgICBwb3BvdmVyQ29udHJvbDogUG9wb3ZlckNvbnRyb2xDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAtIHRlbXBsYXRlIGZvciBEaWFsb2cgYm9keSBjb250ZW50ICovXG4gICAgQENvbnRlbnRDaGlsZCgncG9wb3ZlckJvZHlDb250ZW50JylcbiAgICBwb3BvdmVyQm9keUNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuIC0gdGVtcGxhdGUgZm9yIERpYWxvZyBmb290ZXIgY29udGVudCAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3BvcG92ZXJGb290ZXJDb250ZW50JylcbiAgICBwb3BvdmVyRm9vdGVyQ29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfdHJpZ2dlckVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJpZ2dlciBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgPyB0aGlzLl90cmlnZ2VyLm5hdGl2ZUVsZW1lbnQgOiB0aGlzLl90cmlnZ2VyO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHJpZ2dlcjogRWxlbWVudFJlZiB8IEhUTUxFbGVtZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGlja0V2ZW50TGlzdGVuZXI6IG51bGwgfCAoKCkgPT4gdm9pZCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21vYmlsZU1vZGVDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxQb3BvdmVyTW9iaWxlQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3BvcG92ZXJTZXJ2aWNlOiBQb3BvdmVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfcmVuZGVyZWQ6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljQ29tcG9uZW50U2VydmljZTogRHluYW1pY0NvbXBvbmVudFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBlc2NhcGUga2V5ZG93biAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcbiAgICBlc2NhcGVLZXlkb3duSGFuZGxlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VPbkVzY2FwZUtleSAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgLy8gSW4gY2FzZSBpZiBwb3BvdmVyIGJlbG9uZ3MgdG8gdGhlIGVsZW1lbnQgaW5zaWRlIGRpYWxvZ1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyQm9keS5vbkNsb3NlLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucHJldmVudFNwYWNlS2V5U2Nyb2xsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIC8vIHBvcG92ZXJDb250cm9sIHdpbGwgYmUgdW5kZWZpbmVkIHdoZW4gcG9wb3ZlciBpcyB1c2VkIGZyb20gXCJmZFBvcG92ZXJUcmlnZ2VyXCJcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbnRyb2w/LmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0gPT09IGFjdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnQ/LnRhZ05hbWUgIT09ICdJTlBVVCcgJiZcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnQ/LnRhZ05hbWUgIT09ICdURVhUQVJFQScgJiZcbiAgICAgICAgICAgICFhY3RpdmVFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoU0VMRUNUX0NMQVNTX05BTUVTLnNlbGVjdENvbnRyb2wpXG4gICAgICAgICkge1xuICAgICAgICAgICAgLy8gcHJldmVudCBwYWdlIHNjcm9sbGluZyBvbiBTcGFjZSBrZXlkb3duXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UudG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0dXBWaWV3KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJDb250cm9sICYmIHRoaXMudHJpZ2dlcnMuaW5jbHVkZXMoJ2NsaWNrJykpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbnRyb2wuX3RhYmJhYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5yZWZyZXNoQ29uZmlndXJhdGlvbih0aGlzKTtcblxuICAgICAgICBpZiAoY2hhbmdlcy5kaXNhYmxlU2Nyb2xsYmFyICYmIHRoaXMucG9wb3ZlckJvZHkgJiYgdGhpcy5wb3BvdmVyQm9keS5fc2Nyb2xsYmFyKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJCb2R5Ll9zY3JvbGxiYXIuX2luUG9wb3ZlciA9IGNoYW5nZXMuZGlzYWJsZVNjcm9sbGJhci5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95TW9iaWxlQ29tcG9uZW50KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lFdmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIC8qKiBUb2dnbGVzIG1lbnUgb3Blbi9jbG9zZSBzdGF0ZSAqL1xuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBPcGVucyB0aGUgcG9wb3Zlci4gKi9cbiAgICBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5vcGVuKCk7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQ2xvc2VzIHRoZSBwb3BvdmVyLiAqL1xuICAgIGNsb3NlKGZvY3VzQWN0aXZlRWxlbWVudCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UuY2xvc2UoZm9jdXNBY3RpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBUZW1wb3Jhcnkgc2V0cyB0aGUgaWdub3Jpbmcgb2YgdGhlIGV2ZW50IHRyaWdnZXJzLiAqL1xuICAgIHNldElnbm9yZVRyaWdnZXJzKGlnbm9yZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5zZXRJZ25vcmVUcmlnZ2VycyhpZ25vcmUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBjYWxsZWQgdG8gY2hhbmdlIHBvc2l0aW9uIG9mIHBvcG92ZXIsXG4gICAgICogcmVjb21tZW5kZWQgdG8gYmUgdXNlZCBvbmx5IHdoZW4gcG9wb3ZlciBpcyBvcGVuZWQsIG90aGVyd2lzZSBjaGFuZ2UgcG9zaXRpb24gb3IgY2RrUGxhY2VtZW50XG4gICAgICovXG4gICAgYXBwbHlOZXdQb3NpdGlvbihwb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UuYXBwbHlOZXdQb3NpdGlvbihwb3NpdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgY2FsbGVkIHRvIHJlZnJlc2ggcG9zaXRpb24gb2Ygb3BlbmVkIHBvcG92ZXIgKi9cbiAgICByZWZyZXNoUG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLnJlZnJlc2hQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBhbHQgKyBhcnJvdyBkb3duIGtleWRvd24gKi9cbiAgICB0cmlnZ2VyS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKSAmJiBldmVudC5hbHRLZXkgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU2VsZWN0IGFuZCBpbnN0YW50aWF0ZSBwb3BvdmVyIHZpZXcgbW9kZSAqL1xuICAgIHByaXZhdGUgX3NldHVwVmlldygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UuX21vYmlsZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLnBvcG92ZXJCb2R5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UudGVtcGxhdGVDb250ZW50ID0gdGhpcy50ZW1wbGF0ZVJlZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLmluaXRpYWxpc2UoXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgfHwgdGhpcy50cmlnZ2VyT3JpZ2luLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXRQb3BvdmVyQm9keUNvbnRlbnQoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwTW9iaWxlTW9kZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXBlbmRpbmcgb24gYSB1c2VkIHBvcG92ZXIgYm9keSB0eXBlLCByZXR1cm5zIGEgcG9wb3ZlciBib2R5IGNvbnRlbnRcbiAgICAgKiovXG4gICAgcHJpdmF0ZSBfZ2V0UG9wb3ZlckJvZHlDb250ZW50KCk6IFBvcG92ZXJUZW1wbGF0ZSB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJCb2R5KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiB0aGlzLnRlbXBsYXRlUmVmLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogdGhpcy5jb250YWluZXIsXG4gICAgICAgICAgICAgICAgcG9wb3ZlckJvZHk6IHRoaXMucG9wb3ZlckJvZHlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucG9wb3ZlckJvZHlEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJCb2R5RGlyZWN0aXZlLnRlbXBsYXRlUmVmO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIE9wZW4gUG9wb3ZlciBpbiBtb2JpbGUgbW9kZSAqL1xuICAgIHByaXZhdGUgYXN5bmMgX3NldHVwTW9iaWxlTW9kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQT1BPVkVSX0NPTVBPTkVOVCwgdXNlVmFsdWU6IHRoaXMgfV0sXG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2luamVjdG9yXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLl9tb2JpbGUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuX21vYmlsZU1vZGVDb21wb25lbnRSZWYgPSB0aGlzLl9keW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVEeW5hbWljQ29tcG9uZW50KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvcG92ZXJCb2R5Q29udGVudFRlbXBsYXRlOiB0aGlzLnBvcG92ZXJCb2R5Q29udGVudFRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIHBvcG92ZXJGb290ZXJDb250ZW50VGVtcGxhdGU6IHRoaXMucG9wb3ZlckZvb3RlckNvbnRlbnRUZW1wbGF0ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFBvcG92ZXJNb2JpbGVDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyUmVmOiB0aGlzLl92aWV3Q29udGFpbmVyUmVmXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBpbmplY3RvciB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fbGlzdGVuT25UcmlnZ2VyUmVmQ2xpY2tzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gLSBMaXN0ZW4gb24gcG9wb3ZlciB0cmlnZ2VyIHJlZiBjbGlja3MgKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PblRyaWdnZXJSZWZDbGlja3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lFdmVudExpc3RlbmVycygpO1xuXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIgJiYgdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2NsaWNrRXZlbnRMaXN0ZW5lciA9IHRoaXMuX3JlbmRlcmVkLmxpc3Rlbih0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ2NsaWNrJywgKCkgPT4gdGhpcy50b2dnbGUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhpcyBpcyBnb2luZyB0byBiZSByZW1vdmVkIGluIGZlYXR1cmUsIG9uIGRpYWxvZyBhbmQgZHluYW1pYyBzZXJ2aWNlIGNvbXBvbmVudCByZWZhY3RvclxuICAgICAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NsaWNrRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5fY2xpY2tFdmVudExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLl9jbGlja0V2ZW50TGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95TW9iaWxlQ29tcG9uZW50KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbW9iaWxlTW9kZUNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5fbW9iaWxlTW9kZUNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKCF0cmlnZ2VyKSB7XG4gICAgPGRpdlxuICAgICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAgIGNsYXNzPVwiZmQtcG9wb3Zlcl9fY29udHJvbFwiXG4gICAgICAgIFtjbGFzc109XCJhZGRpdGlvbmFsVHJpZ2dlckNsYXNzXCJcbiAgICAgICAgKGtleWRvd24pPVwidHJpZ2dlcktleURvd25IYW5kbGVyKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtcG9wb3Zlci1jb250cm9sLCBbZmRQb3BvdmVyQ29udHJvbF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG59XG48bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXBvcG92ZXItYm9keVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuPG5nLWNvbnRhaW5lciAjY29udGFpbmVyPjwvbmctY29udGFpbmVyPlxuIl19","import { NgModule } from '@angular/core';\nimport { PopoverBodyFooterDirective } from './popover-body/popover-body-directives/popover-body-footer.directive';\nimport { PopoverBodyHeaderDirective } from './popover-body/popover-body-directives/popover-body-header.directive';\nimport { PopoverBodyComponent } from './popover-body/popover-body.component';\nimport { PopoverControlComponent } from './popover-control/popover-control.component';\nimport { PopoverBodyDirective } from './popover-body.directive';\nimport { PopoverContainerDirective } from './popover-container/popover-container.directive';\nimport { PopoverTriggerDirective } from './popover-trigger.directive';\nimport { PopoverComponent } from './popover.component';\nimport * as i0 from \"@angular/core\";\nexport class PopoverModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverModule, imports: [PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective], exports: [PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverModule, imports: [PopoverBodyComponent,\n PopoverComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PopoverModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective\n ],\n exports: [\n PopoverControlComponent,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n PopoverBodyFooterDirective,\n PopoverComponent,\n PopoverTriggerDirective,\n PopoverContainerDirective,\n PopoverBodyDirective\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXRGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQXdCdkQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLFlBcEJsQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtZQUN2Qix5QkFBeUI7WUFDekIsb0JBQW9CLGFBR3BCLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQixnQkFBZ0I7WUFDaEIsdUJBQXVCO1lBQ3ZCLHlCQUF5QjtZQUN6QixvQkFBb0I7K0dBR2YsYUFBYSxZQW5CbEIsb0JBQW9CO1lBR3BCLGdCQUFnQjs7MkZBZ0JYLGFBQWE7a0JBdEJ6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCx1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3FCQUN2QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLWJvZHkvcG9wb3Zlci1ib2R5LWRpcmVjdGl2ZXMvcG9wb3Zlci1ib2R5LWZvb3Rlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItYm9keS9wb3BvdmVyLWJvZHktZGlyZWN0aXZlcy9wb3BvdmVyLWJvZHktaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb3BvdmVyQm9keUNvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci1ib2R5L3BvcG92ZXItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItY29udHJvbC9wb3BvdmVyLWNvbnRyb2wuY29tcG9uZW50JztcblxuaW1wb3J0IHsgUG9wb3ZlckJvZHlEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItYm9keS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci1jb250YWluZXIvcG9wb3Zlci1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckJvZHlIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJCb2R5Rm9vdGVyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckJvZHlEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUhlYWRlckRpcmVjdGl2ZSxcbiAgICAgICAgUG9wb3ZlckJvZHlGb290ZXJEaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQm9keURpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9wb3Zlck1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtcG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wb3BvdmVyL2Z1bmRhbWVudGFsLW5neC1jb3JlLXBvcG92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1","i2","i3.PopoverContainerDirective","i1.PopoverService"],"mappings":"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"}