@koobiq/components 21.0.1 → 21.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/badge/_badge-theme.scss +31 -0
  2. package/breadcrumbs/breadcrumbs.scss +5 -1
  3. package/checkbox/_checkbox-theme.scss +0 -17
  4. package/checkbox/checkbox-tokens.scss +0 -4
  5. package/code-block/_code-block-theme.scss +7 -6
  6. package/code-block/code-block-tokens.scss +8 -4
  7. package/code-block/code-block.scss +54 -32
  8. package/content-panel/content-panel-header.scss +2 -3
  9. package/content-panel/content-panel.scss +3 -0
  10. package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +0 -2
  11. package/fesm2022/koobiq-components-accordion.mjs +4 -4
  12. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  13. package/fesm2022/koobiq-components-actions-panel.mjs +10 -2
  14. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  15. package/fesm2022/koobiq-components-app-switcher.mjs +1 -1
  16. package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
  17. package/fesm2022/koobiq-components-badge.mjs +2 -2
  18. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  19. package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -2
  20. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  21. package/fesm2022/koobiq-components-button-toggle.mjs +1 -1
  22. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  23. package/fesm2022/koobiq-components-checkbox.mjs +18 -8
  24. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  25. package/fesm2022/koobiq-components-clamped-text.mjs +78 -10
  26. package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
  27. package/fesm2022/koobiq-components-code-block.mjs +63 -379
  28. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  29. package/fesm2022/koobiq-components-content-panel.mjs +4 -4
  30. package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
  31. package/fesm2022/koobiq-components-core.mjs +300 -37
  32. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  33. package/fesm2022/koobiq-components-datepicker.mjs +151 -60
  34. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  35. package/fesm2022/koobiq-components-divider.mjs +3 -3
  36. package/fesm2022/koobiq-components-divider.mjs.map +1 -1
  37. package/fesm2022/koobiq-components-dropdown.mjs +3 -3
  38. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  39. package/fesm2022/koobiq-components-file-upload.mjs +17 -8
  40. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  41. package/fesm2022/koobiq-components-filter-bar.mjs +115 -36
  42. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  43. package/fesm2022/koobiq-components-flag.mjs +3 -3
  44. package/fesm2022/koobiq-components-flag.mjs.map +1 -1
  45. package/fesm2022/koobiq-components-form-field.mjs +90 -27
  46. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  47. package/fesm2022/koobiq-components-icon.mjs +2 -2
  48. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  49. package/fesm2022/koobiq-components-inline-edit.mjs +19 -2
  50. package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
  51. package/fesm2022/koobiq-components-input.mjs +76 -17
  52. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-list.mjs +1 -1
  54. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-modal.mjs +3 -3
  56. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-navbar.mjs +86 -25
  58. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-notification-center.mjs +4 -4
  60. package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-overflow-items.mjs +116 -38
  62. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-popover.mjs +86 -7
  64. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-radio.mjs +41 -19
  66. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-search-expandable.mjs +29 -17
  68. package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-select.mjs +49 -12
  70. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-sidepanel.mjs +198 -186
  72. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-splitter.mjs +49 -25
  74. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-tabs.mjs +30 -11
  76. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-tags.mjs +1 -1
  78. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-textarea.mjs +28 -11
  80. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-time-range.mjs +2 -2
  82. package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-timepicker.mjs +71 -16
  84. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  86. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-toast.mjs +2 -2
  88. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-toggle.mjs +25 -9
  90. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-tooltip.mjs +90 -17
  92. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-top-bar.mjs +27 -7
  94. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  95. package/fesm2022/koobiq-components-tree-select.mjs +4 -4
  96. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  97. package/fesm2022/koobiq-components-tree.mjs +71 -27
  98. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  99. package/file-upload/_file-upload-theme.scss +0 -12
  100. package/file-upload/file-upload-tokens.scss +0 -1
  101. package/file-upload/file-upload.scss +0 -1
  102. package/filter-bar/_filter-bar-theme.scss +7 -8
  103. package/filter-bar/filter-bar.scss +0 -1
  104. package/filter-bar/pipes/base-pipe.scss +36 -2
  105. package/filter-bar/pipes/pipe-multi-tree-select.scss +27 -0
  106. package/form-field/_fieldset-theme.scss +2 -7
  107. package/form-field/_form-field-theme.scss +9 -22
  108. package/form-field/_hint-theme.scss +20 -0
  109. package/form-field/fieldset-tokens.scss +0 -1
  110. package/form-field/fieldset.scss +0 -3
  111. package/form-field/form-field-tokens.scss +1 -1
  112. package/form-field/form-field.scss +9 -0
  113. package/form-field/hint-tokens.scss +3 -0
  114. package/modal/modal.scss +2 -0
  115. package/navbar/_navbar-item_vertical.scss +48 -2
  116. package/navbar/_navbar-theme.scss +11 -3
  117. package/navbar/navbar-item.scss +17 -0
  118. package/navbar/navbar-tokens.scss +3 -0
  119. package/package.json +4 -4
  120. package/popover/popover.scss +1 -1
  121. package/radio/_radio-theme.scss +0 -30
  122. package/radio/radio-tokens.scss +0 -2
  123. package/schematics/migrations/deprecated-icons/README.md +21 -5
  124. package/schematics/migrations/deprecated-icons/index.cjs +8 -22
  125. package/schematics/migrations/deprecated-icons/schema.json +1 -1
  126. package/schematics/migrations/icons-replacement/README.md +16 -2
  127. package/schematics/migrations/icons-replacement/index.cjs +18 -16
  128. package/schematics/migrations/icons-replacement/schema.json +12 -3
  129. package/schematics/migrations/new-icons-pack/README.md +37 -25
  130. package/schematics/migrations/new-icons-pack/index.cjs +22 -32
  131. package/schematics/migrations/new-icons-pack/replacement.json +2 -14
  132. package/schematics/migrations/new-icons-pack/schema.json +3 -3
  133. package/schematics/ng-add/index.cjs +4 -4
  134. package/schematics/utils/custom-data.cjs +64 -0
  135. package/schematics/utils/icon-migration.cjs +9 -3
  136. package/schematics/utils/messages.cjs +4 -0
  137. package/schematics/utils/package-config.cjs +19 -0
  138. package/select/select.scss +7 -0
  139. package/tabs/_tabs-common.scss +23 -0
  140. package/textarea/textarea-tokens.scss +4 -1
  141. package/toast/toast.component.scss +1 -0
  142. package/toggle/_toggle-theme.scss +0 -17
  143. package/tooltip/tooltip.scss +1 -1
  144. package/top-bar/top-bar-tokens.scss +1 -0
  145. package/top-bar/top-bar.scss +10 -0
  146. package/types/koobiq-components-accordion.d.ts +25 -0
  147. package/types/koobiq-components-button-toggle.d.ts +6 -0
  148. package/types/koobiq-components-checkbox.d.ts +30 -0
  149. package/types/koobiq-components-clamped-text.d.ts +16 -3
  150. package/types/koobiq-components-code-block.d.ts +17 -3
  151. package/types/koobiq-components-core.d.ts +226 -13
  152. package/types/koobiq-components-datepicker.d.ts +28 -1
  153. package/types/koobiq-components-divider.d.ts +28 -10
  154. package/types/koobiq-components-dropdown.d.ts +19 -0
  155. package/types/koobiq-components-filter-bar.d.ts +77 -4
  156. package/types/koobiq-components-flag.d.ts +18 -0
  157. package/types/koobiq-components-form-field.d.ts +87 -6
  158. package/types/koobiq-components-icon.d.ts +15 -0
  159. package/types/koobiq-components-inline-edit.d.ts +8 -1
  160. package/types/koobiq-components-input.d.ts +22 -3
  161. package/types/koobiq-components-list.d.ts +6 -0
  162. package/types/koobiq-components-modal.d.ts +7 -0
  163. package/types/koobiq-components-navbar.d.ts +71 -7
  164. package/types/koobiq-components-notification-center.d.ts +13 -0
  165. package/types/koobiq-components-overflow-items.d.ts +26 -2
  166. package/types/koobiq-components-popover.d.ts +38 -3
  167. package/types/koobiq-components-radio.d.ts +30 -0
  168. package/types/koobiq-components-search-expandable.d.ts +10 -0
  169. package/types/koobiq-components-select.d.ts +36 -4
  170. package/types/koobiq-components-sidepanel.d.ts +52 -1
  171. package/types/koobiq-components-splitter.d.ts +13 -4
  172. package/types/koobiq-components-tabs.d.ts +4 -0
  173. package/types/koobiq-components-tags.d.ts +6 -0
  174. package/types/koobiq-components-textarea.d.ts +9 -2
  175. package/types/koobiq-components-timepicker.d.ts +15 -0
  176. package/types/koobiq-components-toggle.d.ts +30 -0
  177. package/types/koobiq-components-tooltip.d.ts +55 -10
  178. package/types/koobiq-components-top-bar.d.ts +11 -3
  179. package/types/koobiq-components-tree-select.d.ts +12 -0
  180. package/types/koobiq-components-tree.d.ts +37 -2
@@ -4,7 +4,7 @@ import { viewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, Injec
4
4
  import { takeUntilDestroyed, outputFromObservable } from '@angular/core/rxjs-interop';
5
5
  import * as i1 from '@koobiq/components/button';
6
6
  import { KbqButtonModule } from '@koobiq/components/button';
7
- import { EmptyFocusTrapStrategy, KbqPopUp, kbqInjectA11yLocaleConfiguration, KbqOverflowShadowContainer, KbqComponentColors, applyPopupMargins, KbqOverflowShadowTop, KbqOverflowShadowBottom, kbqRepositionScrollStrategyFactory, KbqPopUpTrigger, KBQ_OVERLAY_LAYERS, PopUpTriggers, PopUpSizes, kbqOptionalNumberAttribute, PopUpPlacements, POSITION_TO_CSS_MAP, kbqSiblingPopupProvider, kbqInjectPopoverConfirmLocaleConfiguration } from '@koobiq/components/core';
7
+ import { EmptyFocusTrapStrategy, KbqPopUp, kbqInjectA11yLocaleConfiguration, KbqOverflowShadowContainer, KbqComponentColors, applyPopupMargins, KbqOverflowShadowTop, KbqOverflowShadowBottom, kbqRepositionScrollStrategyFactory, KbqPopUpTrigger, KBQ_OVERLAY_LAYERS, PopUpTriggers, PopUpSizes, kbqCreateCaretOrigin, kbqOptionalNumberAttribute, PopUpPlacements, POSITION_TO_CSS_MAP, kbqSiblingPopupProvider, kbqInjectPopoverConfirmLocaleConfiguration } from '@koobiq/components/core';
8
8
  import { NEVER, merge, Subject } from 'rxjs';
9
9
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
10
10
  import { CdkObserveContent } from '@angular/cdk/observers';
@@ -44,6 +44,8 @@ class KbqPopoverComponent extends KbqPopUp {
44
44
  /** Debounce shared by the mutation observer and the scroll-shadow container (both expose `debounce`). */
45
45
  this.contentObserverDebounce = contentObserverDebounce;
46
46
  this.prefix = 'kbq-popover';
47
+ // Safe arrow inset from popover.scss: the 24px arrow padding plus half of its 12px square.
48
+ this.arrowCenterInset = 30;
47
49
  this.isTrapFocus = false;
48
50
  this.hasCloseButton = false;
49
51
  this.popoverElement = viewChild('popover', ...(ngDevMode ? [{ debugName: "popoverElement" }] : /* istanbul ignore next */ []));
@@ -80,6 +82,10 @@ class KbqPopoverComponent extends KbqPopUp {
80
82
  applyPopupMargins(this.renderer, this.elementRef.nativeElement, this.prefix, `${this.offset.toString()}px`);
81
83
  this.setStickPosition();
82
84
  }
85
+ if (state) {
86
+ this.detectChanges();
87
+ this.updateArrowPosition();
88
+ }
83
89
  // Every closing path ends here, and the panel is still in the DOM at this point, so this is the
84
90
  // one place where focus can be handed back to the trigger instead of falling to `<body>`.
85
91
  if (!state) {
@@ -138,7 +144,7 @@ class KbqPopoverComponent extends KbqPopUp {
138
144
  this.scrollbarViewport()?.flashScrollIndicators();
139
145
  }
140
146
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
141
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqPopoverComponent, isStandalone: true, selector: "kbq-popover-component", host: { listeners: { "keydown.esc": "onEscape($event)" } }, providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS, viewQueries: [{ propertyName: "popoverElement", first: true, predicate: ["popover"], descendants: true, isSignal: true }, { propertyName: "cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }, { propertyName: "overflowContainer", first: true, predicate: KbqOverflowShadowContainer, descendants: true, isSignal: true }, { propertyName: "scrollbarViewport", first: true, predicate: KbqScrollbarViewport, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!--\n The dialog role is dropped when nothing names the panel: a screen reader announces an unnamed dialog as\n just \"dialog\", and the `aria-dialog-name` audit fails it. A named panel keeps the role.\n-->\n<div\n #popover\n class=\"kbq-popover\"\n [attr.role]=\"labelledByHeader || ariaLabel ? 'dialog' : null\"\n [attr.aria-label]=\"labelledByHeader ? null : ariaLabel\"\n [attr.aria-labelledby]=\"labelledByHeader ? headerId : null\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div\n class=\"kbq-popover__container\"\n [class.kbq-popover__container_with-footer]=\"footer\"\n [class.kbq-popover__container_with-header]=\"header\"\n >\n @if (header) {\n <div\n class=\"kbq-popover__header\"\n [class.kbq-popover__header_default-paddings]=\"defaultPaddings\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n [kbqOverflowShadowTop]=\"overflowContainer()\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div class=\"kbq-popover__header-text\" [id]=\"headerId\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent=\"kbqOverflowShadowContainer\"\n kbqOverflowShadowContainer\n kbqScrollbarViewport\n class=\"kbq-popover__content\"\n [attr.tabindex]=\"isScrollableRegion(popoverContent) ? 0 : null\"\n [attr.role]=\"isScrollableRegion(popoverContent) && labelledByHeader ? 'region' : null\"\n [attr.aria-labelledby]=\"isScrollableRegion(popoverContent) && labelledByHeader ? headerId : null\"\n [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n [debounce]=\"contentObserverDebounce\"\n (cdkObserveContent)=\"popoverContent.checkOverflow()\"\n >\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ content }}</div>\n }\n </div>\n }\n\n @if (footer) {\n <div\n class=\"kbq-popover__footer\"\n [class.kbq-popover__footer_default-paddings]=\"defaultPaddings\"\n [kbqOverflowShadowBottom]=\"overflowContainer()\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton) {\n <div class=\"kbq-popover__close-container\" [class.kbq-popover__close-container_without-header]=\"!header\">\n <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n <button\n kbq-button\n class=\"kbq-button_transparent\"\n [attr.aria-label]=\"a11yLocaleConfiguration().close\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClose()\"\n >\n <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n </button>\n </div>\n </div>\n }\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.kbq-group{display:flex;flex-direction:row}.kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-inline-start:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0;border-start-end-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){corner-shape:squircle;border-start-end-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){corner-shape:squircle;border-end-start-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-end-start-radius:0;border-end-end-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-start-end-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover{position:relative;border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover{box-sizing:border-box;list-style:none;white-space:pre-line;z-index:1;opacity:0;transform:scaleY(.8)}.kbq-popover.kbq-popover_small{width:var(--kbq-popover-size-container-width-small)}.kbq-popover.kbq-popover_small .kbq-popover__content_default-paddings.kbq-popover__content{padding:var(--kbq-size-l)}.kbq-popover.kbq-popover_medium{width:var(--kbq-popover-size-container-width-medium)}.kbq-popover.kbq-popover_large{width:var(--kbq-popover-size-container-width-large)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:8px}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:8px}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:8px}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:8px}.kbq-popover.kbq-popover_visible{opacity:1;transform:none;transition:opacity .12s cubic-bezier(0,0,.2,1),transform .12s cubic-bezier(0,0,.2,1)}.kbq-popover.kbq-popover_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-popover.kbq-popover_visible{animation:none;transition:none}}.kbq-popover__content{overflow-y:auto}.kbq-popover__content.kbq-popover__content_default-paddings{padding:var(--kbq-popover-size-content-padding-top) var(--kbq-popover-size-content-padding-horizontal) var(--kbq-popover-size-content-padding-bottom)}.kbq-popover__container{overflow:hidden;display:flex;flex-direction:column;max-height:var(--kbq-popover-size-container-max-height);border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover__container{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover__container.kbq-popover__container_with-header .kbq-popover__content_default-paddings.kbq-popover__content{padding-top:var(--kbq-size-s)}.kbq-popover__container.kbq-popover__container_with-footer .kbq-popover__content_default-paddings.kbq-popover__content{padding-bottom:var(--kbq-size-s)}.kbq-popover__close-container_without-header .kbq-popover__close{top:0;inset-inline-end:0;transform:translateY(-50%) translate(50%)}[dir=rtl] .kbq-popover__close-container_without-header .kbq-popover__close{transform:translateY(-50%) translate(-50%)}.kbq-popover__header{position:relative;z-index:2;display:flex;flex-shrink:0;align-items:center;overflow:hidden}.kbq-popover__header .kbq-popover__header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover__header.kbq-popover__header_default-paddings{padding:var(--kbq-popover-size-header-padding-top) var(--kbq-popover-size-header-padding-horizontal) var(--kbq-popover-size-header-padding-bottom) var(--kbq-popover-size-header-padding-horizontal)}.kbq-popover__header_with-close-button{padding-inline-end:var(--kbq-size-4xl)}.kbq-popover__footer{position:relative;z-index:2}.kbq-popover__footer.kbq-popover__footer_default-paddings{padding:var(--kbq-popover-size-footer-padding-vertical) var(--kbq-popover-size-footer-padding-horizontal)}.kbq-popover__arrow{position:absolute;z-index:-1;width:12px;height:12px;transform:rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:-5.5px;left:24px}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:-5.5px;right:24px}.kbq-popover_placement-right .kbq-popover__arrow{left:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-right-top .kbq-popover__arrow{left:-5.5px;top:24px}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:-5.5px;bottom:24px}.kbq-popover_placement-left .kbq-popover__arrow{right:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-left-top .kbq-popover__arrow{right:-5.5px;top:24px}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:-5.5px;bottom:24px}.kbq-popover_placement-bottom .kbq-popover__arrow{top:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:-5.5px;left:24px}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:-5.5px;right:24px}.kbq-popover__close{position:absolute;z-index:2;top:var(--kbq-size-s);inset-inline-end:var(--kbq-size-s);border-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-popover__close{corner-shape:squircle;border-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-popover,.kbq-popover.kbq-popover_arrowless{box-shadow:var(--kbq-popover-container-shadow)}.kbq-popover__container{background:var(--kbq-popover-container-background)}.kbq-popover__arrow{box-shadow:var(--kbq-popover-container-shadow);background:var(--kbq-popover-container-background)}.kbq-popover__close.kbq-popover__close_background-overlay-inverse{background-color:var(--kbq-background-overlay-inverse)}.kbq-popover__header{color:var(--kbq-popover-header-text-color)}.kbq-popover__content{color:var(--kbq-popover-content-text-color)}.kbq-popover__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-popover__content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-popover{--kbq-popover-size-container-width-small: 200px;--kbq-popover-size-container-width-medium: 400px;--kbq-popover-size-container-width-large: 640px;--kbq-popover-size-container-border-radius: var(--kbq-size-m);--kbq-popover-size-container-max-height: 480px;--kbq-popover-size-close-button-width: 32px;--kbq-popover-size-close-button-margin-right: -16px;--kbq-popover-size-close-button-margin-top: -10px;--kbq-popover-size-header-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-header-padding-top: var(--kbq-size-l);--kbq-popover-size-header-padding-bottom: var(--kbq-size-xs);--kbq-popover-size-content-padding-top: var(--kbq-size-xxl);--kbq-popover-size-content-padding-bottom: var(--kbq-size-3xl);--kbq-popover-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-content-padding-with-header-top: var(--kbq-size-s);--kbq-popover-size-content-padding-with-footer-bottom: var(--kbq-size-s);--kbq-popover-size-footer-padding-vertical: var(--kbq-size-l);--kbq-popover-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-container-background: var(--kbq-background-card);--kbq-popover-container-shadow: var(--kbq-shadow-popup);--kbq-popover-header-text-color: var(--kbq-foreground-contrast);--kbq-popover-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-popover-content-text-color: var(--kbq-foreground-contrast);--kbq-popover-footer-scroll-shadow: var(--kbq-shadow-overflow-normal-top)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i2.KbqIcon, selector: "[kbq-icon]", inputs: ["aria-hidden", "iconSize", "autoColor", "kbq-icon"] }, { kind: "directive", type: KbqScrollbarViewport, selector: "[kbqScrollbarViewport]", inputs: ["kbqScrollbarMode", "kbqScrollbarHideDelay"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: KbqOverflowShadowContainer, selector: "[kbqOverflowShadowContainer]", inputs: ["debounce"], exportAs: ["kbqOverflowShadowContainer"] }, { kind: "directive", type: KbqOverflowShadowTop, selector: "[kbqOverflowShadowTop]", inputs: ["kbqOverflowShadowTop", "shadow"], exportAs: ["kbqOverflowShadowTop"] }, { kind: "directive", type: KbqOverflowShadowBottom, selector: "[kbqOverflowShadowBottom]", inputs: ["kbqOverflowShadowBottom", "shadow"], exportAs: ["kbqOverflowShadowBottom"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
147
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqPopoverComponent, isStandalone: true, selector: "kbq-popover-component", host: { listeners: { "keydown.esc": "onEscape($event)" } }, providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS, viewQueries: [{ propertyName: "popoverElement", first: true, predicate: ["popover"], descendants: true, isSignal: true }, { propertyName: "cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }, { propertyName: "overflowContainer", first: true, predicate: KbqOverflowShadowContainer, descendants: true, isSignal: true }, { propertyName: "scrollbarViewport", first: true, predicate: KbqScrollbarViewport, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!--\n The dialog role is dropped when nothing names the panel: a screen reader announces an unnamed dialog as\n just \"dialog\", and the `aria-dialog-name` audit fails it. A named panel keeps the role.\n-->\n<div\n #popover\n class=\"kbq-popover\"\n [attr.role]=\"labelledByHeader || ariaLabel ? 'dialog' : null\"\n [attr.aria-label]=\"labelledByHeader ? null : ariaLabel\"\n [attr.aria-labelledby]=\"labelledByHeader ? headerId : null\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div\n class=\"kbq-popover__container\"\n [class.kbq-popover__container_with-footer]=\"footer\"\n [class.kbq-popover__container_with-header]=\"header\"\n >\n @if (header) {\n <div\n class=\"kbq-popover__header\"\n [class.kbq-popover__header_default-paddings]=\"defaultPaddings\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n [kbqOverflowShadowTop]=\"overflowContainer()\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div class=\"kbq-popover__header-text\" [id]=\"headerId\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent=\"kbqOverflowShadowContainer\"\n kbqOverflowShadowContainer\n kbqScrollbarViewport\n class=\"kbq-popover__content\"\n [attr.tabindex]=\"isScrollableRegion(popoverContent) ? 0 : null\"\n [attr.role]=\"isScrollableRegion(popoverContent) && labelledByHeader ? 'region' : null\"\n [attr.aria-labelledby]=\"isScrollableRegion(popoverContent) && labelledByHeader ? headerId : null\"\n [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n [debounce]=\"contentObserverDebounce\"\n (cdkObserveContent)=\"popoverContent.checkOverflow()\"\n >\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ content }}</div>\n }\n </div>\n }\n\n @if (footer) {\n <div\n class=\"kbq-popover__footer\"\n [class.kbq-popover__footer_default-paddings]=\"defaultPaddings\"\n [kbqOverflowShadowBottom]=\"overflowContainer()\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton) {\n <div class=\"kbq-popover__close-container\" [class.kbq-popover__close-container_without-header]=\"!header\">\n <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n <button\n kbq-button\n class=\"kbq-button_transparent\"\n [attr.aria-label]=\"a11yLocaleConfiguration().close\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClose()\"\n >\n <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n </button>\n </div>\n </div>\n }\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.kbq-group{display:flex;flex-direction:row}.kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-inline-start:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0;border-start-end-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){corner-shape:squircle;border-start-end-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){corner-shape:squircle;border-end-start-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-end-start-radius:0;border-end-end-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-start-end-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover{position:relative;border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover{box-sizing:border-box;list-style:none;white-space:pre-line;z-index:1;opacity:0;transform:scaleY(.8)}.kbq-popover.kbq-popover_small{width:var(--kbq-popover-size-container-width-small)}.kbq-popover.kbq-popover_small .kbq-popover__content_default-paddings.kbq-popover__content{padding:var(--kbq-size-l)}.kbq-popover.kbq-popover_medium{width:var(--kbq-popover-size-container-width-medium)}.kbq-popover.kbq-popover_large{width:var(--kbq-popover-size-container-width-large)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:8px}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:8px}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:8px}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:8px}.kbq-popover.kbq-popover_visible{opacity:1;transform:none;transition:opacity .12s cubic-bezier(0,0,.2,1),transform .12s cubic-bezier(0,0,.2,1)}.kbq-popover.kbq-popover_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-popover.kbq-popover_visible{animation:none;transition:none}}.kbq-popover__content{overflow-y:auto}.kbq-popover__content.kbq-popover__content_default-paddings{padding:var(--kbq-popover-size-content-padding-top) var(--kbq-popover-size-content-padding-horizontal) var(--kbq-popover-size-content-padding-bottom)}.kbq-popover__container{overflow:hidden;display:flex;flex-direction:column;max-height:var(--kbq-popover-size-container-max-height);border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover__container{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover__container.kbq-popover__container_with-header .kbq-popover__content_default-paddings.kbq-popover__content{padding-top:var(--kbq-size-s)}.kbq-popover__container.kbq-popover__container_with-footer .kbq-popover__content_default-paddings.kbq-popover__content{padding-bottom:var(--kbq-size-s)}.kbq-popover__close-container_without-header .kbq-popover__close{top:0;inset-inline-end:0;transform:translateY(-50%) translate(50%)}[dir=rtl] .kbq-popover__close-container_without-header .kbq-popover__close{transform:translateY(-50%) translate(-50%)}.kbq-popover__header{position:relative;z-index:2;display:flex;flex-shrink:0;align-items:center;overflow:hidden}.kbq-popover__header .kbq-popover__header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover__header.kbq-popover__header_default-paddings{padding:var(--kbq-popover-size-header-padding-top) var(--kbq-popover-size-header-padding-horizontal) var(--kbq-popover-size-header-padding-bottom) var(--kbq-popover-size-header-padding-horizontal)}.kbq-popover__header_with-close-button{padding-inline-end:var(--kbq-size-4xl)}.kbq-popover__footer{position:relative;z-index:2}.kbq-popover__footer.kbq-popover__footer_default-paddings{padding:var(--kbq-popover-size-footer-padding-vertical) var(--kbq-popover-size-footer-padding-horizontal)}.kbq-popover__arrow{position:absolute;z-index:-1;width:12px;height:12px;transform:translate(var(--kbq-popover-arrow-shift-x, 0px),var(--kbq-popover-arrow-shift-y, 0px)) rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:-5.5px;left:24px}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:-5.5px;right:24px}.kbq-popover_placement-right .kbq-popover__arrow{left:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-right-top .kbq-popover__arrow{left:-5.5px;top:24px}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:-5.5px;bottom:24px}.kbq-popover_placement-left .kbq-popover__arrow{right:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-left-top .kbq-popover__arrow{right:-5.5px;top:24px}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:-5.5px;bottom:24px}.kbq-popover_placement-bottom .kbq-popover__arrow{top:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:-5.5px;left:24px}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:-5.5px;right:24px}.kbq-popover__close{position:absolute;z-index:2;top:var(--kbq-size-s);inset-inline-end:var(--kbq-size-s);border-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-popover__close{corner-shape:squircle;border-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-popover,.kbq-popover.kbq-popover_arrowless{box-shadow:var(--kbq-popover-container-shadow)}.kbq-popover__container{background:var(--kbq-popover-container-background)}.kbq-popover__arrow{box-shadow:var(--kbq-popover-container-shadow);background:var(--kbq-popover-container-background)}.kbq-popover__close.kbq-popover__close_background-overlay-inverse{background-color:var(--kbq-background-overlay-inverse)}.kbq-popover__header{color:var(--kbq-popover-header-text-color)}.kbq-popover__content{color:var(--kbq-popover-content-text-color)}.kbq-popover__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-popover__content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-popover{--kbq-popover-size-container-width-small: 200px;--kbq-popover-size-container-width-medium: 400px;--kbq-popover-size-container-width-large: 640px;--kbq-popover-size-container-border-radius: var(--kbq-size-m);--kbq-popover-size-container-max-height: 480px;--kbq-popover-size-close-button-width: 32px;--kbq-popover-size-close-button-margin-right: -16px;--kbq-popover-size-close-button-margin-top: -10px;--kbq-popover-size-header-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-header-padding-top: var(--kbq-size-l);--kbq-popover-size-header-padding-bottom: var(--kbq-size-xs);--kbq-popover-size-content-padding-top: var(--kbq-size-xxl);--kbq-popover-size-content-padding-bottom: var(--kbq-size-3xl);--kbq-popover-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-content-padding-with-header-top: var(--kbq-size-s);--kbq-popover-size-content-padding-with-footer-bottom: var(--kbq-size-s);--kbq-popover-size-footer-padding-vertical: var(--kbq-size-l);--kbq-popover-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-container-background: var(--kbq-background-card);--kbq-popover-container-shadow: var(--kbq-shadow-popup);--kbq-popover-header-text-color: var(--kbq-foreground-contrast);--kbq-popover-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-popover-content-text-color: var(--kbq-foreground-contrast);--kbq-popover-footer-scroll-shadow: var(--kbq-shadow-overflow-normal-top)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i2.KbqIcon, selector: "[kbq-icon]", inputs: ["aria-hidden", "iconSize", "autoColor", "kbq-icon"] }, { kind: "directive", type: KbqScrollbarViewport, selector: "[kbqScrollbarViewport]", inputs: ["kbqScrollbarMode", "kbqScrollbarHideDelay"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: KbqOverflowShadowContainer, selector: "[kbqOverflowShadowContainer]", inputs: ["debounce"], exportAs: ["kbqOverflowShadowContainer"] }, { kind: "directive", type: KbqOverflowShadowTop, selector: "[kbqOverflowShadowTop]", inputs: ["kbqOverflowShadowTop", "shadow"], exportAs: ["kbqOverflowShadowTop"] }, { kind: "directive", type: KbqOverflowShadowBottom, selector: "[kbqOverflowShadowBottom]", inputs: ["kbqOverflowShadowBottom", "shadow"], exportAs: ["kbqOverflowShadowBottom"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
142
148
  }
143
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqPopoverComponent, decorators: [{
144
150
  type: Component,
@@ -154,7 +160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImpo
154
160
  KbqOverflowShadowBottom
155
161
  ], providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
156
162
  '(keydown.esc)': 'onEscape($event)'
157
- }, preserveWhitespaces: false, template: "<!--\n The dialog role is dropped when nothing names the panel: a screen reader announces an unnamed dialog as\n just \"dialog\", and the `aria-dialog-name` audit fails it. A named panel keeps the role.\n-->\n<div\n #popover\n class=\"kbq-popover\"\n [attr.role]=\"labelledByHeader || ariaLabel ? 'dialog' : null\"\n [attr.aria-label]=\"labelledByHeader ? null : ariaLabel\"\n [attr.aria-labelledby]=\"labelledByHeader ? headerId : null\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div\n class=\"kbq-popover__container\"\n [class.kbq-popover__container_with-footer]=\"footer\"\n [class.kbq-popover__container_with-header]=\"header\"\n >\n @if (header) {\n <div\n class=\"kbq-popover__header\"\n [class.kbq-popover__header_default-paddings]=\"defaultPaddings\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n [kbqOverflowShadowTop]=\"overflowContainer()\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div class=\"kbq-popover__header-text\" [id]=\"headerId\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent=\"kbqOverflowShadowContainer\"\n kbqOverflowShadowContainer\n kbqScrollbarViewport\n class=\"kbq-popover__content\"\n [attr.tabindex]=\"isScrollableRegion(popoverContent) ? 0 : null\"\n [attr.role]=\"isScrollableRegion(popoverContent) && labelledByHeader ? 'region' : null\"\n [attr.aria-labelledby]=\"isScrollableRegion(popoverContent) && labelledByHeader ? headerId : null\"\n [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n [debounce]=\"contentObserverDebounce\"\n (cdkObserveContent)=\"popoverContent.checkOverflow()\"\n >\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ content }}</div>\n }\n </div>\n }\n\n @if (footer) {\n <div\n class=\"kbq-popover__footer\"\n [class.kbq-popover__footer_default-paddings]=\"defaultPaddings\"\n [kbqOverflowShadowBottom]=\"overflowContainer()\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton) {\n <div class=\"kbq-popover__close-container\" [class.kbq-popover__close-container_without-header]=\"!header\">\n <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n <button\n kbq-button\n class=\"kbq-button_transparent\"\n [attr.aria-label]=\"a11yLocaleConfiguration().close\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClose()\"\n >\n <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n </button>\n </div>\n </div>\n }\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.kbq-group{display:flex;flex-direction:row}.kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-inline-start:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0;border-start-end-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){corner-shape:squircle;border-start-end-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){corner-shape:squircle;border-end-start-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-end-start-radius:0;border-end-end-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-start-end-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover{position:relative;border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover{box-sizing:border-box;list-style:none;white-space:pre-line;z-index:1;opacity:0;transform:scaleY(.8)}.kbq-popover.kbq-popover_small{width:var(--kbq-popover-size-container-width-small)}.kbq-popover.kbq-popover_small .kbq-popover__content_default-paddings.kbq-popover__content{padding:var(--kbq-size-l)}.kbq-popover.kbq-popover_medium{width:var(--kbq-popover-size-container-width-medium)}.kbq-popover.kbq-popover_large{width:var(--kbq-popover-size-container-width-large)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:8px}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:8px}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:8px}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:8px}.kbq-popover.kbq-popover_visible{opacity:1;transform:none;transition:opacity .12s cubic-bezier(0,0,.2,1),transform .12s cubic-bezier(0,0,.2,1)}.kbq-popover.kbq-popover_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-popover.kbq-popover_visible{animation:none;transition:none}}.kbq-popover__content{overflow-y:auto}.kbq-popover__content.kbq-popover__content_default-paddings{padding:var(--kbq-popover-size-content-padding-top) var(--kbq-popover-size-content-padding-horizontal) var(--kbq-popover-size-content-padding-bottom)}.kbq-popover__container{overflow:hidden;display:flex;flex-direction:column;max-height:var(--kbq-popover-size-container-max-height);border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover__container{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover__container.kbq-popover__container_with-header .kbq-popover__content_default-paddings.kbq-popover__content{padding-top:var(--kbq-size-s)}.kbq-popover__container.kbq-popover__container_with-footer .kbq-popover__content_default-paddings.kbq-popover__content{padding-bottom:var(--kbq-size-s)}.kbq-popover__close-container_without-header .kbq-popover__close{top:0;inset-inline-end:0;transform:translateY(-50%) translate(50%)}[dir=rtl] .kbq-popover__close-container_without-header .kbq-popover__close{transform:translateY(-50%) translate(-50%)}.kbq-popover__header{position:relative;z-index:2;display:flex;flex-shrink:0;align-items:center;overflow:hidden}.kbq-popover__header .kbq-popover__header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover__header.kbq-popover__header_default-paddings{padding:var(--kbq-popover-size-header-padding-top) var(--kbq-popover-size-header-padding-horizontal) var(--kbq-popover-size-header-padding-bottom) var(--kbq-popover-size-header-padding-horizontal)}.kbq-popover__header_with-close-button{padding-inline-end:var(--kbq-size-4xl)}.kbq-popover__footer{position:relative;z-index:2}.kbq-popover__footer.kbq-popover__footer_default-paddings{padding:var(--kbq-popover-size-footer-padding-vertical) var(--kbq-popover-size-footer-padding-horizontal)}.kbq-popover__arrow{position:absolute;z-index:-1;width:12px;height:12px;transform:rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:-5.5px;left:24px}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:-5.5px;right:24px}.kbq-popover_placement-right .kbq-popover__arrow{left:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-right-top .kbq-popover__arrow{left:-5.5px;top:24px}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:-5.5px;bottom:24px}.kbq-popover_placement-left .kbq-popover__arrow{right:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-left-top .kbq-popover__arrow{right:-5.5px;top:24px}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:-5.5px;bottom:24px}.kbq-popover_placement-bottom .kbq-popover__arrow{top:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:-5.5px;left:24px}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:-5.5px;right:24px}.kbq-popover__close{position:absolute;z-index:2;top:var(--kbq-size-s);inset-inline-end:var(--kbq-size-s);border-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-popover__close{corner-shape:squircle;border-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-popover,.kbq-popover.kbq-popover_arrowless{box-shadow:var(--kbq-popover-container-shadow)}.kbq-popover__container{background:var(--kbq-popover-container-background)}.kbq-popover__arrow{box-shadow:var(--kbq-popover-container-shadow);background:var(--kbq-popover-container-background)}.kbq-popover__close.kbq-popover__close_background-overlay-inverse{background-color:var(--kbq-background-overlay-inverse)}.kbq-popover__header{color:var(--kbq-popover-header-text-color)}.kbq-popover__content{color:var(--kbq-popover-content-text-color)}.kbq-popover__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-popover__content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-popover{--kbq-popover-size-container-width-small: 200px;--kbq-popover-size-container-width-medium: 400px;--kbq-popover-size-container-width-large: 640px;--kbq-popover-size-container-border-radius: var(--kbq-size-m);--kbq-popover-size-container-max-height: 480px;--kbq-popover-size-close-button-width: 32px;--kbq-popover-size-close-button-margin-right: -16px;--kbq-popover-size-close-button-margin-top: -10px;--kbq-popover-size-header-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-header-padding-top: var(--kbq-size-l);--kbq-popover-size-header-padding-bottom: var(--kbq-size-xs);--kbq-popover-size-content-padding-top: var(--kbq-size-xxl);--kbq-popover-size-content-padding-bottom: var(--kbq-size-3xl);--kbq-popover-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-content-padding-with-header-top: var(--kbq-size-s);--kbq-popover-size-content-padding-with-footer-bottom: var(--kbq-size-s);--kbq-popover-size-footer-padding-vertical: var(--kbq-size-l);--kbq-popover-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-container-background: var(--kbq-background-card);--kbq-popover-container-shadow: var(--kbq-shadow-popup);--kbq-popover-header-text-color: var(--kbq-foreground-contrast);--kbq-popover-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-popover-content-text-color: var(--kbq-foreground-contrast);--kbq-popover-footer-scroll-shadow: var(--kbq-shadow-overflow-normal-top)}\n"] }]
163
+ }, preserveWhitespaces: false, template: "<!--\n The dialog role is dropped when nothing names the panel: a screen reader announces an unnamed dialog as\n just \"dialog\", and the `aria-dialog-name` audit fails it. A named panel keeps the role.\n-->\n<div\n #popover\n class=\"kbq-popover\"\n [attr.role]=\"labelledByHeader || ariaLabel ? 'dialog' : null\"\n [attr.aria-label]=\"labelledByHeader ? null : ariaLabel\"\n [attr.aria-labelledby]=\"labelledByHeader ? headerId : null\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div\n class=\"kbq-popover__container\"\n [class.kbq-popover__container_with-footer]=\"footer\"\n [class.kbq-popover__container_with-header]=\"header\"\n >\n @if (header) {\n <div\n class=\"kbq-popover__header\"\n [class.kbq-popover__header_default-paddings]=\"defaultPaddings\"\n [class.kbq-popover__header_with-close-button]=\"hasCloseButton\"\n [kbqOverflowShadowTop]=\"overflowContainer()\"\n >\n @if (isTemplateRef(header)) {\n <ng-container [ngTemplateOutlet]=\"$any(header)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div class=\"kbq-popover__header-text\" [id]=\"headerId\">{{ header }}</div>\n }\n </div>\n }\n\n @if (content) {\n <div\n #popoverContent=\"kbqOverflowShadowContainer\"\n kbqOverflowShadowContainer\n kbqScrollbarViewport\n class=\"kbq-popover__content\"\n [attr.tabindex]=\"isScrollableRegion(popoverContent) ? 0 : null\"\n [attr.role]=\"isScrollableRegion(popoverContent) && labelledByHeader ? 'region' : null\"\n [attr.aria-labelledby]=\"isScrollableRegion(popoverContent) && labelledByHeader ? headerId : null\"\n [class.kbq-popover__content_default-paddings]=\"defaultPaddings\"\n [debounce]=\"contentObserverDebounce\"\n (cdkObserveContent)=\"popoverContent.checkOverflow()\"\n >\n @if (isTemplateRef(content)) {\n <ng-container [ngTemplateOutlet]=\"$any(content)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ content }}</div>\n }\n </div>\n }\n\n @if (footer) {\n <div\n class=\"kbq-popover__footer\"\n [class.kbq-popover__footer_default-paddings]=\"defaultPaddings\"\n [kbqOverflowShadowBottom]=\"overflowContainer()\"\n >\n @if (isTemplateRef(footer)) {\n <ng-container [ngTemplateOutlet]=\"$any(footer)\" [ngTemplateOutletContext]=\"context\" />\n } @else {\n <div>{{ footer }}</div>\n }\n </div>\n }\n </div>\n\n @if (hasCloseButton) {\n <div class=\"kbq-popover__close-container\" [class.kbq-popover__close-container_without-header]=\"!header\">\n <div class=\"kbq-popover__close\" [class.kbq-popover__close_background-overlay-inverse]=\"!header\">\n <button\n kbq-button\n class=\"kbq-button_transparent\"\n [attr.aria-label]=\"a11yLocaleConfiguration().close\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClose()\"\n >\n <i kbq-icon=\"kbq-xmark_16\" [color]=\"componentColors.Contrast\"></i>\n </button>\n </div>\n </div>\n }\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.kbq-group{display:flex;flex-direction:row}.kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-inline-start:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0;border-start-end-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){corner-shape:squircle;border-start-end-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){corner-shape:squircle;border-end-start-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-end-start-radius:0;border-end-end-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-start-end-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover{position:relative;border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover{box-sizing:border-box;list-style:none;white-space:pre-line;z-index:1;opacity:0;transform:scaleY(.8)}.kbq-popover.kbq-popover_small{width:var(--kbq-popover-size-container-width-small)}.kbq-popover.kbq-popover_small .kbq-popover__content_default-paddings.kbq-popover__content{padding:var(--kbq-size-l)}.kbq-popover.kbq-popover_medium{width:var(--kbq-popover-size-container-width-medium)}.kbq-popover.kbq-popover_large{width:var(--kbq-popover-size-container-width-large)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:8px}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:8px}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:8px}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:8px}.kbq-popover.kbq-popover_visible{opacity:1;transform:none;transition:opacity .12s cubic-bezier(0,0,.2,1),transform .12s cubic-bezier(0,0,.2,1)}.kbq-popover.kbq-popover_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-popover.kbq-popover_visible{animation:none;transition:none}}.kbq-popover__content{overflow-y:auto}.kbq-popover__content.kbq-popover__content_default-paddings{padding:var(--kbq-popover-size-content-padding-top) var(--kbq-popover-size-content-padding-horizontal) var(--kbq-popover-size-content-padding-bottom)}.kbq-popover__container{overflow:hidden;display:flex;flex-direction:column;max-height:var(--kbq-popover-size-container-max-height);border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover__container{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover__container.kbq-popover__container_with-header .kbq-popover__content_default-paddings.kbq-popover__content{padding-top:var(--kbq-size-s)}.kbq-popover__container.kbq-popover__container_with-footer .kbq-popover__content_default-paddings.kbq-popover__content{padding-bottom:var(--kbq-size-s)}.kbq-popover__close-container_without-header .kbq-popover__close{top:0;inset-inline-end:0;transform:translateY(-50%) translate(50%)}[dir=rtl] .kbq-popover__close-container_without-header .kbq-popover__close{transform:translateY(-50%) translate(-50%)}.kbq-popover__header{position:relative;z-index:2;display:flex;flex-shrink:0;align-items:center;overflow:hidden}.kbq-popover__header .kbq-popover__header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover__header.kbq-popover__header_default-paddings{padding:var(--kbq-popover-size-header-padding-top) var(--kbq-popover-size-header-padding-horizontal) var(--kbq-popover-size-header-padding-bottom) var(--kbq-popover-size-header-padding-horizontal)}.kbq-popover__header_with-close-button{padding-inline-end:var(--kbq-size-4xl)}.kbq-popover__footer{position:relative;z-index:2}.kbq-popover__footer.kbq-popover__footer_default-paddings{padding:var(--kbq-popover-size-footer-padding-vertical) var(--kbq-popover-size-footer-padding-horizontal)}.kbq-popover__arrow{position:absolute;z-index:-1;width:12px;height:12px;transform:translate(var(--kbq-popover-arrow-shift-x, 0px),var(--kbq-popover-arrow-shift-y, 0px)) rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:-5.5px;left:24px}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:-5.5px;right:24px}.kbq-popover_placement-right .kbq-popover__arrow{left:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-right-top .kbq-popover__arrow{left:-5.5px;top:24px}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:-5.5px;bottom:24px}.kbq-popover_placement-left .kbq-popover__arrow{right:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-left-top .kbq-popover__arrow{right:-5.5px;top:24px}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:-5.5px;bottom:24px}.kbq-popover_placement-bottom .kbq-popover__arrow{top:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:-5.5px;left:24px}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:-5.5px;right:24px}.kbq-popover__close{position:absolute;z-index:2;top:var(--kbq-size-s);inset-inline-end:var(--kbq-size-s);border-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-popover__close{corner-shape:squircle;border-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-popover,.kbq-popover.kbq-popover_arrowless{box-shadow:var(--kbq-popover-container-shadow)}.kbq-popover__container{background:var(--kbq-popover-container-background)}.kbq-popover__arrow{box-shadow:var(--kbq-popover-container-shadow);background:var(--kbq-popover-container-background)}.kbq-popover__close.kbq-popover__close_background-overlay-inverse{background-color:var(--kbq-background-overlay-inverse)}.kbq-popover__header{color:var(--kbq-popover-header-text-color)}.kbq-popover__content{color:var(--kbq-popover-content-text-color)}.kbq-popover__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-popover__content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-popover{--kbq-popover-size-container-width-small: 200px;--kbq-popover-size-container-width-medium: 400px;--kbq-popover-size-container-width-large: 640px;--kbq-popover-size-container-border-radius: var(--kbq-size-m);--kbq-popover-size-container-max-height: 480px;--kbq-popover-size-close-button-width: 32px;--kbq-popover-size-close-button-margin-right: -16px;--kbq-popover-size-close-button-margin-top: -10px;--kbq-popover-size-header-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-header-padding-top: var(--kbq-size-l);--kbq-popover-size-header-padding-bottom: var(--kbq-size-xs);--kbq-popover-size-content-padding-top: var(--kbq-size-xxl);--kbq-popover-size-content-padding-bottom: var(--kbq-size-3xl);--kbq-popover-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-content-padding-with-header-top: var(--kbq-size-s);--kbq-popover-size-content-padding-with-footer-bottom: var(--kbq-size-s);--kbq-popover-size-footer-padding-vertical: var(--kbq-size-l);--kbq-popover-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-container-background: var(--kbq-background-card);--kbq-popover-container-shadow: var(--kbq-shadow-popup);--kbq-popover-header-text-color: var(--kbq-foreground-contrast);--kbq-popover-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-popover-content-text-color: var(--kbq-foreground-contrast);--kbq-popover-footer-scroll-shadow: var(--kbq-shadow-overflow-normal-top)}\n"] }]
158
164
  }], propDecorators: { popoverElement: [{ type: i0.ViewChild, args: ['popover', { isSignal: true }] }], cdkTrapFocus: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkTrapFocus), { isSignal: true }] }], overflowContainer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => KbqOverflowShadowContainer), { isSignal: true }] }], scrollbarViewport: [{ type: i0.ViewChild, args: [i0.forwardRef(() => KbqScrollbarViewport), { isSignal: true }] }] } });
159
165
  const KBQ_POPOVER_SCROLL_STRATEGY = new InjectionToken('kbq-popover-scroll-strategy', {
160
166
  providedIn: 'root',
@@ -202,6 +208,11 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
202
208
  this._backdropClass = defaultBackdropClass;
203
209
  /** Input (`kbqPopoverArrow`) — renders the arrow pointing at the trigger. */
204
210
  this.arrow = true;
211
+ /**
212
+ * Input (`kbqPopoverArrowCentered`) — centers the arrow on the trigger while preserving the panel placement.
213
+ * Defaults to `false`.
214
+ */
215
+ this.arrowCentered = false;
205
216
  /** Input (`kbqPopoverOffset`) — distance between the trigger and the panel, in pixels. */
206
217
  this.offset = defaultOffsetYWithArrow;
207
218
  /**
@@ -210,6 +221,11 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
210
221
  * collapses it. Focus then never enters the panel, so its content has to be reachable some other way.
211
222
  */
212
223
  this.autoFocus = true;
224
+ /**
225
+ * Input (`kbqRelativeToPointer`) — positions a click-opened popover at the click point. Keyboard and
226
+ * programmatic opens stay on the trigger. An explicit `kbqPopoverOrigin` takes precedence. Defaults to `false`.
227
+ */
228
+ this.relativeToPointer = false;
213
229
  /** Input (`kbqEnterDelay`) — delay before opening, in milliseconds. Defaults to `0`. */
214
230
  this.enterDelay = 0;
215
231
  this.leaveDelayBound = false;
@@ -230,6 +246,12 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
230
246
  this.originSelector = '.kbq-popover';
231
247
  /** Whether a position re-apply is already queued for this turn. */
232
248
  this.repositionScheduled = false;
249
+ this.pointerOffset = null;
250
+ this.pointerOrigin = kbqCreateCaretOrigin(() => {
251
+ const { left, top } = this.getNativeElement().getBoundingClientRect();
252
+ const offset = this.pointerOffset;
253
+ return { x: left + offset.x, y: top + offset.y, width: 0, height: 0 };
254
+ });
233
255
  /**
234
256
  * Whether the open currently on screen was a deliberate one rather than a pointer or focus one.
235
257
  *
@@ -286,12 +308,18 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
286
308
  this.arrowInput = input(undefined, { ...(ngDevMode ? { debugName: "arrowInput" } : /* istanbul ignore next */ {}), alias: 'kbqPopoverArrow',
287
309
  transform: booleanAttribute });
288
310
  /** @docs-private */
311
+ this.arrowCenteredInput = input(undefined, { ...(ngDevMode ? { debugName: "arrowCenteredInput" } : /* istanbul ignore next */ {}), alias: 'kbqPopoverArrowCentered',
312
+ transform: booleanAttribute });
313
+ /** @docs-private */
289
314
  this.offsetInput = input(undefined, { ...(ngDevMode ? { debugName: "offsetInput" } : /* istanbul ignore next */ {}), alias: 'kbqPopoverOffset',
290
315
  transform: kbqOptionalNumberAttribute });
291
316
  /** @docs-private */
292
317
  this.autoFocusInput = input(undefined, { ...(ngDevMode ? { debugName: "autoFocusInput" } : /* istanbul ignore next */ {}), alias: 'kbqPopoverAutoFocus',
293
318
  transform: booleanAttribute });
294
319
  /** @docs-private */
320
+ this.relativeToPointerInput = input(undefined, { ...(ngDevMode ? { debugName: "relativeToPointerInput" } : /* istanbul ignore next */ {}), alias: 'kbqRelativeToPointer',
321
+ transform: booleanAttribute });
322
+ /** @docs-private */
295
323
  this.popoverOriginInput = input(undefined, { ...(ngDevMode ? { debugName: "popoverOriginInput" } : /* istanbul ignore next */ {}), alias: 'kbqPopoverOrigin' });
296
324
  /** @docs-private */
297
325
  this.disabledInput = input(undefined, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'kbqPopoverDisabled',
@@ -655,6 +683,10 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
655
683
  if (arrow !== undefined)
656
684
  this.arrow = arrow;
657
685
  }
686
+ if (changes['arrowCenteredInput']) {
687
+ this.arrowCentered = this.arrowCenteredInput() ?? false;
688
+ this.updateData();
689
+ }
658
690
  if (changes['offsetInput']) {
659
691
  this.offset = this.offsetInput() ?? defaultOffsetYWithArrow;
660
692
  }
@@ -663,6 +695,11 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
663
695
  if (autoFocus !== undefined)
664
696
  this.autoFocus = autoFocus;
665
697
  }
698
+ if (changes['relativeToPointerInput']) {
699
+ const relativeToPointer = this.relativeToPointerInput();
700
+ if (relativeToPointer !== undefined)
701
+ this.relativeToPointer = relativeToPointer;
702
+ }
666
703
  if (changes['popoverOriginInput']) {
667
704
  this.popoverOrigin = this.popoverOriginInput() ?? null;
668
705
  }
@@ -698,8 +735,49 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
698
735
  }
699
736
  /** @docs-private */
700
737
  show(delay = this.enterDelay) {
738
+ const event = this.mouseEvent;
739
+ const pointerEvent = this.relativeToPointer && this.triggerName === PopUpTriggers.Click && event?.detail ? event : null;
740
+ const wasAttached = !!this.instance;
741
+ this.mouseEvent = undefined;
742
+ if (pointerEvent) {
743
+ const { left, top } = this.getNativeElement().getBoundingClientRect();
744
+ this.pointerOffset = { x: pointerEvent.clientX - left, y: pointerEvent.clientY - top };
745
+ Object.assign(pointerEvent, { kbqPopoverPreventHide: true });
746
+ }
747
+ else if (!wasAttached) {
748
+ this.pointerOffset = null;
749
+ }
750
+ if (pointerEvent || !wasAttached) {
751
+ this.strategy?.setOrigin(this.getResolvedOrigin());
752
+ }
701
753
  this.deliberateOpen = !passiveOpenEvents.includes(this.triggerName);
702
754
  super.show(delay);
755
+ if (pointerEvent && wasAttached) {
756
+ this.ngZone.run(() => this.instance.show(delay));
757
+ this.updatePosition();
758
+ this.strategy.withLockedPosition(false);
759
+ this.overlayRef?.updatePosition();
760
+ this.strategy.withLockedPosition(true);
761
+ this.instance?.updateArrowPosition();
762
+ }
763
+ }
764
+ /** Current click point in viewport coordinates, or `null` when the host or an explicit origin is used. @docs-private */
765
+ getPointerPoint() {
766
+ if (!this.pointerOffset || this.origin)
767
+ return null;
768
+ return { x: this.pointerOrigin.x, y: this.pointerOrigin.y };
769
+ }
770
+ /** Click point when pointer-relative positioning is active, otherwise the shared origin point. @docs-private */
771
+ getArrowPoint() {
772
+ return this.getPointerPoint() ?? super.getArrowPoint();
773
+ }
774
+ /** @docs-private */
775
+ getResolvedOrigin() {
776
+ return this.pointerOffset && !this.origin ? this.pointerOrigin : super.getResolvedOrigin();
777
+ }
778
+ /** @docs-private */
779
+ getAnchorSize() {
780
+ return this.pointerOffset && !this.origin ? { width: 0, height: 0 } : super.getAnchorSize();
703
781
  }
704
782
  /** @docs-private */
705
783
  updateData() {
@@ -719,6 +797,7 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
719
797
  // `setStickPosition` drops the arrow because a stuck panel no longer points at its trigger; copying
720
798
  // the input back would resurrect a detached rotated square on the next update.
721
799
  this.instance.arrow = this.stickToWindow ? false : this.arrow;
800
+ this.instance.arrowCentered = this.arrowCentered;
722
801
  this.instance.offset = this.offset;
723
802
  this.instance.footer = this.footer;
724
803
  this.instance.hasCloseButton = this.hasCloseButton;
@@ -838,7 +917,7 @@ class KbqPopoverTrigger extends KbqPopUpTrigger {
838
917
  this.overlayRef = null;
839
918
  }
840
919
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqPopoverTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
841
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: KbqPopoverTrigger, isStandalone: true, selector: "[kbqPopover]", inputs: { popoverHideIfNotInViewPort: { classPropertyName: "popoverHideIfNotInViewPort", publicName: "kbqPopoverHideIfNotInViewPort", isSignal: true, isRequired: false, transformFunction: null }, triggerInput: { classPropertyName: "triggerInput", publicName: "kbqTrigger", isSignal: true, isRequired: false, transformFunction: null }, kbqLeaveDelayInput: { classPropertyName: "kbqLeaveDelayInput", publicName: "kbqLeaveDelay", isSignal: true, isRequired: false, transformFunction: null }, enterDelayInput: { classPropertyName: "enterDelayInput", publicName: "kbqEnterDelay", isSignal: true, isRequired: false, transformFunction: null }, preventCloseInput: { classPropertyName: "preventCloseInput", publicName: "kbqPopoverPreventClose", isSignal: true, isRequired: false, transformFunction: null }, stickToWindowInput: { classPropertyName: "stickToWindowInput", publicName: "kbqPopoverStickToWindow", isSignal: true, isRequired: false, transformFunction: null }, popoverContainerInput: { classPropertyName: "popoverContainerInput", publicName: "kbqPopoverContainer", isSignal: true, isRequired: false, transformFunction: null }, popoverHasBackdropInput: { classPropertyName: "popoverHasBackdropInput", publicName: "kbqPopoverHasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, popoverBackdropClassInput: { classPropertyName: "popoverBackdropClassInput", publicName: "kbqPopoverBackdropClass", isSignal: true, isRequired: false, transformFunction: null }, popoverDefaultPaddingsInput: { classPropertyName: "popoverDefaultPaddingsInput", publicName: "kbqPopoverDefaultPaddings", isSignal: true, isRequired: false, transformFunction: null }, sizeInput: { classPropertyName: "sizeInput", publicName: "kbqPopoverSize", isSignal: true, isRequired: false, transformFunction: null }, customClassInput: { classPropertyName: "customClassInput", publicName: "kbqPopoverClass", isSignal: true, isRequired: false, transformFunction: null }, headerInput: { classPropertyName: "headerInput", publicName: "kbqPopoverHeader", isSignal: true, isRequired: false, transformFunction: null }, contentInput: { classPropertyName: "contentInput", publicName: "kbqPopoverContent", isSignal: true, isRequired: false, transformFunction: null }, footerInput: { classPropertyName: "footerInput", publicName: "kbqPopoverFooter", isSignal: true, isRequired: false, transformFunction: null }, contextInput: { classPropertyName: "contextInput", publicName: "kbqPopoverContext", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelInput: { classPropertyName: "ariaLabelInput", publicName: "kbqPopoverAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, popoverHasCloseButtonInput: { classPropertyName: "popoverHasCloseButtonInput", publicName: "kbqPopoverHasCloseButton", isSignal: true, isRequired: false, transformFunction: null }, popoverCloseOnScrollInput: { classPropertyName: "popoverCloseOnScrollInput", publicName: "kbqPopoverCloseOnScroll", isSignal: true, isRequired: false, transformFunction: null }, arrowInput: { classPropertyName: "arrowInput", publicName: "kbqPopoverArrow", isSignal: true, isRequired: false, transformFunction: null }, offsetInput: { classPropertyName: "offsetInput", publicName: "kbqPopoverOffset", isSignal: true, isRequired: false, transformFunction: null }, autoFocusInput: { classPropertyName: "autoFocusInput", publicName: "kbqPopoverAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, popoverOriginInput: { classPropertyName: "popoverOriginInput", publicName: "kbqPopoverOrigin", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "kbqPopoverDisabled", isSignal: true, isRequired: false, transformFunction: null }, popoverPlacementPriorityInput: { classPropertyName: "popoverPlacementPriorityInput", publicName: "kbqPopoverPlacementPriority", isSignal: true, isRequired: false, transformFunction: null }, popoverPlacementInput: { classPropertyName: "popoverPlacementInput", publicName: "kbqPopoverPlacement", isSignal: true, isRequired: false, transformFunction: null }, popoverVisibleInput: { classPropertyName: "popoverVisibleInput", publicName: "kbqPopoverVisible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { placementChangeOutput: "kbqPopoverPlacementChange", visibleChangeOutput: "kbqPopoverVisibleChange" }, host: { listeners: { "keydown": "keydownHandler($event)", "touchend": "touchendHandler()" }, properties: { "class.kbq-popover_open": "isOpen", "class.kbq-active": "hasClickTrigger && isOpen", "attr.aria-expanded": "hasClickTrigger ? isOpen : null", "attr.aria-haspopup": "hasClickTrigger ? \"dialog\" : null", "attr.aria-controls": "hasClickTrigger && isOpen ? panelId : null" } }, providers: [kbqSiblingPopupProvider(KbqPopoverTrigger)], exportAs: ["kbqPopover"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
920
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: KbqPopoverTrigger, isStandalone: true, selector: "[kbqPopover]", inputs: { popoverHideIfNotInViewPort: { classPropertyName: "popoverHideIfNotInViewPort", publicName: "kbqPopoverHideIfNotInViewPort", isSignal: true, isRequired: false, transformFunction: null }, triggerInput: { classPropertyName: "triggerInput", publicName: "kbqTrigger", isSignal: true, isRequired: false, transformFunction: null }, kbqLeaveDelayInput: { classPropertyName: "kbqLeaveDelayInput", publicName: "kbqLeaveDelay", isSignal: true, isRequired: false, transformFunction: null }, enterDelayInput: { classPropertyName: "enterDelayInput", publicName: "kbqEnterDelay", isSignal: true, isRequired: false, transformFunction: null }, preventCloseInput: { classPropertyName: "preventCloseInput", publicName: "kbqPopoverPreventClose", isSignal: true, isRequired: false, transformFunction: null }, stickToWindowInput: { classPropertyName: "stickToWindowInput", publicName: "kbqPopoverStickToWindow", isSignal: true, isRequired: false, transformFunction: null }, popoverContainerInput: { classPropertyName: "popoverContainerInput", publicName: "kbqPopoverContainer", isSignal: true, isRequired: false, transformFunction: null }, popoverHasBackdropInput: { classPropertyName: "popoverHasBackdropInput", publicName: "kbqPopoverHasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, popoverBackdropClassInput: { classPropertyName: "popoverBackdropClassInput", publicName: "kbqPopoverBackdropClass", isSignal: true, isRequired: false, transformFunction: null }, popoverDefaultPaddingsInput: { classPropertyName: "popoverDefaultPaddingsInput", publicName: "kbqPopoverDefaultPaddings", isSignal: true, isRequired: false, transformFunction: null }, sizeInput: { classPropertyName: "sizeInput", publicName: "kbqPopoverSize", isSignal: true, isRequired: false, transformFunction: null }, customClassInput: { classPropertyName: "customClassInput", publicName: "kbqPopoverClass", isSignal: true, isRequired: false, transformFunction: null }, headerInput: { classPropertyName: "headerInput", publicName: "kbqPopoverHeader", isSignal: true, isRequired: false, transformFunction: null }, contentInput: { classPropertyName: "contentInput", publicName: "kbqPopoverContent", isSignal: true, isRequired: false, transformFunction: null }, footerInput: { classPropertyName: "footerInput", publicName: "kbqPopoverFooter", isSignal: true, isRequired: false, transformFunction: null }, contextInput: { classPropertyName: "contextInput", publicName: "kbqPopoverContext", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelInput: { classPropertyName: "ariaLabelInput", publicName: "kbqPopoverAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, popoverHasCloseButtonInput: { classPropertyName: "popoverHasCloseButtonInput", publicName: "kbqPopoverHasCloseButton", isSignal: true, isRequired: false, transformFunction: null }, popoverCloseOnScrollInput: { classPropertyName: "popoverCloseOnScrollInput", publicName: "kbqPopoverCloseOnScroll", isSignal: true, isRequired: false, transformFunction: null }, arrowInput: { classPropertyName: "arrowInput", publicName: "kbqPopoverArrow", isSignal: true, isRequired: false, transformFunction: null }, arrowCenteredInput: { classPropertyName: "arrowCenteredInput", publicName: "kbqPopoverArrowCentered", isSignal: true, isRequired: false, transformFunction: null }, offsetInput: { classPropertyName: "offsetInput", publicName: "kbqPopoverOffset", isSignal: true, isRequired: false, transformFunction: null }, autoFocusInput: { classPropertyName: "autoFocusInput", publicName: "kbqPopoverAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, relativeToPointerInput: { classPropertyName: "relativeToPointerInput", publicName: "kbqRelativeToPointer", isSignal: true, isRequired: false, transformFunction: null }, popoverOriginInput: { classPropertyName: "popoverOriginInput", publicName: "kbqPopoverOrigin", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "kbqPopoverDisabled", isSignal: true, isRequired: false, transformFunction: null }, popoverPlacementPriorityInput: { classPropertyName: "popoverPlacementPriorityInput", publicName: "kbqPopoverPlacementPriority", isSignal: true, isRequired: false, transformFunction: null }, popoverPlacementInput: { classPropertyName: "popoverPlacementInput", publicName: "kbqPopoverPlacement", isSignal: true, isRequired: false, transformFunction: null }, popoverVisibleInput: { classPropertyName: "popoverVisibleInput", publicName: "kbqPopoverVisible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { placementChangeOutput: "kbqPopoverPlacementChange", visibleChangeOutput: "kbqPopoverVisibleChange" }, host: { listeners: { "keydown": "keydownHandler($event)", "touchend": "touchendHandler()" }, properties: { "class.kbq-popover_open": "isOpen", "class.kbq-active": "hasClickTrigger && isOpen", "attr.aria-expanded": "hasClickTrigger ? isOpen : null", "attr.aria-haspopup": "hasClickTrigger ? \"dialog\" : null", "attr.aria-controls": "hasClickTrigger && isOpen ? panelId : null" } }, providers: [kbqSiblingPopupProvider(KbqPopoverTrigger)], exportAs: ["kbqPopover"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
842
921
  }
843
922
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqPopoverTrigger, decorators: [{
844
923
  type: Directive,
@@ -856,7 +935,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImpo
856
935
  },
857
936
  exportAs: 'kbqPopover'
858
937
  }]
859
- }], propDecorators: { popoverHideIfNotInViewPort: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverHideIfNotInViewPort", required: false }] }], placementChangeOutput: [{ type: i0.Output, args: ["kbqPopoverPlacementChange"] }], visibleChangeOutput: [{ type: i0.Output, args: ["kbqPopoverVisibleChange"] }], triggerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqTrigger", required: false }] }], kbqLeaveDelayInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqLeaveDelay", required: false }] }], enterDelayInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqEnterDelay", required: false }] }], preventCloseInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverPreventClose", required: false }] }], stickToWindowInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverStickToWindow", required: false }] }], popoverContainerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverContainer", required: false }] }], popoverHasBackdropInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverHasBackdrop", required: false }] }], popoverBackdropClassInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverBackdropClass", required: false }] }], popoverDefaultPaddingsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverDefaultPaddings", required: false }] }], sizeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverSize", required: false }] }], customClassInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverClass", required: false }] }], headerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverHeader", required: false }] }], contentInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverContent", required: false }] }], footerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverFooter", required: false }] }], contextInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverContext", required: false }] }], ariaLabelInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverAriaLabel", required: false }] }], popoverHasCloseButtonInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverHasCloseButton", required: false }] }], popoverCloseOnScrollInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverCloseOnScroll", required: false }] }], arrowInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverArrow", required: false }] }], offsetInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverOffset", required: false }] }], autoFocusInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverAutoFocus", required: false }] }], popoverOriginInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverOrigin", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverDisabled", required: false }] }], popoverPlacementPriorityInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverPlacementPriority", required: false }] }], popoverPlacementInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverPlacement", required: false }] }], popoverVisibleInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverVisible", required: false }] }] } });
938
+ }], propDecorators: { popoverHideIfNotInViewPort: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverHideIfNotInViewPort", required: false }] }], placementChangeOutput: [{ type: i0.Output, args: ["kbqPopoverPlacementChange"] }], visibleChangeOutput: [{ type: i0.Output, args: ["kbqPopoverVisibleChange"] }], triggerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqTrigger", required: false }] }], kbqLeaveDelayInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqLeaveDelay", required: false }] }], enterDelayInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqEnterDelay", required: false }] }], preventCloseInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverPreventClose", required: false }] }], stickToWindowInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverStickToWindow", required: false }] }], popoverContainerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverContainer", required: false }] }], popoverHasBackdropInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverHasBackdrop", required: false }] }], popoverBackdropClassInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverBackdropClass", required: false }] }], popoverDefaultPaddingsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverDefaultPaddings", required: false }] }], sizeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverSize", required: false }] }], customClassInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverClass", required: false }] }], headerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverHeader", required: false }] }], contentInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverContent", required: false }] }], footerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverFooter", required: false }] }], contextInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverContext", required: false }] }], ariaLabelInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverAriaLabel", required: false }] }], popoverHasCloseButtonInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverHasCloseButton", required: false }] }], popoverCloseOnScrollInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverCloseOnScroll", required: false }] }], arrowInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverArrow", required: false }] }], arrowCenteredInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverArrowCentered", required: false }] }], offsetInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverOffset", required: false }] }], autoFocusInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverAutoFocus", required: false }] }], relativeToPointerInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqRelativeToPointer", required: false }] }], popoverOriginInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverOrigin", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverDisabled", required: false }] }], popoverPlacementPriorityInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverPlacementPriority", required: false }] }], popoverPlacementInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverPlacement", required: false }] }], popoverVisibleInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "kbqPopoverVisible", required: false }] }] } });
860
939
 
861
940
  /**
862
941
  * Overrides the question of every confirmation popover in the injector scope. Takes precedence over the
@@ -896,14 +975,14 @@ class KbqPopoverConfirmComponent extends KbqPopoverComponent {
896
975
  this.confirmTextState.set(value);
897
976
  }
898
977
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqPopoverConfirmComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
899
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqPopoverConfirmComponent, isStandalone: true, selector: "kbq-popover-confirm-component", providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS, usesInheritance: true, ngImport: i0, template: "<div\n #popover\n role=\"dialog\"\n class=\"kbq-popover-confirm kbq-popover\"\n [attr.aria-label]=\"confirmText\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\" [class.kbq-popover__content_default-paddings]=\"defaultPaddings\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"componentColors.Contrast\" (click)=\"onConfirm.next()\">\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.kbq-group{display:flex;flex-direction:row}.kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-inline-start:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0;border-start-end-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){corner-shape:squircle;border-start-end-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){corner-shape:squircle;border-end-start-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-end-start-radius:0;border-end-end-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-start-end-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover{position:relative;border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover{box-sizing:border-box;list-style:none;white-space:pre-line;z-index:1;opacity:0;transform:scaleY(.8)}.kbq-popover.kbq-popover_small{width:var(--kbq-popover-size-container-width-small)}.kbq-popover.kbq-popover_small .kbq-popover__content_default-paddings.kbq-popover__content{padding:var(--kbq-size-l)}.kbq-popover.kbq-popover_medium{width:var(--kbq-popover-size-container-width-medium)}.kbq-popover.kbq-popover_large{width:var(--kbq-popover-size-container-width-large)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:8px}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:8px}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:8px}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:8px}.kbq-popover.kbq-popover_visible{opacity:1;transform:none;transition:opacity .12s cubic-bezier(0,0,.2,1),transform .12s cubic-bezier(0,0,.2,1)}.kbq-popover.kbq-popover_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-popover.kbq-popover_visible{animation:none;transition:none}}.kbq-popover__content{overflow-y:auto}.kbq-popover__content.kbq-popover__content_default-paddings{padding:var(--kbq-popover-size-content-padding-top) var(--kbq-popover-size-content-padding-horizontal) var(--kbq-popover-size-content-padding-bottom)}.kbq-popover__container{overflow:hidden;display:flex;flex-direction:column;max-height:var(--kbq-popover-size-container-max-height);border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover__container{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover__container.kbq-popover__container_with-header .kbq-popover__content_default-paddings.kbq-popover__content{padding-top:var(--kbq-size-s)}.kbq-popover__container.kbq-popover__container_with-footer .kbq-popover__content_default-paddings.kbq-popover__content{padding-bottom:var(--kbq-size-s)}.kbq-popover__close-container_without-header .kbq-popover__close{top:0;inset-inline-end:0;transform:translateY(-50%) translate(50%)}[dir=rtl] .kbq-popover__close-container_without-header .kbq-popover__close{transform:translateY(-50%) translate(-50%)}.kbq-popover__header{position:relative;z-index:2;display:flex;flex-shrink:0;align-items:center;overflow:hidden}.kbq-popover__header .kbq-popover__header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover__header.kbq-popover__header_default-paddings{padding:var(--kbq-popover-size-header-padding-top) var(--kbq-popover-size-header-padding-horizontal) var(--kbq-popover-size-header-padding-bottom) var(--kbq-popover-size-header-padding-horizontal)}.kbq-popover__header_with-close-button{padding-inline-end:var(--kbq-size-4xl)}.kbq-popover__footer{position:relative;z-index:2}.kbq-popover__footer.kbq-popover__footer_default-paddings{padding:var(--kbq-popover-size-footer-padding-vertical) var(--kbq-popover-size-footer-padding-horizontal)}.kbq-popover__arrow{position:absolute;z-index:-1;width:12px;height:12px;transform:rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:-5.5px;left:24px}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:-5.5px;right:24px}.kbq-popover_placement-right .kbq-popover__arrow{left:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-right-top .kbq-popover__arrow{left:-5.5px;top:24px}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:-5.5px;bottom:24px}.kbq-popover_placement-left .kbq-popover__arrow{right:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-left-top .kbq-popover__arrow{right:-5.5px;top:24px}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:-5.5px;bottom:24px}.kbq-popover_placement-bottom .kbq-popover__arrow{top:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:-5.5px;left:24px}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:-5.5px;right:24px}.kbq-popover__close{position:absolute;z-index:2;top:var(--kbq-size-s);inset-inline-end:var(--kbq-size-s);border-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-popover__close{corner-shape:squircle;border-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-popover,.kbq-popover.kbq-popover_arrowless{box-shadow:var(--kbq-popover-container-shadow)}.kbq-popover__container{background:var(--kbq-popover-container-background)}.kbq-popover__arrow{box-shadow:var(--kbq-popover-container-shadow);background:var(--kbq-popover-container-background)}.kbq-popover__close.kbq-popover__close_background-overlay-inverse{background-color:var(--kbq-background-overlay-inverse)}.kbq-popover__header{color:var(--kbq-popover-header-text-color)}.kbq-popover__content{color:var(--kbq-popover-content-text-color)}.kbq-popover__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-popover__content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-popover{--kbq-popover-size-container-width-small: 200px;--kbq-popover-size-container-width-medium: 400px;--kbq-popover-size-container-width-large: 640px;--kbq-popover-size-container-border-radius: var(--kbq-size-m);--kbq-popover-size-container-max-height: 480px;--kbq-popover-size-close-button-width: 32px;--kbq-popover-size-close-button-margin-right: -16px;--kbq-popover-size-close-button-margin-top: -10px;--kbq-popover-size-header-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-header-padding-top: var(--kbq-size-l);--kbq-popover-size-header-padding-bottom: var(--kbq-size-xs);--kbq-popover-size-content-padding-top: var(--kbq-size-xxl);--kbq-popover-size-content-padding-bottom: var(--kbq-size-3xl);--kbq-popover-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-content-padding-with-header-top: var(--kbq-size-s);--kbq-popover-size-content-padding-with-footer-bottom: var(--kbq-size-s);--kbq-popover-size-footer-padding-vertical: var(--kbq-size-l);--kbq-popover-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-container-background: var(--kbq-background-card);--kbq-popover-container-shadow: var(--kbq-shadow-popup);--kbq-popover-header-text-color: var(--kbq-foreground-contrast);--kbq-popover-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-popover-content-text-color: var(--kbq-foreground-contrast);--kbq-popover-footer-scroll-shadow: var(--kbq-shadow-overflow-normal-top)}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
978
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqPopoverConfirmComponent, isStandalone: true, selector: "kbq-popover-confirm-component", providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS, usesInheritance: true, ngImport: i0, template: "<div\n #popover\n role=\"dialog\"\n class=\"kbq-popover-confirm kbq-popover\"\n [attr.aria-label]=\"confirmText\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\" [class.kbq-popover__content_default-paddings]=\"defaultPaddings\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"componentColors.Contrast\" (click)=\"onConfirm.next()\">\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.kbq-group{display:flex;flex-direction:row}.kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-inline-start:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0;border-start-end-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){corner-shape:squircle;border-start-end-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){corner-shape:squircle;border-end-start-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-end-start-radius:0;border-end-end-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-start-end-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover{position:relative;border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover{box-sizing:border-box;list-style:none;white-space:pre-line;z-index:1;opacity:0;transform:scaleY(.8)}.kbq-popover.kbq-popover_small{width:var(--kbq-popover-size-container-width-small)}.kbq-popover.kbq-popover_small .kbq-popover__content_default-paddings.kbq-popover__content{padding:var(--kbq-size-l)}.kbq-popover.kbq-popover_medium{width:var(--kbq-popover-size-container-width-medium)}.kbq-popover.kbq-popover_large{width:var(--kbq-popover-size-container-width-large)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:8px}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:8px}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:8px}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:8px}.kbq-popover.kbq-popover_visible{opacity:1;transform:none;transition:opacity .12s cubic-bezier(0,0,.2,1),transform .12s cubic-bezier(0,0,.2,1)}.kbq-popover.kbq-popover_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-popover.kbq-popover_visible{animation:none;transition:none}}.kbq-popover__content{overflow-y:auto}.kbq-popover__content.kbq-popover__content_default-paddings{padding:var(--kbq-popover-size-content-padding-top) var(--kbq-popover-size-content-padding-horizontal) var(--kbq-popover-size-content-padding-bottom)}.kbq-popover__container{overflow:hidden;display:flex;flex-direction:column;max-height:var(--kbq-popover-size-container-max-height);border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover__container{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover__container.kbq-popover__container_with-header .kbq-popover__content_default-paddings.kbq-popover__content{padding-top:var(--kbq-size-s)}.kbq-popover__container.kbq-popover__container_with-footer .kbq-popover__content_default-paddings.kbq-popover__content{padding-bottom:var(--kbq-size-s)}.kbq-popover__close-container_without-header .kbq-popover__close{top:0;inset-inline-end:0;transform:translateY(-50%) translate(50%)}[dir=rtl] .kbq-popover__close-container_without-header .kbq-popover__close{transform:translateY(-50%) translate(-50%)}.kbq-popover__header{position:relative;z-index:2;display:flex;flex-shrink:0;align-items:center;overflow:hidden}.kbq-popover__header .kbq-popover__header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover__header.kbq-popover__header_default-paddings{padding:var(--kbq-popover-size-header-padding-top) var(--kbq-popover-size-header-padding-horizontal) var(--kbq-popover-size-header-padding-bottom) var(--kbq-popover-size-header-padding-horizontal)}.kbq-popover__header_with-close-button{padding-inline-end:var(--kbq-size-4xl)}.kbq-popover__footer{position:relative;z-index:2}.kbq-popover__footer.kbq-popover__footer_default-paddings{padding:var(--kbq-popover-size-footer-padding-vertical) var(--kbq-popover-size-footer-padding-horizontal)}.kbq-popover__arrow{position:absolute;z-index:-1;width:12px;height:12px;transform:translate(var(--kbq-popover-arrow-shift-x, 0px),var(--kbq-popover-arrow-shift-y, 0px)) rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:-5.5px;left:24px}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:-5.5px;right:24px}.kbq-popover_placement-right .kbq-popover__arrow{left:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-right-top .kbq-popover__arrow{left:-5.5px;top:24px}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:-5.5px;bottom:24px}.kbq-popover_placement-left .kbq-popover__arrow{right:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-left-top .kbq-popover__arrow{right:-5.5px;top:24px}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:-5.5px;bottom:24px}.kbq-popover_placement-bottom .kbq-popover__arrow{top:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:-5.5px;left:24px}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:-5.5px;right:24px}.kbq-popover__close{position:absolute;z-index:2;top:var(--kbq-size-s);inset-inline-end:var(--kbq-size-s);border-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-popover__close{corner-shape:squircle;border-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-popover,.kbq-popover.kbq-popover_arrowless{box-shadow:var(--kbq-popover-container-shadow)}.kbq-popover__container{background:var(--kbq-popover-container-background)}.kbq-popover__arrow{box-shadow:var(--kbq-popover-container-shadow);background:var(--kbq-popover-container-background)}.kbq-popover__close.kbq-popover__close_background-overlay-inverse{background-color:var(--kbq-background-overlay-inverse)}.kbq-popover__header{color:var(--kbq-popover-header-text-color)}.kbq-popover__content{color:var(--kbq-popover-content-text-color)}.kbq-popover__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-popover__content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-popover{--kbq-popover-size-container-width-small: 200px;--kbq-popover-size-container-width-medium: 400px;--kbq-popover-size-container-width-large: 640px;--kbq-popover-size-container-border-radius: var(--kbq-size-m);--kbq-popover-size-container-max-height: 480px;--kbq-popover-size-close-button-width: 32px;--kbq-popover-size-close-button-margin-right: -16px;--kbq-popover-size-close-button-margin-top: -10px;--kbq-popover-size-header-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-header-padding-top: var(--kbq-size-l);--kbq-popover-size-header-padding-bottom: var(--kbq-size-xs);--kbq-popover-size-content-padding-top: var(--kbq-size-xxl);--kbq-popover-size-content-padding-bottom: var(--kbq-size-3xl);--kbq-popover-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-content-padding-with-header-top: var(--kbq-size-s);--kbq-popover-size-content-padding-with-footer-bottom: var(--kbq-size-s);--kbq-popover-size-footer-padding-vertical: var(--kbq-size-l);--kbq-popover-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-container-background: var(--kbq-background-card);--kbq-popover-container-shadow: var(--kbq-shadow-popup);--kbq-popover-header-text-color: var(--kbq-foreground-contrast);--kbq-popover-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-popover-content-text-color: var(--kbq-foreground-contrast);--kbq-popover-footer-scroll-shadow: var(--kbq-shadow-overflow-normal-top)}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i1.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i1.KbqButtonCssStyler, selector: "[kbq-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
900
979
  }
901
980
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqPopoverConfirmComponent, decorators: [{
902
981
  type: Component,
903
982
  args: [{ selector: 'kbq-popover-confirm-component', imports: [
904
983
  CdkTrapFocus,
905
984
  KbqButtonModule
906
- ], providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div\n #popover\n role=\"dialog\"\n class=\"kbq-popover-confirm kbq-popover\"\n [attr.aria-label]=\"confirmText\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\" [class.kbq-popover__content_default-paddings]=\"defaultPaddings\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"componentColors.Contrast\" (click)=\"onConfirm.next()\">\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.kbq-group{display:flex;flex-direction:row}.kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-inline-start:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0;border-start-end-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){corner-shape:squircle;border-start-end-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){corner-shape:squircle;border-end-start-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-end-start-radius:0;border-end-end-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-start-end-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover{position:relative;border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover{box-sizing:border-box;list-style:none;white-space:pre-line;z-index:1;opacity:0;transform:scaleY(.8)}.kbq-popover.kbq-popover_small{width:var(--kbq-popover-size-container-width-small)}.kbq-popover.kbq-popover_small .kbq-popover__content_default-paddings.kbq-popover__content{padding:var(--kbq-size-l)}.kbq-popover.kbq-popover_medium{width:var(--kbq-popover-size-container-width-medium)}.kbq-popover.kbq-popover_large{width:var(--kbq-popover-size-container-width-large)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:8px}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:8px}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:8px}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:8px}.kbq-popover.kbq-popover_visible{opacity:1;transform:none;transition:opacity .12s cubic-bezier(0,0,.2,1),transform .12s cubic-bezier(0,0,.2,1)}.kbq-popover.kbq-popover_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-popover.kbq-popover_visible{animation:none;transition:none}}.kbq-popover__content{overflow-y:auto}.kbq-popover__content.kbq-popover__content_default-paddings{padding:var(--kbq-popover-size-content-padding-top) var(--kbq-popover-size-content-padding-horizontal) var(--kbq-popover-size-content-padding-bottom)}.kbq-popover__container{overflow:hidden;display:flex;flex-direction:column;max-height:var(--kbq-popover-size-container-max-height);border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover__container{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover__container.kbq-popover__container_with-header .kbq-popover__content_default-paddings.kbq-popover__content{padding-top:var(--kbq-size-s)}.kbq-popover__container.kbq-popover__container_with-footer .kbq-popover__content_default-paddings.kbq-popover__content{padding-bottom:var(--kbq-size-s)}.kbq-popover__close-container_without-header .kbq-popover__close{top:0;inset-inline-end:0;transform:translateY(-50%) translate(50%)}[dir=rtl] .kbq-popover__close-container_without-header .kbq-popover__close{transform:translateY(-50%) translate(-50%)}.kbq-popover__header{position:relative;z-index:2;display:flex;flex-shrink:0;align-items:center;overflow:hidden}.kbq-popover__header .kbq-popover__header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover__header.kbq-popover__header_default-paddings{padding:var(--kbq-popover-size-header-padding-top) var(--kbq-popover-size-header-padding-horizontal) var(--kbq-popover-size-header-padding-bottom) var(--kbq-popover-size-header-padding-horizontal)}.kbq-popover__header_with-close-button{padding-inline-end:var(--kbq-size-4xl)}.kbq-popover__footer{position:relative;z-index:2}.kbq-popover__footer.kbq-popover__footer_default-paddings{padding:var(--kbq-popover-size-footer-padding-vertical) var(--kbq-popover-size-footer-padding-horizontal)}.kbq-popover__arrow{position:absolute;z-index:-1;width:12px;height:12px;transform:rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:-5.5px;left:24px}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:-5.5px;right:24px}.kbq-popover_placement-right .kbq-popover__arrow{left:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-right-top .kbq-popover__arrow{left:-5.5px;top:24px}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:-5.5px;bottom:24px}.kbq-popover_placement-left .kbq-popover__arrow{right:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-left-top .kbq-popover__arrow{right:-5.5px;top:24px}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:-5.5px;bottom:24px}.kbq-popover_placement-bottom .kbq-popover__arrow{top:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:-5.5px;left:24px}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:-5.5px;right:24px}.kbq-popover__close{position:absolute;z-index:2;top:var(--kbq-size-s);inset-inline-end:var(--kbq-size-s);border-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-popover__close{corner-shape:squircle;border-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-popover,.kbq-popover.kbq-popover_arrowless{box-shadow:var(--kbq-popover-container-shadow)}.kbq-popover__container{background:var(--kbq-popover-container-background)}.kbq-popover__arrow{box-shadow:var(--kbq-popover-container-shadow);background:var(--kbq-popover-container-background)}.kbq-popover__close.kbq-popover__close_background-overlay-inverse{background-color:var(--kbq-background-overlay-inverse)}.kbq-popover__header{color:var(--kbq-popover-header-text-color)}.kbq-popover__content{color:var(--kbq-popover-content-text-color)}.kbq-popover__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-popover__content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-popover{--kbq-popover-size-container-width-small: 200px;--kbq-popover-size-container-width-medium: 400px;--kbq-popover-size-container-width-large: 640px;--kbq-popover-size-container-border-radius: var(--kbq-size-m);--kbq-popover-size-container-max-height: 480px;--kbq-popover-size-close-button-width: 32px;--kbq-popover-size-close-button-margin-right: -16px;--kbq-popover-size-close-button-margin-top: -10px;--kbq-popover-size-header-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-header-padding-top: var(--kbq-size-l);--kbq-popover-size-header-padding-bottom: var(--kbq-size-xs);--kbq-popover-size-content-padding-top: var(--kbq-size-xxl);--kbq-popover-size-content-padding-bottom: var(--kbq-size-3xl);--kbq-popover-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-content-padding-with-header-top: var(--kbq-size-s);--kbq-popover-size-content-padding-with-footer-bottom: var(--kbq-size-s);--kbq-popover-size-footer-padding-vertical: var(--kbq-size-l);--kbq-popover-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-container-background: var(--kbq-background-card);--kbq-popover-container-shadow: var(--kbq-shadow-popup);--kbq-popover-header-text-color: var(--kbq-foreground-contrast);--kbq-popover-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-popover-content-text-color: var(--kbq-foreground-contrast);--kbq-popover-footer-scroll-shadow: var(--kbq-shadow-overflow-normal-top)}\n"] }]
985
+ ], providers: KBQ_POPOVER_FOCUS_TRAP_PROVIDERS, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div\n #popover\n role=\"dialog\"\n class=\"kbq-popover-confirm kbq-popover\"\n [attr.aria-label]=\"confirmText\"\n [id]=\"panelId\"\n [class.kbq-popover_arrowless]=\"!arrow\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [class]=\"classMap\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-popover_visible]=\"isVisible()\"\n>\n <div class=\"kbq-popover__container\">\n <div class=\"kbq-popover__content\" [class.kbq-popover__content_default-paddings]=\"defaultPaddings\">\n <div>{{ confirmText }}</div>\n <button kbq-button [color]=\"componentColors.Contrast\" (click)=\"onConfirm.next()\">\n {{ confirmButtonText }}\n </button>\n </div>\n </div>\n\n @if (arrow) {\n <div class=\"kbq-popover__arrow\"></div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.kbq-group{display:flex;flex-direction:row}.kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-inline-start:calc(-1 * var(--kbq-size-border-width))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-start-end-radius:0;border-end-end-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-end-start-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0;border-start-end-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){corner-shape:squircle;border-start-end-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){corner-shape:squircle;border-end-start-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-size-border-width))}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child) .kbq-form-field__container{border-end-start-radius:0;border-end-end-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child) .kbq-form-field__container{border-start-start-radius:0;border-start-end-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child) .kbq-form-field__container{border-radius:0}.kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover{position:relative;border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover{box-sizing:border-box;list-style:none;white-space:pre-line;z-index:1;opacity:0;transform:scaleY(.8)}.kbq-popover.kbq-popover_small{width:var(--kbq-popover-size-container-width-small)}.kbq-popover.kbq-popover_small .kbq-popover__content_default-paddings.kbq-popover__content{padding:var(--kbq-size-l)}.kbq-popover.kbq-popover_medium{width:var(--kbq-popover-size-container-width-medium)}.kbq-popover.kbq-popover_large{width:var(--kbq-popover-size-container-width-large)}.kbq-popover.kbq-popover_placement-top,.kbq-popover.kbq-popover_placement-top-left,.kbq-popover.kbq-popover_placement-top-right{margin-bottom:8px}.kbq-popover.kbq-popover_placement-right,.kbq-popover.kbq-popover_placement-right-top,.kbq-popover.kbq-popover_placement-right-bottom{margin-left:8px}.kbq-popover.kbq-popover_placement-bottom,.kbq-popover.kbq-popover_placement-bottom-left,.kbq-popover.kbq-popover_placement-bottom-right{margin-top:8px}.kbq-popover.kbq-popover_placement-left,.kbq-popover.kbq-popover_placement-left-top,.kbq-popover.kbq-popover_placement-left-bottom{margin-right:8px}.kbq-popover.kbq-popover_visible{opacity:1;transform:none;transition:opacity .12s cubic-bezier(0,0,.2,1),transform .12s cubic-bezier(0,0,.2,1)}.kbq-popover.kbq-popover_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-popover.kbq-popover_visible{animation:none;transition:none}}.kbq-popover__content{overflow-y:auto}.kbq-popover__content.kbq-popover__content_default-paddings{padding:var(--kbq-popover-size-content-padding-top) var(--kbq-popover-size-content-padding-horizontal) var(--kbq-popover-size-content-padding-bottom)}.kbq-popover__container{overflow:hidden;display:flex;flex-direction:column;max-height:var(--kbq-popover-size-container-max-height);border-radius:var(--kbq-popover-size-container-border-radius)}@supports (corner-shape: squircle){.kbq-popover__container{corner-shape:squircle;border-radius:clamp(var(--kbq-popover-size-container-border-radius) * 1.85,var(--kbq-popover-size-container-border-radius) * 2.3 - 3.6px,var(--kbq-popover-size-container-border-radius) * 2)}}.kbq-popover__container.kbq-popover__container_with-header .kbq-popover__content_default-paddings.kbq-popover__content{padding-top:var(--kbq-size-s)}.kbq-popover__container.kbq-popover__container_with-footer .kbq-popover__content_default-paddings.kbq-popover__content{padding-bottom:var(--kbq-size-s)}.kbq-popover__close-container_without-header .kbq-popover__close{top:0;inset-inline-end:0;transform:translateY(-50%) translate(50%)}[dir=rtl] .kbq-popover__close-container_without-header .kbq-popover__close{transform:translateY(-50%) translate(-50%)}.kbq-popover__header{position:relative;z-index:2;display:flex;flex-shrink:0;align-items:center;overflow:hidden}.kbq-popover__header .kbq-popover__header-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-popover__header.kbq-popover__header_default-paddings{padding:var(--kbq-popover-size-header-padding-top) var(--kbq-popover-size-header-padding-horizontal) var(--kbq-popover-size-header-padding-bottom) var(--kbq-popover-size-header-padding-horizontal)}.kbq-popover__header_with-close-button{padding-inline-end:var(--kbq-size-4xl)}.kbq-popover__footer{position:relative;z-index:2}.kbq-popover__footer.kbq-popover__footer_default-paddings{padding:var(--kbq-popover-size-footer-padding-vertical) var(--kbq-popover-size-footer-padding-horizontal)}.kbq-popover__arrow{position:absolute;z-index:-1;width:12px;height:12px;transform:translate(var(--kbq-popover-arrow-shift-x, 0px),var(--kbq-popover-arrow-shift-y, 0px)) rotate(45deg)}.kbq-popover_placement-top .kbq-popover__arrow{bottom:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-top-left .kbq-popover__arrow{bottom:-5.5px;left:24px}.kbq-popover_placement-top-right .kbq-popover__arrow{bottom:-5.5px;right:24px}.kbq-popover_placement-right .kbq-popover__arrow{left:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-right-top .kbq-popover__arrow{left:-5.5px;top:24px}.kbq-popover_placement-right-bottom .kbq-popover__arrow{left:-5.5px;bottom:24px}.kbq-popover_placement-left .kbq-popover__arrow{right:-5.5px;top:50%;margin-top:-5.5px}.kbq-popover_placement-left-top .kbq-popover__arrow{right:-5.5px;top:24px}.kbq-popover_placement-left-bottom .kbq-popover__arrow{right:-5.5px;bottom:24px}.kbq-popover_placement-bottom .kbq-popover__arrow{top:-5.5px;left:50%;margin-left:-5.5px}.kbq-popover_placement-bottom-left .kbq-popover__arrow{top:-5.5px;left:24px}.kbq-popover_placement-bottom-right .kbq-popover__arrow{top:-5.5px;right:24px}.kbq-popover__close{position:absolute;z-index:2;top:var(--kbq-size-s);inset-inline-end:var(--kbq-size-s);border-radius:var(--kbq-size-border-radius)}@supports (corner-shape: squircle){.kbq-popover__close{corner-shape:squircle;border-radius:clamp(var(--kbq-size-border-radius) * 1.85,var(--kbq-size-border-radius) * 2.3 - 3.6px,var(--kbq-size-border-radius) * 2)}}.kbq-popover,.kbq-popover.kbq-popover_arrowless{box-shadow:var(--kbq-popover-container-shadow)}.kbq-popover__container{background:var(--kbq-popover-container-background)}.kbq-popover__arrow{box-shadow:var(--kbq-popover-container-shadow);background:var(--kbq-popover-container-background)}.kbq-popover__close.kbq-popover__close_background-overlay-inverse{background-color:var(--kbq-background-overlay-inverse)}.kbq-popover__header{color:var(--kbq-popover-header-text-color)}.kbq-popover__content{color:var(--kbq-popover-content-text-color)}.kbq-popover__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-popover__content{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-popover{--kbq-popover-size-container-width-small: 200px;--kbq-popover-size-container-width-medium: 400px;--kbq-popover-size-container-width-large: 640px;--kbq-popover-size-container-border-radius: var(--kbq-size-m);--kbq-popover-size-container-max-height: 480px;--kbq-popover-size-close-button-width: 32px;--kbq-popover-size-close-button-margin-right: -16px;--kbq-popover-size-close-button-margin-top: -10px;--kbq-popover-size-header-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-header-padding-top: var(--kbq-size-l);--kbq-popover-size-header-padding-bottom: var(--kbq-size-xs);--kbq-popover-size-content-padding-top: var(--kbq-size-xxl);--kbq-popover-size-content-padding-bottom: var(--kbq-size-3xl);--kbq-popover-size-content-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-size-content-padding-with-header-top: var(--kbq-size-s);--kbq-popover-size-content-padding-with-footer-bottom: var(--kbq-size-s);--kbq-popover-size-footer-padding-vertical: var(--kbq-size-l);--kbq-popover-size-footer-padding-horizontal: var(--kbq-size-xxl);--kbq-popover-container-background: var(--kbq-background-card);--kbq-popover-container-shadow: var(--kbq-shadow-popup);--kbq-popover-header-text-color: var(--kbq-foreground-contrast);--kbq-popover-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-popover-content-text-color: var(--kbq-foreground-contrast);--kbq-popover-footer-scroll-shadow: var(--kbq-shadow-overflow-normal-top)}\n"] }]
907
986
  }] });
908
987
  class KbqPopoverConfirmTrigger extends KbqPopoverTrigger {
909
988
  /**